/* Scroll flight: the build timelapse behind five full pages of copy.
   The stage is sticky for the whole section; the pages scroll over it in normal
   flow (no scroll hijacking), and flight.js plays the video forward two seconds
   each time the reader crosses into the next page. With JavaScript off the
   poster frame holds and every word still reads. */

.flight{background:var(--ink);color:var(--white);position:relative}
.flight-stage{height:100svh;overflow:hidden;position:sticky;top:0}
.flight-video{height:100%;left:0;object-fit:cover;object-position:center;position:absolute;top:0;width:100%}
.flight-shade{background:linear-gradient(90deg,rgba(18,15,12,.52),rgba(18,15,12,.08) 55%),linear-gradient(180deg,rgba(18,15,12,.42),transparent 22%,transparent 62%,rgba(18,15,12,.6));inset:0;pointer-events:none;position:absolute}
.flight-top{align-items:center;display:flex;font-family:var(--mono);font-size:10px;justify-content:space-between;left:0;letter-spacing:.15em;padding:26px 5.5vw;position:absolute;right:0;text-transform:uppercase;top:0;z-index:3}
.flight-top a{border-bottom:1px solid rgba(255,250,243,.45);color:var(--white);padding-bottom:4px}
.flight-top a:hover{border-color:var(--white)}
.flight-brand{align-items:center;display:inline-flex;gap:10px}
.flight-brand b{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:-.03em;text-transform:none}
.flight-progress{background:rgba(255,250,243,.22);bottom:0;height:2px;left:0;position:absolute;right:0;z-index:3}
.flight-progress i{background:var(--brass);display:block;height:100%;transform-origin:left;transform:scaleX(0);transition:transform .18s linear;width:100%}
.flight-count{bottom:22px;color:rgba(255,250,243,.75);font-family:var(--mono);font-size:10px;letter-spacing:.15em;position:absolute;right:5.5vw;text-transform:uppercase;z-index:3}

/* The five pages ride over the sticky stage. */
.flight-pages{margin-top:-100svh;position:relative;z-index:2}
.flight-page{align-items:center;display:flex;height:100svh;max-width:1440px;margin:0 auto;padding:0 5.5vw}
.flight-page>div{max-width:700px}
.flight-kicker{color:rgba(255,250,243,.78);font-family:var(--mono);font-size:10px;letter-spacing:.15em;margin:0 0 22px;text-transform:uppercase}
.flight-kicker span{background:var(--brass);display:inline-block;height:6px;margin-right:11px;width:6px}
.flight-line{font-family:var(--sans);font-size:clamp(44px,6.2vw,92px);font-weight:500;letter-spacing:-.06em;line-height:1;margin:0}
.flight-line i{font-family:var(--serif);font-weight:500;letter-spacing:-.07em}
.flight-sub{color:rgba(255,250,243,.82);font-size:16px;line-height:1.7;margin:24px 0 0;max-width:430px}
.flight-cue{bottom:26px;color:rgba(255,250,243,.7);font-family:var(--mono);font-size:10px;left:5.5vw;letter-spacing:.18em;position:absolute;text-transform:uppercase;z-index:3}
.flight-cue span{display:inline-block;margin-left:8px}
@media (prefers-reduced-motion:no-preference){.flight-cue span{animation:flight-nudge 1.8s ease-in-out infinite}}
@keyframes flight-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.flight-actions{align-items:center;display:flex;flex-wrap:wrap;gap:26px;margin-top:34px}
.flight-actions .button-light{background:var(--white);color:var(--ink)}
.flight-actions .text-link{border-color:rgba(255,250,243,.6);color:var(--white)}

@media(max-width:700px){
  .flight-page{padding:0 6vw}
  .flight-line{font-size:clamp(40px,11.5vw,64px)}
  .flight-top{padding:22px 6vw}
  .flight-cue{left:6vw}
  .flight-count{right:6vw}
}
