/* Approved V13 opening, scoped to the complete homepage. */
.flight-hero{padding-top:40px}
.flight-hero #hero-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:0 32px;align-items:center}
.flight-hero .hero-copy{display:block;grid-column:1;grid-row:1;min-width:0}
.flight-hero .audience-switch{margin-bottom:28px}
.flight-hero.hero h1{font-size:clamp(35px,3.5vw,53px);line-height:1.16;letter-spacing:-.035em;font-weight:600;max-width:none}
.flight-hero h1 .opening-line+.opening-line{margin-top:20px;font-size:.9em;font-weight:500}
.flight-hero h1 .opening-line+.opening-line>span{max-width:12ch}
.flight-hero .hero-intro{display:block;padding:0;margin:23px 0 0}
.flight-hero .hero-intro>p{font-size:16px;line-height:1.75;max-width:40ch;margin:0}
.flight-hero .hero-actions{margin:23px 0 0}
.flight-hero.hero[data-audience] .hero-stage{display:block;grid-column:2;grid-row:1;max-width:none;width:100%;height:auto;min-height:0;margin:0;align-self:center}
.flight-hero[data-audience=coach] .launch-stage,.flight-hero[data-audience=player] .flight-scene{display:none}
.flight-hero .product-console{display:none!important}
.flight-scene{--scene-ratio:1.45;position:relative;min-width:0;width:100%;isolation:isolate}
.flight-scene .scene-canvas{position:relative;z-index:2;width:100%;aspect-ratio:var(--scene-ratio)}
.flight-scene .scene-canvas canvas{display:block;width:100%;height:100%}
.flight-scene .fallback{position:absolute;top:0;left:0;width:100%;aspect-ratio:var(--scene-ratio);z-index:1;display:grid;place-items:center}
.flight-scene.is-ready .fallback{visibility:hidden}
.flight-scene .scene-footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:10px}
.flight-scene .scene-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.flight-scene .playback,.flight-scene .replay{width:42px;height:42px;padding:0;border-radius:50%;background:#fff;border:1px solid #ddd;display:grid;place-items:center;cursor:pointer;color:#111}
.flight-scene .playback[hidden]{display:none}
.flight-scene .playback svg,.flight-scene .replay svg{width:19px;height:19px}
.flight-scene .playback:hover,.flight-scene .replay:hover{background:#111;color:#fff}
.flight-scene button:focus-visible,.portal-expand:focus-visible,.portal-close:focus-visible{outline:2px solid #111;outline-offset:5px}
.flight-scene:not(.is-ready) .scene-footer{visibility:hidden}
.flight-caption{grid-column:1/-1;grid-row:2;border-top:1px solid #ddd;display:flex;justify-content:space-between;gap:24px;margin-top:20px;padding-top:16px;font-size:12px;line-height:18px}
.flight-caption>span:last-child{color:#555}
.flight-caption .caption-product{display:flex;align-items:center;gap:24px}
.portal-expand{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:#111;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.portal-expand:hover{text-decoration-thickness:2px}
.portal-expand svg{width:14px;height:14px}
.flight-hero[data-audience=player] .portal-expand{display:none}
.flight-hero .hero-downloads{grid-column:1/-1;grid-row:3;max-width:none;justify-self:stretch;justify-content:space-between;margin:20px 0 0}
.flight-hero .hero-downloads>p{display:block;margin:0;font-size:12px}
.flight-hero .audience-strip{grid-row:4;margin-top:38px;padding:28px 0}
.flight-hero .hero-integrations{grid-row:5;margin-top:40px;padding-bottom:56px}
.mark-flight{position:fixed;top:0;left:0;z-index:40;width:54px;height:54px;display:block;pointer-events:none;visibility:hidden;opacity:0;transform-origin:50% 50%;border-radius:12px;object-fit:contain}
.portal-dialog{width:min(1000px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:20px;background:#fff;color:#111;border:0;border-radius:4px;overflow:auto;overscroll-behavior:contain}
.portal-dialog::backdrop{background:rgb(0 0 0 / .55)}
.portal-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.portal-dialog-bar h2{font:600 19px/1.3 Manrope,sans-serif;letter-spacing:-.025em;margin:0}
.portal-close{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:76px;min-height:40px;padding:8px 10px;font:500 13px/1.4 'DM Sans',sans-serif;color:#111;background:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer}
.portal-close:hover{background:#111;color:#fff}
.portal-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.portal-detail{display:block;width:100%;height:auto;max-width:960px;margin:auto}
@media(max-width:1150px){
 .flight-hero #hero-panel{column-gap:24px}
 .flight-hero .hero-intro>p{font-size:15px}
}
@media(max-width:900px){
 .flight-hero #hero-panel{grid-template-columns:minmax(0,1fr);gap:0}
 .flight-hero .hero-copy{max-width:560px}
 .flight-hero.hero h1{font-size:43px}
 .flight-hero .hero-intro{margin-top:17px}
 .flight-hero .hero-intro>p{max-width:53ch}
 .flight-hero.hero[data-audience] .hero-stage{grid-column:1;grid-row:2;max-width:720px;justify-self:center;margin-top:20px}
 .flight-scene{--scene-ratio:1.4}
 .flight-caption{grid-row:3}
 .flight-hero .hero-downloads{grid-row:4}
 .flight-hero .audience-strip{grid-row:5}
 .flight-hero .hero-integrations{grid-row:6}
}
@media(max-width:600px){
 .flight-hero{padding-top:22px}
 .flight-hero .hero-copy{display:contents}
 .flight-hero .audience-switch{grid-column:1;grid-row:1;width:max-content}
 .flight-hero.hero h1{grid-column:1;grid-row:2}
 .flight-hero.hero[data-audience] .hero-stage{grid-row:3;margin-top:6px}
 .flight-hero .hero-intro{grid-column:1;grid-row:4;display:block}
 .flight-caption{grid-row:5}
 .flight-hero .hero-downloads{grid-row:6}
 .flight-hero .audience-strip{grid-row:7}
 .flight-hero .hero-integrations{grid-row:8}
 .flight-hero.hero h1{font-size:34px;max-width:360px}
 .flight-hero .audience-switch{margin-bottom:16px}
 .flight-hero h1 .opening-line+.opening-line{margin-top:14px}
 .flight-hero .hero-intro{margin-top:14px}
 .flight-hero .hero-intro>p{font-size:14px;line-height:1.6;max-width:40ch}
 .flight-hero .hero-actions{margin-top:17px}
 .flight-hero .hero-actions .button{min-height:46px;font-size:12px;padding:11px 15px}
 .flight-scene{--scene-ratio:1.16;width:calc(100% + 24px);margin-left:-12px}
 .flight-scene .scene-footer{min-height:42px;margin-top:5px;padding:0 12px;gap:8px}
 .flight-scene .scene-controls{gap:6px}
 .flight-scene .playback,.flight-scene .replay{width:40px;height:40px}
 .flight-scene .playback svg,.flight-scene .replay svg{width:18px;height:18px}
 .mark-flight{border-radius:10px}
 .flight-caption{font-size:11px;line-height:16px;flex-direction:column;gap:6px;margin-top:15px;padding-top:12px}
 .flight-caption .caption-product{justify-content:space-between;gap:12px}
 .portal-expand{font-size:11px;gap:5px}
 .portal-expand svg{width:13px;height:13px}
 .flight-hero .hero-downloads{flex-direction:column;align-items:flex-start;gap:10px}
 .flight-hero .hero-downloads .store-links{width:354px}
 .flight-hero .audience-strip{margin-top:38px;padding:24px 0}
 .flight-hero .hero-integrations{margin-top:38px;padding-bottom:46px}
 .portal-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 28px);padding:12px}
 .portal-dialog-bar{margin-bottom:12px;gap:12px}
 .portal-dialog-bar h2{font-size:17px}
}
@media(max-width:374px){
 .flight-hero.hero h1{font-size:32px}
}
@media(prefers-reduced-motion:reduce){
 .flight-scene .scene-controls,.mark-flight{display:none}
}
@media(prefers-reduced-motion:no-preference){
 .opening-motion .site-header .wordmark img{opacity:0}
}

/* Fixed, non-interactive WebGL layer: shot starts at the heading punctuation. */
.metriq-flight-overlay{position:fixed;inset:0;width:100vw;height:100vh;z-index:6;pointer-events:none}

/* Same projection and pose as WebGL, including overscan outside its stage. */
.flight-hero[data-audience=coach] .hero-stage{overflow:visible}
.flight-poster{position:absolute;left:-25%;top:-25%;width:150%;height:150%;display:block}
.flight-poster img{display:block;width:100%;height:100%}
