/* Shared surfaces make both themes complete, including the hero and dialogs. */
:root,:root[data-theme="dark"]{
  color-scheme:dark;
  --dark:#0d0d0d;--ink:#f2f2ef;--paper:#0d0d0d;--muted:#b0b0b0;--line:#2b2b2b;
  --surface:#181818;--surface-alt:#111111;--surface-soft:#202020;--field:#101010;
  --quiet:#a0a0a0;--heading-soft:#989898;--accent-text:var(--red);--accent-soft:rgb(var(--red-rgb) / .1);
  --hero-base:#0d0d0d;--hero-rgb:13 13 13;--hero-text:#f5f5f2;--hero-muted:#b9b9b9;
  --hero-border:#ffffff33;--hero-stamp:linear-gradient(145deg,#202020eb,#111111f5);--hero-foot:#151515;
  --hero-button-bg:#ffffff1f;--hero-button-hover:#ffffff30;--hero-button-border:#ffffff48;
  --panel-shadow:#00000035;--backdrop:#030303db;
  /* Invert the map without removing the red location marker. */
  --map-filter:invert(.92) hue-rotate(180deg) saturate(1.35) brightness(.78) contrast(1.12);
}
:root[data-theme="light"]{
  color-scheme:light;
  --ink:#17191c;--paper:#ffffff;--muted:#5f6670;--line:#e3e5e8;
  --surface:#ffffff;--surface-alt:#f6f7f9;--surface-soft:#eef0f3;--field:#ffffff;
  --quiet:#737b86;--heading-soft:#777e87;--accent-text:var(--red);--accent-soft:rgb(var(--red-rgb) / .06);
  --hero-base:#ffffff;--hero-rgb:255 255 255;--hero-text:#17191c;--hero-muted:#5f6670;
  --hero-border:#17191c26;--hero-stamp:linear-gradient(145deg,#fffffff2,#f6f7f9f2);--hero-foot:#f6f7f9;
  --hero-button-bg:#ffffffe0;--hero-button-hover:#ffffff;--hero-button-border:#ffffffcc;
  --panel-shadow:#17191c0d;--backdrop:#101317a8;
  --map-filter:none;
}
body{background:var(--paper);color:var(--ink)}
.utility-bar{background:var(--surface-alt);color:var(--muted);border-bottom:1px solid var(--line)}
.utility-inner>a:hover{color:var(--ink)}
.site-header,.mobile-menu,.assurance-strip,.process-section,.faq-section,.map-card,.quote-card{background:var(--surface);color:var(--ink)}
.site-header.is-scrolled{box-shadow:0 4px 24px var(--panel-shadow)}
.brand,.footer-brand{background:transparent;border:0;border-radius:0;padding:0}
.theme-toggle{width:42px;height:42px;border-radius:50%;background:var(--surface-alt);border-color:var(--line);flex-shrink:0;color:var(--ink);transition:background .2s,border-color .2s,color .2s}
.theme-toggle .icon{width:20px;height:20px}
.theme-toggle:hover{border-color:var(--accent-text);color:var(--accent-text);background:var(--accent-soft)}
.mobile-theme-setting{display:none}
:root[data-theme="dark"] .theme-icon-moon,:root[data-theme="light"] .theme-icon-sun{display:none}
.hero{background:var(--hero-base);color:var(--hero-text)}
.hero-shade{background:linear-gradient(90deg,rgb(var(--hero-rgb)) 8%,rgb(var(--hero-rgb) / .98) 25%,rgb(var(--hero-rgb) / .88) 36%,rgb(var(--hero-rgb) / .15) 65%,rgb(var(--hero-rgb) / .04) 100%),linear-gradient(0deg,rgb(var(--hero-rgb)) 8%,transparent 43%)}
.hero .eyebrow.light,.hero-description,.hero-note,.hero-caption{color:var(--hero-muted)}
.hero-secondary{border-color:var(--hero-border)}
.hero-secondary:hover{border-color:var(--hero-text)}
.hero-stamp{background:var(--hero-stamp);border-color:var(--hero-border);color:var(--hero-text)}
.hero-caption>span:last-child{border-color:var(--hero-border)}
.hero-foot{background:var(--hero-foot);border-color:var(--line)}
.hero-foot-inner{color:var(--muted)}
.hero-foot a{color:var(--ink)}
.hero-foot a:hover{color:var(--accent-text)}
.eyebrow,.eyebrow.light{color:var(--muted)}
.muted-heading,.grey-heading{color:var(--heading-soft)}
.towing-card{background:var(--surface);color:var(--ink);border-color:var(--line)}
.towing-card:hover{box-shadow:0 13px 28px var(--panel-shadow)}
.card-number{color:var(--quiet)}
.button-outline{border-color:var(--line);color:var(--ink)}
.button-outline:hover{background:var(--surface-soft);border-color:var(--quiet)}
.text-link{border-color:var(--line)}
.text-link:hover{color:var(--accent-text);border-color:var(--accent-text)}
.roadside-section{background:var(--surface-alt);color:var(--ink)}
.roadside-section .section-intro,.roadside-panel p{color:var(--muted)}
.roadside-list,.roadside-item{border-color:var(--line)}
.roadside-trigger{color:var(--muted)}
.roadside-trigger:hover,.roadside-item.is-open .roadside-trigger{color:var(--ink)}
.roadside-number,.roadside-trigger .icon{color:var(--quiet)}
.roadside-item.is-open .roadside-number{color:var(--accent-text)}
.roadside-panel a{color:var(--ink)}
.roadside-panel a:hover{color:var(--accent-text)}
.roadside-visual{color:white}
.roadside-image-caption .eyebrow.light{color:#c6c9c8}
.process-top .icon{color:var(--quiet)}
.about-section{background:var(--surface-alt)}
.about-copy>p:not(.eyebrow){color:var(--muted)}
.city-search,.city-button{background:var(--surface);border-color:var(--line);color:var(--ink)}
.city-search>.icon,.city-search>span,.city-status{color:var(--quiet)}
.city-button:hover{color:var(--accent-text);border-color:var(--accent-text)}
.city-button.is-selected{color:var(--accent-text);border-color:var(--accent-text);background:var(--accent-soft)}
.area-note a{border-color:var(--line)}
.map-pin{background:var(--accent-soft);color:var(--accent-text)}
.map-card iframe{filter:var(--map-filter);transition:filter .2s}
.map-24 small,.faq-list summary .icon{color:var(--quiet)}
.contact-section{background:var(--surface-alt);color:var(--ink)}
.contact-copy>p:not(.eyebrow),.phone-label,.contact-details span{color:var(--muted)}
.contact-details,.footer-top{border-color:var(--line)}
.contact-details>div>.icon{color:var(--quiet)}
.contact-details a{color:var(--ink)}
.contact-details a:hover,.contact-phone:hover{color:var(--accent-text)}
.quote-card{border:1px solid var(--line)}
.field input,.field select,.field textarea{background:var(--field);border-color:var(--line);color:var(--ink)}
.field input::placeholder,.field textarea::placeholder,.field label .optional{color:var(--quiet)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--red);box-shadow:0 0 0 3px var(--accent-soft)}
.field label>span:not(.optional){color:var(--accent-text)}
.input-action>button{background:var(--field);border-color:var(--line)}
.input-action>button:hover{background:var(--accent-soft)}
.form-note,.form-note strong{color:var(--muted)}
.site-footer{background:var(--surface);color:var(--muted);border-top:1px solid var(--line)}
.footer-top p,.back-top{color:var(--ink)}
.footer-top p span{color:var(--muted)}
.footer-bottom a:hover,.footer-bottom button:hover{color:var(--ink)}
.mobile-call-bar{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:0 -4px 25px var(--panel-shadow)}
dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
dialog::backdrop{background:var(--backdrop)}
.dialog-close{background:var(--surface);color:var(--ink)}
.email-dialog pre{background:var(--surface-alt);border-color:var(--line);color:var(--ink)}
.dialog-content>.dialog-note{color:var(--muted)}
.dialog-note a,.dialog-content>.copy-status{color:var(--accent-text)}
.privacy-dialog p a{border-color:var(--line)}
.skip-link{background:var(--surface);color:var(--ink)}
@media(max-width:900px){
  .desktop-nav{display:none}
  .menu-toggle{display:inline-flex;width:38px;height:38px;border:0;flex-shrink:0}
  .mobile-menu{display:block;padding:8px 24px 17px;border-top:1px solid var(--line);box-shadow:0 14px 20px var(--panel-shadow);position:absolute;left:0;right:0}
  .mobile-menu>a{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;padding:16px 0;border-bottom:1px solid var(--line)}
  .mobile-menu>a .icon{color:var(--red);width:17px;height:17px}
  .header-call{margin-left:auto}
}
@media(max-width:767px){
  .header-inner{gap:9px}
  #theme-toggle{display:none}
  .mobile-theme-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px}
  .mobile-theme-setting>span{font-size:13px;font-weight:600;line-height:1.4}
  .mobile-theme-setting small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}
  .mobile-theme-setting .theme-toggle{width:44px;height:44px}
  .theme-toggle{width:36px;height:36px}.theme-toggle .icon{width:19px;height:19px}
  .header-call{width:34px;height:36px;display:flex;justify-content:center;flex-shrink:0}
  .header-call>span{display:none}.header-call>.icon{display:block;width:19px;height:19px}
  .hero-shade{background:linear-gradient(180deg,rgb(var(--hero-rgb) / .08) 0%,rgb(var(--hero-rgb) / .16) 22%,rgb(var(--hero-rgb) / .38) 42%,rgb(var(--hero-rgb) / .82) 58%,rgb(var(--hero-rgb) / .96) 72%,rgb(var(--hero-rgb)) 100%)}
  :root:not([data-theme="light"]) .hero-image{filter:brightness(.95) contrast(1.02) saturate(1.02)}
  :root:not([data-theme="light"]) .hero-shade{background:linear-gradient(180deg,rgb(var(--hero-rgb) / .10) 0%,rgb(var(--hero-rgb) / .18) 20%,rgb(var(--hero-rgb) / .38) 40%,rgb(var(--hero-rgb) / .82) 58%,rgb(var(--hero-rgb) / .96) 74%,rgb(var(--hero-rgb)) 100%)}
  .hero-stamp{background:var(--hero-stamp)}
}
