/* September 2026 refinement: one quiet hierarchy across existing routes. */
body,body.cinematic-home { --red:#bd2630; --red-light:#ee727a; }
body .site-shell .main-nav { gap:clamp(12px,1.7vw,26px); }
body .site-shell .main-nav>a {
 font-family:var(--font-body); font-size:13px; font-weight:600;
 text-transform:none; letter-spacing:0; box-shadow:none; clip-path:none;
}
body .site-shell .main-nav>a:is([href="/account.html"],[href*="#booking"],.nav-call),
body:not(.home-body) .site-shell .main-nav>a:is([href="/account.html"],[href*="#booking"],.nav-call) {
 min-height:42px; padding:10px 16px; border-radius:4px; box-shadow:none;
 font-size:13px; font-weight:600; letter-spacing:0; text-transform:none;
}
body .site-shell .main-nav>a[href="/account.html"],
body:not(.home-body) .site-shell .main-nav>a[href="/account.html"] {
 background:transparent; border:1px solid #45484e; color:#e2e3e6;
}
body .site-shell .main-nav>a[href*="#booking"],
body:not(.home-body) .site-shell .main-nav>a[href*="#booking"] {
 background:#bd2630; border:1px solid #bd2630; color:#fff;
}
body .site-shell .main-nav>a.nav-call,
body:not(.home-body) .site-shell .main-nav>a.nav-call {
 background:transparent; border:1px solid transparent; color:#c6c8cd; padding-inline:0;
}
body .site-shell .main-nav>a:is([href="/account.html"],.nav-call):hover,
body:not(.home-body) .site-shell .main-nav>a:is([href="/account.html"],.nav-call):hover { background:#202329; border-color:#686d76; box-shadow:none; color:#fff; }
body .site-shell .main-nav>a[href*="#booking"]:hover,
body:not(.home-body) .site-shell .main-nav>a[href*="#booking"]:hover { background:#a51e28; border-color:#a51e28; box-shadow:none; }
body .site-shell :is(h2,h3),body:not(.home-body) .site-shell :is(h1,h2,h3) {
 font-family:var(--font-body); font-weight:600; line-height:1.18; letter-spacing:-.035em; text-transform:none;
}
body .site-shell h2 { font-size:clamp(28px,3.5vw,48px); }
body .site-shell h3 { font-size:clamp(20px,2vw,28px); }
body .site-shell :is(h1,h2,h3) em { color:inherit; font-style:normal; }
body .site-shell .button,body .booking-drawer .button,body .mobile-book {
 clip-path:none; border-radius:4px; box-shadow:none; text-transform:none; letter-spacing:0; font-weight:600;
}
body .button-primary,body.cinematic-home .button-primary { background:#bd2630; border-color:#bd2630; }
body .site-shell .eyebrow { font-weight:600; letter-spacing:.1em; color:#adb2bb; }
.cinematic-home .site-header,.cinematic-home.nav-scrolled .site-header {
 height:76px; background:#0c0e10f5; backdrop-filter:none; border-bottom:1px solid #272b30;
}
.cinematic-home .launch-hero { height:760px; min-height:620px; max-height:900px; padding:176px 7% 80px; background:#080a0c; }
.cinematic-home .launch-heading { width:48%; max-width:640px; transform:none; }
.cinematic-home .launch-heading h1 { font-size:clamp(58px,6vw,92px); line-height:.98; letter-spacing:0; margin:22px 0; }
.cinematic-home .launch-context { position:relative; max-width:360px; }
.cinematic-home .launch-copy { color:#c8ccd2; font-size:16px; line-height:1.75; }
.cinematic-home .launch-car { left:26%; right:0; bottom:0; width:82%; height:100%; z-index:-2; }
.cinematic-home .launch-car img { object-fit:cover; object-position:center; transform:none; animation:none; }
.cinematic-home .launch-hero::after { z-index:-1; background:linear-gradient(90deg,#080a0c 0%,#080a0c 27%,#080a0ce6 36%,#080a0c60 53%,transparent 72%); }
.cinematic-home .launch-bottom { left:7%; right:7%; }
.cinematic-home .launch-heading h1 span { animation:none; }
.cinematic-home .experience-section { padding-block:72px; }
.cinematic-home .editorial-heading { margin-bottom:36px; }
.cinematic-home .finish-section { padding:0; }
.cinematic-home .finish-scene { height:560px; min-height:0; }
.cinematic-home .finish-visual { position:relative; height:560px; min-height:0; }
.cinematic-home .finish-caption h2 { font-size:clamp(30px,4vw,56px); }
.cinematic-home .finish-visual .light-pass { opacity:.2; }
.cinematic-home .paint-study { display:none; }
.cinematic-home .detail-configurator { padding-block:72px; }
.cinematic-home .config-summary h3 { font-size:clamp(25px,3vw,38px); }
.cinematic-home .config-price>strong { font-size:clamp(40px,4vw,60px); }
.cinematic-home #vehicle-choices button[aria-pressed=true] { color:#fff; background:#261b1e; border-color:#bd4650; }
.cinematic-home #package-choices button { display:grid; grid-template-columns:60px minmax(0,1fr) auto; align-items:center; gap:12px; padding:16px 10px; min-height:78px; font-size:15px; line-height:1.4; border-left:2px solid transparent; }
.cinematic-home #package-choices button img { width:60px; height:44px; object-fit:cover; }
.cinematic-home #package-choices button b { font-weight:500; }
.cinematic-home #package-choices button .package-choice-price { display:block; color:#d1d4da; font:600 13px/1.4 var(--font-body); white-space:nowrap; }
.cinematic-home #package-choices button[aria-pressed=true] { border-left-color:#bd2630; border-bottom-color:#393e46; background:#1a1e24; }
.cinematic-home .mobile-story-visual { box-shadow:none; border-color:#353a41; }
.cinematic-home .mobile-story h2 { font-family:var(--font-body); font-weight:600; text-transform:none; line-height:1.18; letter-spacing:-.035em; font-size:clamp(32px,4vw,56px); }
.cinematic-home .mobile-story-copy>p:first-child { font:500 22px/1.4 var(--font-body); text-transform:none; letter-spacing:-.02em; }
.cinematic-home .journey-steps li { background:transparent; border:0; border-top:1px solid #343a43; }
.cinematic-home .journey-steps li::before { display:none; }
.cinematic-home .journey-steps h3 { font:600 20px/1.4 var(--font-body); text-transform:none; letter-spacing:-.02em; }
.cinematic-home .next-visit h2 { font-size:clamp(30px,4vw,48px); }
/* The form uses one next action after selection, with compact nested legends. */
body .booking-drawer { color-scheme:dark; }
body .booking-drawer .booking-intro { display:block; margin-bottom:24px; }
body .booking-drawer .booking-intro h2 { font:600 clamp(28px,3vw,40px)/1.15 var(--font-body); letter-spacing:-.035em; text-transform:none; margin:10px 0; }
body .booking-drawer .booking-intro h2 em { color:inherit; }
body .booking-drawer .booking-intro>p:not(.eyebrow) { font-size:14px; margin:12px 0 0; }
body .booking-drawer .drawer-sticky { position:static; box-shadow:none; margin-bottom:28px; }
body .booking-drawer .booking-step { min-width:0; padding:0 0 24px; }
body .booking-drawer .booking-step>legend { font:600 24px/1.3 var(--font-body); text-transform:none; letter-spacing:-.02em; margin-bottom:8px; }
body .booking-drawer .booking-vehicle-line { margin:24px 0; padding:18px; border-radius:4px; }
body .booking-drawer .booking-vehicle-line>legend { font:600 14px/1.5 var(--font-body); text-transform:none; letter-spacing:0; max-width:100%; padding:0 8px; }
body .booking-drawer .booking-line-fields label { display:grid; gap:7px; align-content:start; }
body .booking-drawer .booking-line-fields :is(input,select) { background:#20242b; color:#f1f2f4; border:1px solid #4c535e; border-radius:4px; padding:11px 12px; min-height:46px; font:400 16px/1.4 var(--font-body); }
body .booking-drawer .booking-line-fields input::placeholder { color:#aeb4be; }
body .booking-drawer .booking-option-add strong { font:600 17px/1.4 var(--font-body); text-transform:none; letter-spacing:0; }
body .booking-drawer .booking-multi-hint { font-size:14px; line-height:1.65; }
/* Contact channels remain equally usable, with brand colors and safe clearance. */
body #carshine-live-chat,body.cinematic-home #carshine-live-chat { left:max(18px,env(safe-area-inset-left,0px)); right:auto; bottom:max(18px,env(safe-area-inset-bottom,0px)); z-index:46; }
body .carshine-chat-actions a { box-shadow:0 2px 8px #0003; }
body .carshine-chat-whatsapp { background:#168647; --chat-foreground:#fff; }
body .carshine-chat-messenger { background:#1766cf; opacity:1; transform:none; }
body.drawer-open #carshine-live-chat,body:has(.consent-banner:not([hidden])) #carshine-live-chat { visibility:hidden; }
body .consent-banner { z-index:90; background:#181b20; border:1px solid #454b55; box-shadow:0 6px 24px #0005; }
body .consent-banner p { font-size:12px; }
body .consent-banner :is(.button,.consent-essential) { background:#262b33; border:1px solid #606874; color:#fff; font:500 12px/1.4 var(--font-body); text-transform:none; letter-spacing:0; clip-path:none; border-radius:4px; min-height:42px; padding:10px 14px; box-shadow:none; }
@media(max-width:1100px) and (min-width:761px) {
 body .site-shell .main-nav { gap:12px; }
 body .site-shell .main-nav>a.nav-call { display:none; }
 .cinematic-home .launch-heading { width:60%; }
}
@media(max-width:760px) {
 .cinematic-home .launch-hero { height:740px; min-height:0; padding:112px 6% 30px; }
 .cinematic-home .launch-heading { width:100%; }
 .cinematic-home .launch-heading h1 { font-size:clamp(46px,12vw,72px); line-height:1; }
 .cinematic-home .launch-context { max-width:330px; }
 .cinematic-home .launch-copy { font-size:14px; max-width:310px; }
 .cinematic-home .launch-context .hero-actions { position:static; display:flex; flex-direction:row; align-items:center; margin-top:20px; gap:18px; }
 .cinematic-home .launch-context .button { padding:13px 16px; min-height:48px; }
 .cinematic-home .launch-car { left:-8%; width:116%; bottom:30px; height:350px; }
 .cinematic-home .launch-car img { object-fit:contain; }
 .cinematic-home .launch-hero::after { background:linear-gradient(180deg,#080a0c 0%,#080a0c 43%,#080a0c00 63%,#080a0c00 88%,#080a0c 100%); }
 .cinematic-home .launch-bottom { bottom:18px; }
 .cinematic-home .experience-section,.cinematic-home .detail-configurator { padding-block:48px; }
 .cinematic-home .finish-section { padding:0; }
 .cinematic-home .finish-scene,.cinematic-home .finish-visual { height:470px; min-height:0; }
 .cinematic-home .finish-control { max-width:210px; }
 .cinematic-home .editorial-heading { margin-bottom:28px; }
 .cinematic-home .vehicle-selector { display:block; margin-bottom:24px; }
 .cinematic-home .vehicle-selector legend { margin-bottom:14px; }
 .cinematic-home #vehicle-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
 .cinematic-home #vehicle-choices button { justify-content:flex-start; }
 .cinematic-home #package-choices { display:grid; grid-template-columns:1fr; overflow:visible; gap:0; padding-bottom:0; }
 .cinematic-home #package-choices button { width:100%; min-width:0; flex:none; min-height:68px; padding:12px 8px; grid-template-columns:48px minmax(0,1fr) auto; gap:10px; font-size:14px; }
 .cinematic-home #package-choices button img { width:48px; height:36px; }
 .cinematic-home #package-choices button .package-choice-price { font-size:12px; }
 .cinematic-home .config-display { margin-top:24px; }
 .cinematic-home .config-price { grid-template-columns:1fr 1fr; }
 body #carshine-live-chat,body.cinematic-home #carshine-live-chat { left:max(12px,env(safe-area-inset-left,0px)); right:auto; bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
 body .carshine-chat-actions a { width:44px; height:44px; transform:none; }
 body .mobile-book { left:76px; right:16px; width:auto; bottom:calc(16px + env(safe-area-inset-bottom,0px)); min-height:48px!important; }
 body .consent-banner { bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
 body .booking-drawer .booking-section { padding:22px 18px; }
 body .booking-drawer .booking-vehicle-line { padding:14px; }
 body .site-shell .main-nav>a { font-size:16px; }
}
/* Out-of-shell controls and nested booking cards share the same typography. */
body.cinematic-home .mobile-book { clip-path:none; text-transform:none; letter-spacing:0; font-weight:600; border-radius:4px; }
body .booking-drawer :is(h3,.booking-option-name) { font:600 18px/1.4 var(--font-body); text-transform:none; letter-spacing:-.02em; }
body .booking-drawer .booking-line-fields label { display:block; line-height:1.5; }
body .booking-drawer .booking-line-fields :is(input,select) { display:block; margin-top:7px; }
/* Secondary routes use the same flat surfaces and readable navigation. */
body:not(.home-body) .site-shell .main-nav>a { text-transform:none; font-size:13px; letter-spacing:0; font-weight:600; }
body:not(.home-body) .site-shell h1 { font-size:clamp(36px,4.5vw,64px); }
body:not(.home-body) .site-shell :is(.gallery-page-hero,.gallery-portfolio,.packages-hero,.package-catalog,.service-detail-hero,.member-hero) { background:#0e1013; }
body:not(.home-body) .site-shell :is(.gallery-page-hero,.gallery-portfolio,.packages-hero,.service-detail-hero)::before,
body:not(.home-body) .site-shell :is(.gallery-page-hero,.gallery-portfolio,.packages-hero,.service-detail-hero)::after { display:none; }
body:not(.home-body) .gallery-page-hero-panel strong { font:600 36px/1.15 var(--font-body); text-transform:none; letter-spacing:-.03em; }
body:not(.home-body) .gallery-page-hero-panel { background:#181c22; border-color:#383e48; }
@media(max-width:760px) { body:not(.home-body) .site-shell .main-nav>a { font-size:16px; } }
