/* LuCar V9.1 / Scoped audit remediation / 2026-10-30
   Preserves all business and showroom functions; no global palette reversal. */
:root { --v91-header: 84px; --v91-ink: #fbf0de; --v91-muted: #d9c5a9; --v91-gold: #ead0a1; }
html { scroll-padding-top: calc(var(--v91-header) + 42px); }
#main, main { min-width:0; }
main section[id] { scroll-margin-top: calc(var(--v91-header) + 42px); }
.site-header { min-height:var(--v91-header); height:var(--v91-header); }
.site-header .desktop-nav { gap:clamp(11px,1.2vw,21px); }
.site-header .desktop-nav a { font-size:12px; letter-spacing:.045em; line-height:1.55; white-space:nowrap; }
.site-header .header-contact { font-size:12px; }
.section-heading { align-items:center; margin-bottom:clamp(32px,3.5vw,52px); }
.section-heading h2 { font-size:clamp(40px,4vw,62px); line-height:1.14; letter-spacing:-.025em; max-width:740px; text-wrap:balance; }
.section-aside p { font-size:clamp(14px,1vw,16px); line-height:1.75; }
.section-edge { padding-block:clamp(88px,7vw,116px); }
/* Preserve the whole service vehicle: the supplied image is a landscape image. */
.services { padding-top:clamp(104px,8vw,136px); }
.services .section-heading { padding-top:12px; }
.service-gallery { grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); min-height:0; align-items:stretch; gap:clamp(18px,2.3vw,42px); }
.service-row { grid-template-columns:32px minmax(0,1fr) 30px; gap:clamp(10px,1.25vw,18px); min-height:106px; padding:22px 12px 22px 5px; font-size:clamp(27px,2.1vw,35px); line-height:1.2; letter-spacing:-.018em; }
.service-row.active,.service-row:hover { padding-left:14px; }
.service-row:focus-visible { outline:2px solid var(--v91-gold); outline-offset:-3px; }
.service-visual { margin:0; min-height:450px; height:auto; background:radial-gradient(ellipse at center,#3f3023 0%,#241912 44%,#100d0b 78%); }
.service-visual img { width:100%;height:100%;object-fit:contain;object-position:center center;filter:saturate(.9) brightness(.96);transform:none; }
.service-visual img.swap { opacity:.25; transform:none; }
.service-visual-foot { padding:64px 24px 22px; }
.service-visual-foot span { font-size:11px;letter-spacing:.08em; }
.service-visual-foot button { font-size:12px;line-height:1.5; }
/* Contrast-restoration: pricing calculator is intentionally dark; all its text and controls must match. */
.booking-form {
 --form-bg:#1b1510; --form-text:#fbf0de; --form-muted:#d9c5a9;
 --form-accent:#edc991; --form-border:#9c8467;
 background:var(--form-bg); color:var(--form-text);
 border:1px solid #ae8d5f; min-width:0; box-shadow:0 26px 88px #130c0670;
}
.booking-form .booking-top {color:var(--form-muted);font-size:12px;letter-spacing:.085em;border-bottom-color:#877154;line-height:1.5;}
.booking-form label {color:var(--form-muted);font-size:12px;letter-spacing:.075em;line-height:1.5;}
.booking-form .select-wrap select {background:transparent;color:var(--form-text);border-bottom:1px solid var(--form-border);font-size:clamp(14px,1vw,16px);line-height:1.45;min-height:48px;padding:12px 26px 12px 0;}
.booking-form .select-wrap select option {background:var(--form-bg);color:var(--form-text);}
.booking-form .select-wrap span {color:var(--form-text);font-size:18px;top:15px;}
.booking-form .day-count output {color:var(--form-text);font-size:clamp(40px,4vw,54px);font-variant-numeric:tabular-nums;}
.booking-form .day-count span {color:var(--form-muted);font-size:12px;}
.booking-form .range-end {color:var(--form-muted);font-size:12px;letter-spacing:.04em;}
.booking-form .slider {accent-color:var(--form-accent);background:#9b815e;min-height:4px;}
.booking-form .slider::-webkit-slider-thumb {background:var(--form-accent);border:4px solid #342517;box-shadow:0 0 0 2px var(--form-accent);width:23px;height:23px;}
.booking-form .slider::-moz-range-thumb {background:var(--form-accent);border:3px solid #342517;box-shadow:0 0 0 2px var(--form-accent);width:18px;height:18px;border-radius:50%;}
.booking-form .presets {gap:10px;}
.booking-form .presets button {color:var(--form-text);border:1px solid var(--form-border);background:#30241b;font-size:12px;letter-spacing:.035em;min-height:45px;padding:12px 8px;transition:background .2s,border-color .2s,color .2s;}
.booking-form .presets button.active,.booking-form .presets button:hover {background:#e4c392;color:#21170e;border-color:#e4c392;font-weight:700;}
.booking-form .presets button:focus-visible,.booking-form select:focus-visible,.booking-form .slider:focus-visible,.booking-form .booking-cta:focus-visible {outline:3px solid #f2d7ad;outline-offset:4px;}
.booking-form .estimate {border-top-color:#8b7356;border-bottom-color:#8b7356;}
.booking-form .estimate>div>span {font-size:12px;color:var(--form-muted);letter-spacing:.065em;}
.booking-form .estimate-value {color:var(--form-text);font-size:clamp(32px,3.3vw,52px);line-height:1.2;overflow-wrap:anywhere;letter-spacing:-.018em;font-variant-numeric:tabular-nums;}
.booking-form .estimate-value small {color:var(--form-accent);font-size:.48em;}
.booking-form .estimate-unit {color:var(--form-muted);font-size:12px;line-height:1.5;}
.booking-form .booking-fine {color:var(--form-muted);font-size:12px;line-height:1.75;}
.booking-form .booking-cta {background:#e5c392;color:#1c140e;font-size:12px;letter-spacing:.065em;min-height:54px;gap:15px;}
.booking-form .booking-cta:hover {background:#fbdfaf;}
.booking-form .hourly {color:var(--form-muted);font-size:12px;line-height:1.65;}
.booking-form .hourly a {color:var(--form-text);}
.concierge-grid {grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(36px,5vw,88px);align-items:start;}
.concierge-intro h2 {font-size:clamp(46px,4.8vw,76px);line-height:1.12;letter-spacing:-.03em;max-width:620px;margin:23px 0;}
.concierge-intro>p {font-size:clamp(14px,1vw,16px);line-height:1.78;max-width:475px;}
.concierge-image {margin-top:40px;height:250px;}
/* Floating contacts: keep actions but do not cover crucial service/booking CTAs. */
.quick-contact {right:clamp(12px,1.4vw,24px);bottom:clamp(14px,1.6vw,25px);gap:6px;box-shadow:0 14px 36px #0008;transition:opacity .22s,transform .25s;}
.quick-contact a {font-size:12px;padding:13px 16px;letter-spacing:.045em;min-width:64px;text-align:center;}
.quick-contact.is-suppressed {opacity:0;transform:translateY(25px);pointer-events:none;}
@media (max-width:1250px) {
 .site-header .desktop-nav {display:none;}
 .site-header .menu-toggle {display:block;}
 .mobile-nav {top:var(--v91-header);}
 .service-gallery{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);}
 .service-row{font-size:clamp(24px,2.5vw,32px);}
}
@media (max-width:900px) {
 .section-heading{display:block;}
 .section-heading h2 {font-size:clamp(36px,6.5vw,55px);}
 .section-aside {margin-top:18px;}
 .service-gallery {grid-template-columns:1fr;gap:26px;}
 .service-visual {min-height:0;height:clamp(300px,52vw,480px);}
 .service-row{min-height:86px;padding:18px 14px 18px 3px;}
 .concierge-grid {grid-template-columns:1fr;gap:28px;}
 .concierge-intro h2 {font-size:clamp(42px,7vw,65px);max-width:760px;}
 .concierge-image {margin-top:24px;height:250px;}
 .booking-form {margin-top:0;}
}
@media (max-width:760px) {
 :root {--v91-header:70px;}
 .site-header {height:70px;min-height:70px;}
 .mobile-nav {top:70px;}
 .section-edge {padding-block:75px;}
 .services {padding-top:88px;}
 .services .section-heading {padding-top:0;}
 .service-gallery {gap:17px;}
 .service-row {grid-template-columns:26px minmax(0,1fr) 26px;font-size:clamp(25px,6vw,34px);min-height:78px;padding-block:16px;}
 .service-visual {height:clamp(265px,75vw,380px);}
 .service-visual-foot{padding:50px 15px 16px;gap:10px;}
 .service-visual-foot span,.service-visual-foot button {font-size:11px;}
 .concierge-intro h2{font-size:clamp(40px,10vw,58px);line-height:1.13;}
 .booking-form{padding:27px 23px;}
 .booking-form .booking-top{font-size:11px;}
 .booking-form .presets{gap:7px;}
 .booking-form .presets button{font-size:11px;min-height:44px;}
 .booking-form .estimate-value{font-size:clamp(29px,7vw,44px);}
 .quick-contact {right:12px;bottom:12px;}
 .quick-contact a{min-width:54px;padding:12px 10px;font-size:11px;}
}
@media(prefers-reduced-motion:reduce) {.quick-contact{transition:none;}}
