/* Client journey: readable black, warm gold and cream with real touch controls. */
nav.stuck{background:#0c0b0a;box-shadow:0 1px 24px #0008}
nav.stuck .markwrap{filter:brightness(1.2) saturate(1.2)}
nav.stuck .menubtn span{background:#e1b96e}
.commit{align-items:start}
.commit-item,.svc,.evt .row{border-top:1px solid #8d6e49;background:transparent}
.commit-item summary,.svc summary,.evt .row summary{display:block;list-style:none;position:relative;cursor:pointer;padding:25px 46px 25px 0;color:#563916;font:600 clamp(19px,2vw,24px)/1.35 'Lora',Georgia,serif;transition:color .3s,padding-left .35s,background-color .3s}
.commit-item summary::-webkit-details-marker,.svc summary::-webkit-details-marker,.evt .row summary::-webkit-details-marker{display:none}
.commit-item summary::after,.svc summary::after,.evt .row summary::after{content:'+';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#78552c;font:400 28px/1 Georgia,serif}
.commit-item[open] summary::after,.svc[open] summary::after,.evt .row[open] summary::after{content:'−'}
.commit-item:hover summary,.commit-item:focus-within summary,.commit-item[open] summary,.svc:hover summary,.svc:focus-within summary,.svc[open] summary,.evt .row:hover summary,.evt .row:focus-within summary,.evt .row[open] summary{color:#332215;padding-left:12px;background:linear-gradient(90deg,#bd915234,transparent 80%)}
.commit-item[open],.svc[open],.evt .row[open]{border-top-color:#8a5b29;box-shadow:inset 3px 0 #a57339}
.commit-item p,.svc p,.evt .row p{padding:0 15px 23px 12px;color:#3d3833}
.commit-item summary:focus-visible,.svc summary:focus-visible,.evt .row summary:focus-visible,.journey-steps a:focus-visible{outline:2px solid #765027;outline-offset:4px}
.svcs{align-items:start}.svc{padding:0}.svc:hover{opacity:1}.svc::before{display:none}
.cabtab{padding:10px 8px;color:#5d4c36}.cabtab.on,.cabtab:hover,.cabtab:focus-visible{color:#3a291c;background:#b8874430}
.cabtab.on::after,.cabtab:hover::after,.cabtab:focus-visible::after{width:100%;height:3px;background:#88602d}
.cabcraft .model-select:hover,.cabcraft .model-select:focus-visible,.cabcraft .model-select.on{color:#594124}
.aircraft-card.chosen{border-color:#815322;box-shadow:0 18px 40px #3f240435}
.model-facts summary:hover,.model-facts summary:focus-visible,.model-facts[open] summary{color:#50351b;background:#a6753830}
.mapstage{background:#080706;border-block:2px solid #a57c42}
.mapinner{transform:none!important;mask-image:none;-webkit-mask-image:none}
.mapimg{opacity:1;filter:brightness(1.5) contrast(1.27) saturate(1.3);transform:none;animation:none}
.routes{opacity:1;filter:drop-shadow(0 0 2px #000)}
.mapstage::after{opacity:.35}
.journey{border-block:1px solid #997448;padding-block:clamp(42px,6vw,70px)}
.journey-steps{list-style:none;margin:38px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.journey-steps li{min-width:0;border-top:2px solid #8c6434}
.journey-steps a{display:block;min-height:155px;padding:18px 10px 10px;color:#302920;text-decoration:none;transition:transform .3s,background-color .3s,box-shadow .3s}
.journey-steps a:hover,.journey-steps a:active,.journey-steps a:focus-visible{transform:translateY(-5px);background:#b58a4b25;box-shadow:0 13px 25px #3e2a201a}
.journey-steps span{display:block;color:#77512a;font:700 12px/1.3 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.journey-steps strong{display:block;margin-top:15px;font:500 clamp(16px,1.5vw,19px)/1.35 'Lora',Georgia,serif}
@media(max-width:800px){.journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-steps a{min-height:125px}}
@media(max-width:450px){.journey-steps{grid-template-columns:1fr}.journey-steps a{min-height:auto}.commit-item summary,.svc summary,.evt .row summary{padding-top:20px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.journey-steps a{transition:none;transform:none!important}}
/* Fixed menu stacking: its inner nav must not inherit the page's fixed header rules. */
.menu{position:fixed;inset:0;z-index:9998;background:#0c0b0a;backdrop-filter:none;-webkit-backdrop-filter:none;min-height:100dvh;height:100dvh;max-height:100dvh;overflow-y:auto;justify-content:flex-start;padding:clamp(118px,18dvh,170px) var(--pad) 40px}
#nav{z-index:9999}
.menu nav.menuinner{position:static;inset:auto;z-index:auto;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:clamp(18px,3.4vh,30px);padding:0;margin:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto;width:100%}
.menuinner a{color:#f5ecdc}.menuinner a:hover,.menuinner a:focus-visible,.menuinner a:active{color:#eec16b;text-shadow:0 0 12px #b4864980}
.menufoot{width:min(340px,90%)}.menufoot a{color:#e9c786}
html.menuopen{overscroll-behavior:contain}
html.menuopen,html.menuopen body{overflow:visible!important}
.menu{overscroll-behavior:contain}
/* Verified Gulfstream G650 final-approach image. */
.hero-scenes{background:#121821}
.hero-scenes::after{z-index:2;background:none;animation:none}
.hero-scenes .hero-exterior{filter:none}
.aircraft-image{padding:12px 18px;box-sizing:border-box;background:#eae8e2}
.aircraft-image img{object-fit:contain;object-position:center;filter:none;transition:none}
.aircraft-card:hover .aircraft-image img,.aircraft-card.chosen .aircraft-image img{transform:none}
.curtain{overflow:hidden;max-width:100vw;max-height:100dvh}
.curtain .opentag{box-sizing:border-box;max-width:min(86vw,720px);font-size:clamp(16px,3vw,25px);line-height:1.6;letter-spacing:clamp(.07em,.7vw,.18em);overflow-wrap:normal;white-space:normal}
.route-planner{margin:26px 0 6px;padding:24px;border:1px solid #987443;background:#f3ece1;box-shadow:0 12px 30px #4a321018}
.route-planner-fields{display:flex;align-items:end;gap:18px;flex-wrap:wrap}
.route-planner-fields label{flex:1 1 180px;color:#4b321c;font:600 15px/1.5 Arial,sans-serif}
.route-planner-fields input{display:block;width:100%;box-sizing:border-box;padding:10px 0 7px;font:500 20px/1.4 Georgia,serif}
.route-planner-fields button{cursor:pointer;background:#211c18;border:1px solid #a1783d;color:#f4e0b6;padding:13px 16px;font:600 14px/1.3 Arial,sans-serif}
.route-planner-fields button:hover,.route-planner-fields button:focus-visible{background:#614426}
.route-result{color:#2d241d;font:600 clamp(18px,2vw,22px)/1.5 Georgia,serif;margin:23px 0 6px}
.route-disclaimer{color:#473c31;font:14px/1.5 Arial,sans-serif;margin:8px 0 0}
.routecity{fill:#20160e;stroke:none;font-size:34px;font-weight:700;letter-spacing:.025em}
.routearc{stroke:#513415;stroke-width:3.2;opacity:1}
.routepin{fill:#34210f}.routejet{fill:#2c1b0f;filter:drop-shadow(0 0 2px #e9c877)}
.cabspecs span{color:#6a441e}.cabspecs b{color:#231b15}
.cabnote,.cabsuits{color:#302821!important}
@media(max-width:700px){.route-planner{padding:18px}.route-planner-fields button{width:100%}.curtain .opentag{max-width:88vw;letter-spacing:.1em}}
@media(max-width:700px){
 #nav,#nav.stuck{background:#0b0a09;box-shadow:0 8px 24px rgba(0,0,0,.2)}
 .hero{display:block;min-height:0;padding:110px 0 0;text-align:left;background:#0b0a09}
 .hero-scenes{position:relative;inset:auto;width:100%;height:clamp(370px,58svh,570px)}
 .hero-scenes .hero-exterior{object-position:28% center}
 .hero .inner{position:relative;z-index:3;max-width:none;padding:26px var(--pad) 18px;background:#0b0a09;text-align:left}
 .hero h1{margin:0;font-size:clamp(29px,7vw,39px);line-height:1.18}
 .hero .herotel{margin-top:12px;font-size:18px;padding:8px 0}
 .hero::after{display:none}
 .hero .arrival-credit{display:inline-block}
 .hero-phase{bottom:12px!important;right:12px!important;font-size:10px!important}
}
/* Verified G650 photograph: gentle camera movement without video buffering or a reset jump. */
.hero-scenes .hero-exterior{visibility:visible!important;opacity:1!important;filter:none!important;object-fit:cover;object-position:50% 50%;animation:osioApproach 12s ease-in-out infinite alternate!important}
.hero-scenes .hero-phase-exterior{animation:none!important;opacity:1!important}
@keyframes osioApproach{from{transform:scale(1) translate3d(0,-.5%,0)}to{transform:scale(1.075) translate3d(-.8%,.8%,0)}}
@media(max-width:700px){.hero-scenes .hero-exterior{object-position:48% center}}
@media(prefers-reduced-motion:reduce){.hero-scenes .hero-exterior{animation:none!important;transform:none!important}}
@media(max-width:700px){.hero .arrival-credit{position:relative;left:auto;bottom:auto;z-index:4;display:inline-block;margin:0 var(--pad) 18px;font-size:10px;color:#d6be91}}
.hero-scenes::after{background:linear-gradient(165deg,rgba(222,133,142,.18),rgba(239,182,120,.08) 48%,rgba(10,9,11,.22) 100%);pointer-events:none}

/* One arrival into the site: runway, liftoff, then the departure view. */
.hero-scenes{background:#15151a}
.hero-scenes::after{animation:none!important;background:linear-gradient(0deg,#08080980,transparent 45%),linear-gradient(155deg,#e7a3a42b,#efbc8630 45%,transparent 80%)}
.hero-scenes .hero-exterior{z-index:1;object-position:50% 52%;animation:osioRunway 7.2s cubic-bezier(.3,.02,.2,1) 1.9s 1 both!important}
.hero-scenes .hero-departure{z-index:2;object-position:50% 52%;animation:osioDepart 7.2s ease-out 1.9s 1 both!important}
.hero-scenes .hero-phase-exterior{animation:none!important;opacity:1!important}
@keyframes osioRunway{0%{opacity:1;transform:scale(1.02) translate3d(2%,1%,0)}48%{opacity:1;transform:scale(1.19) translate3d(-2%,-2%,0)}69%,100%{opacity:0;transform:scale(1.24) translate3d(-3%,-5%,0)}}
@keyframes osioDepart{0%,43%{opacity:0;transform:scale(1.1) translate3d(2%,5%,0)}66%{opacity:1;transform:scale(1.04) translate3d(0,0,0)}100%{opacity:1;transform:scale(1) translate3d(0,0,0)}}
@media(max-width:700px){.hero-scenes .hero-exterior{object-position:48% center}.hero-scenes .hero-departure{object-position:48% center}}
@media(prefers-reduced-motion:reduce){.hero-scenes .hero-exterior{animation:none!important;opacity:0!important}.hero-scenes .hero-departure{animation:none!important;opacity:1!important;transform:none!important}}
.arrival-credit a{text-decoration:underline;text-underline-offset:2px}

/* Native anchor navigation and a self-contained menu avoid scroll resets in iOS web views. */
html{scroll-padding-top:130px}
section[id],footer[id],header[id]{scroll-margin-top:130px}
html.menuopen body>:not(#nav):not(#menu){visibility:visible!important}
html.menuopen,html.menuopen body{overflow:visible!important}
.menu{overscroll-behavior:contain}
.rise{opacity:1!important;transform:none!important;transition:none!important}
/* Reveal content once as it enters view, without moving the page or its scroll position. */
@media(prefers-reduced-motion:no-preference){
  html.motion-ready .rise:not(.in){opacity:.3!important;transition:opacity .75s ease!important}
  html.motion-ready .rise.in{opacity:1!important;transition:opacity .75s ease!important}
  .cabpanel.on{animation:osioPanelAppear .48s ease both}
  @keyframes osioPanelAppear{from{opacity:.3}to{opacity:1}}
}

/* Show the entire profile of each aircraft, including nose, wings and tail. */
.aircraft-image{height:clamp(230px,28vw,350px);padding:16px 18px;background:#e8e6e0}
.aircraft-image img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;filter:none;transform:none!important}
@media(max-width:700px){.aircraft-image{height:clamp(215px,64vw,310px);padding:12px}}

/* Restore the earlier runway film. Crop its lower edge to keep the orange marker out. */
.hero-scenes .hero-video{position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.3);transform-origin:center top;opacity:0;pointer-events:none;filter:contrast(1.08) saturate(1.06)}
html.takeoff-video-ready .hero-scenes .hero-video{opacity:1}
html.takeoff-video-ready .hero-scenes .hero-photo{visibility:hidden!important}
.hero .video-credit{display:none;position:absolute;z-index:5;left:var(--pad);bottom:15px;color:#f0e1c8;font:11px/1.3 Arial,sans-serif;text-decoration:none;text-shadow:0 1px 3px #000}
html.takeoff-video-ready .hero .video-credit{display:block}
html.takeoff-video-ready .hero .arrival-credit{display:none}
@media(max-width:700px){.hero .video-credit,html.takeoff-video-ready .hero .video-credit{position:relative;left:auto;bottom:auto;display:none;margin:0 var(--pad) 18px}html.takeoff-video-ready .hero .video-credit{display:inline-block}}
@media(prefers-reduced-motion:reduce){.hero-scenes .hero-video{display:none!important}html.takeoff-video-ready .hero-scenes .hero-photo{visibility:visible!important}html.takeoff-video-ready .hero .video-credit{display:none}html.takeoff-video-ready .hero .arrival-credit{display:block}}

/* Keep the access introduction, then reveal the jet and its line sooner. */
.curtain{animation:lift .5s cubic-bezier(.76,0,.24,1) 1s forwards!important}
.opentag{animation:openIn .5s cubic-bezier(.22,.61,.36,1) .1s forwards!important}
.hero-film-line{display:none}
@media(max-width:700px){
  .hero-film-line{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:14%;display:block;text-align:center;font-family:'Lora',Georgia,serif;font-size:clamp(27px,7vw,39px);line-height:1.14;color:#fff5e9;text-shadow:0 2px 15px #080809,0 0 28px #080809;opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}
  .hero-film-line span,.hero-film-line em{display:block}
  .hero-film-line em{margin-top:.12em;font-style:normal;color:#e8c684}
  html.jet-tagline-visible .hero-film-line{opacity:1;transform:none}
  html.takeoff-video-ready .hero .inner h1{display:none}
}
@media(prefers-reduced-motion:reduce){.curtain{display:none!important}.hero-film-line{display:none!important}html.takeoff-video-ready .hero .inner h1{display:block}}

/* Do not reveal the unwanted dark runway still during video startup or a stall. */
.hero-scenes .hero-departure{animation:none!important;opacity:1!important;transform:none!important;visibility:visible!important;object-fit:cover;object-position:center}

/* The agreed film is the sole opening media; a tap-to-play control handles mobile autoplay limits. */
.hero-scenes{background:#090b0e!important}
.hero-scenes::after{background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 35%)!important}
.hero-scenes .hero-video{opacity:1!important}
.hero-retry{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #d7b571;background:rgba(8,9,11,.82);color:#f5e5c6;padding:13px 21px;font:600 14px/1.2 Arial,sans-serif;letter-spacing:.08em;white-space:nowrap;cursor:pointer}
.hero-retry[hidden]{display:none!important}
.hero-retry:focus-visible{outline:2px solid #f5d994;outline-offset:4px}
.hero .video-credit{display:block!important}
@media(max-width:700px){.hero .video-credit{display:inline-block!important}}
.hero-sound{position:absolute;z-index:6;left:var(--pad);bottom:18px;border:1px solid rgba(230,197,139,.75);background:rgba(9,11,14,.78);color:#f5e5c6;padding:9px 14px;font:600 12px/1.2 Arial,sans-serif;letter-spacing:.07em;cursor:pointer}
.hero-sound[hidden]{display:none!important}
.hero-sound:hover,.hero-sound:focus-visible{background:#604429;outline-color:#f5d994}
@media(max-width:700px){.hero-sound{bottom:15px;left:16px}}
.hero-scenes .hero-video{transform:none;object-position:center center;filter:none}
.hero-sound{left:auto;right:var(--pad)}
@media(max-width:700px){.hero-sound{left:auto;right:16px}}
/* Let the promise arrive with the jet rather than sitting on the first frame. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
  .hero .inner h1{opacity:0;transform:scale(.94);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.25,1);text-shadow:0 3px 24px rgba(0,0,0,.85)}
  html.jet-tagline-visible .hero .inner h1{opacity:1;transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){.hero .inner h1{opacity:1!important;transform:none!important}}
.boarding-scene{margin:24px 0 0;aspect-ratio:16/9;max-width:960px;overflow:hidden;border:1px solid rgba(178,132,62,.7);background:#201a17 url('assets/osio-boarding-cassandra-dog.png') center/cover no-repeat;box-shadow:0 20px 50px rgba(38,24,13,.25)}
.boarding-feature{padding-top:12px;padding-bottom:clamp(42px,6vw,88px)}
.boarding-scene video{display:block;width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){.boarding-scene video{display:none}}
@media(prefers-reduced-motion:reduce){.pet-photo video{display:none}}

/* Keep the approved film's promise crisp over moving footage. */
.hero .inner h1{filter:none;text-shadow:0 2px 4px rgba(0,0,0,.9),0 0 14px rgba(0,0,0,.35)}
.hero .inner h1 .l1{color:#fffaf2}
.hero .inner h1 .l2{background:none!important;-webkit-text-fill-color:#f6d792;color:#f6d792}
.hero-film-line{text-shadow:0 2px 4px #101216,0 0 12px #101216}

/* The map breathes while each route traces across the world. */
.mapimg{animation:mapdrift 19s ease-in-out infinite alternate;transform-origin:center}
.routes{animation:routesway 12s ease-in-out infinite alternate;transform-origin:center}
.route{stroke-width:1.8;filter:drop-shadow(0 0 4px rgba(255,226,155,.95))}
.spark{filter:drop-shadow(0 0 6px #ffe3a0) drop-shadow(0 0 11px #d69738)}
.hub{filter:drop-shadow(0 0 5px #ffe2a0)}
@media(prefers-reduced-motion:reduce){.mapimg,.routes,.route,.hub,.mapstage::after{animation:none!important}}

/* Living details across the journey, using opacity and paint only so scroll position stays fixed. */
@media(prefers-reduced-motion:no-preference){
  .rise.in > .eyebrow,.rise.in > div > .eyebrow{animation:osioGoldArrive .9s ease both}
  @keyframes osioGoldArrive{from{opacity:.28;filter:brightness(.8)}to{opacity:1;filter:brightness(1.15)}}
  .cabpanel.on .aircraft-card{animation:osioAircraftArrive .55s ease both}
  .cabpanel.on .aircraft-card:nth-child(2){animation-delay:.13s}
  @keyframes osioAircraftArrive{from{opacity:.25}to{opacity:1}}
  .journey-steps a:hover,.journey-steps a:focus-visible,.aircraft-card:hover,.aircraft-card:focus-within{box-shadow:0 12px 30px rgba(93,61,28,.23)}
  .clock.on b{animation:osioClockSelect .45s ease both}
  @keyframes osioClockSelect{from{opacity:.3}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){.cabpanel.on .aircraft-card,.clock.on b{animation:none!important}}
.navlinks a.section-active,.menuinner a.section-active{color:#f2cd83;text-shadow:0 0 14px rgba(224,174,94,.5)}
.navlinks a.section-active{border-bottom:1px solid #c49b56}

/* The supplied reference screenshots are framed on the aircraft, not their phone chrome. */
.aircraft-reference{background:#d9dee1}
.aircraft-reference img{object-fit:cover;filter:contrast(1.04) saturate(1.03);animation:osioFleetGlide 11s ease-in-out infinite alternate!important;will-change:transform}
.aircraft-reference.ref-phenom img{object-position:50% 36%}
.aircraft-reference.ref-cj3 img{object-position:50% 54%}
.aircraft-reference.ref-g280 img{object-position:50% 49%}
.aircraft-reference.ref-global6000 img{object-position:50% 52%}
.aircraft-reference.ref-g650er img{object-position:50% 53%}
@keyframes osioFleetGlide{from{transform:scale(1.15) translate3d(-.5%,0,0)}to{transform:scale(1.2) translate3d(.5%,-.3%,0)}}
/* A continuous illuminated route sequence gives the existing world map a living feel. */
.mapstage{box-shadow:0 16px 36px rgba(43,25,9,.16)}
.mapstage .route{stroke-width:2.2;filter:drop-shadow(0 0 6px #f4c45d);animation-duration:5.4s}
.mapstage .spark{filter:drop-shadow(0 0 5px #fff2c1) drop-shadow(0 0 13px #e9ac36)}
.mapstage .hub{filter:drop-shadow(0 0 6px #f6ce74);animation-duration:1.8s}
.mapstage::after{opacity:.65}
@media(prefers-reduced-motion:reduce){.aircraft-reference img{animation:none!important;transform:scale(1.16)!important}.mapstage .route,.mapstage .hub{animation:none!important}}

/* The clean landscape aircraft visuals contain no phone interface. */
.aircraft-reference{background:#e6e9eb}
.aircraft-reference img{display:block!important;object-fit:contain!important;object-position:center!important;max-width:100%;filter:none!important;animation:none!important;transform:none!important}
.aircraft-card:hover .aircraft-reference img,.aircraft-card.chosen .aircraft-reference img{transform:none!important}

/* Aircraft cards share one edge-to-edge, wide photo frame on every screen. */
.aircraft-card .aircraft-image{display:block;width:100%;height:auto!important;aspect-ratio:16/9;overflow:hidden;background:#d9dee1}
.aircraft-card .aircraft-image img,
.aircraft-card .aircraft-reference img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;filter:none!important;transform:none!important;animation:none!important}
.aircraft-card:hover .aircraft-image img,
.aircraft-card.chosen .aircraft-image img{transform:none!important}
.aircraft-card .aircraft-image{position:relative}
.aircraft-card .aircraft-image img{position:absolute;inset:0}

/* Keep the complete G280 visible, with its own sky filling the frame. */
.aircraft-card .aircraft-image.ref-g280{background:#283c52 url('assets/osio-clean-g280.png') center/cover no-repeat}
.aircraft-card .aircraft-image.ref-g280 img{object-fit:contain!important;z-index:1}

/* A calm, luminous globe grows out of the existing world-map image. */
.mapstage{position:relative;min-height:clamp(330px,37vw,500px);display:grid;place-items:center;background:#080b0f}
.mapstage .mapinner{position:absolute;inset:0;opacity:.37;filter:brightness(.75);overflow:hidden}
.mapstage .mapimg{width:100%;height:100%;object-fit:cover}
.mapstage .routes{opacity:.62}
.mapstage::after{z-index:3;opacity:.27}
.globe-scene{--globe-size:clamp(230px,32vw,390px);position:relative;z-index:2;width:min(100%,750px);height:clamp(315px,36vw,480px);display:grid;place-items:center;pointer-events:none}
.globe-sphere{position:relative;width:var(--globe-size);height:var(--globe-size);border-radius:50%;overflow:hidden;background:#111b22;box-shadow:inset -38px -25px 46px #000d,inset 15px 15px 30px #d4a55a48,0 0 12px #f2ca7060,0 0 55px #b5863a70;isolation:isolate}
.globe-textures{display:flex;position:absolute;left:0;top:0;width:max-content;height:100%;animation:osioWorldTurn 38s linear infinite}
.globe-texture{display:block;flex:none;width:auto;height:100%;max-width:none;filter:brightness(1.7) saturate(1.2)}
.globe-sphere::after{content:'';position:absolute;inset:0;z-index:2;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff7d029 0%,transparent 35%),linear-gradient(105deg,#05090e33 10%,transparent 40%,#020407bc 88%);box-shadow:inset 0 0 24px #e5c17a70;pointer-events:none}
@keyframes osioWorldTurn{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.globe-orbit{position:absolute;left:50%;top:50%;width:calc(var(--globe-size) * 1.45);height:calc(var(--globe-size) * .58);margin-left:calc(var(--globe-size) * -.725);margin-top:calc(var(--globe-size) * -.29);border:1px solid #dbb3648a;border-radius:50%;box-shadow:0 0 12px #e5b75630;transform:rotate(-24deg)}
.globe-orbit span{position:absolute;left:50%;top:-15px;color:#ffe3a0;text-shadow:0 0 9px #ffe2a0,0 0 20px #c29138;font:26px/1 Arial,sans-serif;animation:osioPlaneCircle 12s linear infinite;transform-origin:0 calc(var(--globe-size) * .29 + 15px)}
.globe-orbit-back{z-index:0;opacity:.55;transform:rotate(22deg)}
.globe-orbit-back span{animation-duration:18s;animation-delay:-7s;font-size:20px}
.globe-orbit-front{z-index:3}
@keyframes osioPlaneCircle{from{transform:rotate(0deg) translateY(calc(var(--globe-size) * -.29 - 15px)) rotate(90deg)}to{transform:rotate(360deg) translateY(calc(var(--globe-size) * -.29 - 15px)) rotate(90deg)}}
@media(max-width:700px){.globe-scene{--globe-size:min(64vw,300px);height:340px}.mapstage{min-height:340px}}
@media(prefers-reduced-motion:reduce){.globe-textures,.globe-orbit span{animation:none!important}}
/* Rotate the orbit paths so the plane markers visibly circle the globe. */
.globe-orbit span{animation:none!important;transform:none}
.globe-orbit-front{animation:osioOrbitFront 14s linear infinite}
.globe-orbit-back{animation:osioOrbitBack 19s linear infinite}
@keyframes osioOrbitFront{from{transform:rotate(-24deg)}to{transform:rotate(336deg)}}
@keyframes osioOrbitBack{from{transform:rotate(22deg)}to{transform:rotate(382deg)}}
@media(prefers-reduced-motion:reduce){.globe-orbit{animation:none!important}}

/* One unobstructed globe video; local animated world-map texture stays visible if media cannot load. */
.mapstage{height:clamp(330px,39vw,510px);min-height:0;background:#050607;display:grid;place-items:center;isolation:isolate}
.mapstage::after{display:none!important}
.globe-fallback,.globe-film{position:absolute;inset:0;width:100%;height:100%}
.globe-fallback{display:grid;place-items:center;background:#050607}
.globe-film{z-index:2;object-fit:contain;opacity:0;transition:opacity .3s ease}
.globe-film.is-playing{opacity:1}
.globe-simple{width:min(72vw,370px);height:min(72vw,370px);border-radius:50%;overflow:hidden;background:#111b22;box-shadow:inset -32px -20px 50px #000b,0 0 40px #9b763456;position:relative}
.globe-simple-strip{height:100%;width:max-content;display:flex;animation:osioWorldTurn 40s linear infinite}
.globe-simple-strip img{height:100%;width:auto;max-width:none;filter:brightness(1.3)}
.globe-simple::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset -35px -15px 40px #000b,inset 10px 8px 30px #c9a05f35;pointer-events:none}
@media(prefers-reduced-motion:reduce){.globe-simple-strip{animation:none}}

/* Calm single-globe presentation and stable scrolling on mobile. */
.mapstage{background:#000!important;overflow:hidden}
.mapstage.film-ready .globe-fallback{display:none}
.globe-film{object-fit:cover;background:#000}
.globe-fallback{background:#000}
.globe-simple{box-shadow:none;background:#0a1016}
.globe-simple::after{box-shadow:inset -24px -8px 36px #0009}
.globe-simple-strip img{filter:brightness(1.05)}
.voice blockquote,.creedwords{color:#fff8e9!important;text-shadow:none}
.voice figcaption{border-top:1px solid rgba(212,164,85,.52);padding-top:16px;max-width:380px}
.voice .attrib,.creedline .attrib{color:#f4d293!important;-webkit-text-fill-color:#f4d293;font-weight:700}
.voice .attrib-role{color:#e5d8c3;font-size:clamp(13px,1.3vw,15px);letter-spacing:.09em}
.creedline{border-left:3px solid #d4a455;padding-left:clamp(16px,3vw,28px)}

/* Preserve the original OSIO world map with clean black surroundings. */
.mapstage{height:auto;aspect-ratio:16/9;min-height:0!important;border:0;box-shadow:none;background:#000!important}
.mapstage .globe-fallback{display:flex;align-items:center;justify-content:center;background:#000}
.mapstage .world-map-still{display:block;width:100%;height:100%;object-fit:contain}
.mapstage .globe-film{object-fit:contain;background:#000}
.mapstage.film-ready .globe-fallback{display:none}

.mapstage{aspect-ratio:1500/441!important;height:auto!important;max-height:none!important}
.mapstage .globe-film{object-fit:cover!important}
@media(max-width:700px){.mapstage{min-height:0!important}}
/* Keep one image visible throughout scrolling. Its slow, seamless drift replaces the flickering video swap. */
.mapstage .globe-fallback{overflow:hidden}
.mapstage .world-map-still{animation:osioMapDrift 18s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
@keyframes osioMapDrift{from{transform:scale(1.065) translateX(-1.7%)}to{transform:scale(1.065) translateX(1.7%)}}
@media(prefers-reduced-motion:reduce){.mapstage .world-map-still{animation:none;transform:none}}
.mapstage .map-visual{position:relative;width:100%;height:100%;animation:osioMapDrift 18s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
.mapstage .world-map-still{animation:none;transform:none;width:100%;height:100%;object-fit:contain}
.map-travel{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.travel-route{fill:none;stroke:#ffe0a0;stroke-width:3;stroke-linecap:round;stroke-dasharray:60 940;filter:drop-shadow(0 0 5px #efbd62);animation:osioRouteTravel 9s linear infinite alternate}
.travel-route-two{animation-duration:11s;animation-delay:-4s;opacity:.83}
.travel-route-three{animation-duration:13s;animation-delay:-8s;opacity:.7}
@keyframes osioRouteTravel{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.mapstage .map-visual,.travel-route{animation:none;transform:none}.travel-route{stroke-dashoffset:500}}
.map-travel .travel-route{fill:none;stroke:#ffe0a0;stroke-width:4;stroke-linecap:round;stroke-dasharray:330 670;filter:drop-shadow(0 0 6px #ffc970);animation:osioLineJourney 5s linear infinite alternate}
.map-travel .travel-route-two{animation-duration:6s;animation-delay:-2s}
.map-travel .travel-route-three{animation-duration:7s;animation-delay:-4s}
@keyframes osioLineJourney{0%{stroke-dashoffset:1000;opacity:0}12%{opacity:1}82%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.map-travel .travel-route{animation:none;stroke-dashoffset:500;opacity:.5}}

/* Readable testimonials on the warm page, with gold limited to attribution accents. */
.quoteband{background:#181b1d!important}
.quoteband .eyebrow,.voice blockquote{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;text-shadow:none!important}
.voice .lede{color:#eee7dd!important}
.voice .attrib{color:#f1d29d!important;-webkit-text-fill-color:#f1d29d!important;background:none!important}
.voice .attrib-role{color:#eee7dd!important}
.creedwords{color:#262522!important;-webkit-text-fill-color:#262522!important;background:none!important}
.creedline .attrib{color:#61401e!important;-webkit-text-fill-color:#61401e!important;background:none!important}

/* Client-provided cabin imagery, separate from the model-specific exterior cards. */
.cabin-inspiration{padding-top:clamp(50px,7vw,90px);padding-bottom:clamp(50px,7vw,90px)}
.cabin-inspiration-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,minmax(190px,18vw));gap:12px;margin-top:24px}
.cabin-inspiration-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:1px solid rgba(111,79,42,.22)}
.cabin-inspiration-grid img:first-child{grid-row:span 2}
@media(max-width:700px){.cabin-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:250px repeat(2,190px);gap:8px}.cabin-inspiration-grid img:first-child{grid-row:auto;grid-column:span 2}}

/* Keep the existing OSIO mark at its original proportions and natural gold tone. */
.mark{background:#080809;padding:4px 7px}
.mark .markwrap,nav.stuck .markwrap{aspect-ratio:900/684;background-size:contain;background-position:center;filter:none;opacity:1}

/* Show Cassandra's dog in the cabin without repeating the suite photograph. */
.pet-photo{aspect-ratio:1299/1219;background:#e8e1d7;max-width:960px}
.pet-photo img{display:block;width:100%;height:100%;object-fit:cover}
.cabin-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(190px,25vw))}
.cabin-inspiration-grid img:first-child{grid-row:auto;grid-column:auto}
@media(max-width:700px){.pet-photo{aspect-ratio:1299/1219}.cabin-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,190px)}.cabin-inspiration-grid img:first-child{grid-column:auto}}

/* Three distinct cabin views support the pet scene without a repetitive photo wall. */
.cabin-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:clamp(260px,31vw,390px) clamp(220px,24vw,320px)}
.cabin-inspiration-grid img:first-child{grid-column:span 2}
@media(max-width:700px){.cabin-inspiration-grid{grid-template-rows:240px 190px}.cabin-inspiration-grid img:first-child{grid-column:span 2}}

.pet-photo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.cabin-inspiration-grid{grid-template-columns:.8fr 1.2fr;grid-template-rows:clamp(410px,46vw,580px);gap:16px}
.cabin-inspiration-grid video,.cabin-inspiration-grid img{display:block;width:100%;height:100%;object-fit:cover;border:1px solid rgba(111,79,42,.22)}
.cabin-inspiration-grid video{object-position:center}
.cabin-inspiration-grid img{object-position:center}
@media(max-width:700px){.cabin-inspiration-grid{grid-template-columns:1fr;grid-template-rows:450px 230px;gap:10px}}
.cabin-inspiration-grid{grid-template-columns:.8fr 1.2fr}
.cabin-inspiration-note{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,5vw,72px);background:#171612;color:#f4eee4;border:1px solid rgba(111,79,42,.22)}
.cabin-inspiration-note .eyebrow{color:#d5b579}
.cabin-inspiration-note p{max-width:11em;margin:24px 0 0;font:clamp(30px,3.6vw,60px)/1.12 Georgia,serif}
@media(max-width:700px){.cabin-inspiration-grid{grid-template-columns:1fr;grid-template-rows:auto auto}.cabin-inspiration-note{min-height:220px;order:2}.cabin-inspiration-grid img{height:auto;max-height:460px;object-fit:contain;background:#e7dfd2}}

/* The owner's gold emblem with an OSIO wordmark. */
.mark .markwrap, nav.stuck .markwrap{background-image:url("assets/osio-refined-logo.png");background-size:contain;background-position:center}

/* Present the owner's full world map at its natural panoramic proportions. */
.mapstage{aspect-ratio:1280/380}
.mapstage .globe-film{object-fit:cover}
.mapstage{aspect-ratio:3/1!important}
.roundtrip-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.roundtrip-map path{fill:none;stroke:#f7d29a;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0;filter:drop-shadow(0 0 3px #d9a44d)}
.roundtrip-forward{animation:osioRouteOut 12s linear infinite}
.roundtrip-return{animation:osioRouteBack 12s linear infinite}
.roundtrip-map .route-two{animation-delay:-4s}
.roundtrip-map .route-three{animation-delay:-8s}
.roundtrip-map .route-four{animation-delay:-1.5s}
.roundtrip-map .route-five{animation-delay:-6s}
.roundtrip-map .route-six{animation-delay:-9.5s}
@keyframes osioRouteOut{0%,3%{stroke-dashoffset:1000;opacity:0}8%{opacity:1}40%{stroke-dashoffset:0;opacity:1}46%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes osioRouteBack{0%,50%{stroke-dashoffset:1000;opacity:0}55%{opacity:1}87%{stroke-dashoffset:0;opacity:1}93%,100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.roundtrip-map path{animation:none;opacity:0}}

/* Always show the introduction before starting the approved takeoff film. */
.curtain{animation:lift .6s cubic-bezier(.76,0,.24,1) 1.6s forwards!important}
.hero-sound{min-height:44px;min-width:100px}
@media(max-width:700px){
  .hero{padding-top:110px;overflow:hidden}
  .hero-scenes{height:auto;aspect-ratio:16/9;overflow:visible}
  .hero-scenes .hero-video{object-fit:contain;transform:none}
  .hero-scenes::after{display:none}
  .hero-film-line{display:none!important}
  .hero .inner{padding:24px var(--pad) 28px;text-align:center}
  .hero .inner h1,html.takeoff-video-ready .hero .inner h1{display:block!important;opacity:1;transform:none;margin:0;font-size:clamp(25px,6.5vw,36px);line-height:1.25;text-shadow:none}
  .hero .inner h1 .l1{color:#fffaf2}
  .hero .herotel{display:inline-block;font-size:19px;letter-spacing:.12em}
  .hero-sound{bottom:10px;right:10px;padding:10px 14px}
  .opentag{font-size:clamp(16px,4.5vw,22px);line-height:1.7}
}

/* Owner-approved gold logo and dark opening. */
.mark .markwrap,nav.stuck .markwrap{
  background-image:url('assets/osio-owner-logo.png');
  background-size:contain;background-position:center;
  aspect-ratio:4/3;filter:none;opacity:1;
}
.curtain{background:#111b22!important;padding:0 16px;box-sizing:border-box;width:100%;}
.curtain .opentag{
  max-width:100%;margin:0;text-align:center;
  font-size:clamp(12px,3.05vw,25px);line-height:1.5;
  letter-spacing:clamp(.055em,.32vw,.16em);white-space:nowrap;
  color:#ddbe82;background:none!important;-webkit-text-fill-color:#ddbe82;
}
@media(max-width:700px){
  .mark .markwrap{height:68px;}
  .curtain .opentag{max-width:100%;font-size:clamp(12px,3.05vw,21px);letter-spacing:.07em;}
}

/* The complete opening fits even in a narrow embedded browser. */
.curtain{inset:0;width:auto;max-width:none;overflow:hidden;}
.curtain .opentag{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.35em .6em;width:100%;max-width:720px;
  white-space:normal;letter-spacing:.12em;font-size:clamp(16px,2.4vw,25px);
}
.curtain .opentag span{display:block;max-width:100%;}
@media(max-width:480px){
  .curtain .opentag{flex-direction:column;gap:.6em;font-size:21px;letter-spacing:.15em;line-height:1.5;}
}

/* Restore the approved one-line opening at every screen width. */
.curtain .opentag{flex-direction:row;flex-wrap:nowrap;gap:0 .42em;font-size:clamp(11px,3.1vw,25px);letter-spacing:.055em;white-space:nowrap;width:auto;max-width:100%;}
.curtain .opentag span{display:inline;flex-shrink:0;}
/* Keep the geography still; move only small planes along the routes. */
.mapstage .map-visual,.mapstage .world-map-still{animation:none!important;transform:none!important;will-change:auto;}
.roundtrip-map .plane-route{fill:none;stroke:#caa464;stroke-width:1.8;stroke-dasharray:none;stroke-dashoffset:0;opacity:.48;animation:none;filter:none;}
.roundtrip-map .map-plane path{fill:#ffe4a5;stroke:#765523;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;opacity:1;animation:none;filter:drop-shadow(0 0 3px #ffc866);}
/* Videos remain playable when a browser declines autoplay. */
.boarding-scene video,.pet-photo video{display:block!important;}
/* Give each quotation a distinct, prominent frame. */
.voice{padding:clamp(24px,4vw,44px);border:1px solid #caa464;border-top:3px solid #dfbc7b;background:#111416;box-shadow:0 14px 34px #0003;}
.voice blockquote{margin:0 0 25px;font-size:clamp(28px,3.1vw,42px);line-height:1.3;}
.voice .attrib{font-size:clamp(22px,2.1vw,29px);}
.creedline{padding:clamp(26px,4vw,48px)!important;border:1px solid #ac8146;border-left:4px solid #cda354;background:#eee3cf;box-shadow:0 12px 30px #5c402315;}
.creedline .creedwords{font-size:clamp(28px,3.5vw,43px);line-height:1.35;}
.creedline .attrib{font-size:clamp(22px,2.3vw,30px);font-weight:700;}

/* Subtle global aviation traffic, with a fixed full-world background. */
.fleet-map .fleet-route{fill:none;stroke:#cba96c;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;opacity:.10;filter:none;animation:none;}
.fleet-map #fleet-jet{fill:#f6d395;stroke:none;opacity:1;stroke-dasharray:none;filter:none;animation:none;}
.fleet-aircraft use{fill:#f6d395;stroke:none;filter:none;}
@media(prefers-reduced-motion:reduce){.fleet-aircraft{display:none;}}

/* A geographic flight-tracker presentation with readable markers. */
.mapstage{width:100%;max-width:100%;overflow:hidden;aspect-ratio:3/1!important;}
.tracker-map{background:transparent;}
.geography-ready .tracker-map{background:#15232f;}
.geography-ready .world-map-still{visibility:hidden;}
.tracker-map .tracker-country{fill:#607582;stroke:#93a3ab;stroke-width:1.2;opacity:1;stroke-dasharray:none;filter:none;animation:none;}
.tracker-label{fill:#dbe2e6;font:18px Arial,sans-serif;letter-spacing:2px;text-anchor:middle;pointer-events:none;}
.tracker-map .fleet-aircraft{opacity:.85;}
.tracker-map #fleet-jet{fill:#ffe1a2;stroke:#554421;stroke-width:.5;opacity:1;filter:none;}
.tracker-map .fleet-aircraft use{fill:#ffe1a2;}
@media(max-width:700px){.tracker-map .fleet-aircraft:nth-of-type(n+74){display:none;}.tracker-label{font-size:24px;}}
.boarding-scene video,.pet-photo video{pointer-events:none;}
.film-start{position:absolute;right:12px;bottom:12px;padding:9px 14px;border:1px solid #cba464;background:#151515;color:#f3d7a0;font:13px Arial,sans-serif;z-index:5;cursor:pointer;}
html,body{max-width:100%;overflow-x:clip;}
nav{box-sizing:border-box;max-width:100vw;}
@media(max-width:700px){.time-local{display:flex;flex-wrap:wrap;gap:12px;}.time-local>*{min-width:0;max-width:100%;}}

/* Elegant city lights at night, with a stationary world and readable aircraft. */
.night-map,.night-map .map-visual,.night-map .globe-fallback{background:#000!important;}
.night-map .world-map-still{visibility:visible!important;filter:none;object-fit:contain;}
.night-map .tracker-map{background:transparent!important;}
.night-map .fleet-aircraft{opacity:.82;}
.night-map #fleet-jet{fill:#ffdf93;stroke:#614b22;stroke-width:.6;}

/* Audit: preserve a still intro and still film posters for reduced motion. */
@media(prefers-reduced-motion:reduce){.boarding-scene video,.pet-photo video{display:none!important;}}
.aircraft-image.image-unavailable{display:grid;place-items:center;min-height:180px;background:#141414;color:#dfbc7b;}
.aircraft-image.image-unavailable::after{content:'Aircraft photograph unavailable';font:14px Arial,sans-serif;}

/* Match the recovered landscape dog film without clipping either dog. */
.pet-photo{aspect-ratio:800/512!important;}
.pet-photo video{object-fit:contain;}

/* A single takeoff, with a matching first frame and no sound-label overlay. */
.hero-scenes .hero-video{pointer-events:auto;cursor:pointer;transition:none;animation:none;filter:none;}
.hero-scenes .hero-video:focus-visible{outline:2px solid #f4ce72;outline-offset:-3px;}
.hero-scenes::after{pointer-events:none;}

/* Stable content, tab changes and complete aircraft profiles. */
html .rise,html.motion-ready .rise,html .rise.in{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}
.rise.in>.eyebrow,.rise.in>.h2,.rise.in>.lead,.cabpanel.on .aircraft-card,.clock.on b{animation:none!important;}
.cabpanel[hidden]{display:none!important;}
.aircraft-card .aircraft-image img,.aircraft-card .aircraft-reference img{width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;animation:none!important;transition:none!important;transform:none!important;filter:none!important;}
.aircraft-card .aircraft-image.nose-left img{transform:scaleX(-1)!important;}
nav,nav.stuck{background:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:none!important;}
.metal{animation:none!important;background-position:0 0,50% 50%!important;}
.clock b,.time-local b{font-variant-numeric:tabular-nums;}
#curtain,#curtain .intro-logo,#curtain .intro-logo img,#curtain .intro-word{filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

/* Stable media frames; decorative card effects do not move the page under a finger. */
.boarding-scene,.pet-photo{overflow:hidden;background:#000;}
.boarding-scene video,.pet-photo video{animation:none!important;transition:none!important;filter:none!important;transform:none!important;}
.commit .rise,.evt .row,.svc,.model-facts,.cabspecs>div,.portrait-seated{transition:none!important;transform:none!important;}

@media(prefers-reduced-motion:reduce){.boarding-scene.manual-play video,.pet-photo.manual-play video{display:block!important;}}

/* The opening film always has visible content, including without autoplay or JavaScript. */
#top.hero{display:block!important;min-height:0!important;padding:110px 0 0!important;background:#000!important;visibility:visible!important;opacity:1!important;}
#top .hero-scenes{position:relative!important;inset:auto!important;width:100%;height:auto!important;aspect-ratio:928/512;max-height:70svh;overflow:hidden;background:#000!important;}
#top .hero-scenes::after{display:none!important;}
#top .takeoff-poster,#top .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important;}
#top .takeoff-poster{display:block!important;visibility:visible!important;opacity:1!important;z-index:1;}
#top .hero-video{display:block!important;z-index:2;opacity:0;}
html.takeoff-video-ready #top .hero-video{opacity:1;}
#top .inner{position:relative;max-width:none;padding:30px var(--pad);background:#000!important;text-align:center;}
#top .inner h1{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;transition:none!important;}
#top .hero-film-line{display:none!important;}
.creedline .creedwords,.creedline .creedwords *{color:#3b2816!important;-webkit-text-fill-color:#3b2816!important;background:none!important;filter:none!important;animation:none!important;text-shadow:none!important;}
.creedline .attrib{color:#60401f!important;-webkit-text-fill-color:#60401f!important;}
.night-map #fleet-jet{fill:#ffe09a;stroke:none;}

/* Four calm round trips: city lights remain the focus. */
.night-map .fleet-route{fill:none;stroke:#e2bf78;stroke-width:1.2;opacity:.18;stroke-dasharray:none;stroke-dashoffset:0;filter:none;animation:none;}
.night-map .fleet-aircraft{opacity:.92;}
.night-map .map-visual{transform:none!important;animation:none!important;}
.night-map .mapstage::after,.night-map::after{display:none!important;}

/* One composed entrance: words, takeoff, then the owner's logo. */
#curtain{pointer-events:none!important;}
body>nav{z-index:10001!important;}
html.takeoff-settled #top .hero-video,html.takeoff-settled #top .takeoff-poster{visibility:hidden!important;opacity:0!important;pointer-events:none;}
#top .hero-contact{display:block;width:fit-content;margin:24px auto 20px;padding:14px 22px;border:1px solid #d4ae63;color:#f4ce72;background:#000;font:600 12px/1.3 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;}
#top .hero-contact:hover,#top .hero-contact:focus-visible{background:#f4ce72;color:#000;outline:2px solid #f4ce72;outline-offset:4px;}
#top .herotel{display:block;margin:0 auto;font-size:18px;}

/* Keep a decoded still visible during offscreen pauses and buffering. */
.boarding-scene,.pet-photo{position:relative;}
.boarding-scene .film-still,.pet-photo .film-still{position:absolute;inset:0;display:block!important;width:100%;height:100%;object-fit:contain;z-index:1;opacity:1;visibility:visible;}
.boarding-scene video,.pet-photo video{position:absolute;inset:0;z-index:2;opacity:0!important;}
.boarding-scene.film-visible video,.pet-photo.film-visible video{opacity:1!important;}
#top .hero-inquiry{display:block;width:fit-content;margin:0 auto 20px;color:#dfc28b;font:12px/1.4 Arial,sans-serif;letter-spacing:.07em;text-decoration:underline;text-underline-offset:4px;}

/* Frame only the owner's photograph areas; screenshot controls stay outside the frame. */
.photo-window{position:relative;overflow:hidden;background:#000;max-width:1100px;margin:32px auto;}
.photo-window img{position:absolute;left:0;top:0;display:block;height:auto!important;max-width:none!important;object-fit:initial;animation:none!important;transition:none!important;filter:none!important;}
.destination-photo{aspect-ratio:685/369;}
.destination-photo img{width:103.211679%;transform:translateY(-29.231771%);}
.inquiry-photo{aspect-ratio:707/467;margin:0 auto 42px;}
.inquiry-photo img{width:100%;transform:translateY(-28.059896%);}
@media(max-width:700px){.destination-photo{margin:24px 0;}.inquiry-photo{margin-bottom:30px;}}

/* End in the supplied flight-deck view; its printed slogan is shown only once. */
#top .hero-cockpit-finish{position:absolute;inset:0;z-index:4;overflow:hidden;background:#000;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .65s ease;}
#top .hero-cockpit-finish img{position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;transform:translateY(-36.370209%);filter:none;animation:none;transition:none;}
html.takeoff-complete #top .hero-cockpit-finish{visibility:visible;opacity:1;}
#top .hero-scenes{aspect-ratio:1320/854!important;}
html.takeoff-complete #top .inner h1{visibility:hidden!important;}
#curtain .intro-word{transform:none!important;animation:none!important;transition:none!important;}

/* Fine fading contrail stays behind the nose on both outbound and return legs. */
.night-map .fleet-contrail{fill:none;stroke-width:.7;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:none;animation:none;}

@media(prefers-reduced-motion:reduce){#top .hero-cockpit-finish{transition:none;}}

/* A brief founder introduction early; the full family story remains later. */
.founder-intro{max-width:760px;margin:32px 0;padding:28px 0;border-top:1px solid #bba781;border-bottom:1px solid #bba781;}
.founder-intro h3{font-family:var(--serif,Georgia,serif);font-size:clamp(24px,3vw,34px);font-weight:400;margin:16px 0;line-height:1.25;}
.founder-intro p{font-size:18px;line-height:1.7;margin:0 0 16px;}
.founder-intro a{color:inherit;text-underline-offset:5px;}
.client-journey{margin-top:48px;}
.client-journey ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;list-style:none;counter-reset:journey;}
.client-journey li{counter-increment:journey;border-top:1px solid #bba781;padding-top:18px;}
.client-journey li:before{content:counter(journey,decimal-leading-zero);font:12px Arial,sans-serif;letter-spacing:.15em;color:#886334;}
.client-journey h3{font:400 23px/1.3 Georgia,serif;margin:12px 0;}
.client-journey p{font-size:16px;line-height:1.65;margin:0;}
@media(max-width:900px){.client-journey ol{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.client-journey ol{grid-template-columns:minmax(0,1fr);gap:24px;}}

#top .hero-cockpit-finish[hidden]{display:none!important;}

/* Match the exact film frame before, during, and after playback. */
#pets .pet-photo{aspect-ratio:800/512!important;background:#000!important;transform:none!important;animation:none!important;transition:none!important;}
#pets .pet-photo .film-still,#pets .pet-photo video{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;animation:none!important;transition:none!important;}

/* Restore the reference's panoramic reach section and compact mobile clocks. */
#reach{width:100%;max-width:100%;}
#reach>.wrap{box-sizing:border-box;min-width:0;}
#reach>.wrap:first-child{padding-top:56px;padding-bottom:30px;}
#reach .eyebrow{display:block;max-width:100%;font-size:clamp(14px,3.85vw,20px);line-height:1.55;letter-spacing:.13em;white-space:normal;overflow-wrap:break-word;}
#reach .statement.left{max-width:100%;margin:24px 0 0;font-size:clamp(22px,5.5vw,36px);line-height:1.35;white-space:normal;overflow-wrap:break-word;}
#reach .mapstage{position:relative;box-sizing:border-box;width:100%;height:auto!important;min-height:0!important;aspect-ratio:1500/441!important;margin:0;border-block:2px solid #a57c42;overflow:hidden;}
#reach .map-visual,#reach .globe-fallback{width:100%;height:100%;}
#reach .world-map-still{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center;}
#reach .timepanel{margin-top:34px;padding-top:26px;}
#reach .yourtime{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
#reach .yourtime b{font-size:clamp(28px,6.3vw,40px);line-height:1.3;color:#876039;}
#reach .clocks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:26px;padding-top:24px;}
#reach .clock{min-width:0;}
#reach .clock span{font-size:clamp(12px,2.8vw,14px);line-height:1.4;letter-spacing:.16em;white-space:normal;}
#reach .clock b{font-size:clamp(19px,4.5vw,23px);line-height:1.35;}
@media(max-width:700px){
 #reach>.wrap{padding-left:24px;padding-right:24px;}
 #reach .clocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px;}
 #reach .clock:nth-child(odd){border-left:0;padding-left:0;}
 #reach .clock:nth-child(even){border-left:1px solid var(--hair-2);padding-left:14px;}
}

/* Author display rules must never override hidden form/media states. */
[hidden]{display:none!important;}

/* Three complete, fine route lines draw out and retrace; no moving dashes. */
#reach .route-traces{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
#reach .route-trace{fill:none;stroke:#f5ce83;stroke-width:.65;vector-effect:non-scaling-stroke;stroke-linecap:butt;stroke-dasharray:100 100;stroke-dashoffset:100;opacity:.75;animation:osioTraceReturn 12s ease-in-out infinite alternate;}
#reach .route-trace:nth-child(2){animation-duration:15s;animation-delay:-5s;}
#reach .route-trace:nth-child(3){animation-duration:14s;animation-delay:-9s;}
@keyframes osioTraceReturn{0%,8%{stroke-dashoffset:100;}92%,100%{stroke-dashoffset:0;}}
@media(prefers-reduced-motion:reduce){#reach .route-trace{animation:none;stroke-dashoffset:0;opacity:.35;}}

/* Keep browser document restoration separate from the website's scrolling. */
html,body,html.menuopen,html.menuopen body{height:100%;overflow:hidden!important;overflow-anchor:none;}
#site-scroll{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overflow-anchor:none;scroll-behavior:auto;scroll-padding-top:130px;-webkit-overflow-scrolling:touch;}
html.menuopen #site-scroll{overflow:hidden;}
@media print{html,body{height:auto;overflow:visible!important;}#site-scroll{position:static;height:auto;overflow:visible;}}

/* Show only the opening stage while the visible logo/word sequence runs. */
html.osio-intro-active #nav{visibility:hidden!important;pointer-events:none!important;}
