/* Secondary blue is reserved for accents on interior pages. */
body.sx-site:where(:not(.surface-home)) {
  --soft: #f7f7f6;
  --interior-mist: #f7f7f6;
  --resource-mist: #f7f7f6;
  background: #fff;
}

body.sx-site:where(:not(.surface-home)) .section:nth-of-type(even):where(:not(.family-section, .service-showcase, .fold-section)),
body.sx-site:where(:not(.surface-home)).surface-family .family-tint,
body.sx-site:where(:not(.surface-home)).surface-family .request-section,
body.sx-site:where(:not(.surface-home)) .breadcrumbs,
body.sx-site:where(:not(.surface-home)) .coverage,
body.sx-site:where(:not(.surface-home)) .resource-directory-section,
body.sx-site:where(:not(.surface-home)) .resource-related { background: #f7f7f6; }

body.sx-site:where(:not(.surface-home)) .formbox,
body.sx-site:where(:not(.surface-home)) .sf-form,
body.sx-site:where(:not(.surface-home)) .sf-scope-card,
body.sx-site:where(:not(.surface-home)) .sf-service-card,
body.sx-site:where(:not(.surface-home)) .sf-card-copy,
body.sx-site:where(:not(.surface-home)) .sf-property-grid > article,
body.sx-site:where(:not(.surface-home)) .sf-property-copy,
body.sx-site:where(:not(.surface-home)) .sf-guide-links,
body.sx-site:where(:not(.surface-home)) .lp-support,
body.sx-site:where(:not(.surface-home)) .guide-contents,
body.sx-site:where(:not(.surface-home)) .guide-key-points,
body.sx-site:where(:not(.surface-home)) .article-toc,
body.sx-site:where(:not(.surface-home)) .support-strip,
body.sx-site:where(:not(.surface-home)) .coverage-compact { background: #fff; }

body.sx-site:where(:not(.surface-home)).surface-support #main > .financing-disclosure { background: #f7f7f6; }
body.sx-site:where(:not(.surface-home)) .guide-key-points,
body.sx-site:where(:not(.surface-home)) .guide-contents { border-color: #d5e0ec; }
body.sx-site:where(:not(.surface-home)) .guide-key-points { border-left-color: #f93f00; }

/* The homepage uses the same neutral bands with its existing navy sections. */
body.sx-site.surface-home {
  --soft: #f7f7f6;
  background: #fff;
}
body.sx-site.surface-home .home-insurance,
body.sx-site.surface-home .home-property-types { background: #f7f7f6; }
body.sx-site.surface-home .coverage { background: #fff; }

/* State maps sit below the first section heading; full flags remain in the region chooser. */
.state-intro-map {
  margin: 16px 0 28px;
  max-width: 640px;
}
.state-intro-map img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
body.sx-site.surface-coverage .state-services { background: #fff; }
.state-services .sf-service-grid { margin-top: 0; }
.state-service-card { color: #0b1c39; text-decoration: none; }
.state-service-card:hover { text-decoration: none; border-color: #c65531; }
.state-service-card:hover .state-service-label { text-decoration: underline; text-underline-offset: 4px; }
.state-service-label { font-size: 1.05rem; font-weight: 800; line-height: 1.35; }

body.sx-site.surface-coverage .coverage-resource-topic { background: #f7f7f6; }
body.sx-site.surface-coverage .coverage-resource-cta {
  background: #fff;
  color: #0b1c39;
  border-color: #c65531;
}
body.sx-site.surface-coverage .coverage-resource-cta svg { color: #a93612; }
/* The overview and state pages use the same linked flag cards. */
.coverage-resource-footer .region-chooser {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #d5e0ec;
}
.sx-site .region-chooser :is(h2, h3) { margin: 0 0 10px; }
.region-chooser-intro { margin: 0 0 22px; }
.sx-site .region-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(8px, 1.8vw, 22px);
  list-style: none;
  padding: 0;
  margin: 0;
}
.region-card-grid > li { min-width: 0; }
.sx-site .region-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d5e0ec;
  border-radius: 13px;
  background: #fff;
  color: #0b1c39;
  box-shadow: 0 5px 14px #0b203e0d;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}
.sx-site .region-card:hover,
.sx-site .region-card[aria-current="page"] { border-color: #ba340d; }
.sx-site .region-card:hover .region-card-caption > span:first-child {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sx-site .region-card:focus-visible {
  outline: 3px solid #ba340d;
  outline-offset: 3px;
}
.region-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  border-bottom: 2px solid #f93f00;
}
.region-card-caption {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: clamp(9px, 1.3vw, 15px);
  font-size: clamp(.87rem, 1.4vw, 1.1rem);
}
.region-card-arrow {
  display: grid;
  flex: 0 0 auto;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 50%;
  background: #fff1e9;
  color: #ba340d;
}
.sx-site .region-card-arrow svg { width: 16px; height: 16px; color: inherit; }

/* Service Area overview */
.sx-site.surface-coverage-overview #main > .region-chooser-section { background: #fff; }
.coverage-overview-hero .lead { max-width: 45ch; }
.sx-site.surface-coverage-overview #main > :is(.coverage-overview-services, .coverage-overview-faq) { background: #fff; }
.sx-site.surface-coverage-overview .coverage-overview-services h2 { margin-bottom: 20px; }
.coverage-overview-services .sf-service-grid { margin-top: 0; }
.sx-site .coverage-overview-service-link {
  display: block;
  height: 100%;
  color: #0b1c39;
  text-decoration: none;
}
.sx-site .coverage-overview-service-link:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.sx-site .coverage-overview-service-link:focus-visible { outline: 3px solid #ba340d; outline-offset: -4px; }
.sx-site .coverage-overview-service-link h3 { margin: 0 0 8px; }
.sx-site .coverage-overview-service-link p { margin: 0; }
.sx-site.surface-coverage-overview #main > .coverage-overview-contact { background: #0b1c39; }
.coverage-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}
.coverage-contact-call { padding-block: clamp(0px, 3vw, 30px); }
.sx-site.surface-coverage-overview .coverage-contact-call h2 { color: #fff; }
.sx-site.surface-coverage-overview .coverage-contact-call p { color: #e4edf8; }
.sx-site.surface-coverage-overview .coverage-contact-call .design-kicker { color: #ffc1a8; }
.sx-site.surface-coverage-overview .coverage-call-primary,
.sx-site.surface-coverage-overview .coverage-overview-hero a[href^="tel:"] {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  border: 1px solid #ff8259;
  border-radius: 999px;
  background: #ba340d;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.sx-site.surface-coverage-overview .coverage-call-primary:hover,
.sx-site.surface-coverage-overview .coverage-overview-hero a[href^="tel:"]:hover { background: #9d2a08; }
.sx-site.surface-coverage-overview .coverage-call-primary:focus-visible,
.sx-site.surface-coverage-overview .coverage-overview-hero a[href^="tel:"]:focus-visible {
  outline: 3px solid #ffc1a8;
  outline-offset: 3px;
}
.sx-site.surface-coverage-overview .coverage-contact-grid > .formbox { max-width: none; margin: 0; }
@media (max-width: 760px) {
  .sx-site .region-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-contact-grid { grid-template-columns: minmax(0, 1fr); }
}
