/* Desktop layout: one explicit scroller containing native viewport-height story pages. */
html.desktop-stack {
  width:100%;
  height:100%;
  overflow:hidden;
  scroll-snap-type:none;
}

.desktop-stack body {
  width:100%;
  height:100%;
  overflow:hidden;
  scroll-snap-type:none;
}

.desktop-stack .page-scroll {
  width:100%;
  height:100vh;
  height:100svh;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scroll-snap-type:y mandatory;
}

.desktop-stack.menu-open .page-scroll {
  overflow:hidden;
}

.desktop-stack .journey,
.desktop-stack .stage {
  height:auto;
}

.desktop-stack .stage {
  position:relative;
  top:auto;
  overflow:visible;
  isolation:auto;
}

.desktop-stack .stage::after,
.desktop-stack .motion-field,
.desktop-stack .grain,
.desktop-stack .story-snaps,
.desktop-stack .final-anchor,
.desktop-stack .scroll-cue {
  display:none;
}

.desktop-stack .scene {
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:100vh;
  height:100svh;
  overflow:hidden;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  will-change:auto;
}

.desktop-stack .scene-copy--welcome,
.desktop-stack .scene-copy--speed,
.desktop-stack .scene-copy--intelligence,
.desktop-stack .scene-copy--malleable {
  opacity:1!important;
  transform:none!important;
  will-change:auto;
}

.desktop-stack .course-menu {
  opacity:1;
  pointer-events:auto;
}

.desktop-stack .plate-rig {
  will-change:auto;
}

.desktop-stack .scene--final {
  display:grid;
}

.desktop-stack .final-field {
  opacity:.34;
  transform:none;
}

.desktop-stack .final-lockup {
  opacity:1;
  transform:none;
}

.desktop-stack .story-nav {
  opacity:var(--stack-nav-opacity,0);
  transform:none;
  transition:opacity .2s ease;
}

.desktop-stack .watch,
.desktop-stack .site-footer {
  scroll-snap-align:start;
}

@media (prefers-reduced-motion:reduce) {
  .desktop-stack { scroll-behavior:auto; }
}
