/* Decorative opening reveal; never blocks interaction or waits for JavaScript. */
.flight-intro{position:fixed;inset:0;z-index:10000;pointer-events:none;direction:ltr;overflow:hidden;animation:flight-finish 2.5s linear forwards}
.flight-intro::before{content:"";position:absolute;inset:0;background:#f8f8f0;animation:flight-reveal 2.5s cubic-bezier(.4,0,.25,1) .0s both}
.flight-intro__plane{position:absolute;top:46%;left:-112px;width:96px;height:96px;color:#284c3e;animation:flight-cross 2.5s cubic-bezier(.4,0,.25,1) .0s both;will-change:transform}
.flight-intro__plane::before{content:"";position:absolute;right:84px;top:47px;width:160px;height:1px;background:linear-gradient(to right,transparent,#284c3e55)}
.flight-intro__plane::after{content:"";position:absolute;right:94px;top:31px;width:125px;height:34px;background:linear-gradient(to right,transparent,#284c3e40) top right/100% 1px no-repeat,linear-gradient(to right,transparent,#284c3e30) bottom right/75% 1px no-repeat}
.flight-intro__plane svg{display:block;width:96px;height:96px;filter:drop-shadow(0 3px 4px #284c3e10)}
@keyframes flight-cross{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 224px))}}
@keyframes flight-reveal{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 100%)}}
@keyframes flight-finish{0%,94%{visibility:visible;opacity:1}100%{visibility:hidden;opacity:0}}
body:focus-within .flight-intro{display:none}
@media(prefers-reduced-motion:reduce){.flight-intro{display:none}.flight-intro,.flight-intro::before,.flight-intro__plane{animation:none}}
