/* Theme surfaces follow the SBC charcoal, white and lime identity. */
:root{color-scheme:light;--theme-text:#2d2d2d;--theme-heading:#0b0b0b;--theme-surface:#fff;--theme-soft:#f3f5ef;--theme-field:#fcfdfb;--theme-border:#dedede;--theme-accent:#497700}
:root[data-theme=dark]{color-scheme:dark;--paper:#0b0b0b;--muted:#b3b8ac;--line:#34392f;--theme-text:#e2e6dc;--theme-heading:#f5f7f1;--theme-surface:#171a15;--theme-soft:#11140f;--theme-field:#10130e;--theme-border:#34392f;--theme-accent:#a2df49}
body{background:var(--paper);color:var(--theme-text)}
.header-preferences{display:flex;align-items:center;gap:8px;flex-shrink:0}
.header-preferences .header-motion{margin:0}
.theme-toggle{display:grid;place-items:center;width:34px;height:34px;padding:0;flex-shrink:0;border:1px solid var(--theme-border);border-radius:50%;color:var(--theme-accent);background:var(--theme-soft);transition:background .2s,border-color .2s}
.theme-toggle:hover{border-color:#84d400;background:var(--theme-surface)}
.theme-toggle svg{width:18px;height:18px}
.theme-sun,.site-header .brand-logo-dark{display:none}
[data-theme=dark] .theme-moon,[data-theme=dark] .site-header .brand-logo-light{display:none}
[data-theme=dark] .theme-sun,[data-theme=dark] .site-header .brand-logo-dark{display:block}

/* Keep photographic heroes and lime panels at their intended contrast. */
[data-theme=dark] :is(h1,h2,h3,h4){color:var(--theme-heading)}
[data-theme=dark] :is(.cta-band,.est-badge,.service-image-icon,.icon-box,.project-zoom,.compare-divider>span,.service-number,.skip-link){color:#0b0b0b}
[data-theme=dark] .cta-band h2{color:#0b0b0b}
[data-theme=dark] .site-header{background:#0b0b0b;color:var(--theme-text);border-color:var(--theme-border)}
[data-theme=dark] .main-nav>a:not(.button){color:var(--theme-text);border-color:var(--theme-border)}
[data-theme=dark] .main-nav>a:not(.button):is(:hover,[aria-current=page]){color:var(--lime)}
[data-theme=dark] :is(.header-motion,.menu-toggle){background:var(--theme-surface);color:var(--theme-accent);border-color:var(--theme-border)}
[data-theme=dark] .header-motion:hover{border-color:var(--lime)}
[data-theme=dark] .button-outline{color:var(--theme-text)}
[data-theme=dark] .button-dark{border-color:#4a5142}
[data-theme=dark] .text-link{border-color:#606d4f}
[data-theme=dark] :focus-visible{outline-color:#a2df49}

[data-theme=dark] :is(.trust-strip,.difference-section,.section-soft,.fleet-planner,.service-finder){background:var(--theme-soft);border-color:var(--theme-border)}
[data-theme=dark] :is(.home-service,.service-card,.feature-card,.card,.planner-layout,.quote-panel,.finder-choice,.service-comparison){background:var(--theme-surface);border-color:var(--theme-border);box-shadow:0 16px 45px #0002}
[data-theme=dark] :is(.service-body,.service-card-body){background:linear-gradient(145deg,#1b1f17,#141711)}
[data-theme=dark] :is(.service-tag,.difference-point,.planner-settings,.gallery-search,.draft-tools,.service-comparison[open] summary,.service-comparison-table th,.service-comparison-table td){border-color:var(--theme-border)}
[data-theme=dark] :is(.difference-copy>p:not(.eyebrow),.difference-point p,.vertical-caption,.muted,.planner-setting small,.fleet-stepper>span,.coverage-guide>label>span,.coverage-guide [data-coverage-answer],.gallery-search>span,.gallery-empty p,.finder-choice small,.service-comparison-table caption,.draft-tools p,.draft-restore p){color:var(--muted)}
[data-theme=dark] :is(.trust-strip .icon,.difference-point>span,.checklist .icon,.contact-method>.icon,.form-trust .icon,.planner-services legend>span,.planner-setting>label>span,.planner-service>.icon,.planner-check,.gallery-search label,.finder-choice-number,.finder-choice-arrow,.service-comparison summary .icon,.service-comparison-table a,.draft-button,.form-back,.service-option .icon,.faq-item summary:after){color:var(--theme-accent)}
[data-theme=dark] :is(.field input,.field select,.field textarea,.faq-search input,input.faq-search,.coverage-guide input,.coverage-guide select,.planner-setting select,.fleet-stepper input){background:var(--theme-field);color:var(--theme-text);border-color:var(--theme-border)}
[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#939b8b;opacity:1}
[data-theme=dark] .gallery-search input{color:var(--theme-text)}
[data-theme=dark] :is(.planner-service,.service-option){border-color:var(--theme-border)}
[data-theme=dark] :is(.planner-service,.service-option,.finder-choice):has(input:checked){background:#253519;border-color:#84d400;box-shadow:inset 0 0 0 1px #84d400}
[data-theme=dark] .fleet-stepper button{background:#252c1e;color:var(--theme-text);border-color:#4a563c}
[data-theme=dark] .fleet-stepper button:hover{background:var(--lime);color:#0b0b0b}
[data-theme=dark] .coverage-map{background:radial-gradient(ellipse at 50% 35%,#293c18,#141810 70%);border-color:var(--theme-border)}
[data-theme=dark] .map-ring{border-color:#557231}
[data-theme=dark] .area-tags span{background:var(--theme-surface);border-color:#4a563c}
[data-theme=dark] .area-tags .area-active{background:var(--lime);color:#0b0b0b;border-color:var(--lime)}
[data-theme=dark] :is(.service-comparison-table thead,.comparison-footnote,.contact-note,.form-review,.draft-restore){background:#202a18;color:var(--theme-text);border-color:#425831}
[data-theme=dark] .service-comparison-table thead th{color:#c5e99e}
[data-theme=dark] .draft-delete{color:var(--muted)}
[data-theme=dark] .quote-progress>span:not(.active){background:#373e2f}
[data-theme=dark] .field-error{color:#ffad9c}
[data-theme=dark] .field [aria-invalid=true]{border-color:#ffad9c}
[data-theme=dark] .form-alert{color:#ffcec3;background:#341e18;border-color:#995745}
[data-theme=dark] .form-alert-success{color:#d1efac;background:#233317;border-color:#638f37}
[data-theme=dark] .filter-button{color:var(--theme-text);border-color:var(--theme-border)}
[data-theme=dark] .filter-button[aria-pressed=true]{color:#0b0b0b;background:var(--lime);border-color:var(--lime)}
[data-theme=dark] .quick-contact{background:#11140ff2;border-color:var(--theme-border)}
[data-theme=dark] .quick-contact a:first-child{background:var(--theme-surface);color:var(--theme-text);border-color:#4a563c}

/* Leave enough space for both preferences, including narrow phones. */
@media(min-width:681px) and (max-width:1100px){.nav-wrap{gap:12px}.main-nav{gap:16px}.main-nav .nav-cta{margin-left:0}.site-header .brand-logo{width:190px}}
@media(min-width:681px) and (max-width:850px){.nav-wrap{gap:9px}.main-nav{gap:12px}.site-header .brand-logo{width:160px}.main-nav .nav-cta{padding:12px 10px}.header-preferences{gap:6px}.theme-toggle{width:30px;height:30px}}
@media(max-width:680px){.nav-wrap{gap:10px}.site-header .brand{margin-right:auto}.header-preferences{order:2;gap:7px}.menu-toggle{order:3;margin-left:0;flex-shrink:0}.theme-toggle{width:32px;height:32px}[data-theme=dark] .main-nav{background:#11140f;border-color:var(--theme-border)}}
@media(max-width:380px){.site-header .brand-logo{width:150px}.nav-wrap{gap:8px}.header-preferences{gap:6px}}
