/* Final brand palette: neutral surfaces, readable copy, purposeful lime. */
:root { --bg:#101211; --bg2:#171a18; --panel:#191c1a; --panel2:#202420; --bone:#f3f4ef; --white:#fff; --muted:#bec3bc; --faint:#a4ada3; --gold:#b8ee48; --gold-lt:#c5f36a; --line:rgba(230,238,225,.14); --line2:rgba(230,238,225,.24); }
:root[data-theme="light"] { --bg:#f5f5f0; --bg2:#eceee7; --panel:#fff; --panel2:#edf0e8; --bone:#20261e; --white:#172015; --muted:#525d4e; --faint:#5d6758; --gold:#426017; --gold-lt:#426017; --line:rgba(32,48,23,.16); --line2:rgba(32,48,23,.28); }
body { font-weight:400; }
body .eyebrow,body .svc-cat,body .why-num,body .stat-num { color:var(--muted)!important; }
body .svc .svc-name, body .qb-price, body .qb-name { color:var(--bone)!important; }
body .btn-solid,body .hero-cta,body .nav-book { background:#b8ee48!important;color:#17200e!important;box-shadow:none!important;text-shadow:none!important; }
body .btn-solid:hover,body .hero-cta:hover,body .nav-book:hover {background:#c5f36a!important;}
body .btn-ghost {color:var(--bone);border-color:var(--line2);box-shadow:none!important;}
body .hero-cta::before,body .hero-cta::after,body .xp-glow,body .xp-sweep,body .hero-spotlight {display:none!important;}
body .grad-text {background:none!important;-webkit-text-fill-color:currentColor!important;color:#c5f36a;}
body .qb-opt.on,body .qb-film.on {background:var(--panel2)!important;border-color:var(--gold)!important;box-shadow:inset 3px 0 var(--gold)!important;}
body .svc-tab.on {background:var(--panel2)!important;color:var(--bone)!important;border:1px solid var(--gold)!important;}
body .wa-float {background:var(--panel)!important;color:var(--bone)!important;border:1px solid var(--line2);box-shadow:0 3px 12px #0002!important;}
body .bk-send {background:#b8ee48!important;color:#17200e!important;box-shadow:none!important;}
body .form-label,body .qb-desc,body .qb-disc,body .bk-hint,body .svc-desc {color:var(--muted)!important;font-size:.9rem!important;opacity:1!important;}
body .form-control {font-size:1rem;}
body .qb-dur,body .qb-incnote {font-size:.8rem;color:var(--muted);}
body .qb-tick {display:none;}
.quote-choice {flex:0 0 auto;width:20px;height:20px;margin:4px 12px 0 0;accent-color:var(--gold);cursor:pointer;}
.qb-film {display:flex;align-items:center;gap:8px;}
.qb-film-price {margin-left:auto;}
:focus-visible {outline:3px solid var(--gold)!important;outline-offset:4px!important;}
body .qb-opt:focus-within {outline:2px solid var(--gold);outline-offset:3px;}
.need-links,.booking-steps {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0;}
.need-links a {padding:1rem;border:1px solid var(--line2);color:var(--bone);border-radius:10px;}
.booking-steps {grid-template-columns:repeat(3,minmax(0,1fr));}
.booking-steps p {color:var(--muted);}
.booking-steps b {display:block;color:var(--bone);margin-bottom:.5rem;}
#booking-process {background:var(--bg2);}
body[data-gm-page="index"] #gallery {padding-top:3rem;padding-bottom:3rem;}
body[data-gm-page="index"] #stats {display:none;} /* Unverified specifications are not customer proof. */
body[data-gm-page="index"] .hero-sub {font-size:1.1rem;line-height:1.6;}
#hero .eyebrow,#hero .btn-ghost {color:#f1f4ea!important;}
#hero .hero-glasscard {color:#f1f4ea!important;}
#experience-promo .eyebrow,#experience-promo .btn-ghost {color:#f1f4ea!important;}
body .modal {max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;}
body .modal-head p {color:var(--muted);}
section[id] {scroll-margin-top:100px;}
@media(min-width:1101px) {body[data-gm-page="index"] .nav-links li:has(a[href="pricing.html"]),body[data-gm-page="index"] .nav-links li:has(a[href="#contact"]) {display:block;}}
@media(max-width:600px) {
 .booking-steps,.need-links {grid-template-columns:1fr;}
 body .theme-toggle {min-width:40px!important;width:40px!important;padding:8px!important;}
 body .theme-toggle .tt-label,body .theme-hint {display:none!important;}
 body .nav-book {padding:.65rem .9rem!important;}
 body .wa-float {width:44px;height:44px;right:12px;bottom:16px;}
 body .scroll-toggle {display:none!important;}
 body .bk-grid {grid-template-columns:1fr;}
 body .modal-overlay {padding:12px;}
 body .modal-head,body .modal-body {padding:1.2rem;}
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
 body [data-reveal],body .reveal,body .stagger>* {opacity:1!important;transform:none!important;filter:none!important;}
}
/* Legible light surfaces and direct access to the quote's features. */
:root[data-theme="light"] body .qb-opt.on,:root[data-theme="light"] body .qb-film.on {background:#edf2e5!important;border-color:#58712e!important;}
:root[data-theme="light"] body .qb-desc,:root[data-theme="light"] body .qb-note,:root[data-theme="light"] body .qb-note-sub,:root[data-theme="light"] body .form-label,:root[data-theme="light"] body .svc-desc,:root[data-theme="light"] body .bk-hint {color:#394333!important;}
:root[data-theme="light"] body .qb-more,:root[data-theme="light"] body .qb-dur,:root[data-theme="light"] body .cov-slabels,:root[data-theme="light"] body .qb-chip,:root[data-theme="light"] body .spec-pill {color:#46533d!important;opacity:1!important;}
body .qb-more,body .qb-copy {font-family:var(--sans)!important;font-size:.875rem!important;letter-spacing:.01em!important;min-height:40px;text-transform:none!important;text-decoration:underline;text-underline-offset:3px;}
body .qb-dur,body .spec-pill,body .qb-badge,body .cov-slabels,body .qb-chip {font-size:.8rem!important;letter-spacing:.025em!important;}
body .qb-price {font-size:1rem!important;font-weight:600;}
body .qb-name {font-size:1rem!important;line-height:1.4;}
body .qb-desc,body .svc-desc {font-size:1rem!important;line-height:1.6!important;}
body .qb-opt {padding:1.1rem!important;}
body .qb-opt .qb-row {flex-wrap:wrap;gap:.4rem;}
body .qb-opt .qb-price {flex-shrink:0;}
body .qb-more:focus-visible {outline-offset:0!important;}
body .quote-access {position:sticky;top:88px;left:auto;transform:none;width:100%;display:flex;justify-content:flex-start;gap:.4rem;padding:.55rem;margin:1rem 0 1.5rem;border-radius:12px;background:var(--panel);backdrop-filter:none;box-shadow:0 4px 16px #0001;overflow-x:auto;z-index:25;}
.quote-access a,.viewer-controls button {font-family:var(--sans);font-size:.9rem;line-height:1.3;padding:.7rem .9rem;min-height:44px;white-space:nowrap;color:var(--bone);border:1px solid var(--line2);background:var(--panel2);border-radius:8px;text-decoration:none;cursor:pointer;}
.viewer-controls {display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0;}
.viewer-controls [aria-pressed="true"] {border-color:var(--gold);box-shadow:inset 0 -2px var(--gold);font-weight:600;}
body #coverageStatus {font-size:.9rem;color:var(--muted);margin:.8rem 0;}
#cov3dStage.cov3d-stage {height:380px;background:radial-gradient(ellipse at 50% 70%,#3b4144,#151a1d 75%);}
body .gm-model-badge {font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;color:#e8eee8!important;}
#qbDetail,#qbAddons,#qbPpfFold,#qbTintFold,#coverageBlock,#quote-summary,#vehicle-choice {scroll-margin-top:165px;}
@media(min-width:1101px) {body[data-gm-page="index"] .nav-links li:has(a[href="experience.html"]){display:block;}}
@media(max-width:600px) {body .quote-access {top:78px;gap:.35rem;}#cov3dStage.cov3d-stage {height:300px;}body .qb-opt {padding:.95rem!important;}body .qb-opt .qb-price {margin-left:0;}body .cov-legend {font-size:.85rem;}body .nav-links a {font-size:1rem!important;}body .qb-body {min-width:0;}}

html {scroll-behavior:auto!important;}
body[data-gm-page="index"] #cov3dStage.cov3d-stage {min-height:0!important;height:380px!important;}
body[data-gm-page="index"] #cov3dStage canvas {width:100%!important;height:100%!important;}
@media(max-width:600px){body[data-gm-page="index"] #cov3dStage.cov3d-stage {height:300px!important;}}
/* Scope header placement; earlier global nav rules must not move the quote toolbar. */
html[data-theme] body nav.quote-access,html body nav.quote-access {left:auto!important;right:auto!important;transform:none!important;width:100%!important;}
@media(max-width:600px) {html[data-theme] body #nav,html body #nav {left:12px!important;right:12px!important;transform:none!important;width:calc(100% - 24px)!important;padding:.6rem .75rem!important;}}
html[data-theme="light"] body .page-hero p,html[data-theme="light"] body .tldr,html[data-theme="light"] body article p,html[data-theme="light"] body article li {color:#394333;}
html[data-theme="light"] body .gm-photo-card::before,html[data-theme="light"] body .gm-photo-surface::before {opacity:.08!important;}
html[data-theme="light"] body .why-desc {color:#394333!important;font-size:1rem!important;line-height:1.65!important;}

/* Keep native fragment targets clear of both navigation bars. */
html {scroll-padding-top:165px!important;}
#qbDetail,#qbAddons,#qbPpfFold,#qbTintFold,#coverageBlock,#quote-summary,#vehicle-choice {scroll-margin-top:0!important;}
body[data-gm-page="index"] #cov3dStage.cov3d-stage {background:radial-gradient(ellipse at 50% 75%,#354044,#141b1f 75%)!important;}
.model-credit {font-size:.8rem!important;color:var(--muted);margin:.8rem 0;line-height:1.5;}
.model-credit a {color:var(--bone);text-decoration:underline;}
@media(max-width:600px) {
 body .quote-access {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:.3rem;padding:.4rem;}
 body .quote-access a {font-size:.8rem;min-width:0;min-height:44px;padding:.55rem .2rem;white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center;}
}
html[data-theme] body nav.quote-access,html body nav.quote-access {border-radius:12px!important;background:var(--panel)!important;backdrop-filter:none!important;border:1px solid var(--line)!important;}
html[data-theme="light"] body .cov-summary .chip {color:#34402c!important;background:#edf2e5!important;border-color:#b8c5a9!important;}
html[data-theme="light"] body .cov-caption,html[data-theme="light"] body .tint-read {color:#394333!important;}

body #cov3dStage {touch-action:pan-y;}
body .cov-legend .lp {background:#8ca966!important;}
body .cov-legend .lt {background:#375467!important;}
body .page-nav {overflow:visible;}
.page-theme,.page-menu {flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line2);border-radius:50%;color:var(--bone);background:var(--panel);font-size:1.25rem;cursor:pointer;}
.page-menu {display:none;}
@media(max-width:820px) {
 html[data-theme] body nav:not(.quote-access),html body nav:not(.quote-access) {left:12px!important;right:12px!important;transform:none!important;width:calc(100% - 24px)!important;gap:.35rem!important;padding:.6rem .75rem!important;}
 body .page-nav .logo {font-size:.95rem!important;letter-spacing:.06em!important;margin-right:auto;}
 body .page-nav .nav-book {height:44px!important;display:flex;align-items:center;padding:0 .7rem!important;}
 .page-menu {display:block;}
 body .page-nav.page-nav-open .nav-links {display:flex!important;flex-direction:column;position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:1rem;gap:.5rem;list-style:none;white-space:normal;background:var(--panel);border:1px solid var(--line2);border-radius:12px;box-shadow:0 4px 20px #0002;}
 body .page-nav .nav-links a {display:block;font-size:1rem!important;padding:.65rem .4rem;}
}
/* Decorative page transitions must not obstruct reading. */
body .gm-page-curtain {display:none!important;}

@media(max-width:600px) {
 body .ptable,body .ptable tbody {display:block;width:100%;}
 body .ptable caption {display:block;width:100%;font-size:.8rem;color:var(--muted);}
 body .ptable thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 body .ptable tbody tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line2);border-radius:10px;margin:.75rem 0;padding:.8rem;background:var(--panel);}
 body .ptable td {display:block;min-width:0;border:0;padding:.4rem;font-size:1rem;overflow-wrap:anywhere;}
 body .ptable td:first-child,body .ptable td.price {grid-column:1 / -1;}
 body .ptable td:first-child {font-weight:600;}
 body .ptable td::before {content:attr(data-label);display:block;font-family:var(--sans);font-size:.75rem;color:var(--muted);font-weight:400;margin-bottom:.25rem;}
 body .ptable td.price {font-family:var(--sans);font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:normal;}
}

/* Gallery captions: plain type over a deeper bottom scrim. */
#gallery .gal::after{background:linear-gradient(transparent 40%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.88))!important}
#gallery .gal .tag{position:relative;z-index:2;font-size:.72rem!important;font-weight:600;letter-spacing:.16em;color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.6)}

/* Car info first: other quote sections stay locked until a vehicle is chosen. */
.quote-access.qa-locked a[aria-disabled="true"]{opacity:.42;cursor:not-allowed}
.quote-access.qa-locked a[href="#vehicle-choice"]{border-color:var(--gold)!important;box-shadow:inset 0 -2px var(--gold);font-weight:600}
@keyframes qaNudge{0%,100%{transform:none}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.qb-gate.qa-nudge{animation:qaNudge .35s ease 2;border-color:var(--gold)!important}
@media(prefers-reduced-motion:reduce){.qb-gate.qa-nudge{animation:none}}
