/* Keep the living canvas in the shell while page content changes in sequence. */
iframe.unique-nav-frame {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 220ms cubic-bezier(.22,.61,.36,1);
}
iframe.unique-nav-frame.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
iframe.unique-nav-frame.is-leaving {
  pointer-events: none;
  transition-duration: 220ms;
}
iframe.unique-nav-frame.is-leaving.full-fade {
  opacity: 0;
}
html.unique-nav-embedded.unique-nav-inner-leaving:not(.unique-nav-sp) body > :not(.site-header):not(.page-fx-layer):not(script) {
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms cubic-bezier(.22,.61,.36,1);
}
iframe.unique-nav-frame.unique-nav-sp-arrival {
  background: #000;
  transition-duration: 85ms;
}
html:not(.unique-nav-committed) body > :not(.unique-nav-persistent):not(iframe.unique-nav-frame) {
  transition: opacity 220ms cubic-bezier(.22,.61,.36,1);
}
html.unique-nav-first-leaving body > :not(.unique-nav-persistent):not(iframe.unique-nav-frame) {
  opacity: 0;
  pointer-events: none;
}
html.unique-nav-first-leaving.unique-nav-keep-header body > .site-header {
  opacity: 1 !important;
  transition: none !important;
}
html.unique-nav-committed,
html.unique-nav-committed body {
  overflow: hidden !important;
}
html.unique-nav-committed body > :not(.unique-nav-persistent):not(iframe.unique-nav-frame) {
  display: none !important;
}
.page-fx-layer.unique-nav-persistent {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  opacity: var(--page-fx-opacity,.41);
}
.page-fx-layer.unique-nav-persistent canvas {display:block;width:100%;height:100%}
html.unique-nav-embedded:not(.unique-nav-sp),
html.unique-nav-embedded:not(.unique-nav-sp) body {
  background: transparent !important;
  transition: none !important;
}
html.unique-nav-embedded:not(.unique-nav-sp) .page-fx-layer {
  display: none !important;
}
/* The frame keeps its header's layout space; the shell owns the visible header. */
html.unique-nav-embedded body > .site-header {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html.unique-nav-committed body > .site-header.unique-nav-persistent-header,
html.unique-nav-first-leaving body > .site-header.unique-nav-persistent-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 2147483001 !important;
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  background: color-mix(in srgb,var(--bg,#171717) 84%,transparent) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  filter: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: opacity 160ms ease !important;
}
html.unique-nav-committed body > .site-header.unique-nav-persistent-header.unique-nav-header-hidden,
html.unique-nav-first-leaving body > .site-header.unique-nav-persistent-header.unique-nav-header-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (prefers-reduced-motion: reduce) {
  iframe.unique-nav-frame,
  html.unique-nav-first-leaving body > :not(.unique-nav-persistent):not(iframe.unique-nav-frame) { transition: none; }
}
