/* Campaign presentation. Booking business rules remain in app.js. */
.cinematic-home { --red:#dc252d; --red-light:#ff7278; --muted:#b5b6bb; background:#08090a; }
.cinematic-home::before { display:none; }
.cinematic-home .site-shell { max-width:1920px; overflow:clip; background:#08090a; border:0; }
.cinematic-home h1,.cinematic-home h2,.cinematic-home h3 { letter-spacing:-.015em; line-height:.94; }
.cinematic-home h2 { font-size:clamp(3.7rem,7vw,7.2rem); }
.cinematic-home h2 em { color:#b8babf; font-style:normal; }
.cinematic-home p { line-height:1.7; }
.cinematic-home .eyebrow { font-size:.75rem; letter-spacing:.18em; font-weight:700; color:#ceced1; }
.cinematic-home .button { font-size:.8125rem; min-height:52px; border-radius:2px; clip-path:none; box-shadow:none; padding:1rem 1.4rem; }
.cinematic-home .button:hover { transform:none; }
.cinematic-home .button-primary { background:var(--red); border-color:var(--red); }
.cinematic-home .button-primary:hover { background:#ed343d; }
.cinematic-home .button-ghost { background:transparent; border-color:#67696e; }
.cinematic-home .text-link { font-size:.875rem; line-height:1.5; display:inline-block; color:#f0f0f2; text-transform:none; letter-spacing:0; padding-block:.7rem; }
.cinematic-home :is(a,button,input,select,summary,textarea):focus-visible { outline:2px solid #fff; outline-offset:5px; }
.cinematic-home .utility-bar { display:none; }
.cinematic-home .site-header { position:fixed; top:0; left:50%; transform:translateX(-50%); width:min(100%,1920px); height:94px; padding:0 4.5%; border-bottom:1px solid #ffffff1c; background:#08090a66; backdrop-filter:none; transition:width .3s,top .3s,height .3s,background .3s; }
.cinematic-home.nav-scrolled .site-header { top:12px; width:min(92%,1320px); height:70px; border:1px solid #ffffff26; border-radius:4px; background:#111214f2; }
.cinematic-home .brand { width:155px; height:52px; }
.cinematic-home .brand img { width:155px; transform:none; }
.cinematic-home .main-nav { gap:clamp(1rem,2vw,2.1rem); font-size:.75rem; letter-spacing:.06em; }
.cinematic-home .main-nav>a[href*="#booking"] { padding:.9rem 1.3rem; background:var(--red); border:0; color:white; }
.cinematic-home .main-nav .nav-call { display:none; }
.launch-hero { height:min(960px,100svh); min-height:760px; position:relative; isolation:isolate; overflow:hidden; padding:170px 6% 80px; background:#050607; }
.launch-car { position:absolute; inset:auto 0 15px; height:85%; z-index:-2; pointer-events:none; transform:translate3d(var(--car-x,0px),var(--car-y,0px),0); }
.launch-car img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.launch-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#050607a6,transparent 57%),linear-gradient(0deg,#050607 1%,transparent 20%,transparent 80%,#050607); pointer-events:none; }
.launch-word { position:absolute; z-index:-1; top:100px; left:5%; font:800 clamp(8rem,20.5vw,25rem)/.9 var(--font-display); letter-spacing:.015em; color:#ffffff06; -webkit-text-stroke:1px #ffffff0e; pointer-events:none; }
.launch-heading { max-width:650px; }
.launch-heading h1 { font-size:clamp(5.5rem,9.8vw,10rem); margin:1.4rem 0 1.5rem; letter-spacing:-.025em; }
.launch-heading h1 span:last-child { color:#eeeef0; }
.launch-copy { color:#d0d1d5; max-width:350px; font-size:1rem; }
.launch-heading .hero-actions { display:flex; align-items:center; margin-top:1.7rem; gap:1.5rem; }
.launch-process { display:inline-flex; align-items:center; gap:1.4rem; padding-block:1rem; font-size:.8125rem; }
.launch-bottom { position:absolute; bottom:28px; left:6%; right:6%; display:flex; align-items:center; justify-content:space-between; color:#c2c3c7; text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; gap:1rem; }
.launch-bottom .studio-label { font-size:.75rem; color:#92949a; margin-left:auto; margin-right:3rem; }
.launch-facts { display:grid; grid-template-columns:repeat(3,1fr); padding:30px 6%; border-block:1px solid #ffffff23; }
.launch-facts p { margin:0; font-size:.875rem; padding:0 6%; border-left:1px solid #ffffff23; }
.launch-facts p:first-child { padding-left:0; border:0; }
.launch-facts span { display:block; color:#a3a5ab; letter-spacing:.12em; font-size:.75rem; margin-bottom:.4rem; }
.experience-section { padding:110px 6%; scroll-margin-top:105px; }
.editorial-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:3rem; margin-bottom:3rem; }
.editorial-heading>p,.editorial-heading>div:last-child>p { max-width:340px; color:#b5b6bc; font-size:1rem; }
.editorial-heading .eyebrow { margin-bottom:1.4rem; }
.finish-section { background:#101113; }
.finish-visual { position:relative; height:620px; overflow:hidden; background:#0a0b0c; --light-position:50%; }
.finish-visual>img { width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.finish-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#000b,transparent 70%); pointer-events:none; }
.finish-caption { position:absolute; z-index:2; left:5%; top:12%; }
.finish-caption>span { font-size:.75rem; letter-spacing:.14em; }
.finish-caption h3 { font-size:clamp(3.5rem,5.5vw,5.5rem); margin:1.3rem 0; }
.finish-caption p { color:#e5e5e8; font-size:.875rem; }
.light-pass { position:absolute; inset:0; pointer-events:none; background:url('/ferrari-detail.webp') center 55%/cover; filter:brightness(1.22) saturate(1.03); mask-image:linear-gradient(110deg,transparent 30%,black 50%,transparent 70%); mask-size:240% 100%; mask-position:var(--light-position) 0; }
.finish-control { position:absolute; z-index:3; bottom:28px; left:5%; width:240px; font-size:.8125rem; }
.finish-control input { display:block; width:100%; margin-top:1rem; accent-color:#fff; cursor:ew-resize; }
.finish-credit { position:absolute; right:3%; bottom:30px; z-index:2; font-size:.75rem; color:#eee; }
.detail-configurator { background:#090a0c; }
.vehicle-selector { display:flex; align-items:center; gap:3rem; border:0; margin:0 0 2.5rem; padding:0 0 2rem; border-bottom:1px solid #ffffff28; }
.vehicle-selector legend { float:left; margin-right:3rem; padding-top:1rem; font:600 .875rem var(--font-body); text-transform:none; }
#vehicle-choices { display:flex; flex-wrap:wrap; gap:.5rem; }
#vehicle-choices button { padding:.9rem 1.8rem; min-height:48px; background:transparent; border:1px solid #45474e; color:#bbbcc1; font-size:.875rem; }
#vehicle-choices button[aria-pressed=true] { color:#111; background:#eeeef0; border-color:#eeeef0; }
.config-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:3rem; }
.control-label { color:#adafb6; font-size:.8125rem; letter-spacing:.07em; margin:0 0 1.4rem; }
#package-choices { display:grid; }
#package-choices button { text-align:left; min-height:72px; padding:1.1rem 1rem; border:0; border-bottom:1px solid #ffffff26; background:transparent; color:#aeb0b7; font:600 1.5rem/1.1 var(--font-display); text-transform:uppercase; display:flex; justify-content:space-between; gap:1rem; }
#package-choices button span { font:400 .75rem var(--font-body); color:#888b94; }
#package-choices button[aria-pressed=true] { border-left:3px solid var(--red); background:#181a1e; color:white; }
.config-car { height:290px; position:relative; overflow:hidden; background:#050607; }
.config-car img { width:100%; height:100%; object-fit:cover; object-position:50% 68%; transition:transform .65s ease,filter .65s; transform:scale(var(--config-zoom,1)); filter:brightness(var(--config-light,1)); }
#config-level { position:absolute; top:20px; left:24px; font:500 2rem var(--font-display); color:#85878d; }
.config-summary { border-top:1px solid #ffffff2b; padding-top:1.8rem; display:grid; grid-template-columns:1fr 210px; gap:2rem; }
.config-summary h3 { font-size:2.5rem; margin:0 0 1rem; }
#config-copy { color:#adafb7; font-size:.875rem; }
#config-includes { padding:0; margin:1.2rem 0; list-style:none; columns:2; column-gap:1.4rem; }
#config-includes li { font-size:.8125rem; color:#d0d1d7; padding:0 0 .7rem 1.2rem; position:relative; break-inside:avoid; line-height:1.5; }
#config-includes li::before { content:'✓'; position:absolute; left:0; color:#ff777d; }
.config-price { display:flex; flex-direction:column; align-items:flex-start; }
.config-price>strong { font:600 4.5rem/1 var(--font-display); }
.config-price>span { font-size:.875rem; color:#b4b6be; margin:.5rem 0 1.5rem; }
.config-price .button { width:100%; font-size:.75rem; padding:.9rem; }
.config-price>a { font-size:.8125rem; padding:1rem 0; }
#config-seats-label { font-size:.875rem; margin-bottom:1rem; }
#config-seats { max-width:100px; margin-top:.5rem; }
.complete-pricing { margin:3rem 0 1rem; border-block:1px solid #ffffff2b; }
.complete-pricing summary { padding:1.3rem 0; font-size:.875rem; cursor:pointer; }
.complete-pricing summary span { float:right; }
.pricing-row { display:grid; grid-template-columns:1fr 1fr; gap:2rem; border-top:1px solid #ffffff19; padding:1.2rem 0; font-size:.875rem; }
.pricing-row p { margin:0; color:#b5b7be; }
.pricing-row a { font-weight:700; }
.difference-section { background:#131518; }
.hotspot-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:5%; align-items:center; }
.hotspot-stage { aspect-ratio:1; position:relative; overflow:hidden; }
.hotspot-stage>img { width:100%; height:100%; object-fit:cover; object-position:50% 64%; transition:transform .6s; transform-origin:var(--focus-x,50%) var(--focus-y,50%); transform:scale(var(--focus-scale,1)); }
.hotspot-dot { position:absolute; width:44px; height:44px; border-radius:50%; color:white; background:#111b; border:1px solid #fff9; box-shadow:0 0 0 7px #0002; transform:translate(-50%,-50%); font-size:1.25rem; }
.hotspot-dot[aria-pressed=true] { background:var(--red); border-color:#fff; }
.hotspot-paint { left:66%; top:43%; }.hotspot-headlights { left:65%; top:66%; }.hotspot-windows { left:46%; top:27%; }.hotspot-interior { left:22%; top:24%; }.hotspot-engine { left:85%; top:39%; }.hotspot-wheels { left:33%; top:72%; }
#hotspot-list { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2.2rem; }
#hotspot-list button { background:transparent; color:#babdc4; border:1px solid #5d6068; min-height:44px; padding:.6rem .9rem; font-size:.8125rem; }
#hotspot-list button[aria-pressed=true] { background:#eeeef0; color:#111; border-color:#eeeef0; }
#hotspot-panel h3 { font-size:3rem; margin-bottom:1rem; }
#hotspot-panel p,#hotspot-panel li { color:#b9bcc4; font-size:.9375rem; line-height:1.6; }
#hotspot-panel ul { padding-left:1.1rem; }
#hotspot-panel a { display:block; font-size:.875rem; padding:.7rem 0; border-bottom:1px solid #ffffff26; }
.work-section { padding-right:0; }
.paint-study { position:relative; height:430px; overflow:hidden; background:#08090a; padding:70px 6%; }
.paint-study>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.02) translateX(var(--paint-shift,0px)); }
.paint-study>div { position:relative; z-index:1; }
.paint-study h2 { font-size:clamp(3.8rem,6vw,6rem); text-shadow:0 3px 20px #000; }
.paint-study>small { position:absolute; bottom:22px; right:6%; font-size:.75rem; color:#ddd; }
@keyframes detail-pass { from { mask-position:100% 0; } to { mask-position:0 0; } }
@media (prefers-reduced-motion:no-preference) { .finish-visual.first-pass .light-pass { animation:detail-pass 1.1s ease-out; } }
@media (max-width:760px) { .paint-study { height:380px; padding-top:60px; }.paint-study>img { object-position:62%; }.paint-study h2 { font-size:3.8rem; } }
.work-section .editorial-heading { padding-right:6.4%; }
.work-track { display:flex; gap:22px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#676970 #141518; padding:0 6% 18px 0; }
.work-card { border:0; background:transparent; color:#fff; padding:0; flex:0 0 36%; min-width:270px; text-align:left; scroll-snap-align:start; }
.work-card img { display:block; width:100%; height:430px; object-fit:cover; transition:filter .3s; }
.work-card:hover img { filter:brightness(1.1); }
.work-card>span { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; font-size:.8125rem; }
.work-card b { font-weight:400; color:#adb0b8; }
.work-controls { display:flex; align-items:center; justify-content:space-between; padding:1rem 6% 0 0; font-size:.8125rem; color:#b8bbc3; }
.work-controls button { background:none; border:1px solid #636770; color:white; width:48px; height:48px; margin-left:.5rem; }
.film-section { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; align-items:center; background:#111315; }
.film-section p:not(.eyebrow) { margin:2rem 0; color:#b7bac2; }
.film-frame { background:#050607; min-height:380px; display:flex; flex-direction:column; justify-content:center; }
.film-frame video { width:100%; max-height:500px; }
.film-frame p { padding:0 1.5rem; font-size:.875rem; }
.mobile-story { position:relative; display:grid; grid-template-columns:1fr 1fr; column-gap:8%; }
.mobile-story>.eyebrow { grid-column:1/-1; }
.mobile-story h2 { font-size:clamp(5rem,12vw,12rem); }
.mobile-story-copy { align-self:end; max-width:480px; }
.mobile-story-copy>p:first-child { font-size:1.5rem; color:#fff; }
.mobile-story-copy p { color:#adafb8; }
.journey-steps { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); list-style:none; gap:3rem; padding:3rem 0 0; margin:3rem 0 0; border-top:1px solid #ffffff26; }
.journey-steps span { color:#ff757c; font-size:.875rem; }
.journey-steps h3 { font-size:1.8rem; margin:1rem 0; }
.journey-steps p { font-size:.875rem; color:#acafb7; }
.trust-section { background:#17191d; }
.trust-section h2 { font-size:clamp(3rem,5vw,5rem); }
.trust-section>p:not(.eyebrow) { margin:2rem 0 1rem; color:#bdc0c7; }
.trust-section>div { display:flex; align-items:center; gap:2rem; }
.next-visit { display:flex; align-items:center; justify-content:space-between; gap:3rem; background:#202227; border-bottom:1px solid #ffffff26; }
.next-visit h2 { font-size:clamp(4rem,8vw,8rem); }
#next-slot-copy { font-size:1.125rem; margin:2rem 0 .5rem; }
#next-slot-meta { color:#c0c3cb; font-size:.8125rem; }
.cinematic-home .faq-section { background:#101113; padding:90px 6%; }
.cinematic-home .faq-section h2 { font-size:clamp(3rem,4.5vw,4.7rem); }
.cinematic-home .faq-intro>p { font-size:1rem; }
.cinematic-home .faq-list details { border-radius:0; background:transparent; border-color:#484b53; }
.cinematic-home .faq-list summary { font-size:.9375rem; min-height:60px; }
.cinematic-home .faq-list p { font-size:.9375rem; color:#babdc6; }
.cinematic-home .reveal { opacity:1; transform:none; }
.cinematic-home .booking-section { background:#111316; padding:3rem; display:block; }
.cinematic-home .booking-intro { position:static; margin-bottom:2rem; }
.cinematic-home .booking-intro h2 { font-size:3.5rem; }
.cinematic-home .booking-intro>p { max-width:none; font-size:1rem; margin:1rem 0; }
.cinematic-home .booking-intro .phone-pill { display:none; }
.cinematic-home .booking-panel { box-shadow:none; border-radius:0; background:#15171b; }
.cinematic-home .booking-steps { position:sticky; top:-1px; z-index:3; background:#15171b; padding:1.2rem; }
.cinematic-home .booking-steps .step b { font-size:.75rem; }
.cinematic-home .booking-steps .step[aria-current=step] { color:#ff8b91; }
.cinematic-home .booking-step { padding:1.6rem; }
.cinematic-home .booking-option { border-radius:0; min-height:130px; }
.cinematic-home .booking-option b { font-size:1.4rem; }
.cinematic-home .booking-option span,.cinematic-home .booking-multi-hint,.cinematic-home .form-grid label,.cinematic-home .secure-note { font-size:.875rem; }
.cinematic-home .booking-option i { font-size:.75rem; }
.cinematic-home .calendar-day,.cinematic-home .time-slot { min-height:44px; font-size:.875rem; }
.cinematic-home .form-grid input,.cinematic-home .form-grid textarea,.cinematic-home select { font-size:1rem; }
.cinematic-home .booking-service-options { gap:.6rem; }
.booking-drawer { position:fixed; inset:0 0 0 auto; width:min(850px,100%); height:100dvh; max-height:none; max-width:none; margin:0; border:0; padding:0; background:#111316; color:#f3f3f5; overscroll-behavior:contain; }
.booking-drawer[open] { animation:drawer-in .3s ease-out; }
.booking-drawer::backdrop,.work-viewer::backdrop { background:#000c; }
.drawer-close { position:sticky; top:0; margin:0 0 0 auto; z-index:10; display:block; min-width:90px; min-height:48px; border:0; border-left:1px solid #4e515b; border-bottom:1px solid #4e515b; color:white; background:#22252a; }
.drawer-open { overflow:hidden; }
.cinematic-home .site-footer { padding:65px 6% 30px; background:#070809; }
.cinematic-home .site-footer p,.cinematic-home .site-footer a { font-size:.8125rem; }
.cinematic-home .footer-brand img { width:180px; }
.cinematic-home .footer-brand p { font-size:1.5rem; }
.cinematic-home .consent-banner { z-index:90; }
.cinematic-home .toast { z-index:150; }
.mobile-book { display:none !important; }
.work-viewer { background:#08090b; color:white; border:0; padding:24px; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; }
.work-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.viewer-toolbar,.viewer-footer { display:flex; align-items:center; gap:1rem; justify-content:space-between; font-size:.875rem; }
.viewer-toolbar button,.viewer-footer>button { color:white; background:transparent; border:1px solid #626670; min-width:48px; min-height:48px; }
.viewer-toolbar button { padding:0 1rem; }
.viewer-media { display:grid; place-items:center; overflow:hidden; padding:20px 0; touch-action:pan-y; }
.viewer-media img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.viewer-footer p { margin:0 auto 0 0; }
.comparison-section { margin-top:4rem; }
.comparison-heading { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.comparison-heading h3 { font-size:3rem; margin:0; }
.comparison-modes { display:flex; flex-wrap:wrap; gap:.5rem; }
.comparison-modes button { background:transparent; color:white; border:1px solid #71747d; padding:.8rem; min-height:44px; font-size:.875rem; }
.comparison-modes button[aria-pressed=true] { background:#eee; color:#111; }
.comparison-stage { position:relative; aspect-ratio:16/10; overflow:hidden; touch-action:pan-y; background:#111; --compare:50%; --lens-x:50%; --lens-y:50%; }
.comparison-stage>img,.comparison-stage>canvas { position:absolute; width:100%; height:100%; object-fit:contain; inset:0; }
#comparison-after { clip-path:inset(0 0 0 var(--compare)); }
.comparison-stage[data-mode=lens] #comparison-after { clip-path:circle(105px at var(--lens-x) var(--lens-y)); }
.comparison-stage[data-mode=wipe] { touch-action:none; }
.comparison-stage[data-mode=wipe] #comparison-after { clip-path:none; }
#comparison-wipe { display:none; }
.comparison-stage[data-mode=wipe] #comparison-wipe { display:block; }
.compare-label { position:absolute; z-index:2; top:18px; background:#08090bdd; padding:.5rem .8rem; font-size:.8125rem; pointer-events:none; }
.before-label { left:18px; }.after-label { right:18px; }
.comparison-slider { display:block; font-size:.875rem; margin:1rem 0; }
.comparison-slider input { display:block; width:100%; accent-color:var(--red); margin:1rem 0; }
#comparison-help { font-size:.875rem; color:#bfc2ca; }
@keyframes drawer-in { from { transform:translateX(60px); opacity:.4; } }
@keyframes campaign-in { from { opacity:.2; transform:translateY(10px); } }
@keyframes car-emerge { from { opacity:.2; filter:brightness(.25); } to { opacity:1; filter:brightness(1); } }
@media (prefers-reduced-motion:no-preference) {
  .launch-car img { animation:car-emerge 1.4s ease-out both; }
  .launch-heading { animation:campaign-in .85s ease-out both; }
  .config-summary.is-changing { animation:campaign-in .35s ease-out; }
}
@media (min-width:1400px) { .launch-heading { padding-top:20px; } }
@media (max-width:1100px) {
  .cinematic-home .main-nav { gap:.8rem; }
  .cinematic-home .main-nav a { font-size:.6875rem; }
  .launch-hero { min-height:720px; padding-top:155px; }
  .launch-car { width:120%; left:-10%; }
  .config-layout { grid-template-columns:220px 1fr; gap:1.5rem; }
  .config-summary { grid-template-columns:1fr; }
  .config-price { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:1rem; }
  #config-includes { columns:2; }
  .hotspot-layout { grid-template-columns:1.1fr 1fr; }
  .work-card { flex-basis:44%; }
  .film-section { gap:2rem; }
}
@media (max-width:760px) {
  .cinematic-home .site-header { height:76px; padding:0 5%; }
  .cinematic-home.nav-scrolled .site-header { width:94%; top:8px; height:64px; }
  .cinematic-home .brand,.cinematic-home .brand img { width:135px; }
  .cinematic-home .menu-toggle { display:block; min-height:44px; }
  .cinematic-home .main-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#14161a; padding:1.5rem; border:1px solid #ffffff24; }
  .cinematic-home .main-nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .cinematic-home .main-nav a { font-size:.875rem; padding:1rem; }
  .launch-hero { height:800px; min-height:0; max-height:none; padding:125px 6% 40px; }
  .launch-heading { max-width:100%; }
  .launch-heading h1 { font-size:clamp(3.4rem,15vw,6rem); margin:1.4rem 0; }
  .launch-heading .eyebrow { font-size:.6875rem; }
  .launch-copy { font-size:.9375rem; max-width:320px; }
  .launch-heading .hero-actions { gap:1.2rem; margin-top:1.3rem; }
  .launch-process { font-size:.75rem; gap:.5rem; }
  .launch-car { left:-12%; width:122%; height:360px; bottom:65px; transform:none; }
  .launch-car img { object-position:center 75%; }
  .launch-hero::after { background:linear-gradient(0deg,#050607,transparent 17%,transparent 42%,#050607 65%); }
  .launch-word { top:auto; bottom:265px; font-size:25vw; left:4%; }
  .launch-bottom { bottom:22px; font-size:.6875rem; }
  .launch-bottom>span:first-child { display:none; }
  .launch-bottom .studio-label { margin:0; }
  .launch-facts { grid-template-columns:1fr; padding:1rem 6%; }
  .launch-facts p { padding:1rem 0; border-left:0; border-top:1px solid #ffffff1f; font-size:.875rem; display:flex; align-items:center; gap:1.5rem; }
  .launch-facts p:first-child { border:0; }
  .launch-facts span { width:40%; flex-shrink:0; margin:0; font-size:.6875rem; }
  .experience-section { padding:70px 6%; }
  .editorial-heading { display:block; margin-bottom:2rem; }
  .editorial-heading>p,.editorial-heading>div:last-child>p { margin:1.5rem 0 0; max-width:none; }
  .cinematic-home h2 { font-size:clamp(3.4rem,12vw,5.5rem); }
  .finish-visual { height:560px; }
  .finish-visual>img { object-position:55% 50%; }
  .light-pass { background-position:55% 50%; }
  .finish-caption { top:6%; }
  .finish-caption h3 { font-size:3.6rem; }
  .finish-credit { left:5%; right:auto; bottom:18px; font-size:.6875rem; }
  .finish-control { bottom:55px; }
  .vehicle-selector { display:block; }
  .vehicle-selector legend { float:none; margin:0 0 1rem; }
  #vehicle-choices { display:grid; grid-template-columns:repeat(4,1fr); gap:.4rem; }
  #vehicle-choices button { padding:.8rem .6rem; }
  .config-layout { display:flex; flex-direction:column; }
  #package-choices { display:flex; overflow-x:auto; padding-bottom:.7rem; gap:.5rem; }
  #package-choices button { flex:0 0 150px; border:1px solid #454850; min-height:75px; font-size:1.25rem; }
  .config-car { height:230px; }
  .config-summary { grid-template-columns:1fr; gap:1rem; }
  .config-summary h3 { font-size:2.6rem; }
  .config-price { gap:.7rem; }
  .config-price>strong { font-size:4rem; }
  .config-price>span { margin:0; }
  .config-price .button { grid-column:1/-1; }
  .config-price>a { grid-column:1/-1; text-align:center; }
  .pricing-row { grid-template-columns:1fr; gap:.5rem; }
  .hotspot-layout { grid-template-columns:1fr; gap:2rem; }
  .hotspot-stage { aspect-ratio:1; }
  #hotspot-list { margin-bottom:1.5rem; }
  .work-section { padding-right:0; }
  .work-card { flex-basis:82%; }
  .work-card img { height:380px; }
  .work-controls>span { max-width:55%; }
  .film-section { grid-template-columns:1fr; }
  .film-frame { min-height:260px; }
  .mobile-story { grid-template-columns:1fr; }
  .mobile-story h2 { font-size:25vw; margin-bottom:2rem; }
  .journey-steps { grid-template-columns:1fr; gap:1.4rem; margin-top:1.5rem; padding-top:1.5rem; }
  .journey-steps li { padding-left:45px; position:relative; }
  .journey-steps span { position:absolute; top:1rem; left:0; }
  .trust-section>div { flex-direction:column; align-items:flex-start; gap:.5rem; }
  .next-visit { display:block; }
  .next-visit>.button { margin-top:2rem; }
  .cinematic-home .faq-section { padding:70px 6%; }
  .cinematic-home .booking-section { padding:1.2rem; }
  .cinematic-home .booking-step { padding:1rem; }
  .cinematic-home .booking-service-options { grid-template-columns:1fr; }
  .cinematic-home .booking-option { min-height:110px; }
  .cinematic-home .booking-steps { gap:.4rem; padding:1rem .7rem; }
  .cinematic-home .booking-steps .step b { font-size:.6875rem; letter-spacing:0; }
  .cinematic-home .form-grid { grid-template-columns:1fr; }
  .cinematic-home .site-footer { padding-bottom:110px; }
  .mobile-book { display:flex !important; position:fixed; bottom:14px; left:auto; right:5%; width:calc(90% - 64px); z-index:45; min-height:52px !important; box-shadow:0 5px 25px #0009 !important; }
  .cinematic-home .consent-banner { bottom:80px; font-size:.8125rem; }
  .work-viewer { padding:14px; }
  .viewer-footer { flex-wrap:wrap; }
  .viewer-footer .button { flex-basis:100%; }
  .comparison-heading { display:block; }
  .comparison-modes { margin-top:1rem; }
  .comparison-stage { aspect-ratio:1; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .cinematic-home *, .cinematic-home *::before,.cinematic-home *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .launch-car,.hotspot-stage>img,.config-car img { transform:none !important; }
}
[hidden] { display:none !important; }
/* Neutralise old campaign effects and reserve space in the booking sheet. */
.cinematic-home .main-nav>a { clip-path:none; transform:none; font-style:normal; box-shadow:none; animation:none; }
.cinematic-home .main-nav>a::before { display:none; }
.cinematic-home .main-nav>a[href="/account.html"] { background:none; border:0; padding:0; box-shadow:none; }
.cinematic-home .main-nav>a[href="/account.html"]::after { display:none; }
.cinematic-home .main-nav>a[href="#booking"] { clip-path:none; transform:none; box-shadow:none; }
.cinematic-home .main-nav>a[href="#booking"]::after { color:white; }
.drawer-close { width:100%; height:48px; text-align:right; padding-right:24px; border-left:0; }
.drawer-sticky { position:sticky; top:48px; z-index:4; }
.drawer-sticky .drawer-summary,.cinematic-home .drawer-sticky .booking-steps { position:static; }
.drawer-continue { width:100%; border-radius:0 !important; }
.drawer-summary { position:sticky; top:48px; z-index:4; padding:1rem 1.2rem; color:#f4f4f5; background:#22252a; font-size:.9375rem; line-height:1.5; border-bottom:1px solid #4a4d56; }
.cinematic-home .booking-steps { top:102px; }
.cinematic-home .booking-step { scroll-margin-top:165px; }
.cinematic-home .booking-option.selected { background:#25191d; }
.cinematic-home .booking-option { background:#15171b; }
.cinematic-home .step b { display:inline; }
.cinematic-home .booking-option::after { display:none; }
@media (max-width:760px) {
  .cinematic-home .main-nav>a[href="/account.html"] { padding:1rem; }
  .drawer-summary { font-size:.8125rem; min-height:66px; }
  .cinematic-home .booking-steps { top:114px; }
  .launch-car img { object-fit:contain; }
  .launch-car { width:100%; left:0; }
}
