
/* Shared accessibility and motion controls; compositions are site-specific below. */
:root{--ease:cubic-bezier(.2,.7,.2,1)}
.scroll-meter{position:fixed;inset:0 0 auto;height:3px;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:50;pointer-events:none}
.eyebrow{display:none}.hero>*{min-width:0}.hero h1 em{font-style:italic}.hero figcaption{font-size:13px}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.hero-actions a:last-child:not(:first-child){font-weight:700;text-underline-offset:5px}
.decor{pointer-events:none;user-select:none;position:absolute}.btn,.button,.card,.product-card,.contact,.contacts article,.article-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
@media(hover:hover){.btn:hover,.button:hover{transform:translateY(-3px)}.product-card:hover,.contact:hover,.contacts article:hover{transform:translateY(-5px);box-shadow:0 20px 40px #11111110}.nav a:hover{text-decoration:underline;text-underline-offset:6px}}
.motion-still *,.motion-still *::before,.motion-still *::after,[data-motion][data-in-view="false"],[data-motion][data-in-view="false"]::before,[data-motion][data-in-view="false"]::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:1000px){.nav{gap:13px}.bar{gap:16px}}
@media(max-width:760px){.menu-toggle{margin-left:10px}.bar{gap:0}.hero-actions{gap:18px}.hero-actions .btn{width:100%}h1{overflow-wrap:normal}.hero-media{min-width:0}}
@keyframes drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-14px,0)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes travel{0%{transform:translateX(-120%)}100%{transform:translateX(240%)}}
body.flight{--bg:#f6f6ee;--text:#153b42;--accent:#16656d;--panel:#fffef8;--border:#c5d6d2}.flight .header{background:#f6f6eef2;backdrop-filter:blur(14px)}.flight .flight-opening{width:100%;padding:0 max(24px,calc((100% - 1240px)/2));position:relative;background:linear-gradient(90deg,#edf5f2e8,#edf5f240),url('/assets/sky-atmosphere.webp') center/cover}.flight .hero{position:relative;grid-template-columns:1.07fr 1fr;padding:86px 0 70px;gap:40px;min-height:690px}.flight h1{font-size:clamp(50px,5.7vw,83px);font-weight:500;line-height:1.01;letter-spacing:-.055em}.flight h1 em{font-family:Georgia,serif;color:#16656d;font-weight:400;letter-spacing:-.055em}.flight .flight-copy{position:relative;z-index:2}.flight .lede{font-size:17px;max-width:46ch}.flight .hero-media{isolation:isolate;background:#fffef7;border-radius:50% 50% 45% 45%;border:0;padding:52px 30px 35px;box-shadow:0 24px 60px #215f6b18;position:relative}.flight .hero-media>img{height:340px;position:relative;z-index:1;border-radius:30px;mix-blend-mode:multiply}.flight .hero-media figcaption{text-align:center;max-width:32ch;margin:0 auto;padding-bottom:10px;color:#43646b}.flight-orbit{inset:-22px;border:1px solid #43859066;border-radius:50%;transform:rotate(-18deg);z-index:-1}.flight-orbit i{position:absolute;width:12px;height:12px;border-radius:50%;background:#e5b355;left:8%;top:22%;box-shadow:0 0 0 7px #e5b35522}.flight-orbit i:nth-child(2){left:auto;right:6%;top:74%;background:#36838a}.flight-orbit i:nth-child(3){left:70%;top:0;width:8px;height:8px}.flight-orbit{animation:orbit 80s linear infinite}.flight-wind{inset:auto 0 15% 38%;height:100px;overflow:hidden;opacity:.4}.flight-wind span{display:block;height:1px;background:linear-gradient(90deg,transparent,#277786,transparent);margin:25px 0;animation:travel 10s ease-in-out infinite}.flight-wind span:nth-child(2){animation-delay:-3s}.flight .facts{position:relative;background:#fffdf1d9;border:1px solid #fff;padding:27px 34px;gap:20px;border-radius:22px 22px 0 0}.flight .fact strong{font-family:Georgia,serif;font-weight:400;font-size:39px}.flight .fact{border-right:1px solid #abc3bb}.flight .fact:last-child{border:0}.flight .boarding{background:#173e40!important;position:relative}.flight .boarding-head h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,5vw,62px)}.flight .boarding-flow{gap:0;counter-reset:boarding}.flight .boarding-flow li{padding:28px;border-top:1px dashed #98c5b5;position:relative}.flight .boarding-flow li::before{content:'';position:absolute;width:12px;height:12px;top:-6px;left:28px;border-radius:50%;background:#eed497;box-shadow:0 0 0 7px #eed49713}.flight .boarding-flow b{font-family:Georgia,serif;color:#eed497}.flight .boarding .btn{border-radius:40px;background:#eed497}.flight .btn{border-radius:40px}.flight .section{padding:90px 0}.flight .section-head h2{font-family:Georgia,serif;font-weight:400;max-width:23ch}.flight .card{border:0;border-top:1px solid #b4cac3;border-radius:0;background:transparent;padding:30px 10px}.flight .card h3{font-size:23px}.flight .products-single .product-card{border:1px solid #d6dfd7;background:#fffdf5;border-radius:28px;padding:34px;grid-template-columns:1.1fr 1fr}.flight .product-card>img{background:white;border-radius:100px 100px 20px 20px}.flight .price{font-family:Georgia,serif;font-size:34px}.flight #economics{background:#e0e9df}.flight .output{background:#184f50;border-radius:28px;color:#fffdf3}.flight .output strong{font-family:Georgia,serif;font-weight:400}.flight .inputs{background:#f9fcf3;border-radius:22px;padding:25px}.flight #request{background:#163e40;color:#f8f4e7}.flight #request input,.flight #request select,.flight #request textarea{color:#f8f4e7;background:#224e4f;border-color:#64867e}.flight #request .btn{background:#eed497;color:#153b42}.flight .contact{border-radius:60px 15px 15px 60px;background:#fffef6}.flight .contact img{border-radius:50px}.flight details{border:0;border-bottom:1px solid #bacdc7;background:transparent;border-radius:0}.flight .video-preview{border:0;padding:30px;max-width:1180px;background:#e2ece6;border-radius:0 0 25px 25px;margin-top:0}.flight .video-preview button{border-radius:30px}
@media(max-width:1000px){.flight .hero{gap:24px}.flight h1{font-size:64px}.flight .hero-media>img{height:290px}.flight .hero-media{padding:40px 18px 25px}.flight .boarding-flow{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.flight .flight-opening{padding:0 20px}.flight .hero{padding:32px 0 46px;min-height:0;gap:45px}.flight h1{font-size:clamp(40px,12.9vw,49px);max-width:12ch}.flight .hero-media{width:90%;margin:0 auto;max-width:480px}.flight .hero-media>img{height:260px}.flight .facts{padding:23px 16px;grid-template-columns:1fr;gap:18px}.flight .fact{border:0;display:flex;align-items:center;gap:18px}.flight .fact strong{font-size:30px;min-width:145px}.flight .fact span{font-size:13px}.flight .section{padding:56px 0}.flight .boarding-flow{grid-template-columns:1fr}.flight .boarding-flow li{padding:22px 10px;grid-template-columns:52px 1fr}.flight .boarding-flow li::before{display:none}.flight .products-single .product-card{grid-template-columns:1fr;padding:23px}.flight .products-single .product-card>img{grid-row:auto;height:280px}.flight .inputs{padding:18px;grid-template-columns:1fr}.flight .video-preview{width:calc(100% - 40px)}.flight .contact{border-radius:20px}.flight-wind{display:none}.flight .lede{font-size:16px}}

/* A tall rotating ellipse would extend past narrow viewports. */
@media(max-width:760px){.flight-orbit{inset:-12px;transform:none;animation:drift 12s ease-in-out infinite}}

@media(min-width:761px) and (max-width:1000px){.flight .hero{grid-template-columns:1fr;gap:50px;padding-top:45px}.flight .hero-media{width:75%;max-width:550px;margin:auto}.flight h1{font-size:64px;max-width:11ch}.flight .flight-copy{max-width:650px}.flight-orbit{inset:-12px;transform:none;animation:drift 12s ease-in-out infinite}.flight .fact strong{font-size:30px}}

/* Keep the navigation together and place secondary motion controls at its edge. */
@media(max-width:760px){header .brand{order:0}header .menu-toggle{order:3;margin-left:10px}header .nav{order:4}body.dome header{gap:12px}}

[data-motion][data-in-view="false"] *,[data-motion][data-in-view="false"] *::before,[data-motion][data-in-view="false"] *::after{animation-play-state:paused!important}
