.flight-hero{position:relative;isolation:isolate;overflow:clip;height:clamp(640px,55vw,840px);background:#132f40;color:white;contain:paint}
.flight-scene,.flight-landscape-motion,.flight-landscape,.flight-shade{position:absolute;inset:0;pointer-events:none}
.flight-landscape-motion{inset:-7%;will-change:transform}
.flight-landscape{background:url('../img/aero-animation/mountain-plate.png') center 54%/cover no-repeat;animation:landscape-arrive 4.5s cubic-bezier(.16,1,.3,1) both}
.flight-shade{background:linear-gradient(90deg,rgba(4,19,31,.82),rgba(5,23,36,.56) 34%,rgba(5,23,36,.08) 65%,transparent),linear-gradient(0deg,rgba(6,27,41,.24),transparent 30%);z-index:4}
.flight-aircraft-motion{position:absolute;left:47%;top:6%;width:54%;height:88%;z-index:2;will-change:transform}
.flight-aircraft-entry{width:100%;height:100%;animation:aircraft-arrive 3.6s cubic-bezier(.16,1,.3,1) .1s both}
.flight-aircraft{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 25px rgba(0,15,29,.2));animation:aircraft-cruise 9s ease-in-out 3.6s infinite;transform-origin:50% 50%}
.flight-haze{position:absolute;pointer-events:none;inset:-25%;opacity:.34;will-change:transform;background:radial-gradient(ellipse at 80% 46%,rgba(229,247,251,.44),transparent 35%),radial-gradient(ellipse at 30% 84%,rgba(226,241,246,.28),transparent 22%);filter:blur(20px);animation:haze-drift 27s ease-in-out infinite alternate}
.flight-haze-back{z-index:1}
.flight-haze-front{z-index:3;opacity:.22;animation-duration:19s;animation-direction:alternate-reverse;inset:-10% -35%;background:radial-gradient(ellipse at 85% 95%,rgba(248,254,255,.8),transparent 26%)}
.flight-content{position:relative;z-index:5;height:100%;display:flex;align-items:center;pointer-events:none}
.flight-copy{width:52%;padding:40px 0 60px;pointer-events:auto}
.flight-copy h1{font-family:Inter,sans-serif;font-size:clamp(34px,3.05vw,54px);line-height:1.15;font-weight:600;letter-spacing:-1.5px;margin:0 0 32px;text-wrap:balance;animation:copy-arrive 1.5s cubic-bezier(.16,1,.3,1) .3s both}
.flight-copy p{max-width:540px;font-family:Poppins,sans-serif;font-size:16px;font-weight:300;line-height:1.8;margin:0 0 28px;color:#e0e9ef;animation:copy-arrive 1.5s cubic-bezier(.16,1,.3,1) .6s both}
.flight-copy .flight-cta{animation:copy-arrive 1.4s cubic-bezier(.16,1,.3,1) .85s both}
.flight-controls{position:absolute;bottom:30px;right:36px;z-index:6;display:flex;gap:9px}
.flight-controls button{width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;color:white;background:#08223455;backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s;font-size:17px}
.flight-controls button:hover{background:#ffffff30;border-color:white}
.flight-controls svg{width:20px;height:20px}
.flight-controls button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.flight-hero.is-paused *{animation-play-state:paused!important}
.flight-hero.is-restarting *{animation:none!important}
@keyframes landscape-arrive{from{transform:scale(1.16) translate3d(-1%,1%,0);filter:brightness(.68)}to{transform:scale(1);filter:brightness(1)}}
@keyframes aircraft-arrive{from{opacity:0;transform:translate3d(22%,-13%,0) scale(.78) rotate(-7deg);filter:blur(4px)}30%{opacity:1}to{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0);filter:blur(0)}}
@keyframes aircraft-cruise{0%,100%{transform:translate3d(0,0,0) rotate(-.6deg)}50%{transform:translate3d(-10px,-15px,0) rotate(.8deg)}}
@keyframes haze-drift{from{transform:translate3d(-3%,2%,0) scale(1)}to{transform:translate3d(5%,-2%,0) scale(1.1)}}
@keyframes copy-arrive{from{opacity:0;transform:translate3d(0,26px,0);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(min-width:1600px){.flight-aircraft-motion{left:49%;width:49%;top:3%;height:92%}}
@media(max-width:991px){.flight-copy{width:57%}.flight-copy h1{font-size:34px}.flight-aircraft-motion{left:49%;width:62%;top:12%;height:74%}.flight-hero{height:700px}.flight-shade{background:linear-gradient(90deg,#04131fd9,#05172466 60%,transparent)}}
@media(max-width:575px){.flight-hero{height:810px;max-height:none}.flight-content{align-items:flex-end;padding:0 25px}.flight-copy{width:100%;padding:0 0 82px}.flight-copy h1{font-size:29px;line-height:1.17;letter-spacing:-.8px;margin-bottom:20px}.flight-copy p{font-size:14px;line-height:1.7;margin-bottom:20px}.flight-aircraft-motion{left:4%;top:0;width:100%;height:43%}.flight-shade{background:linear-gradient(0deg,#061a2eee,rgba(6,26,46,.78) 42%,transparent 78%)}.flight-landscape{background-position:63% center}.flight-controls{bottom:20px;right:22px}.flight-controls button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.flight-hero *{animation:none!important;transition:none!important}.flight-landscape-motion,.flight-aircraft-motion{transform:none!important}.flight-controls{display:none}}

/* Preserve the reference spacing and service sequence; the brand stays static. */
.flight-hero + .homepage-categories { margin-top: 0; }
.homepage-counters .counters-col > span { font-variant-numeric: tabular-nums; }
.aero-page-paused .service-enter,.aero-page-paused .service-shake { animation-play-state: paused !important; }
.services-row > .item.service-waiting{opacity:0;translate:0 38px}
.services-row > .item.service-enter{animation:aero-service-enter .75s cubic-bezier(.2,.7,.2,1) var(--service-delay,0ms) both}
.cat-box > div:first-child > img.service-shake{animation:aero-service-shake 1.1s ease-in-out both;transform-origin:50% 70%}
@keyframes aero-service-enter{from{opacity:0;translate:0 38px}to{opacity:1;translate:0 0}}
@keyframes aero-service-shake{0%,100%{rotate:0deg;translate:0 0}20%{rotate:-9deg;translate:0 -3px}40%{rotate:8deg;translate:0 -2px}60%{rotate:-6deg}80%{rotate:3deg}}
@media(prefers-reduced-motion:reduce){.services-row > .item.service-waiting{opacity:1;translate:none}}
