/* Explicit surface colours keep the shared dark theme out of light content. */
.content-section.alt {
  color: #0f1c29;
}

.content-section.alt .eyebrow,
.link-card a {
  color: #0066a3;
}

.faq-item,
.link-card {
  color: #0f1c29;
}

.faq-item h3,
.link-card h3 {
  color: inherit;
}

.faq-item p,
.link-card p {
  color: #475569;
}

/* The article sections retain their original dark backgrounds. */
.content-section:not(.alt) .content-grid article p,
.content-section:not(.alt) .content-grid article li {
  color: #aebdd0;
}

/* Preserve the homepage's dark FAQ palette, including expanded answers. */
.faq-section {
  color: #f8fbff;
}

.faq-section .eyebrow {
  color: #6ecbff;
}

.faq-section summary {
  color: #f8fbff;
}

.faq-section details p {
  color: #879bb1;
}

.faq-section summary:focus-visible {
  outline: 2px solid #6ecbff;
  outline-offset: 5px;
}

.content-section.alt a:focus-visible {
  outline: 2px solid #0066a3;
  outline-offset: 4px;
}

/* Allow FAQ text to reflow on narrow screens and at enlarged text sizes. */
.faq-layout > *,
.content-section.alt .section-head > * {
  min-width: 0;
}

.faq-section h2,
.faq-section summary,
.content-section.alt h2,
.faq-item h3 {
  overflow-wrap: anywhere;
}


/* Shared controls and the homepage sections whose styles were missing. */
.menu-btn { min-width: 44px; min-height: 44px; cursor: pointer; line-height: 1; }
.menu-btn:focus-visible, .nav-links a:focus-visible, .btn:focus-visible {
  outline: 2px solid #6ecbff;
  outline-offset: 4px;
}
.btn-primary { background: linear-gradient(135deg, #0874c7, #0759b0); }
.quote-form .btn:focus-visible { outline-color: #0066a3; }
.form-note { color: #475569; }
.footer-bottom { color: #879bb1; }
.hero-actions { flex-wrap: wrap; }
.page-hero h1, .side-card { overflow-wrap: anywhere; }
.side-card .btn { width: 100%; }
.section-head.center, #service-guides .section-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}
.section-head.center { align-items: center; text-align: center; }
.section-head.center h2, #service-guides .section-head h2 { max-width: 900px; }
.section-head.center .eyebrow, #service-guides .section-head .eyebrow { margin: 0; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.feature-card {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow: var(--shadow);
}
.feature-number { color: #6ecbff; font-size: 14px; font-weight: 800; letter-spacing: .12em; }
.feature-card h3 { font-size: 22px; line-height: 1.2; margin: 28px 0 12px; }
.feature-card p { color: #aebdd0; margin: 0; }
#service-guides .service-card { min-height: 0; display: flex; flex-direction: column; }
#service-guides .service-card a { margin-top: auto; }
[id] { scroll-margin-top: 96px; }
@media (max-width: 980px) {
  .feature-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .nav-links { max-height: calc(100dvh - 100px); overflow-y: auto; }
  .page-hero .hero-actions { flex-direction: column; align-items: stretch; }
}
