/* One content transition; the header keeps its stable desktop snapshot. */
@media (min-width: 761px) {
  @view-transition {
    navigation: auto;
  }
  ::view-transition-group(root) {
    animation-duration: 0.46s;
  }
  ::view-transition-old(root) {
    animation: page-content-out 0.24s ease both;
    mix-blend-mode: normal;
  }
  ::view-transition-new(root) {
    animation: page-content-in 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;
    mix-blend-mode: normal;
  }
}
@keyframes page-content-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes page-content-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Shared fallback for mobile, local previews and browsers without native
   transitions. Opacity keeps scene geometry and header positions intact. */
html[data-mobile-entry] main,
html[data-mobile-entry] .site-footer {
  transition: opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
html[data-mobile-entry='pending'] main,
html[data-mobile-entry='pending'] .site-footer {
  opacity: 0;
  pointer-events: none;
}
html[data-mobile-entry='ready'] main,
html[data-mobile-entry='ready'] .site-footer {
  opacity: 1;
}
html.is-page-exiting main,
html.is-page-exiting .site-footer {
  opacity: 0;
  transition: opacity 0.18s ease;
  pointer-events: none;
}
.hero-copy,
.hero-art,
.editorial-hero h1,
.page-intro h1,
.page-intro .eyebrow {
  animation: none;
}
@media (max-width: 760px) {
  @view-transition {
    navigation: none;
  }
  html.is-page-exiting .main-nav.is-open {
    opacity: 0;
    transition: opacity 0.18s ease !important;
    pointer-events: none;
  }
  .scene-host canvas,
  .object-viewport canvas {
    transition: none;
  }
  .site-header .header-inner {
    height: 76px;
    min-height: 76px;
  }
  html {
    scroll-behavior: auto;
  }
  html.is-page-navigation .main-nav > a,
  html.is-page-navigation .nav-preferences {
    transition: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
  html[data-mobile-entry] main,
  html[data-mobile-entry] .site-footer,
  html.is-page-exiting main,
  html.is-page-exiting .site-footer {
    opacity: 1;
    transition: none;
    pointer-events: auto;
  }
}
