/* Creative direction: a car-led opening, editorial type, restrained materials. */
.cinematic-home { --font-display:var(--font-body); --red:#da242c; }
.cinematic-home :is(h1,h2,h3) { font-family:var(--font-body); font-weight:500; letter-spacing:-.055em; line-height:1.06; text-transform:none; }
.cinematic-home h2 em { color:inherit; }
.cinematic-home .eyebrow { font-size:.75rem; font-weight:500; letter-spacing:.15em; }
.cinematic-home .button { font-weight:600; text-transform:none; letter-spacing:0; font-size:.875rem; border-radius:0; }
.cinematic-home .site-header,.cinematic-home.nav-scrolled .site-header { left:0; top:0; width:100%; height:80px; transform:none; padding:0 4%; border:0; border-bottom:1px solid #ffffff14; border-radius:0; transition:background .25s; background:#090a0ae8; }
.cinematic-home .site-header { background:transparent; }
.cinematic-home .brand,.cinematic-home .brand img { width:132px; }
.cinematic-home .main-nav { gap:1.75rem; font-weight:500; letter-spacing:0; }
.cinematic-home .main-nav>a { font-size:.8125rem; text-transform:none; }
.cinematic-home .main-nav>a[href="#booking"] { padding:.8rem 1.1rem; background:transparent; border:1px solid #ffffff65; }
.launch-hero { height:100svh; min-height:740px; max-height:1040px; padding:132px 5% 70px; background:#080909; }
.launch-word { display:none; }
.launch-heading { max-width:630px; padding:0; animation:none; }
.launch-heading h1 { font-size:clamp(4.5rem,7.6vw,7.5rem); margin:1.1rem 0; line-height:.98; letter-spacing:-.065em; }
.launch-heading h1 span { display:inline-block; }
.launch-heading h1 span:last-child { color:#f1f1ed; }
.launch-car { inset:auto 0 0; width:100%; height:100%; transform:none; }
.launch-car img { object-fit:contain; object-position:center bottom; animation:none; filter:none; }
.launch-hero::after { background:linear-gradient(0deg,#080909 0%,transparent 24%,transparent 88%,#08090960); }
.launch-context { position:relative; max-width:340px; }
.launch-copy { font-size:.9375rem; color:#d1d1ce; line-height:1.6; }
.launch-context .hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.6rem; margin-top:1.5rem; }
.launch-context .button { min-width:200px; }
.launch-process { font-size:.8125rem; padding:.4rem 0; gap:1.5rem; }
.launch-bottom { left:5%; right:5%; bottom:28px; font-size:.75rem; letter-spacing:.04em; }
.launch-bottom>span:first-child { display:none; }
.launch-bottom .studio-label { margin:0; font-size:.75rem; color:#aaa; }
.launch-bottom>a { margin-left:auto; }
.launch-facts { display:none; }
.cinematic-home .mobile-book { opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .2s,transform .2s; }
.cinematic-home.past-opening .mobile-book { opacity:1; pointer-events:auto; transform:none; }
.cinematic-home #carshine-live-chat { opacity:1; pointer-events:auto; }
@keyframes studio-arrival { from { opacity:.2; transform:scale(1.025); } to { opacity:1; transform:scale(1); } }
@keyframes title-arrival { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:no-preference) {
 .launch-car img { animation:studio-arrival 1.8s cubic-bezier(.2,.7,.25,1) both; }
 .launch-heading h1 span { animation:title-arrival .7s ease-out both; }
 .launch-heading h1 span:last-child { animation-delay:.12s; }
}

/* Refined booking sheet and welcome story: clearer hierarchy, lighter backdrop, and a purposeful image break. */
.cinematic-home .booking-drawer { width:min(900px,100%); background:#111316; }
.cinematic-home .booking-drawer::backdrop { background:rgba(5,7,9,.62); backdrop-filter:blur(2px); }
.cinematic-home .booking-section { padding:clamp(1.35rem,3vw,2.8rem); }
.cinematic-home .booking-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.72fr); align-items:end; gap:.75rem 2rem; margin-bottom:1.45rem; }
.cinematic-home .booking-intro .eyebrow { grid-column:1/-1; margin:0; }
.cinematic-home .booking-intro h2 { margin:0; font-size:clamp(2.8rem,6vw,4.8rem); line-height:.98; }
.cinematic-home .booking-intro>p:not(.eyebrow) { grid-column:2; grid-row:2; max-width:none; margin:0 0 .25rem; font-size:.98rem; line-height:1.55; }
.cinematic-home .drawer-sticky { display:grid; grid-template-columns:1fr; overflow:hidden; border:1px solid #343840; background:#17191d; box-shadow:0 12px 30px rgba(0,0,0,.2); }
.cinematic-home .drawer-summary { position:static; padding:.85rem 1.15rem; background:#202329; border:0; font-size:.9rem; }
.cinematic-home .drawer-sticky .booking-steps { position:static; padding:.8rem 1.15rem; border-top:1px solid #343840; border-bottom:0; }
.cinematic-home .drawer-continue { justify-self:end; width:auto; min-width:220px; min-height:48px; margin:0 1rem .95rem; border-radius:2px !important; box-shadow:none; }
.cinematic-home .booking-step { padding:1.45rem 1.15rem 2rem; }
.cinematic-home .booking-step legend { font-size:clamp(2rem,3.8vw,2.8rem); line-height:1; }
.cinematic-home .booking-multi-hint { max-width:680px; margin:.65rem 0 1.1rem; font-size:.875rem; }

.cinematic-home .mobile-story { grid-template-columns:minmax(0,1.1fr) minmax(180px,.5fr) minmax(0,1fr); column-gap:clamp(1.5rem,4vw,4.5rem); align-items:end; padding-inline:7%; }
.cinematic-home .mobile-story>.eyebrow { grid-column:1/-1; margin-bottom:1.2rem; }
.cinematic-home .mobile-story h2 { grid-column:1; grid-row:2; margin:0; font-size:clamp(4.5rem,8vw,9rem); }
.mobile-story-visual { position:relative; grid-column:2; grid-row:2; align-self:stretch; min-height:260px; margin:0; overflow:hidden; border:1px solid rgba(218,36,44,.58); background:#111; box-shadow:12px 12px 0 rgba(110,15,20,.25); }
.mobile-story-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,8,9,.04) 35%,rgba(7,8,9,.9)); pointer-events:none; }
.mobile-story-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.72) saturate(.85) contrast(1.05); }
.mobile-story-visual figcaption { position:absolute; z-index:1; right:1rem; bottom:1rem; left:1rem; display:grid; gap:.25rem; }
.mobile-story-visual figcaption span { color:#ff8e86; font-size:.58rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.mobile-story-visual figcaption b { color:#fff; font:500 clamp(1.25rem,2vw,1.8rem)/1 var(--font-body); letter-spacing:-.04em; }
.cinematic-home .mobile-story-copy { grid-column:3; grid-row:2; align-self:end; max-width:none; padding:0 0 .25rem clamp(1rem,2vw,2rem); border-left:1px solid rgba(255,255,255,.16); }
.cinematic-home .mobile-story-copy>p:first-child { font-size:clamp(1.25rem,2vw,1.7rem); line-height:1.2; }
.cinematic-home .mobile-story-copy>p:not(:first-child) { max-width:540px; line-height:1.75; }
.cinematic-home .journey-steps { gap:1rem; margin-top:3.4rem; padding-top:1.6rem; }
.cinematic-home .journey-steps li { position:relative; min-height:145px; padding:1.25rem 1.2rem 1.4rem; border:1px solid rgba(255,255,255,.13); background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); }
.cinematic-home .journey-steps li::before { content:""; position:absolute; top:-1px; left:1.2rem; width:34px; height:2px; background:#da242c; }
.cinematic-home .journey-steps h3 { margin:.8rem 0 .55rem; font-size:1.35rem; }
.cinematic-home .journey-steps p { margin:0; font-size:.8rem; }

/* Two distinct navigation actions, still within the graphite and red palette. */
.cinematic-home .main-nav>a[href="/account.html"] { padding:.62rem .8rem; border:1px solid rgba(214,211,201,.42); color:#e2dfd6; background:rgba(214,211,201,.08); box-shadow:none; }
.cinematic-home .main-nav>a[href="/account.html"]:hover { border-color:#f0ece1; color:#fff; background:rgba(214,211,201,.16); }
.cinematic-home .main-nav>a[href="#booking"] { padding:.78rem 1.15rem; border:1px solid #da242c; color:#fff; background:#da242c; box-shadow:0 8px 24px rgba(218,36,44,.24); }
.cinematic-home .main-nav>a[href="#booking"]:hover { border-color:#f04b52; background:#e3323a; }

@media (max-width:1100px) and (min-width:761px) {
 .cinematic-home .mobile-story { grid-template-columns:minmax(0,1fr) minmax(170px,.55fr); }
 .cinematic-home .mobile-story h2 { grid-column:1; }
 .mobile-story-visual { grid-column:2; }
 .cinematic-home .mobile-story-copy { grid-column:1/-1; margin-top:2rem; }
}
@media (max-width:760px) {
 .cinematic-home .booking-intro { display:block; }
 .cinematic-home .booking-intro h2 { font-size:clamp(2.7rem,12vw,4.5rem); }
 .cinematic-home .booking-intro>p:not(.eyebrow) { margin:.8rem 0 0; font-size:.92rem; }
 .cinematic-home .drawer-continue { justify-self:stretch; width:calc(100% - 2rem); margin-inline:1rem; }
 .cinematic-home .mobile-story { grid-template-columns:1fr; gap:1.5rem; }
 .cinematic-home .mobile-story h2,.mobile-story-visual,.cinematic-home .mobile-story-copy { grid-column:1; grid-row:auto; }
 .mobile-story-visual { min-height:270px; }
 .cinematic-home .mobile-story-copy { margin-top:.3rem; padding:0 0 0 1rem; }
 .cinematic-home .journey-steps { margin-top:1.7rem; }
 .cinematic-home .journey-steps li { min-height:0; }
}
@media(min-width:761px) and (max-width:1100px) {
 .cinematic-home .main-nav { gap:1rem; }
 .cinematic-home .main-nav>a { font-size:.75rem; }
 .launch-heading h1 { font-size:5.5rem; }
 .launch-context { max-width:580px; }
 .launch-context .launch-copy { max-width:480px; }
 .launch-context .hero-actions { flex-direction:row; align-items:center; margin-top:1rem; gap:1.5rem; }
 .launch-car { width:100%; left:0; height:85%; }
}
@media(max-width:760px) {
 .cinematic-home .site-header,.cinematic-home.nav-scrolled .site-header { height:72px; padding:0 6%; }
 .launch-hero { height:100svh; min-height:660px; max-height:850px; padding:112px 6% 30px; }
 .launch-heading h1 { font-size:clamp(3.35rem,12.2vw,5.3rem); line-height:1.01; margin:1.2rem 0; }
 .launch-heading .eyebrow { font-size:.75rem; letter-spacing:.08em; }
 .launch-context { position:static; max-width:310px; }
 .launch-copy { font-size:.875rem; max-width:290px; }
 .launch-context .hero-actions { position:absolute; left:6%; right:6%; bottom:65px; flex-direction:row; justify-content:space-between; align-items:center; gap:1rem; }
 .launch-context .button { min-width:0; padding:.9rem 1.05rem; }
 .launch-process { max-width:130px; font-size:.8125rem; line-height:1.5; }
 .launch-car { height:340px; bottom:116px; width:120%; left:-18%; }
 .launch-car img { object-fit:contain; object-position:center bottom; }
 .launch-hero::after { background:linear-gradient(0deg,#080909 5%,transparent 34%,transparent 60%,#080909 83%); }
 .launch-bottom { bottom:22px; left:6%; right:6%; font-size:.75rem; }
 .launch-bottom>a { text-transform:none; letter-spacing:0; }
 .cinematic-home h2 { font-size:clamp(2.5rem,9vw,4rem); }
}
@media(max-width:360px) {
 .launch-heading .eyebrow { max-width:220px; line-height:1.6; }
 .launch-heading h1 { font-size:3.2rem; }
 .launch-context .hero-actions { gap:.6rem; }
 .launch-context .button { font-size:.8125rem; }
 .launch-process { font-size:.75rem; max-width:105px; }
}
@media(prefers-reduced-motion:reduce) {
 .launch-car img,.launch-heading h1 span { animation:none; transform:none; }
}
/* The first scroll is a photographic cut, with one controlled change of scale. */
.finish-section { padding:0; background:#080909; }
.finish-scene { position:relative; height:130svh; min-height:900px; }
.finish-visual { position:sticky; top:0; height:100svh; min-height:680px; }
.finish-visual>img { object-position:50% 63%; transform:scale(var(--finish-scale,1.06)); }
.finish-visual::after { background:linear-gradient(180deg,#000a,transparent 50%,#000b); }
.finish-caption { top:12%; left:5%; }
.finish-caption>span { letter-spacing:.12em; font-size:.75rem; }
.finish-caption h2 { font-size:clamp(3.4rem,7vw,7rem); font-weight:500; margin:1rem 0; }
.finish-caption p { font-size:1rem; }
.finish-control { left:5%; bottom:40px; width:200px; font-size:.875rem; }
.finish-control input { margin-top:.8rem; }
.finish-credit { right:5%; bottom:40px; font-size:.75rem; }
.comparison-section { margin:0; padding:100px 5% 70px; background:#080909; }
.comparison-heading { align-items:flex-end; margin-bottom:2rem; }
.comparison-statement { font-size:clamp(2.6rem,5vw,5.5rem); letter-spacing:-.055em; line-height:1.1 !important; margin:0 0 1.5rem; }
.comparison-heading h3 { font-size:1rem; letter-spacing:0; margin:.5rem 0 0; }
.comparison-modes button { border:0; border-bottom:1px solid #555; padding:.8rem .2rem; margin-left:1rem; font-size:.875rem; }
.comparison-modes button[aria-pressed=true] { color:#fff; border-color:#fff; background:none; }
.comparison-stage { aspect-ratio:16/10; max-height:80svh; }
.comparison-stage>img { object-fit:cover; }
.compare-label { background:#080909b3; border:0; padding:.55rem .8rem; font-size:.75rem; letter-spacing:.04em; }
.comparison-divider { position:absolute; top:0; bottom:0; left:var(--compare); width:1px; background:#fff; pointer-events:none; }
.comparison-divider b { position:absolute; top:50%; left:0; transform:translate(-50%,-50%); width:46px; height:46px; display:grid; place-items:center; background:#eee; color:#111; border-radius:50%; font:400 1.4rem Arial; box-shadow:0 2px 15px #0003; }
.comparison-stage:is([data-mode=lens],[data-mode=wipe]) .comparison-divider { display:none; }
.comparison-slider { max-width:420px; margin-top:1.8rem; }
.comparison-slider input { accent-color:#eee; }
.comparison-section>.text-link { border-bottom:1px solid #aaa; }
@media(max-width:760px) {
 .finish-scene { height:auto; min-height:0; }
 .finish-visual { position:relative; height:90svh; min-height:570px; }
 .finish-visual>img { object-position:56% 65%; transform:none; }
 .finish-caption { left:6%; top:90px; }
 .finish-caption h2 { font-size:clamp(2.7rem,10vw,4.4rem); }
 .finish-control { left:6%; bottom:64px; width:190px; }
 .finish-credit { left:6%; right:auto; bottom:25px; }
 .comparison-section { padding:65px 6%; }
 .comparison-modes { display:flex; justify-content:space-between; gap:.7rem; }
 .comparison-modes button { margin:0; }
 .comparison-stage { aspect-ratio:4/5; max-height:none; }
 .comparison-statement { font-size:2.8rem; }
}
@media(max-width:760px) and (max-height:740px) {
 .launch-hero { padding-top:103px; }
 .launch-heading h1 { font-size:clamp(3rem,10vw,3.5rem); margin:.8rem 0; }
 .launch-copy { max-width:370px; }
 .launch-context { max-width:380px; }
}
/* Later chapters recede: useful choices, real photography and generous quiet space. */
.experience-section { padding-block:100px; }
.finish-section { padding:0; }
.editorial-heading { margin-bottom:3.5rem; align-items:flex-end; }
.editorial-heading h2 { font-size:clamp(3rem,5.5vw,5.5rem); }
.editorial-heading>p,.editorial-heading>div:last-child>p { font-size:1rem; max-width:310px; }
.detail-configurator { background:#0d0f12; color:#f1f1ed; padding:110px 7% 70px; color-scheme:dark; }
.detail-configurator .eyebrow,.detail-configurator .editorial-heading>p { color:#b5b7be; }
.vehicle-selector { gap:1rem; border-color:#383c45; padding-bottom:1.4rem; margin-bottom:2.5rem; }
.vehicle-selector legend { font-size:.875rem; margin-right:2rem; font-weight:500; }
#vehicle-choices button { border:0; border-bottom:1px solid #454952; color:#c6c8ce; background:none; padding:.8rem 1.3rem; }
#vehicle-choices button:hover { color:#fff; background:#191c22; }
#vehicle-choices button[aria-pressed=true] { border-color:var(--red); background:var(--red); color:#fff; }
.config-layout { grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr); gap:6%; }
.config-car { display:none; }
.config-package-visual { position:relative; margin:0 0 2rem; aspect-ratio:4/3; background:#191b17; overflow:hidden; }
.config-package-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.config-package-visual figcaption { position:absolute; bottom:12px; left:14px; padding:4px 7px; background:#10100fbb; color:#fff; font:400 .65rem/1.4 var(--font-body); }
.config-choices>.control-label { color:#b5b7be; font-size:.875rem; }
#package-choices button { background:transparent; color:#b5b7be; border:0; border-bottom:1px solid #383c45; padding:1rem 0; min-height:68px; font:500 1.15rem/1.35 var(--font-body); text-transform:none; letter-spacing:-.025em; }
#package-choices button:hover { color:#fff; background:#15171b; }
#package-choices button[aria-pressed=true] { color:#fff; background:#191c22; border-left:0; border-bottom:2px solid var(--red); }
#package-choices button span { color:#a5a9b3; padding-top:.25rem; }
#package-choices button { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:12px; text-align:left; }
#package-choices button img { width:64px; height:48px; object-fit:cover; }
#package-choices button b { font:inherit; }
.config-summary { border:0; padding:0; grid-template-columns:1fr; gap:1.5rem; }
.config-summary>.config-price { order:0; }
.config-summary h3 { font-size:clamp(2rem,3.2vw,3.1rem); margin:0 0 1rem; }
#config-copy { color:#bfc2ca; font-size:1rem; max-width:470px; }
#config-includes { columns:1; margin-top:1.5rem; }
#config-includes li { color:#d0d3da; padding:.65rem 0; font-size:.9375rem; border-bottom:1px solid #383c45; }
#config-includes li::before { display:none; }
.config-price { display:grid; grid-template-columns:1fr 1.3fr; align-items:center; gap:.75rem 1.5rem; }
.config-price>strong { font:500 clamp(4rem,7vw,6rem)/1 var(--font-body); letter-spacing:-.07em; grid-row:1/3; }
.config-price>span { color:#bfc2ca; font-size:.9375rem; margin:0; }
.config-price .button { grid-column:2; width:100%; font-size:.875rem; }
.config-price>a { grid-column:1/-1; color:#f1f1ed; font-size:.875rem; }
#config-seats-label { color:#d0d3da; grid-column:1/-1; }
#config-seats { border:1px solid #666c78; background:#191c22; color:#fff; padding:.6rem; }
.detail-configurator :is(.text-link,.pricing-row a,.complete-pricing a) { color:#f1f1ed; }
.detail-configurator :is(button,a,input,summary):focus-visible { outline-color:#fff; }
.complete-pricing { border-color:#454952; }
.pricing-row { border-color:#383c45; }
.pricing-row p { color:#bfc2ca; }
.difference-section { background:#101211; }
.hotspot-layout { grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr); gap:7%; }
.hotspot-stage { aspect-ratio:4/5; max-height:780px; }
.hotspot-stage>img { object-position:50% 65%; transform:none; transition:none; }
.hotspot-dot { box-shadow:none; background:#111a; border-color:#ddd; font-size:1rem; }
.hotspot-dot[aria-pressed=true] { background:#f0f0e9; color:#111; }
#hotspot-list { display:grid; grid-template-columns:1fr 1fr; gap:0 1.3rem; }
#hotspot-list button { text-align:left; border:0; border-bottom:1px solid #454940; padding:.8rem 0; font-size:.875rem; }
#hotspot-list button[aria-pressed=true] { background:none; color:#fff; border-color:#d94a49; }
#hotspot-panel h3 { font-size:2.3rem; }
#hotspot-panel a { padding:1rem 0; line-height:1.5; }
.paint-study { height:320px; padding:0 7%; }
.paint-study>img { transform:none; }
.paint-study>div { position:absolute; left:7%; bottom:35px; }
.paint-study .eyebrow { display:none; }
.paint-study h2 { font-size:2.5rem; text-shadow:none; margin:0; }
.paint-study .text-link { font-size:.875rem; }
.work-section { padding-top:120px; padding-bottom:90px; }
.work-track { gap:32px; align-items:flex-end; }
.work-card { flex-basis:38%; }
.work-card:first-child { flex-basis:60%; }
.work-card img { height:470px; transition:none; }
.work-card:first-child img { height:560px; }
.work-card:hover img { filter:none; }
.work-card>span { font-size:.875rem; padding-top:1.2rem; }
.work-controls button { border:0; border-bottom:1px solid #777; }
.film-section { padding:90px 10%; grid-template-columns:1fr .85fr; gap:10%; background:#101211; }
.film-section h2 { font-size:clamp(3rem,6vw,6rem); }
.film-frame { min-height:0; background:transparent; }
.film-frame video { max-height:660px; min-height:320px; object-fit:contain; background:#080909; }
.film-frame p { margin:.8rem 0 !important; padding:0; color:#b4b8af; line-height:1.5; }
.mobile-story { padding:130px 7% 85px; }
.mobile-story h2 { font-size:clamp(4rem,8vw,8rem); }
.journey-steps { gap:6%; }
.journey-steps h3 { font-size:1.4rem; letter-spacing:-.025em; }
.journey-steps span { color:#939b8b; }
.trust-section { display:grid; grid-template-columns:1fr 1fr; gap:1rem 7%; padding:60px 7%; background:#101211; border-top:1px solid #33372f; }
.trust-section>.eyebrow { grid-column:1/-1; }
.trust-section h2 { font-size:2rem; max-width:340px; }
.trust-section>p:not(.eyebrow) { margin:0; }
.trust-section>div { grid-column:2; flex-direction:column; align-items:flex-start; gap:.5rem; }
.trust-section .button { padding-left:0; border:0; border-bottom:1px solid #888; }
.next-visit { padding:95px 7%; background:#b21b23; border:0; }
.next-visit h2 { font-size:clamp(3.2rem,6vw,6rem); }
.next-visit .eyebrow,#next-slot-meta { color:#f3d7d8; }
#next-slot-copy { font-size:1.1rem; }
.next-visit .button-primary { background:#f3f2ed; color:#1d2118; border-color:#f3f2ed; white-space:nowrap; }
.cinematic-home .faq-section { background:#0d0f0d; padding:75px 7%; }
.cinematic-home .faq-section h2 { font-size:2.5rem; }
.cinematic-home .faq-list summary { font:500 1rem/1.5 var(--font-body); text-transform:none; letter-spacing:0; }
.cinematic-home .faq-list summary span { color:#ddd; background:none; box-shadow:none; }
.cinematic-home .site-footer { padding-inline:7%; }
.cinematic-home .site-footer h3 { font-size:.875rem; letter-spacing:0; }
.cinematic-home .booking-intro h2 { font-size:2.4rem; }
.cinematic-home .booking-option b { font-size:1.15rem; line-height:1.3; letter-spacing:-.025em; }
.cinematic-home .booking-option { min-height:120px; }
@media(max-width:900px) {
 .config-layout { gap:4%; grid-template-columns:minmax(210px,.8fr) minmax(0,1.3fr); }
 .config-price { display:flex; gap:.8rem; }
 .hotspot-layout { gap:4%; }
 .film-section { padding-inline:7%; gap:7%; }
}
@media(max-width:760px) {
 .experience-section { padding:70px 6%; }
 .finish-section { padding:0; }
 .editorial-heading { margin-bottom:2.3rem; }
 .editorial-heading h2 { font-size:clamp(2.5rem,9vw,4rem); }
 .detail-configurator { padding-top:75px; }
 .config-layout { display:flex; gap:2rem; }
 #vehicle-choices button { padding:.8rem .5rem; }
 #package-choices { gap:1.2rem; }
 #package-choices button { flex:0 0 150px; padding:.9rem 0; font-size:1rem; min-height:80px; }
 #package-choices button span { display:none; }
 #package-choices button { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:12px; }
 #package-choices button img { width:150px; height:100px; }
 .config-price { display:grid; grid-template-columns:1fr 1.2fr; gap:.7rem 1rem; }
 .config-price>strong { font-size:4.3rem; }
 .config-price>.button { grid-column:2; padding:.85rem; min-height:52px; }
 .config-price>span { font-size:.875rem; }
 .config-summary h3 { font-size:2.2rem; }
 .hotspot-layout { display:block; }
 .hotspot-stage { margin-bottom:2rem; aspect-ratio:1; }
 #hotspot-list { grid-template-columns:repeat(2,1fr); }
 .paint-study { height:290px; }
 .paint-study h2 { font-size:2rem; }
 .paint-study>small { top:20px; bottom:auto; }
 .work-section { padding-right:0; }
 .work-card,.work-card:first-child { flex-basis:86%; }
 .work-card img,.work-card:first-child img { height:420px; }
 .work-card>span { font-size:.8125rem; }
 .film-section { grid-template-columns:1fr; gap:2rem; }
 .film-section p:not(.eyebrow) { margin:1.3rem 0; }
 .film-frame video { max-height:580px; }
 .mobile-story h2 { font-size:clamp(3.4rem,13vw,5.5rem); }
 .mobile-story-copy>p:first-child { font-size:1.15rem; }
 .journey-steps { gap:1.7rem; }
 .journey-steps h3 { margin:.8rem 0; }
 .trust-section { display:block; padding-top:45px; padding-bottom:45px; }
 .trust-section h2 { margin:1.5rem 0; }
 .trust-section>div { margin-top:1rem; }
 .next-visit { padding-block:70px; }
 .next-visit h2 { font-size:clamp(3rem,12vw,5rem); }
 .cinematic-home .faq-section { padding:60px 6%; }
 .cinematic-home .faq-section h2 { font-size:2.25rem; }
}

/* Match the gallery page's bold red-and-graphite visual language on the home route. */
.cinematic-home { --font-display:'Barlow Condensed',Impact,sans-serif; --red:#ef1515; --red-light:#ff4a42; }
.cinematic-home :is(h1,h2,h3) { font-family:var(--font-display); font-weight:800; letter-spacing:.015em; line-height:.84; text-transform:uppercase; }
.cinematic-home h2 em { color:var(--red); font-weight:700; }
.cinematic-home .eyebrow { font-weight:800; letter-spacing:.18em; }
.cinematic-home .button { font-weight:800; text-transform:uppercase; letter-spacing:.08em; border-radius:0; clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); }
.cinematic-home .main-nav { gap:clamp(1.1rem,2.6vw,2.8rem); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cinematic-home .main-nav>a { text-transform:uppercase; }
.cinematic-home .launch-heading h1 { font-family:var(--font-display); font-weight:800; line-height:.84; letter-spacing:.015em; text-transform:uppercase; }
.cinematic-home .mobile-story h2 { font-family:var(--font-display); font-weight:800; line-height:.84; letter-spacing:.015em; text-transform:uppercase; }
.cinematic-home .mobile-story-copy>p:first-child { font-family:var(--font-display); font-weight:500; text-transform:uppercase; letter-spacing:.025em; }
.mobile-story-visual { border-color:rgba(255,93,84,.75); box-shadow:12px 12px 0 rgba(152,20,20,.24); }
.mobile-story-visual figcaption b { font-family:var(--font-display); font-weight:700; letter-spacing:.025em; text-transform:uppercase; }
.cinematic-home .journey-steps li { border-color:#343434; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(10,10,10,.82)); }
.cinematic-home .journey-steps h3 { font-family:var(--font-display); font-weight:700; letter-spacing:.015em; text-transform:uppercase; }
.cinematic-home .booking-intro h2 { font-family:var(--font-display); font-weight:800; line-height:.84; letter-spacing:.015em; text-transform:uppercase; }
.cinematic-home .booking-step legend { font-family:var(--font-display); font-weight:800; letter-spacing:.015em; text-transform:uppercase; }
.cinematic-home .drawer-continue { background:var(--red); border-color:#ff6058; clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); }
.cinematic-home .drawer-continue:hover { background:#ff2a21; }

@media (max-width:1100px) and (min-width:761px) {
 .cinematic-home .mobile-story { grid-template-columns:minmax(0,1fr) minmax(170px,.55fr); }
 .cinematic-home .mobile-story h2 { grid-column:1; grid-row:2; }
 .cinematic-home .mobile-story-visual { grid-column:2; grid-row:2; }
 .cinematic-home .mobile-story-copy { grid-column:1/-1; grid-row:3; margin-top:2rem; }
}
@media (max-width:760px) {
 .cinematic-home .mobile-story { grid-template-columns:1fr; gap:1.5rem; }
 .cinematic-home .mobile-story h2,.cinematic-home .mobile-story-visual,.cinematic-home .mobile-story-copy { grid-column:1; grid-row:auto; }
 .cinematic-home .mobile-story-visual { min-height:270px; }
 .cinematic-home .mobile-story-copy { margin-top:.3rem; }
}

/* Keep the configurator focused: compact vehicle previews and a shorter package image. */
.cinematic-home .config-package-visual {
 aspect-ratio:16/7;
 max-height:260px;
 margin-bottom:1.25rem;
}
.cinematic-home .config-package-visual img { object-position:center 52%; }
.cinematic-home #vehicle-choices { gap:.55rem; align-items:stretch; }
.cinematic-home #vehicle-choices button {
 display:inline-flex;
 align-items:center;
 gap:.65rem;
 min-height:58px;
 padding:.55rem .85rem;
 border:1px solid #454952;
 background:#111316;
 color:#c6c8ce;
 font-family:var(--font-body);
}
.cinematic-home #vehicle-choices button img {
 width:48px;
 height:36px;
 flex:0 0 48px;
 object-fit:cover;
 border:1px solid #343840;
 filter:brightness(.8) saturate(.85);
}
.cinematic-home #vehicle-choices button .vehicle-label {
 font:700 .8rem/1 var(--font-body);
 letter-spacing:.04em;
 text-transform:uppercase;
}
.cinematic-home #vehicle-choices button[aria-pressed=true] { border-color:var(--red); background:var(--red); color:#fff; }
.cinematic-home #vehicle-choices button[aria-pressed=true] img { border-color:#ff8e86; filter:none; }
@media(max-width:760px) {
 .cinematic-home .config-package-visual { aspect-ratio:16/8; max-height:210px; }
 .cinematic-home #vehicle-choices button { min-height:52px; padding:.45rem .6rem; gap:.4rem; }
 .cinematic-home #vehicle-choices button img { width:38px; height:30px; flex-basis:38px; }
 .cinematic-home #vehicle-choices button .vehicle-label { font-size:.68rem; }
}

/* Keep the home route on the same editorial header as the gallery and package routes. */
.cinematic-home .utility-bar { display:flex; }
.cinematic-home .site-header,
.cinematic-home.nav-scrolled .site-header {
 position:relative;
 inset:auto;
 transform:none;
 width:100%;
 height:80px;
 padding:0 clamp(1.15rem,3.5vw,3.5rem);
 border:0;
 border-bottom:1px solid rgba(255,255,255,.12);
 border-radius:0;
 background:#090a0c;
 box-shadow:none;
 backdrop-filter:none;
}
.cinematic-home .brand,
.cinematic-home .brand img { width:172px; height:56px; }
.cinematic-home .main-nav { gap:clamp(.8rem,1.7vw,1.65rem); font-size:.64rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.cinematic-home .main-nav>a { font-size:.64rem; text-transform:uppercase; }
.cinematic-home .main-nav>a[href="#booking"] { min-height:34px; padding:.68rem .86rem; border:1px solid rgba(255,255,255,.19); background:#171719; color:#fff; box-shadow:none; }
.cinematic-home .main-nav>a[href="#booking"]:hover { border-color:var(--red-light); background:#241010; }
.cinematic-home .main-nav .nav-call { display:inline-flex; min-height:34px; padding:.68rem .86rem; border:0; background:linear-gradient(135deg,#f22b24,#cf1014); color:#fff; box-shadow:0 8px 20px rgba(229,34,34,.2); }
@media(max-width:760px) {
 .cinematic-home .utility-bar { display:none; }
 .cinematic-home .site-header,
 .cinematic-home.nav-scrolled .site-header { height:72px; padding:0 6%; }
 .cinematic-home .brand,.cinematic-home .brand img { width:142px; height:48px; }
 .cinematic-home .main-nav>a[href="#booking"] { min-height:auto; padding:.68rem .72rem; border:0; background:transparent; }
 .cinematic-home .main-nav .nav-call { display:block; text-align:center; }
}

/* Keep the home header actions vivid after the gallery-style base rules. */
.cinematic-home .main-nav>a[href="/account.html"] {
 display:inline-flex;
 align-items:center;
 min-height:38px;
 padding:.72rem .95rem;
 border:1px solid #687488;
 border-radius:2px;
 background:linear-gradient(135deg,#28303b,#171b22);
 color:#fff;
 box-shadow:0 8px 22px rgba(54,70,91,.28),inset 0 1px 0 rgba(255,255,255,.1);
}
.cinematic-home .main-nav>a[href="/account.html"]:hover { border-color:#f04b52; background:linear-gradient(135deg,#343d4b,#1d2028); box-shadow:0 10px 26px rgba(218,36,44,.2); }
.cinematic-home .main-nav>a[href="#booking"] {
 display:inline-flex;
 align-items:center;
 min-height:38px;
 padding:.72rem 1rem;
 border:1px solid #ff5c62;
 border-radius:2px;
 background:linear-gradient(135deg,#f22b32,#b90f18);
 color:#fff;
 font-weight:900;
 box-shadow:0 10px 26px rgba(229,34,34,.32),inset 0 1px 0 rgba(255,255,255,.14);
}
.cinematic-home .main-nav>a[href="#booking"]:hover { border-color:#ff9a9e; background:linear-gradient(135deg,#ff3d45,#d8141d); box-shadow:0 12px 30px rgba(229,34,34,.42); }

/* Creative director pass: let the car own the opening and keep controls out of the story. */
.cinematic-home .utility-bar { display:none; }
.cinematic-home .site-header,
.cinematic-home.nav-scrolled .site-header {
 position:fixed;
 inset:0 0 auto;
 z-index:20;
 width:100%;
 height:76px;
 padding:0 5%;
 border:0;
 border-bottom:1px solid rgba(255,255,255,.14);
 border-radius:0;
 background:linear-gradient(180deg,rgba(5,6,7,.86),rgba(5,6,7,.22));
 box-shadow:none;
 backdrop-filter:blur(5px);
}
.cinematic-home.nav-scrolled .site-header { background:rgba(10,11,13,.92); }
.launch-hero { height:min(900px,100svh); min-height:620px; padding:148px 6% 70px; }
.launch-car { inset:auto 0 0; z-index:-1; width:100%; height:100%; }
.launch-car img { object-fit:cover; object-position:center 68%; transform:scale(1.035); transform-origin:center 65%; }
.launch-hero::after { z-index:-2; background:linear-gradient(90deg,rgba(5,6,7,.94) 0%,rgba(5,6,7,.62) 38%,transparent 70%),linear-gradient(0deg,rgba(5,6,7,.8),transparent 38%,rgba(5,6,7,.4)); }
.launch-heading,.launch-context,.launch-bottom { z-index:2; }
.launch-heading { position:relative; width:min(60vw,960px); max-width:none; }
.cinematic-home .launch-heading { position:relative !important; z-index:4; isolation:isolate; transform:translateZ(0); }
.cinematic-home .launch-heading h1,
.cinematic-home .launch-heading .eyebrow { position:relative; z-index:4; }
.launch-heading h1 { font-size:clamp(4rem,8vw,9rem); line-height:.88; letter-spacing:-.012em; text-wrap:balance; }
.launch-context { max-width:340px; }
.launch-bottom { bottom:24px; }
.cinematic-home #carshine-live-chat { left:auto; right:clamp(18px,5%,72px); bottom:24px; }
.finish-visual { isolation:isolate; }
.finish-visual>img { position:relative; z-index:0; }
.finish-visual::after { z-index:1; background:linear-gradient(90deg,rgba(4,5,6,.86),transparent 64%),linear-gradient(180deg,rgba(4,5,6,.18),transparent 42%,rgba(4,5,6,.84)); }
.finish-visual .light-pass { z-index:2; mix-blend-mode:screen; opacity:.62; }
.finish-caption,.finish-control,.finish-credit { z-index:3; }
.finish-control { width:260px; }
@media(max-width:760px) {
 .cinematic-home .site-header,
 .cinematic-home.nav-scrolled .site-header { height:70px; padding:0 6%; }
 .launch-hero { height:780px; min-height:0; padding:112px 6% 34px; }
 .launch-heading { width:100%; max-width:100%; }
 .launch-heading h1 { font-size:clamp(3.5rem,13vw,5.4rem); line-height:.9; }
 .launch-car { left:-13%; width:126%; height:470px; bottom:20px; }
 .launch-car img { object-fit:cover; object-position:center 68%; transform:scale(1.02); }
 .launch-hero::after { z-index:-2; background:linear-gradient(0deg,rgba(5,6,7,.92) 3%,rgba(5,6,7,.28) 44%,rgba(5,6,7,.58) 100%); }
 .launch-bottom { bottom:18px; }
 .cinematic-home #carshine-live-chat { right:max(12px,env(safe-area-inset-right,0px)); bottom:max(12px,env(safe-area-inset-bottom,0px)); }
 .finish-visual .light-pass { opacity:.5; }
}
