:root {
  color-scheme: light;
  --page: #ffffff;
  --soft: #f7f8f9;
  --ink: #202326;
  --muted: #687078;
  --line: #e4e7e9;
  --red: #e85d17;
  --red-dark: #c94b12;
  --red-soft: #fff1e9;
  --black: #202326;
  --black-2: #f3f4f4;
  --black-3: #eceeef;
  --white: #ffffff;
  --glass-shadow: 0 18px 46px #20232612;
}

body {
  color: var(--ink);
  background: #fff;
}

.site-header {
  background: #fffffff2;
  border-bottom: 1px solid #e8eaec;
  box-shadow: 0 8px 28px #2023260c;
}

.nav-trigger { color: #42484d; }
.nav-trigger:hover,
.nav-item.is-open .nav-trigger {
  color: var(--red-dark);
  background: #e85d1710;
}
.nav-dropdown {
  color: var(--ink);
  background: #fffffff7;
  border-color: var(--line);
  box-shadow: 0 20px 44px #20232618;
}
.nav-dropdown-label { color: var(--muted); }
.nav-dropdown a { color: #343a3f; border-top-color: #eceeef; }
.nav-dropdown a:hover { color: var(--red-dark); background: #fff6f1; }
.phone-copy small { color: #737b82; }
.phone-copy strong { color: #202326; }

.brand-logo,
.hero-logo,
.footer-logo {
  object-fit: contain;
}
.brand-logo { max-height: 58px; }
.hero-logo-wrap {
  background: #fff;
  border: 1px solid #e9e4df;
  box-shadow: 0 8px 24px #2023260c;
}
.hero-brand-lockup p { margin-top: 0; }

.hero {
  color: var(--ink);
  background: #f8f8f7;
  box-shadow: inset 0 0 0 1px #2023260b;
}
.hero::after {
  background:
    radial-gradient(ellipse at 88% 10%, #fb923c42, transparent 54%),
    radial-gradient(ellipse at 6% 100%, #ea580c32, transparent 58%);
  box-shadow: inset 0 0 0 1px #fed7aa50, inset 0 0 100px #ea580c10;
}
.hero-photo-shade {
  background:
    linear-gradient(90deg, #fffefa 0%, #fffefae8 28%, #fffefab8 56%, #fffefa18 88%),
    linear-gradient(0deg, #ffffff58, transparent 58%);
}
.hero h1 { color: #202326; }
.hero h1 span { color: #c94b12; text-shadow: 0 0 28px #fb923c22; }
.hero-lead,
.hero-brand-lockup p { color: #555e65; }
.button-outline {
  color: #272c30;
  border-color: #20232635;
  background: #ffffffc9;
}
.button-outline:hover { border-color: #e85d17; background: #fff; }
.hero-arrow {
  color: #292e32;
  background: #ffffffc9;
  border-color: #20232620;
  box-shadow: 0 4px 16px #20232612;
}
.hero-arrow:hover { color: #fff; background: var(--red-dark); }
.hero .button:focus-visible { outline-color: var(--red-dark); }

.quick-panel-grid {
  border-color: #ffffffdc;
  background: #fffffff0;
  box-shadow: 0 18px 44px #20232614;
}
.quick-panel-grid > .quick-card,
.quick-panel-grid:has(> [data-contact-hide-at-night][hidden]) > .quick-card {
  color: #252a2e;
}
.quick-panel-grid > .quick-card:hover { color: var(--red-dark); background: #fff8f4; }
.quick-icon { color: var(--red-dark); background: #e85d1712; }
.quick-card small { color: #707981; }

.services-section,
.brands-section,
.section.faq-section,
.fault-section,
.other-brands {
  color: var(--ink);
  background: #fff;
  border-color: var(--line);
}
.section-title-row > p,
.service-card p { color: var(--muted); }
.service-card,
.service-card:not(.service-card-contact) {
  color: var(--ink);
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 8px 24px #2023260c;
}
.service-card h3 { color: #262b2f; }
.service-card-visual { background-color: #f0f2f3; }
.service-card.service-card-contact {
  color: #fff;
  background:
    radial-gradient(ellipse at top right, #f9731670, transparent 70%),
    linear-gradient(145deg, #c94d1e, #74250f);
  border-color: transparent;
}
.service-card.service-card-contact h3,
.service-card.service-card-contact p { color: #fff; }
.service-card:has(.service-card-link):hover { background: #fff; }

.process-section {
  color: var(--ink);
  background: #f7f8f8;
}
.process-list article {
  color: var(--ink);
  border-color: #e1e5e7;
  background: linear-gradient(145deg, #fff, #f9fafb);
  box-shadow: 0 8px 24px #20232609;
}
.process-list article:hover { border-color: #e85d1760; }
.process-list { border-top-color: var(--line); }
.process-list article { border-bottom-color: var(--line); }
.process-list article > span { color: var(--red-dark); }
.process-list h3 { color: #252a2e; }
.process-list p,
.process-intro > p { color: var(--muted); }
.process-intro .section-kicker { color: var(--red-dark); }
.process-phone { color: var(--red-dark); }

.brands-section { border-color: var(--line); }
.brand-compact-copy p,
.brand-disclaimer,
.brand-search-count,
.brand-search > label { color: var(--muted); }
.brand-search-field { border-bottom-color: #d9dee1; }
.brand-search-field > svg { fill: #687078; }
.brand-search-field input { color: var(--ink); }
.brand-search-field input::placeholder,
.brand-search-clear { color: #818a91; }
.brand-all-toggle { color: #40474c; }
.brand-all-toggle b { border-color: #9ba3a8; }
.brand-logo-grid { border-top-color: var(--line); }
.brand-logo-link { border-bottom-color: #e8ebed; }
.brand-logo-link:hover { border-bottom-color: #c6cdd1; }
.brand-logo-link > strong { color: #30363b; }
.brand-logo-link span { color: var(--muted); }
.brand-browser.is-searching .brand-logo-grid,
.brand-browser.is-searching .brand-no-results {
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 20px 44px #20232616;
}
.brand-marquee { background: #fafafa; border-color: #eceeef; }
.brand-marquee-name { color: #494544; }

.regions-section {
  color: var(--ink);
  background:
    radial-gradient(ellipse at 0% 85%, #f9731610, transparent 56%),
    #f5f6f6;
}
.region-count { color: #4d555b; border-color: #cfd5d8; }
.region-copy h2 { color: #22272b; }
.region-copy > p,
.region-contact small { color: var(--muted); }
.region-contact { border-color: #dce1e3; }
.region-flow span { color: #30363b; }
.regions-section .section-kicker-light,
.region-contact a span,
.region-flow a::after { color: var(--red-dark); }
.region-flow a {
  color: #30363b;
  background: #ffffffc9;
  border-color: #e1e5e7;
}
.region-flow a:hover { color: var(--red-dark); background: #fff; border-color: #e85d1760; }

.faq-list { border-top-color: #dfe3e5; }
.faq-item {
  color: var(--ink);
  background: #fff;
  border-color: #e2e6e8;
  box-shadow: 0 8px 22px #2023260a;
}
.faq-item:hover { border-color: #cfd5d8; background: #fcfcfc; }
.faq-item.is-open { background: #fffaf7; border-color: #e85d1760; }
.faq-item button { color: #30363b; }
.faq-answer p { color: var(--muted); }
.faq-symbol { color: var(--red-dark); background: #e85d1714; }
.faq-item.is-open .faq-symbol { background: var(--red); color: #fff; }

.google-proof {
  background: #f8f9f9;
  border-top-color: #e5e8ea;
}
.google-proof-shell {
  color: var(--ink);
  background: #fff;
  border-color: #e5e8ea;
  box-shadow: 0 14px 40px #2023260b;
}
.google-proof-label,
.google-review-count { color: var(--muted); }
.google-wordmark,
.google-rating-row strong,
.google-business-name { color: #252a2e; }
.google-address { color: #5c656c; }
.google-profile-link { color: #fff; background: #292e32; }
.google-profile-link:hover { background: #111416; }
.google-map-wrap { background: #f0f2f3; border-left-color: #e3e7e9; }

.final-cta { background: #fff; }
.final-cta-inner {
  color: #fff;
  background:
    radial-gradient(ellipse at 100% 0%, #f9731670, transparent 70%),
    linear-gradient(110deg, #7a2d16, #c54b1d);
  box-shadow: 0 18px 42px #20232618;
}
.site-footer { color: var(--ink); background: #f4f5f5; }
.footer-brand-wrap p,
.footer-links a,
.footer-contact small,
.footer-bottom { color: #687078; }
.footer-links a:hover { color: #22272b; }
.menu-button {
  color: #272c30;
  border-color: #e85d174d;
  background: linear-gradient(135deg, #fff, #f6f7f7);
  box-shadow: 0 3px 10px #20232610, inset 0 1px #fff;
}

.cms-region-hero,
.cms-error-intro,
.about-hero {
  color: var(--ink);
  background: #f4f5f5;
}
.cms-region-hero::before {
  background: linear-gradient(90deg, #fffefaf2 0%, #fffefae8 50%, #fffefa50 100%);
}
.cms-region-hero::after,
.cms-error-intro::after { border-left-color: #2023260a; }
.cms-region-hero .section-kicker,
.cms-error-intro .section-kicker { color: var(--red-dark); }
.cms-region-hero h1,
.cms-error-intro h1,
.about-hero h1 { color: #202326; }
.cms-region-hero p,
.cms-error-intro p,
.about-hero-copy > p { color: #5d666d; }
.cms-region-back,
.cms-region-secondary { color: #3e464c; }
.cms-region-snapshot {
  color: var(--ink);
  background: #fff;
  border-color: #e3e7e9;
  box-shadow: 10px 10px 0 #e85d1728;
}
.cms-region-snapshot > span:not(.cms-region-pin) { color: var(--muted); }
.cms-region-snapshot small { color: #737b82; }
.cms-region-pin { color: var(--red); }
.cms-region-pills span { color: #9b431a; border-color: #e8c9b9; }
.cms-region-content .cms-region-service-card,
.cms-region-visit-card,
.about-value-grid article,
.about-region-links a,
.other-brand-grid a {
  color: var(--ink);
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 8px 24px #2023260a;
}
.cms-region-content .cms-region-visit-card,
.cms-conditions { background: #f7f8f8; }
.cms-region-neighbors,
.cms-prose { border-color: var(--line); }
.cms-expired { background: #fff5e5; color: #60451b; border-left-color: #d18b3f; }
.cms-preview-banner { background: #fff7e4; color: #60451b; border-bottom-color: #d7b768; }
.about-intro,
.about-coverage { color: var(--ink); background: #fff; }
.about-hero-notes { color: #596168; border-top-color: #dce1e3; }
.about-breadcrumb { color: #687078; }
.about-breadcrumb a:hover { color: #202326; }
.about-notice p { color: #626a70; }
.about-regions { border-top-color: var(--line); }
.fault-intro > p,
.model-fault-heading p,
.fault-row p,
.safety-note p,
.source-link small { color: var(--muted); }
.fault-list,
.model-fault-list { border-top-color: #dfe3e5; }
.fault-row,
.model-fault { border-bottom-color: #e2e6e8; }
.source-link { border-bottom-color: #aab2b7; }
.model-fault summary:hover,
.model-fault[open] summary { background: #f5f6f6; }
.model-fault th,
.model-fault td { color: var(--ink); border-color: #dfe3e5; }
.model-fault th { background: #f3f5f5; }
.model-fault tr:nth-child(even) td { background: #fafbfb; }
.other-brand-grid span { color: #626b72; }
.brand-page-footer {
  color: var(--ink);
  background: #f4f5f5;
  border-top: 1px solid var(--line);
}
.brand-page-footer p { color: var(--muted); }
.brand-detail-hero {
  color: var(--ink);
  background: #f5f6f6;
}
.brand-detail-hero::after {
  background:
    linear-gradient(90deg, #f5f6f6 0%, #f5f6f6ed 38%, #f5f6f680 100%),
    url('/hero-02.png') center / cover no-repeat;
}
.brand-detail-copy h1 { color: #202326; }
.brand-detail-copy > p,
.hero-brand-badge span { color: #5d666d; }
.eyebrow { color: #687078; }
.brand-disclaimer { color: #697178; }
.notice-strip {
  color: #596168;
  background: #f2f4f4;
  border-bottom-color: #e1e5e7;
}
.notice-strip strong { color: #262b2f; }
.service-band {
  background:
    radial-gradient(ellipse at 92% 0, #f9731680, transparent 58%),
    linear-gradient(110deg, #7b2d16, #c54b1d);
}

.service-page {
  color: var(--ink);
  background: #fff;
}
.service-breadcrumb { color: var(--muted); }
.service-breadcrumb [aria-current] { color: var(--ink); }
.service-figure { background: #f5f6f6; border-color: var(--line); }
.service-figure figcaption { color: #33393e; background: #f1f3f4; }
.service-symptoms,
.service-menu,
.service-related-grid > a {
  color: var(--ink);
  background: #fff;
  border-color: var(--line);
}
.service-symptoms li,
.service-steps h3 { color: #32383d; }
.service-steps li,
.service-related { border-color: var(--line); }
.service-menu a { color: #464e54; border-color: var(--line); }
.service-menu a:hover,
.service-menu a[aria-current] { color: var(--red-dark); }
.service-help {
  color: var(--ink);
  background: #f5f6f6;
  box-shadow: 0 18px 40px #20232612;
}
.service-help p { color: var(--muted); }
.service-help a:focus-visible { outline-color: var(--red); }
.service-disclaimer { color: var(--muted); }
.service-related-grid > a:hover { background: #fffaf7; border-color: var(--red); box-shadow: 0 18px 30px #20232612; }

@media (max-width: 820px) {
  .site-nav { background: #fffffff7; border-color: var(--line); box-shadow: 0 16px 36px #20232618; }
  .site-nav .nav-trigger { color: #343a3f; }
  .site-nav .nav-dropdown { background: #f7f8f8; }
}
