.bnb-page #jet-scene{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#080e13;color:#f3efe4;overflow:hidden;font-family:var(--sans);isolation:isolate}
#jet-scene:not([open]){display:none}#jet-scene::backdrop{background:#04080b}
#jet-scene [hidden]{display:none!important}
.jet-stage{position:absolute;inset:0;overflow:hidden;background:#080e13}
.jet-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%}
.jet-photo{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}
#jet-scene .jet-frame{transition:opacity .4s ease-out}
#jet-scene[data-scene="loading"] .jet-frame,#jet-scene[data-scene="error"] .jet-frame{opacity:0;visibility:hidden}
.jet-shade{position:absolute;inset:0;background:linear-gradient(#050b12d9,transparent 25%,transparent 65%,#050b12e8);pointer-events:none}
.jet-header{position:absolute;left:0;right:0;top:0;z-index:3;padding:calc(18px + env(safe-area-inset-top)) clamp(16px,3vw,40px) 12px;display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.jet-header h2{font:400 clamp(1.5rem,4vw,2.5rem)/1.1 Editorial,Georgia,serif;margin:10px 0;text-shadow:0 2px 12px #000}
#jet-scene button{min-height:48px;cursor:pointer;font:1rem/1.3 var(--sans);color:#dbc18f;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.jet-header button,.jet-footer button,.jet-retry{background:#0c151ce8;border:1px solid #dbc18f70;border-radius:4px;padding:12px 16px}
#jet-scene button:focus-visible{outline:3px solid #f3dfaa;outline-offset:5px}
.jet-footer{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom));left:16px;right:16px;z-index:4;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}
.jet-target{position:absolute;z-index:2;border:0;background:none;padding:0;display:grid;place-items:center}
.jet-target .bnb-marker-icon{width:46px;height:46px;display:block;border:2px solid #dfbf7f;border-radius:50%;background:#08141b80;box-shadow:0 0 0 10px #08141b22,0 2px 16px #0005}
.jet-target .bnb-marker-icon:after{content:"";display:block;width:10px;height:10px;border:1px solid #dfbf7f;border-radius:50%;margin:16px}
.jet-plane{left:2%;top:22%;width:94%;height:40%}.jet-plane .bnb-marker-icon{position:absolute;left:70%;top:45%;transform:translate(-50%,-50%)}.jet-erwin{left:62%;top:14%;width:36%;height:60%}
.jet-walker{position:absolute;left:38%;top:88%;width:17.1%;z-index:1;transform:translate(-50%,-100%);pointer-events:none}
.jet-sprite{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden}.jet-sprite img{display:block;position:absolute;inset:0 auto auto 0;width:100%;height:100%;max-width:none;object-fit:contain;will-change:opacity;opacity:0}

@keyframes jet-approach{from{transform:translate3d(-50%,-100%,0) translate3d(0,0,0) scale(1)}to{transform:translate3d(-50%,-100%,0) translate3d(var(--walk-dx),var(--walk-dy),0) scale(var(--walk-scale))}}
.jet-status{position:absolute;z-index:5;left:20px;right:20px;top:46%;text-align:center;font-size:1rem;line-height:1.6;padding:16px;background:#081019e6;border:1px solid #d8c69a55}
.jet-retry{position:absolute;z-index:5;left:50%;top:64%;transform:translateX(-50%)}
@font-face{font-family:JetTitles;src:url('/assets/jet-titles-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:block}
@font-face{font-family:JetNarrative;src:url('/assets/jet-narrative-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:block}
/* One compositor animation carries all three cards at the same speed. */
#jet-scene .jet-credits{position:absolute;inset:0;z-index:2;padding:0;overflow:hidden;pointer-events:none;outline:none;background:linear-gradient(transparent,#02060955);contain:layout paint}
#jet-scene .jet-roll{position:absolute;top:0;left:0;width:100%;transform:translate3d(0,100dvh,0);will-change:transform;backface-visibility:hidden}
#jet-scene.jet-ending .jet-roll{animation:jet-roll 18s linear both}
@keyframes jet-roll{from{transform:translate3d(0,100dvh,0)}to{transform:translate3d(0,-125dvh,0)}}
#jet-scene .jet-credit-card{height:70dvh;box-sizing:border-box;display:flex;justify-content:center;align-items:center;padding:0 6vw;margin:0}
#jet-scene .jet-credit-card p{margin:0;width:100%;max-width:1100px;text-align:center;text-transform:uppercase;color:#f4e6c9}
#jet-scene .jet-credit-card span{display:block;font:inherit}
#jet-scene .jet-narrative{font:700 clamp(1.6rem,9vw,6rem)/1.08 JetNarrative,Georgia,serif;letter-spacing:.015em;text-shadow:0 3px 16px #02060a}
#jet-scene .jet-final{font:700 clamp(3rem,21vw,16rem)/1.01 JetTitles,'Arial Narrow',sans-serif;letter-spacing:-.02em;transform:scaleY(1.4);-webkit-text-stroke:.027em #e6d3ac;paint-order:stroke fill;text-shadow:0 3px 18px #02060a;color:#f3e1b9}
#jet-scene .jet-final span{background:linear-gradient(145deg,#fff2ce,#c6baa4 36%,#f9e5ba 58%,#cabda5);background-clip:text;-webkit-background-clip:text;color:transparent}
#jet-scene[data-scene="call"] .jet-header h2,#jet-scene[data-scene="credits"] .jet-header h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
#jet-scene .jet-call,#jet-scene .jet-epilogue{display:none!important}
.jet-paused *, .jet-paused *:before,.jet-paused *:after{animation-play-state:paused!important}
#jet-scene.jet-reduced .jet-roll{animation:none;transform:none;position:static;height:100%;display:flex;flex-direction:column;justify-content:center}
#jet-scene.jet-reduced .jet-credit-card{height:auto;padding:3vh 6vw}
#jet-scene.jet-reduced .jet-narrative{font-size:clamp(1.3rem,5vw,3rem)}
#jet-scene.jet-reduced .jet-final{font-size:clamp(2.4rem,13vw,6rem);transform:none}
#jet-scene.jet-reduced.jet-held .jet-credit-card:not(:last-child){display:none}
.jet-walking .jet-walker{animation:jet-approach 16.8s 1.2s linear both;will-change:transform;transform-origin:50% 100%}.jet-walking .jet-sprite img{animation:jet-stride-soft 1.2s 1.2s ease-in-out infinite}.jet-walking .jet-sprite img:nth-child(2){animation-name:jet-step-one}.jet-walking .jet-sprite img:nth-child(3){animation-name:jet-step-two}.jet-walking .jet-sprite img:nth-child(4){animation-name:jet-step-three}
#jet-scene[data-art="apronTall"] .jet-walker{left:36%;top:91%;width:27%}
#jet-scene[data-art="apronTall"] .jet-plane{left:2%;top:36%;width:94%;height:25%}
#jet-scene[data-art="apronTall"] .jet-plane .bnb-marker-icon{left:72%;top:57%}
.jet-reduced .jet-walker{animation:none;left:65.4%;top:58.7%;width:6.12%;opacity:1}.jet-reduced .jet-sprite img{animation:none}
#jet-scene[data-art="apronTall"].jet-reduced .jet-walker{left:66.4%;top:56.7%;width:9%}
.jet-arrived .jet-sprite img{animation-play-state:paused}
#jet-scene .jet-header h2{font:400 clamp(1.5rem,4vw,2.5rem)/1.1 Editorial,Georgia,serif;margin:10px 0}
#jet-scene .jet-footer{width:auto;box-sizing:border-box}
#jet-scene .jet-footer button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word;box-sizing:border-box}
#jet-scene .jet-photo{filter:contrast(1.08) saturate(.83)}
#jet-scene .jet-warning{position:absolute;left:24px;right:24px;bottom:17%;z-index:3;text-align:center;padding:20px 12px;background:linear-gradient(transparent,#060c15c9,transparent);pointer-events:none}
#jet-scene .jet-warning p{font:.9375rem/1.5 var(--sans);letter-spacing:.025em;margin:0 0 12px;color:#e4ddcf}
#jet-scene .jet-warning blockquote{font:400 clamp(1.75rem,4.5vw,3rem)/1.15 Editorial,Georgia,serif;margin:0;color:#f0dec0;text-shadow:0 2px 15px #000}
#jet-scene[data-scene="decision"] .jet-photo{filter:contrast(1.15) saturate(.65) brightness(.74)}
#jet-scene .jet-walker{filter:brightness(.82) saturate(.8)}
@media(max-width:650px){#jet-scene .jet-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}#jet-scene .jet-footer button{padding:10px 12px;font-size:.9375rem}#jet-scene .jet-header{gap:12px}#jet-scene .jet-header button{max-width:62%;font-size:.9375rem}}
@media(max-height:500px){#jet-scene .jet-header{padding-top:8px}#jet-scene .jet-header h2{font-size:1.5rem}#jet-scene .jet-footer{bottom:10px}#jet-scene .jet-narrative{font-size:min(9vw,11vh)}#jet-scene .jet-final{font-size:min(21vw,18vh)}}


#jet-scene.jet-reduced .jet-walker{transform:translate(-50%,-100%);will-change:auto}#jet-scene[data-art="apronTall"].jet-reduced .jet-walker{left:66.4%;top:56.7%;width:9%}

@keyframes jet-stride-soft{0%,100%{opacity:1}25%,75%{opacity:0}}
#jet-scene:not(.jet-walking) .jet-sprite img:first-child,#jet-scene.jet-reduced .jet-sprite img:first-child{opacity:1}#jet-scene.jet-reduced .jet-sprite img:not(:first-child){opacity:0}

.jet-sprite img:first-child{opacity:1}
@keyframes jet-step-one{0%,50%,100%{opacity:0}25%{opacity:1}}
@keyframes jet-step-two{0%,25%,75%,100%{opacity:0}50%{opacity:1}}
@keyframes jet-step-three{0%,50%,100%{opacity:0}75%{opacity:1}}

/* Keep the head and feet aligned through each pose change. */
#jet-scene .jet-sprite img:nth-child(1){width:105.2776%;height:105.2776%;left:-8.0877%;top:-2.3304%;object-fit:fill}#jet-scene .jet-sprite img:nth-child(2){width:108.5512%;height:108.5512%;left:-6.7138%;top:-3.9576%;object-fit:fill}#jet-scene .jet-sprite img:nth-child(3){width:106.5926%;height:106.5926%;left:-8.8133%;top:-2.1513%;object-fit:fill}#jet-scene .jet-sprite img:nth-child(4){width:108.8590%;height:108.8590%;left:-6.8746%;top:-1.8427%;object-fit:fill}
.jet-sprite{isolation:isolate}.jet-sprite img{mix-blend-mode:plus-lighter}

/* Window-only takeoff; the portrait and title stay fixed. */
.jet-window-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;filter:contrast(1.08) saturate(.83)}

.bnb-page #jet-story{width:min(640px,calc(100% - 32px));max-height:84dvh;box-sizing:border-box;padding:clamp(20px,5vw,40px);border:1px solid #c8a76c88;background:#0b151e;color:#f0e6d0;overflow:auto;overscroll-behavior:contain}
#jet-story::backdrop{background:#02070bbf}
#jet-story [data-jet-story-close]{display:block;position:sticky;top:0;margin:0 0 24px auto;min-height:48px;padding:10px 16px;border:1px solid #c8a76c88;border-radius:3px;background:#0b151e;color:#e6d0a5;font:1rem/1.4 var(--sans);cursor:pointer}
#jet-story h2{margin:0 0 24px;font:400 clamp(1.8rem,5vw,2.5rem)/1.15 Editorial,Georgia,serif;color:#f0dfbd}
#jet-story .jet-story-text p{margin:0 0 24px;font:1.125rem/1.7 var(--sans);color:#eee7da;text-align:left}
#jet-story .jet-story-text p:last-child{margin-bottom:0}
#jet-story button:focus-visible{outline:3px solid #f0dfbd;outline-offset:4px}

/* Keep keyboard focus on the boarding marker, not the full invisible hit area. */
#jet-scene .jet-target:focus-visible{outline:none}
#jet-scene .jet-target:focus-visible .bnb-marker-icon{outline:3px solid #f3dfaa;outline-offset:5px}

#jet-scene .jet-walker{backface-visibility:hidden}#jet-scene .jet-sprite{overflow:visible}#jet-scene.jet-arrived .jet-sprite img{animation:none;opacity:0}#jet-scene.jet-arrived .jet-sprite img:first-child{opacity:1}@media(prefers-reduced-motion:reduce){#jet-scene .jet-frame{transition:none}}
