/* Camera composition: separate architecture, city, atmosphere and copy planes. */
html,body{background:#fff}
.flight-shell{position:relative;background:#123e49}
.flight-stage{--camera-p:0;--flight-mx:0;--flight-my:0;--intro-o:1;--intro-y:0px;--scene-two:0;--scene-three:0;--city-x:0px;--city-y:160px;--city-s:1.04;--sky-y:0px;--sky-s:1.14;--frame-s:1.08;--frame-y:0px;--frame-o:1;--terrace-s:1.04;--terrace-x:0px;--terrace-y:0px;--cloud-near-x:0px;--cloud-near-y:80px;--cloud-far-x:0px;--cloud-far-y:100px;--cloud-o:.25;--caption-two:0;--caption-three:0;--caption-two-y:24px;--caption-three-y:24px;--daylight:0;height:100svh;min-height:740px;max-height:none;isolation:isolate;overflow:hidden}
.flight-ready:not(.motion-reduced) .flight-shell{height:380svh;min-height:2500px}
.flight-ready:not(.motion-reduced) .flight-stage{position:sticky;top:0;height:100svh;min-height:680px;max-height:none}
.flight-visuals{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.flight-view{position:absolute;inset:0;overflow:hidden;will-change:opacity;backface-visibility:hidden;background:#123e49}
.flight-view img,.flight-view picture{display:block;width:100%;height:100%}
.flight-view img{object-fit:cover;will-change:transform;backface-visibility:hidden}
.flight-terrace{z-index:0}
.flight-terrace img{object-position:50% 60%;transform:translate3d(calc(var(--terrace-x) + var(--flight-mx)*-12px),calc(var(--terrace-y) + var(--flight-my)*-6px),0) scale(var(--terrace-s));transform-origin:58% 48%}
.flight-city{z-index:1;opacity:var(--scene-two)}
.flight-city img{height:155%;width:126%;max-width:none;position:absolute;top:-28%;left:-13%;object-position:50% 63%;transform:translate3d(calc(var(--city-x) + var(--flight-mx)*-18px),calc(var(--city-y) + var(--flight-my)*-8px),0) scale(var(--city-s));transform-origin:58% 65%}
.flight-horizon{z-index:2;opacity:var(--scene-three)}
.flight-horizon img{height:138%;width:118%;max-width:none;position:absolute;left:-9%;top:-19%;object-position:50% 74%;transform:translate3d(calc(var(--flight-mx)*-10px),var(--sky-y),0) scale(var(--sky-s));transform-origin:50% 60%}
.flight-cloud{position:absolute;inset:-5%;pointer-events:none;will-change:transform,opacity;backface-visibility:hidden}
.flight-cloud img{width:100%;height:100%;object-fit:fill;max-width:none;animation:cloudDrift 46s ease-in-out infinite alternate;will-change:transform;animation-play-state:paused}
.flight-cloud-far{z-index:3;opacity:.22;transform:translate3d(var(--cloud-far-x),var(--cloud-far-y),0) scale(1.3)}
.flight-cloud-far img{animation-duration:54s;animation-direction:alternate-reverse}
.flight-portico{position:absolute;z-index:4;inset:-5% -8%;transform-origin:50% 44%;transform:translate3d(calc(var(--flight-mx)*28px),calc(var(--frame-y) + var(--flight-my)*12px),0) scale(var(--frame-s));opacity:var(--frame-o);will-change:transform,opacity;pointer-events:none;backface-visibility:hidden}
.flight-portico>img{width:100%;height:100%;max-width:none;object-fit:fill}
.portico-light{position:absolute;top:69%;width:12px;height:12px;border-radius:50%;background:#ffca74;filter:blur(3px);mix-blend-mode:screen;box-shadow:0 0 22px #ffaa40aa;animation:torchLight 2.3s ease-in-out infinite alternate;animation-play-state:paused}
.light-left{left:9%}.light-right{right:9%;animation-delay:-1.1s}
.flight-cloud-near{z-index:5;opacity:var(--cloud-o);transform:translate3d(var(--cloud-near-x),var(--cloud-near-y),0) scale(1.32)}
.flight-cloud-near img{animation-duration:39s}
.flight-particles{position:absolute;inset:0;z-index:6;width:100%;height:100%;opacity:.75;pointer-events:none}
.flight-scrim{position:absolute;inset:0;z-index:7;background:linear-gradient(90deg,#03252d9e 0%,#052b3645 38%,#052b3600 70%),linear-gradient(0deg,#042632b3 0%,#052b360d 56%,#052b3620 100%)}
.flight-daylight{position:absolute;inset:0;z-index:9;background:linear-gradient(0deg,#fff, #fffdf5d9 35%,#fffdf500);opacity:var(--daylight);pointer-events:none}
.flight-stage .hero-copy{position:absolute;z-index:8;left:7vw;bottom:140px;width:calc(100% - 14vw);max-width:1300px;padding:0;margin:0;opacity:var(--intro-o);transform:translate3d(0,var(--intro-y),0);will-change:transform,opacity}
.flight-stage h1{font-size:clamp(64px,7vw,108px)}
.flight-stage .hero-description{max-width:450px}
.flight-stage .hero-copy .eyebrow{margin-bottom:24px}
.flight-caption{position:absolute;z-index:8;bottom:165px;pointer-events:none;text-shadow:0 2px 24px #02273260;color:#fffefa;will-change:transform,opacity}
.flight-caption-city{right:7vw;text-align:right;opacity:var(--caption-two);transform:translate3d(0,var(--caption-two-y),0)}
.flight-caption-horizon{left:7vw;text-align:left;opacity:var(--caption-three);transform:translate3d(0,var(--caption-three-y),0)}
.flight-caption>span{font:500 10px/1.7 var(--sans);letter-spacing:.16em;color:#f5e5c8}
.flight-caption>p{font:400 clamp(52px,6vw,88px)/.98 var(--serif);letter-spacing:-.025em;color:#fffefa;margin-top:24px}
.flight-caption em{font:inherit;color:inherit}
.flight-caption small{display:block;font:400 14px/1.75 var(--sans);color:#fffefa;margin-top:22px}
.flight-ui{position:absolute;left:var(--gutter);right:var(--gutter);bottom:25px;z-index:10;display:none;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;color:#fffefa}
.flight-ready:not(.motion-reduced) .flight-ui{display:grid}
.flight-hint{font-size:10px;letter-spacing:.11em;text-transform:uppercase;display:flex;align-items:center;gap:15px;max-width:230px;line-height:1.6}
.flight-hint-line{height:1px;width:36px;background:#ffffff80;transform-origin:left;animation:scrollInvitation 2.5s ease-in-out infinite;animation-play-state:paused}
.flight-rail{display:flex;gap:25px}
.flight-rail button{border:0;background:none;color:#fffa;padding:15px 0 16px;position:relative;min-height:48px;min-width:88px;display:flex;align-items:center;justify-content:center;gap:9px;font:500 11px/1.2 var(--sans);transition:color .2s}
.flight-rail button small{font-size:9px;color:#f5dfb4b3}
.flight-rail button::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:#ffffff45}
.flight-rail button>span{position:absolute;left:0;right:0;bottom:2px;height:2px;background:#fffefa;transform:scaleX(var(--stop-progress,0));transform-origin:left;z-index:1}
.flight-rail button[aria-pressed="true"],.flight-rail button:hover{color:#fff}
.flight-skip{justify-self:end;font-size:11px;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#fff6}
.flight-ui :focus-visible{outline-color:#fff}
.flight-in-view:not(.motion-reduced):not(.navigation-open):not(.modal-open) .flight-cloud img,.flight-in-view:not(.motion-reduced):not(.navigation-open):not(.modal-open) .portico-light,.flight-in-view:not(.motion-reduced):not(.navigation-open):not(.modal-open) .flight-hint-line{animation-play-state:running}
.flight-stage:has(.hero-copy:focus-within){--intro-o:1!important;--intro-y:0px!important}
@keyframes cloudDrift{from{transform:translate3d(-2%,1%,0) scale(1.02)}to{transform:translate3d(3%,-2%,0) scale(1.08)}}
@keyframes torchLight{0%,100%{opacity:.3;transform:scale(.75)}35%{opacity:.65;transform:scale(1.1)}70%{opacity:.45;transform:scale(.9)}}
@keyframes scrollInvitation{0%,100%{transform:scaleX(.55);opacity:.4}50%{transform:scaleX(1);opacity:1}}
@media(max-width:980px){.flight-stage .hero-copy{left:5vw;width:90vw}.flight-ui{grid-template-columns:1fr auto;gap:20px}.flight-hint{display:none}.flight-rail{gap:20px}.flight-caption-city{right:5vw}.flight-caption-horizon{left:5vw}.flight-stage h1{font-size:clamp(58px,9vw,86px)}}
@media(max-width:680px){
 .flight-ready:not(.motion-reduced) .flight-shell{height:300svh;min-height:2100px}.flight-stage{min-height:740px}.flight-ready:not(.motion-reduced) .flight-stage{min-height:680px}
 .flight-stage .hero-copy{left:24px;bottom:150px;width:calc(100% - 48px);padding:0}.flight-stage h1{font-size:clamp(38px,12vw,72px)}.flight-stage .hero-copy .eyebrow{font-size:8px;margin-bottom:20px}.flight-stage .hero-description{font-size:14px;line-height:1.75;margin-top:22px}.flight-stage .hero-actions{margin-top:22px;gap:7px}.flight-stage .button{min-height:52px}.flight-stage .text-link{min-height:44px}
 .flight-portico{inset:-5% -5%;transform-origin:50% 50%}.flight-terrace img{object-position:50% 48%}.flight-city img{width:140%;height:145%;left:-20%;top:-22%;object-position:50% 65%}.flight-horizon img{width:124%;height:132%;left:-12%;top:-16%;object-position:50% 58%}.flight-cloud-far{opacity:.15}.flight-cloud-near{opacity:calc(var(--cloud-o)*.75)}
 .flight-ui{left:24px;right:24px;bottom:16px;grid-template-columns:1fr;gap:8px}.flight-rail{justify-content:space-between;gap:16px}.flight-rail button{min-width:0;flex:1;font-size:11px}.flight-skip{justify-self:center;min-height:38px;font-size:10px}.flight-caption{bottom:165px;left:26px;right:26px;text-align:left}.flight-caption>span{font-size:8px;letter-spacing:.14em}.flight-caption>p{font-size:clamp(48px,14vw,75px);margin-top:20px}.flight-caption small{font-size:13px;margin-top:20px;max-width:290px}.flight-scrim{background:linear-gradient(0deg,#042632c4,#0426324d 58%,#0426320a 100%)}
}
@media(max-width:380px){.flight-stage .hero-copy{left:22px;width:calc(100% - 44px);bottom:145px}.flight-stage h1{font-size:12vw}.flight-stage .hero-description{font-size:13px}.flight-stage .hero-copy .eyebrow{font-size:7px;letter-spacing:.13em}.flight-stage .hero-actions{margin-top:18px}.flight-ui{left:22px;right:22px}}
.motion-reduced .flight-shell{height:auto!important;min-height:0!important}.motion-reduced .flight-stage{position:relative!important;min-height:740px;height:100svh}.motion-reduced .flight-stage .hero-copy{opacity:1!important;transform:none!important}.motion-reduced .flight-city,.motion-reduced .flight-horizon,.motion-reduced .flight-cloud,.motion-reduced .flight-portico,.motion-reduced .flight-particles,.motion-reduced .flight-caption,.motion-reduced .flight-daylight,.motion-reduced .flight-ui{display:none!important}.motion-reduced .flight-terrace img{transform:none!important}
@media(prefers-reduced-motion:reduce){.flight-shell{height:auto!important;min-height:0!important}.flight-stage{position:relative!important;min-height:740px!important}.flight-stage .hero-copy{opacity:1!important;transform:none!important}.flight-city,.flight-horizon,.flight-cloud,.flight-portico,.flight-particles,.flight-caption,.flight-daylight,.flight-ui{display:none!important}.flight-terrace img{transform:none!important}}
@media(max-height:600px){.flight-ready .flight-shell{height:auto!important;min-height:0!important}.flight-ready .flight-stage{position:relative!important;height:740px!important}.flight-ready .flight-ui{display:none!important}.flight-ready .flight-stage .hero-copy{opacity:1!important;transform:none!important}.flight-ready .flight-caption{display:none}}
/* Wide camera plates keep the moving architecture crisp on desktop. */
@media(min-width:681px){.flight-city img{width:130%;height:132%;left:-15%;top:-16%;object-position:50% 55%}.flight-horizon img{width:120%;height:126%;left:-10%;top:-13%;object-position:50% 58%}}
.flight-stage[data-flight-scene="city"] .flight-scrim{background:linear-gradient(270deg,#03252d80,transparent 65%),linear-gradient(0deg,#042632b3,transparent 65%)}
