/* The unenhanced/reduced-motion version is an ordinary readable vertical page. */
.aeren-story { --story-stage-height: var(--aeren-viewport-height,100svh); overflow-anchor: none; }
.story-viewport-probe { position: fixed; top: 0; left: 0; width: 0; height: 100svh; visibility: hidden; pointer-events: none; }
.freedom-section { display: grid; place-items: center; min-height: 100svh; padding: 60px 24px; text-align: center; }
.freedom-section h2 { margin: 0; font: 400 clamp(34px,5.5vw,92px)/1.15 Sora,Arial,sans-serif; letter-spacing: -.07em; }
.freedom-line { display: block; }
.freedom-reveal { display: block; }
.freedom-line-second { color: #89777e; }
.aircraft-configurator { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; min-height: calc(100svh - 24px); margin: 12px; padding: 40px 24px; border-radius: 30px; text-align: center; }
.aircraft-configurator h2 { margin: 0; font: 400 clamp(42px,6vw,96px)/1.12 Sora,Arial,sans-serif; letter-spacing: -.065em; }

/* Three scenes share one stage; only scrolling advances or reverses the sequence. */
.aeren-story.is-animated { height: calc(var(--story-stage-height) * 3.6); }
.is-animated .story-stage { display: flow-root; position: sticky; top: 0; height: var(--story-stage-height); overflow: clip; isolation: isolate; }
.is-animated .aeren-screen { position: relative; z-index: 3; }
.is-animated .hero-panel { will-change: transform; transform: translate3d(calc(var(--panels-apart,0) * -110%),0,0); }
.is-animated .aviation-panel { will-change: transform; transform: translate3d(calc(var(--panels-apart,0) * 110%),0,0); }
.is-animated .freedom-section { position: absolute; z-index: 2; inset: auto 0 0; height: var(--story-stage-height); min-height: 0; pointer-events: none; }
.is-animated .freedom-section h2 { width: 100%; }
.is-animated .freedom-line { overflow: clip; opacity: var(--line-opacity,0); }
.is-animated .freedom-reveal { transform: translate3d(0,calc((1 - var(--line-enter,0)) * .45em),0); filter: blur(calc((1 - var(--line-enter,0)) * 4px)); }
.is-animated .freedom-line-first { --line-enter: var(--freedom-enter,0); --line-opacity: var(--freedom-opacity,0); transform: translate3d(calc(var(--words-apart,0) * -105vw),0,0); }
.is-animated .freedom-line-second { --line-enter: var(--freedom-second-enter,0); --line-opacity: var(--freedom-second-opacity,0); transform: translate3d(calc(var(--words-apart,0) * 105vw),0,0); }
.is-animated .aircraft-configurator { position: absolute; z-index: 1; inset: auto 12px 12px; height: calc(var(--story-stage-height) - 24px); min-height: 0; margin: 0; opacity: var(--configurator-enter,0); transform: translate3d(0,calc((1 - var(--configurator-enter,0)) * 60px),0); }

@media (max-width:760px) {
  /* Native scrolling inside a stationary phone screen keeps the document and
     panel geometry still while a swipe advances only the scene transforms. */
  html.aeren-mobile-scroll, .aeren-mobile-scroll body { height: 100%; overflow: hidden; overscroll-behavior: none; }
  html.aeren-mobile-scroll { scrollbar-gutter: auto; }
  .aeren-mobile-scroll body { position: fixed; inset: 0; width: 100%; }
  .aeren-mobile-scroll .story-scrollport { position: fixed; inset: 0 0 auto; height: var(--aeren-visible-height,100dvh); overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: none; scrollbar-width: none; }
  .aeren-mobile-scroll .story-scrollport::-webkit-scrollbar { display: none; }
  .aeren-mobile-scroll:has(dialog[open]) .story-scrollport { overflow: hidden; }
  .is-animated .aeren-screen > .hero-bottom { will-change: transform; transform: translate3d(calc(var(--panels-apart,0) * -110%),0,0); }
  .freedom-section { padding-inline: 20px; }
  .freedom-section h2 { font-size: clamp(30px,9.2vw,64px); line-height: 1.25; }
  .aircraft-configurator { margin: 7px; min-height: calc(100svh - 14px); padding-inline: 20px; border-radius: 24px; }
  .aircraft-configurator h2 { font-size: clamp(32px,8.8vw,60px); line-height: 1.15; }
  .is-animated .aircraft-configurator { inset: auto 7px calc(7px + env(safe-area-inset-bottom)); height: calc(var(--story-stage-height) - 14px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
}
