/* One edge-to-edge scene. Typography stays in its open space; vehicle stays central. */
@font-face{font-family:GMC Stratum;src:url('assets/fonts/stratum-black.woff2') format('woff2');font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:GMC Stratum;src:url('assets/fonts/stratum-medium.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
.showroom-stage,.showroom-stage:active{cursor:default;touch-action:pan-y;width:100%;min-width:0;isolation:isolate;container-type:size;--copy-room:0px;--cutaway:0;background:#272b2d;aspect-ratio:1.18;min-height:480px}
.showroom-stage:before,.showroom-viewport:after{display:none}
.showroom-toolbar{padding-bottom:14px}
.presentation-heading{display:flex;align-items:center;gap:10px;text-align:left;font-size:12px;font-weight:650;letter-spacing:.10em;color:#53657c;line-height:1.6}
.presentation-heading small{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:#7a899a}
.presentation-light{display:none}
.showroom-viewport{position:absolute;inset:0;overflow:hidden;isolation:isolate;container-type:size;mask-image:none}
.showroom-world{position:absolute;inset:0;transition:none!important;overflow:hidden}
.showroom-stage .cinematic-backdrop{inset:0;left:0;width:100%;height:100%;mask-image:none;transform:none;object-position:center 65%}
.showroom-stage .cinematic-ambience{display:none}
.showroom-stage .showroom-scene,.showroom-dialog .showroom-stage .showroom-scene{width:min(112%,210cqh)!important;top:77%;will-change:transform}
.showroom-stage #trim-image,.showroom-stage #truck-blend{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;transition:none!important;user-select:none;pointer-events:none;filter:none}
#truck-blend{opacity:0;z-index:1}
#truck-composite{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;filter:none}
#truck-composite[hidden]{display:none}
.showroom-scene.has-composite #trim-image,.showroom-scene.has-composite #truck-blend{visibility:hidden}
#engine-reveal,.engine-aura{display:none}
#interior-canvas,#cabin-still{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0}
#cabin-still{object-fit:cover;background:#172531}
#interior-canvas[hidden],#cabin-still[hidden],.presentation-copy[hidden],#showroom-burst[hidden]{display:none!important}
#showroom-burst{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
/* Compact GMC type on the landscape. No panel, box or coloured wash. */
.presentation-copy,.showroom-dialog .presentation-copy{position:absolute;left:24px;right:24px;top:79px;bottom:auto;width:auto;max-width:420px;z-index:6;text-align:left;color:white;padding:0;background:none;border:0;box-shadow:none;border-radius:0;backdrop-filter:none;pointer-events:none;opacity:1;transform:none;transition:opacity .2s,transform .3s ease-out;text-shadow:0 1px 3px #000,0 2px 12px #0009}
.presentation-copy:before{display:none}
.presentation-copy.is-moving{opacity:0;transform:translateY(5px)}
#presentation-kicker{font-family:GMC Stratum,'Arial Narrow',Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.12em;color:#fff;margin:0 0 4px;line-height:1.2}
#presentation-title{font-family:GMC Stratum,'Arial Narrow',Arial,sans-serif;font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:.025em;line-height:1.05;margin:0 0 6px}
#presentation-benefit{font-family:GMC Stratum,'Arial Narrow',Arial,sans-serif;font-size:16px;font-weight:500;line-height:1.25;color:#fff;margin:0;max-width:360px}
#presentation-spec{font-family:GMC Stratum,'Arial Narrow',Arial,sans-serif;font-size:14px;font-weight:900;letter-spacing:.04em;color:#fff;margin:6px 0 0;padding:0;border:0;line-height:1.25}
.showroom-stage .scene-note{z-index:7;font-size:12px;line-height:1.4;bottom:10px;left:18px;right:18px;color:white;text-align:center;text-shadow:0 1px 4px #000,0 0 10px #000}
.showroom-stage .viewer-status{z-index:10;max-width:85%;text-align:center}
.presentation-controls{position:absolute;inset:0;z-index:8;pointer-events:none}
.presentation-controls>button{pointer-events:auto;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0;border:1px solid #ffffff70;background:#171b20b8;color:white;backdrop-filter:blur(12px);cursor:pointer;transition:background .2s}
#presentation-back,#presentation-next{position:absolute;top:62%;width:44px;height:44px;border-radius:50%;font-size:27px;line-height:1;transform:translateY(-50%)}
#presentation-back{left:12px}#presentation-next{right:12px;background:#fffffff0;color:#202429;border-color:#fff}
.presentation-controls>button:enabled:hover{background:#34383b;color:white}
.presentation-controls>button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.presentation-controls>button:disabled{opacity:.3;cursor:default}
#presentation-restart{position:absolute;top:16px;right:16px;gap:7px;min-height:40px;border-radius:24px;padding:0 12px;font-size:14px;font-weight:500;line-height:1;white-space:nowrap}
#presentation-restart>span{font-size:20px;font-weight:400}
.presentation-position{position:absolute;top:20px;left:24px;display:flex;flex-direction:column;gap:3px;text-align:left;color:white;max-width:calc(100% - 170px);padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;text-shadow:0 1px 7px #000c}
#presentation-count{font-family:GMC Stratum,Arial,sans-serif;font-size:12px;line-height:1.3;font-weight:500;letter-spacing:.10em;color:#fff}
#presentation-current{font-family:GMC Stratum,Arial,sans-serif;font-size:14px;line-height:1.3;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:white}
.presentation-progress{height:2px;position:absolute;left:0;right:0;bottom:0;background:#ffffff18;overflow:hidden}
.presentation-progress i{display:block;width:0;height:100%;background:#d9333e;transition:width .3s}
.showroom-dialog .showroom-stage{min-height:300px;aspect-ratio:auto}
.showroom-dialog .showroom-toolbar{display:none}
/* Keep the immersive controls and paint row inside the phone display. */
.showroom-dialog .immersive-header{padding:14px 24px 9px}
.showroom-dialog .immersive-header p{display:none}
.showroom-dialog .immersive-trim-row{padding:0 24px 10px}
.showroom-dialog .paint-picker{padding:9px 24px 8px}
.showroom-dialog .paint-swatches{margin:4px 0}
.showroom-dialog .paint-picker>p{margin-top:2px}
@media(max-width:760px){
 .showroom-toolbar{flex-wrap:nowrap;justify-content:space-between;padding:16px 15px 12px;gap:8px}
 .presentation-heading{font-size:12px;gap:0;letter-spacing:.02em}.presentation-heading small{font-size:12px}
 .expand-showroom{width:auto;font-size:14px;border:1px solid #d4deea;padding:7px 10px;min-height:44px}
 .showroom-stage{aspect-ratio:auto;height:500px;min-height:500px}
 .showroom-dialog .showroom-stage{min-height:410px}
 .showroom-dialog .immersive-header{padding:12px 18px 8px}
 .showroom-dialog .immersive-trim-row{padding:0 18px 10px}
 .showroom-dialog .paint-picker{padding:8px 18px}
 #presentation-back{left:8px}#presentation-next{right:8px}
 .presentation-position{left:20px;top:18px;max-width:calc(100% - 155px)}
 #presentation-restart{top:12px;right:10px;min-height:40px;padding:0 10px}
 .presentation-copy,.showroom-dialog .presentation-copy{left:20px;right:20px;top:79px;max-width:330px}
 #presentation-title{font-size:22px}
 .showroom-stage .scene-note{left:16px;right:16px;bottom:10px}
}
@container (min-aspect-ratio:2/1){
 .presentation-copy,.showroom-dialog .presentation-copy{left:24px;top:86px;right:auto;max-width:215px;width:calc(25% - 30px)}
 #presentation-title{font-size:22px}
 #presentation-back,#presentation-next{top:55%}
}
@media(max-height:550px) and (orientation:landscape){
 .showroom-dialog .showroom-stage{min-height:0}
 .showroom-dialog .presentation-position,.showroom-dialog #presentation-restart{top:68px}
 .showroom-dialog .presentation-copy{top:124px;max-width:180px;left:20px}
 .showroom-dialog .scene-note{text-align:left;bottom:10px;left:20px;right:310px}
}
@media(prefers-reduced-motion:reduce){.presentation-copy,.presentation-progress i,.presentation-controls>button{transition:none}}
.motion-off .presentation-copy,.motion-off .presentation-progress i{transition:none}

/* Paint stays left; scenery and light stay right, including in the full showroom. */
.showroom-toolbar{flex-wrap:wrap;justify-content:space-between}
.showroom-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cabin-jump{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid #cfd8e5;border-radius:24px;background:#fff;color:#263b55;font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}
.cabin-jump:hover{background:#e9eef4}
.cabin-jump:disabled{opacity:.5;cursor:default}
.showroom-customizer{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;padding:20px 22px;background:#f4f6f9;border-top:1px solid #dfe4ec;flex-shrink:0}
.showroom-customizer .paint-picker,.showroom-dialog .showroom-customizer .paint-picker{position:static;inset:auto;min-width:0;width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none}
.showroom-customizer .paint-heading,.showroom-dialog .showroom-customizer .paint-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;flex-wrap:nowrap;font-size:14px}
.showroom-customizer .paint-heading>span{display:block}
.showroom-customizer .paint-heading>strong,.showroom-dialog .showroom-customizer .paint-heading>strong{margin:0;max-width:none;text-align:left;font-size:13px;line-height:1.4}
.showroom-customizer .paint-swatches,.showroom-dialog .showroom-customizer .paint-swatches{justify-content:flex-start;flex-wrap:wrap;gap:4px;margin:12px 0 0;padding:0;overflow:visible}
.showroom-customizer .paint-picker>p,.showroom-dialog .showroom-customizer .paint-picker>p{display:block;text-align:left;font-size:12px;line-height:1.5;margin:12px 0 0;color:#657489}
.setting-picker{min-width:0;padding-left:18px;border-left:1px solid #d9e0e9}
.setting-heading{font-size:14px;line-height:1.4;font-weight:600;color:#24374e;margin-bottom:10px}
.scene-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.scene-choice{min-width:0;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;border:1px solid #d1d9e3;border-radius:9px;padding:3px;background:#fff;color:#526277;cursor:pointer;transition:border-color .18s,background .18s}
.scene-choice img{display:block;width:100%;height:38px;object-fit:cover;object-position:center 45%;border-radius:5px}
.scene-choice span{display:flex;align-items:center;justify-content:center;min-height:34px;padding:3px 1px;font-size:12px;line-height:1.15;text-align:center}
.scene-choice[aria-checked=true]{border-color:#273744;box-shadow:0 0 0 1px #273744;background:#e4e9ee;color:#172535}
.scene-choice:enabled:hover{border-color:#58677a;background:#e9eef4}
.scene-choice:disabled{cursor:wait;opacity:.6}
.day-night-switch{display:flex;margin-top:10px;padding:3px;border:1px solid #d6dde7;border-radius:24px;background:#e4e9ef;gap:3px}
.day-night-switch button{flex:1;min-width:0;min-height:38px;padding:5px 8px;border:0;border-radius:20px;background:transparent;color:#526176;font:inherit;font-size:14px;cursor:pointer}
.day-night-switch button[aria-pressed=true]{background:#fff;color:#1d2c3b;box-shadow:0 2px 5px #162b3a14}
.day-night-switch button:disabled{cursor:wait;opacity:.6}
.cabin-jump:focus-visible,.scene-choice:focus-visible,.day-night-switch button:focus-visible{outline:2px solid #1672df;outline-offset:3px}
.showroom-dialog .showroom-customizer{width:100%;max-width:none;margin:0;padding:12px 24px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.showroom-dialog .setting-picker{display:grid;grid-template-columns:minmax(0,1fr) 132px;column-gap:16px;align-items:center}
.showroom-dialog .setting-heading{grid-column:1/-1;margin-bottom:8px}
.showroom-dialog .scene-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.showroom-dialog .day-night-switch{margin:0}
@media(max-width:760px){
 .showroom-toolbar{flex-direction:column;align-items:flex-start;gap:10px}
 .showroom-toolbar-actions{width:100%;gap:7px;flex-wrap:nowrap}
 .showroom-toolbar-actions .cabin-jump,.showroom-toolbar-actions .expand-showroom{flex:1;padding:7px 9px;font-size:13px;min-height:44px}
 .showroom-customizer,.showroom-dialog .showroom-customizer{padding:16px 14px;gap:10px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .setting-picker,.showroom-dialog .setting-picker{display:block;padding-left:10px}
 .showroom-dialog .scene-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .scene-options{gap:6px}
 .scene-choice img{height:30px}
 .scene-choice span{font-size:12px;min-height:32px}
 .showroom-dialog .day-night-switch{margin-top:10px}
 .showroom-customizer .paint-swatches,.showroom-dialog .showroom-customizer .paint-swatches{gap:2px}
 .showroom-dialog .immersive-trim-row{gap:8px}
 .showroom-dialog .immersive-trim-row label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .showroom-dialog .immersive-trim-row select{max-width:none;min-height:44px}
 .immersive-trim-row .cabin-jump{font-size:13px;padding:7px 10px;flex-shrink:0}
}
@container(min-aspect-ratio:2/1){.showroom-stage .cinematic-backdrop{object-fit:fill;object-position:center}}
/* Short landscape displays scroll controls below the scene, instead of covering it. */
@media(max-height:550px) and (orientation:landscape){
 .showroom-dialog .immersive-header{position:static;background:#f7f9fb;pointer-events:auto;padding:8px 18px}
 .showroom-dialog .immersive-header>div{padding:0;background:none}
 .showroom-dialog .immersive-trim-row{display:flex;padding:0 18px 8px}
 .showroom-dialog .showroom-stage{position:relative;inset:auto;flex:none;height:330px;min-height:330px}
 .showroom-dialog .showroom-customizer{flex-shrink:0}
 .showroom-dialog .presentation-position,.showroom-dialog #presentation-restart{top:16px}
 .showroom-dialog .presentation-copy{top:78px}
 .showroom-dialog .scene-note{text-align:center;left:18px;right:18px}
}
@media(prefers-reduced-motion:reduce){.scene-choice{transition:none}}

/* Quiet, instrument-like annotations; the feature leads, the words follow. */
#night-environment{position:absolute;pointer-events:none;z-index:0;object-fit:cover}
#night-environment[hidden]{display:none}
.presentation-copy,.showroom-dialog .presentation-copy{top:82px;max-width:290px;text-shadow:0 1px 3px #000c,0 2px 10px #0008;transition:opacity .25s ease,transform .35s ease;opacity:0;transform:translateY(4px)}
#presentation-kicker{display:none}
#presentation-title{font-size:18px;font-weight:500;letter-spacing:.075em;line-height:1.2;margin-bottom:7px}
#presentation-benefit{font:400 14px/1.45 Arial,sans-serif;letter-spacing:.015em;color:#f3f5f7;max-width:290px}
#presentation-spec{font-size:12px;font-weight:500;line-height:1.45;letter-spacing:.055em;color:#e2e8ee;margin-top:8px}
#presentation-current{font-size:12px;font-weight:500;letter-spacing:.11em}
#presentation-count{font-size:12px;color:#d7e0e8}
#feature-leader{position:absolute;inset:0;width:100%;height:100%;z-index:6;overflow:hidden;pointer-events:none;fill:none;stroke:#f4f8ff;stroke-width:1;filter:drop-shadow(0 1px 2px #0009);opacity:0;transition:opacity .16s}
#feature-leader-line{stroke-dasharray:1;stroke-dashoffset:1}
#feature-leader-tip{opacity:0;stroke-linecap:round;stroke-linejoin:round}
#feature-leader-origin{fill:#fff;stroke:none}
.callout-ready #feature-leader{opacity:.75}
.callout-ready #feature-leader-line{animation:feature-lead .55s cubic-bezier(.25,.1,.25,1) both}
.callout-ready #feature-leader-tip{animation:caption-appear .2s .44s both}
.callout-ready .presentation-copy:not(.is-moving){opacity:1;transform:none;transition-delay:.48s}
.is-travelling #feature-leader{opacity:0}
@keyframes feature-lead{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes caption-appear{from{opacity:0}to{opacity:1}}
@container(min-aspect-ratio:2/1){
 #night-environment{object-fit:fill;object-position:center}
 .presentation-copy,.showroom-dialog .presentation-copy{top:74px;width:calc(25% - 30px);max-width:265px}
 #presentation-title{font-size:17px}
 #presentation-benefit{font-size:14px}
}
@media(max-width:760px){
 .presentation-copy,.showroom-dialog .presentation-copy{top:78px;max-width:260px}
 #presentation-title{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 .callout-ready #feature-leader-line{animation:none;stroke-dashoffset:0}
 .callout-ready #feature-leader-tip{animation:none;opacity:1}
 .callout-ready .presentation-copy:not(.is-moving){transition:none}
}
.motion-off .callout-ready #feature-leader-line{animation:none;stroke-dashoffset:0}
.motion-off .callout-ready #feature-leader-tip{animation:none;opacity:1}
.motion-off .callout-ready .presentation-copy:not(.is-moving){transition:none}

/* A single composed reveal: anchor, drawn leader, then three quiet text beats. */
.showroom-stage{--caption-cue:.66s;--leader-highlight:#edf8ff;--leader-contrast:#ffffffbf}
.showroom-stage[data-lighting=night],.showroom-stage[data-scene-mode=interior]{--leader-highlight:#fff}
.showroom-stage[data-lighting=night],.showroom-stage[data-scene-mode=interior]{--leader-contrast:#000b}
.showroom-stage[data-feature=finish]{--caption-cue:.12s}
.presentation-copy,.showroom-dialog .presentation-copy{transform:none;transition:opacity .16s ease;opacity:0}
.callout-ready .presentation-copy:not(.is-moving){opacity:1;transform:none;transition-delay:0s}
.presentation-copy.is-moving{opacity:0;transform:none;transition-delay:0s}
#presentation-title,#presentation-benefit,#presentation-spec{opacity:0;transform:translate3d(0,8px,0)}
#feature-leader{transition:opacity .16s ease;stroke-linecap:round;stroke-linejoin:round}
#feature-leader-origin{transform-box:fill-box;transform-origin:center;opacity:0}
#feature-leader-trace{stroke:var(--leader-highlight);stroke-width:2;stroke-dasharray:.085 .915;stroke-dashoffset:.085;opacity:0}
.callout-ready #feature-leader-origin{animation:premium-anchor .42s cubic-bezier(.16,1,.3,1) both}
.callout-ready #feature-leader-line{animation:premium-leader .94s .10s cubic-bezier(.45,0,.18,1) both}
.callout-ready #feature-leader-trace{animation:premium-trace 1.05s .10s cubic-bezier(.45,0,.18,1) both}
.callout-ready #feature-leader-tip{animation:premium-tip .38s .83s ease-out both}
.callout-ready #presentation-title{animation:premium-title .76s var(--caption-cue) cubic-bezier(.16,1,.3,1) both}
.callout-ready #presentation-benefit{animation:premium-copy .78s calc(var(--caption-cue) + .16s) cubic-bezier(.16,1,.3,1) both}
.callout-ready #presentation-spec{animation:premium-copy .72s calc(var(--caption-cue) + .32s) cubic-bezier(.16,1,.3,1) both}
@keyframes premium-anchor{from{opacity:0;transform:scale(.4)}to{opacity:.8;transform:scale(1)}}
@keyframes premium-leader{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes premium-trace{0%{stroke-dashoffset:.085;opacity:0}12%{opacity:.9}78%{opacity:.9}100%{stroke-dashoffset:-1;opacity:0}}
@keyframes premium-tip{from{opacity:0}to{opacity:.9}}
@keyframes premium-title{from{opacity:0;transform:translate3d(0,10px,0);clip-path:inset(0 0 100% 0);filter:blur(2px)}to{opacity:1;transform:none;clip-path:inset(0);filter:blur(0)}}
@keyframes premium-copy{from{opacity:0;transform:translate3d(0,7px,0);filter:blur(1.5px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){
 .callout-ready #feature-leader-origin,.callout-ready #feature-leader-line,.callout-ready #feature-leader-tip,.callout-ready #presentation-title,.callout-ready #presentation-benefit,.callout-ready #presentation-spec{animation:none!important;opacity:1;transform:none;filter:none;clip-path:none;stroke-dashoffset:0}
 .callout-ready #feature-leader-trace{animation:none!important;opacity:0}
}
.motion-off .callout-ready #feature-leader-origin,.motion-off .callout-ready #feature-leader-line,.motion-off .callout-ready #feature-leader-tip,.motion-off .callout-ready #presentation-title,.motion-off .callout-ready #presentation-benefit,.motion-off .callout-ready #presentation-spec{animation:none!important;opacity:1;transform:none;filter:none;clip-path:none;stroke-dashoffset:0}
.motion-off .callout-ready #feature-leader-trace{animation:none!important;opacity:0}

/* Engine-focus preview: crisp type, a centred vehicle and an unobtrusive leader. */
.showroom-stage{--annotation-ink:#162630;--annotation-muted:#33444e;--annotation-shadow:0 1px 9px #ffffffad,0 1px 2px #ffffffb0}
.showroom-stage[data-lighting=night],.showroom-stage[data-scene-mode=interior]{--annotation-ink:#f8fafc;--annotation-muted:#dce4eb;--annotation-shadow:0 1px 6px #000a}
.presentation-copy,.showroom-dialog .presentation-copy{top:76px;max-width:290px;color:var(--annotation-ink);text-shadow:var(--annotation-shadow)}
#presentation-title{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:600;line-height:1.18;letter-spacing:-.025em;text-transform:none;margin:0 0 7px;color:var(--annotation-ink)}
#presentation-benefit{font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:1.45;letter-spacing:0;max-width:290px;color:var(--annotation-muted)}
#presentation-spec{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.015em;margin-top:8px;color:var(--annotation-ink);font-variant-numeric:tabular-nums}
.presentation-position{text-shadow:var(--annotation-shadow)}
#presentation-count{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.13em;font-weight:500;color:var(--annotation-muted)}
#presentation-current{font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:0;font-weight:600;text-transform:none;color:var(--annotation-ink)}
#feature-leader{stroke:var(--annotation-ink);filter:drop-shadow(0 1px 1px var(--leader-contrast));stroke-width:1.15}
#feature-leader-origin{fill:var(--annotation-ink)}
.callout-ready #feature-leader{opacity:.76}
#presentation-back,#presentation-next{top:var(--vehicle-centre-y,54%)}
@container(min-aspect-ratio:2/1){
 .presentation-copy,.showroom-dialog .presentation-copy{top:76px;width:270px;max-width:270px}
 #presentation-title{font-size:20px}
 #presentation-benefit{font-size:15px}
}
@media(max-width:760px){
 .presentation-copy,.showroom-dialog .presentation-copy{top:64px;max-width:330px}
 #presentation-title{font-size:19px}
 #presentation-benefit{font-size:14px;line-height:1.4}
 .showroom-stage[data-feature=engine] #presentation-title{font-size:18px}
 .showroom-stage[data-feature=engine] #presentation-spec{margin-top:6px}
 .showroom-stage[data-feature=engine] #presentation-benefit{max-width:none}
}

/* Composed annotations: one small hierarchy, clear space above the vehicle. */
.presentation-position{flex-direction:row;align-items:center;gap:10px;top:20px}
#presentation-current{font-size:12px;font-weight:500;color:var(--annotation-muted)}
#presentation-count{font-size:12px;letter-spacing:.09em}
.presentation-copy,.showroom-dialog .presentation-copy{top:58px;left:24px;right:auto;width:250px;max-width:calc(100% - 48px)}
#presentation-title{font-size:17px;line-height:1.25;font-weight:600;letter-spacing:-.018em;margin-bottom:5px}
#presentation-benefit{font-size:14px;line-height:1.4;max-width:250px;text-wrap:pretty}
#presentation-spec{font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.01em;margin-top:7px}
#feature-leader{stroke-width:1;filter:drop-shadow(0 1px 1px var(--leader-contrast))}
.callout-ready #feature-leader{opacity:.65}
@media(max-width:760px){
 .presentation-copy,.showroom-dialog .presentation-copy{left:20px;top:56px;width:235px;max-width:calc(100% - 40px)}
 #presentation-title,.showroom-stage[data-feature=engine] #presentation-title{font-size:17px}
 #presentation-benefit{font-size:14px}
 #presentation-restart{font-size:13px}
}
/* Preserve the photographed setting's proportions on wide displays. */
.showroom-stage .cinematic-backdrop,.showroom-stage #night-environment{object-fit:cover!important;object-position:50% 65%!important}

/* Quiet captions follow the vehicle's upper silhouette; no leader arrows. */
.presentation-copy,.showroom-dialog .presentation-copy{width:min(390px,calc(100% - 48px));max-width:none;right:auto;text-align:center;pointer-events:none;transform:none;transition:opacity .22s ease}
#presentation-title{font-size:18px;line-height:1.25;font-weight:600;letter-spacing:-.02em;margin:0 0 4px}
#presentation-benefit{font-size:13px;line-height:1.45;max-width:none;text-wrap:balance}
#presentation-spec{font-size:12px;line-height:1.4;letter-spacing:.025em;margin-top:5px}
#presentation-title,#presentation-benefit,#presentation-spec,
.callout-ready #presentation-title,.callout-ready #presentation-benefit,.callout-ready #presentation-spec{animation:none!important;opacity:1;transform:none;filter:none;clip-path:none}
@media(max-width:760px){
 .presentation-copy,.showroom-dialog .presentation-copy{width:calc(100% - 40px);max-width:380px}
 #presentation-title,.showroom-stage[data-feature=engine] #presentation-title{font-size:17px}
 #presentation-benefit{font-size:13px}
}

.showroom-dialog .showroom-stage{min-height:540px;flex-shrink:0}
.showroom-stage[data-setting=whyte]{--annotation-ink:#fff;--annotation-muted:#f0f3f6;--annotation-shadow:0 1px 4px #000e,0 0 14px #0009}
@media(max-width:760px){.showroom-dialog .showroom-stage{min-height:500px}}

/* Readable captions: modest type sizes and a tight contrast edge, no text panel. */
.presentation-copy,.showroom-dialog .presentation-copy{width:min(420px,calc(100% - 48px));max-width:none;text-shadow:0 1px 2px var(--caption-edge,#fff),0 0 7px var(--caption-halo,#fffc)}
#presentation-title,.showroom-stage[data-feature=engine] #presentation-title{font-size:20px;line-height:1.25;font-weight:650;letter-spacing:-.02em;margin-bottom:5px}
#presentation-benefit{font-size:16px;line-height:1.4;font-weight:450;letter-spacing:0}
#presentation-spec{font-size:14px;line-height:1.4;font-weight:650;margin-top:6px}
.showroom-stage[data-caption-tone=light]{--annotation-ink:#fff;--annotation-muted:#f5f7fa;--caption-edge:#000;--caption-halo:#000c}
.showroom-stage[data-caption-tone=dark]{--annotation-ink:#111d24;--annotation-muted:#233039;--caption-edge:#fff;--caption-halo:#fffe}
@media(max-width:760px){
 .presentation-copy,.showroom-dialog .presentation-copy{width:calc(100% - 40px);max-width:400px}
 #presentation-title,.showroom-stage[data-feature=engine] #presentation-title{font-size:19px}
 #presentation-benefit{font-size:16px}
}

/* Step labels sit over sky, independently of the lower caption's scenery. */
.presentation-position #presentation-count,.presentation-position #presentation-current{color:#162630;text-shadow:0 1px 2px #fff,0 0 7px #fffd}
.showroom-stage[data-lighting=night] .presentation-position #presentation-count,.showroom-stage[data-lighting=night] .presentation-position #presentation-current,
.showroom-stage[data-scene-mode=interior] .presentation-position #presentation-count,.showroom-stage[data-scene-mode=interior] .presentation-position #presentation-current{color:#fff;text-shadow:0 1px 2px #000,0 0 7px #000c}
