.sr-only{position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px;}
.flight{height: 100svh; position: relative; background: rgb(8, 15, 29);}
.flight-enabled .flight{height: 530svh;}
.flight-stage{height: 100svh; min-height: 520px; position: sticky; top: 0px; overflow: clip; isolation: isolate; background: rgb(8, 15, 29); color: rgb(255, 255, 255);}
.flight-poster,.flight-film{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.flight-film{opacity: 0; transition: opacity .3s;}
.flight.loaded .flight-film{opacity: 1;}
.flight-poster{z-index: -1;}
.flight-shade{position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(180deg, rgba(5, 11, 22, 0.25), transparent 30%, transparent 58%, rgba(5, 11, 22, 0.5)); opacity: var(--shade-opacity,1);}
.flight-stage:after{content: ""; position: absolute; inset: 0px; background: rgb(255, 255, 255); opacity: var(--whiteout,0); pointer-events: none; z-index: 2;}
.flight-opening{position: absolute; inset: 0px; padding: 155px 6vw 135px; display: flex; flex-direction: column; justify-content: center; opacity: var(--opening-opacity,1); transform: translateY(var(--opening-y,0px)); pointer-events: var(--opening-events,auto);}
.flight-eyebrow{font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; line-height: 1.6; font-weight: 500;}
.flight h1{font-size: clamp(70px, 11.65vw, 200px); font-weight: 850; line-height: 0.87; letter-spacing: -0.075em; margin-top: 35px; color: white; max-width: 10ch; text-shadow: 0 3px 30px #0002;}
.flight h1 em{font-style: normal; color: rgb(220, 232, 245);}
.flight-opening-bottom{display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-top: 40px;}
.flight-opening-bottom p{font-size: 19px; line-height: 1.4; max-width: 25ch;}
.flight-skip{font-size: 15px; border-bottom: 1px solid rgba(255, 255, 255, 0.533); padding-bottom: 7px;}
.flight-arrival{position: absolute; inset: 0px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: rgb(16, 32, 51); opacity: var(--arrival-opacity,0); transform: translateY(var(--arrival-y,20px)); pointer-events: none; padding: 110px 6vw;}
.flight-arrival>p{font-size: clamp(64px, 12vw, 220px); font-weight: 850; line-height: 0.9; letter-spacing: -0.075em; max-width: none; margin-top: 28px;}
.flight-arrival em{font-style: normal; color: rgb(16, 32, 51);}
.flight-hud{position: absolute; inset: auto 4vw 25px; z-index: 4; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 35px; align-items: end; color: var(--hud-color,#fff);}
.flight-direction{display: flex; flex-direction: column; gap: 7px;}
.flight-chapter{font-size: 13px; letter-spacing: 0.02em;}
.flight-prompt{font-size: 13px; opacity: 0.6;}
.flight-seek-label{align-self: center; display: block; width: 100%; padding: 15px 0px;}
.flight-seek{display: block; appearance: none; width: 100%; height: 2px; background: linear-gradient(to right,currentColor var(--flight-progress,0%),#ffffff40 0%); color: inherit; cursor: ew-resize; border-radius: 0px; outline-offset: 12px; touch-action: pan-x;}
.flight-seek::-webkit-slider-thumb{appearance: none; width: 12px; height: 12px; background: currentcolor; border-radius: 50%; box-shadow: 0 0 15px #ffffff90;}
.flight-seek::-moz-range-thumb{width: 12px; height: 12px; background: currentcolor; border: 0px; border-radius: 50%;}
.flight-controls{display: flex; align-items: center; justify-content: flex-end; gap: 20px; white-space: nowrap;}
.flight-controls button,.flight-controls a{border: 0px; background: none; color: inherit; padding: 12px 0px; font-size: 13px; line-height: 1.4; min-height: 44px;}
.flight-controls button:hover,.flight-controls a:hover{text-decoration: underline; text-underline-offset: 5px;}
.flight-controls button:focus-visible,.flight-controls a:focus-visible{outline-color: currentcolor;}
.flight-load{position: absolute; bottom: 95px; right: 4vw; font-size: 12px; opacity: 0.7; transition: opacity .3s; pointer-events: none;}
.flight.loaded .flight-load{opacity: 0;}
.flight-motion:disabled{cursor: default; opacity: 0.6;}
.flight:not(.loaded) .flight-seek{opacity: 0.5;}
.sky-edge{pointer-events: none; position: fixed; inset: 0px; z-index: 59; opacity: var(--edge-energy,.24); transition: opacity .35s; overflow: hidden; mix-blend-mode: screen;}
.sky-edge:before,.sky-edge:after{content: ""; position: absolute; top: var(--edge-y,25%); height: 75vh; width: 12vw; min-width: 45px; max-width: 180px; border-radius: 100%; filter: blur(45px); transform: translateY(-35%);}
.sky-edge:before{left: -9vw; background: var(--edge-left,#b1d3ff);}
.sky-edge:after{right: -9vw; background: var(--edge-right,#ef9970);}
@media (min-width:1800px){.flight h1{font-size: 12vw;}}
@media (max-width:1000px){.flight-hud{grid-template-columns: 1fr 1fr; gap: 18px;}
.flight-seek-label{grid-column: 1/-1; grid-row: 1; padding: 5px 0px 15px;}
.flight-controls{gap: 18px;}
.flight-opening{padding-bottom: 160px;}
.flight-opening-bottom{margin-top: 28px;}
.flight h1{font-size: 12vw;}}
@media (max-width:760px){.flight-enabled .flight{height: 500svh;}
.flight-stage{min-height: 500px;}
.flight-opening{padding: 105px 6vw 165px; justify-content: center;}
.flight-eyebrow{font-size: 12px; letter-spacing: 0.055em; max-width: 24ch;}
.flight h1{font-size: 14.9vw; line-height: 0.95; letter-spacing: -0.065em; margin-top: 22px;}
.flight-opening-bottom{display: block; margin-top: 28px;}
.flight-opening-bottom p{font-size: 17px; line-height: 1.45;}
.flight-skip{display: inline-block; font-size: 14px; margin-top: 22px;}
.flight-hud{inset: auto 6vw 20px; gap: 7px 10px; grid-template-columns: 1fr;}
.flight-seek-label{grid-row: 1; padding-bottom: 16px;}
.flight-direction{flex-direction: row; justify-content: space-between; gap: 15px;}
.flight-chapter,.flight-prompt{font-size: 12px;}
.flight-controls{justify-content: space-between; gap: 20px; padding-top: 2px;}
.flight-controls button,.flight-controls a{font-size: 13px;}
.flight-load{right: 6vw; bottom: 150px; font-size: 12px;}
.flight-arrival{padding: 90px 6vw 135px;}
.flight-arrival>p{font-size: 16vw; line-height: 0.95;}
.flight-arrival .flight-eyebrow{max-width: none;}
.sky-edge:before,.sky-edge:after{width: 22vw; filter: blur(25px);}
.sky-edge:before{left: -18vw;}
.sky-edge:after{right: -18vw;}}
@media (max-height:700px) and (min-width:761px){.flight-opening{padding-top: 115px; padding-bottom: 110px;}
.flight h1{font-size: 15vh; margin-top: 20px;}
.flight-opening-bottom{margin-top: 20px;}
.flight-eyebrow{font-size: 12px;}
.flight-hud{bottom: 18px;}}
@media (prefers-reduced-motion:reduce){.flight-enabled .flight{height: 100svh;}
.sky-edge{display: none;}
.flight-seek-label{display: none;}}
.flight-shade{z-index: 1;}
.flight-opening,.flight-arrival{z-index: 3;}
.flight-film{z-index: 0;}
.flight{min-height: 520px;}
@media (max-width:760px){.flight{min-height: 500px;}}
@media (max-height:600px) and (max-width:760px){.flight-opening{padding-top: 95px; padding-bottom: 145px;}
.flight-opening-bottom{margin-top: 18px;}
.flight-opening-bottom p{display: none;}
.flight-skip{margin-top: 0px;}}
.flight-load,.flight-seek-label,.flight-controls button{display: none;}
.flight-enabled .flight-load,.flight-enabled .flight-seek-label{display: block;}
.flight-js .flight-controls button{display: inline-block;}
.flight-hud:has(.flight-seek-label[hidden]){grid-template-columns: 1fr 1fr;}
@media (max-width:760px){.flight-hud:has(.flight-seek-label[hidden]){grid-template-columns: 1fr;}}
.flight .hero-header{z-index:20}.hero-light .flight .hero-header{color:#132033}.flight .hero-header .descriptor{display:none}.flight .hero-header .quick-links{font-size:14px}.sky-edge{mix-blend-mode:normal}.flight-stage{height:100dvh}.flight h1{max-width:none}.flight-arrival em{color:#132033}

/* Keep the pinned stage inside short screens and landscape phones. */
.flight-stage{min-height:0}.flight{min-height:100svh}.flight-film{object-fit:cover;pointer-events:none;transition:none}.flight-seek-label[hidden]{display:none!important}
@media(max-height:520px){.flight h1{font-size:17vh;margin-top:14px}.flight-opening{padding:75px 6vw 105px}.flight-opening-bottom{margin-top:18px}.flight-opening-bottom p{display:none}.flight-hud{bottom:10px}.flight-direction{display:none}.flight-skip{margin-top:0}.flight-arrival>p{font-size:18vh}.flight-eyebrow{font-size:11px}.flight-controls{padding-top:0}}

.flight-js .flight-load{display:block}.flight-load{max-width:calc(100% - 12vw);text-align:right}

/* Full-bleed approach: the film never shrinks into an inset shape. */
.flight-film{transform:scale(var(--space-scale,1));transform-origin:50% 50%}
