.faq-hero { padding-block: clamp(40px, 5vw, 72px) 40px; text-align: center; }
.faq-hero h1 { font-size: clamp(3rem, 5vw, 4.75rem); }
.faq-hero .container > p:last-child { max-width: 42rem; margin: 20px auto 0; color: var(--muted); font-size: 1.1875rem; }
.faq-groups { max-width: 64rem; padding-bottom: var(--section-space); }
.faq-group + .faq-group { margin-top: 48px; }
.faq-group h2 { margin-bottom: 22px; font-family: var(--body); font-size: 1.5rem; line-height: 1.35; }
.faq-group .service-faq summary { padding: 22px 12px; }
.faq-group .service-faq details p { max-width: 56rem; padding: 0 12px 24px; line-height: 1.75; }
.faq-group .service-faq details[open] { background: var(--surface); }
.faq-group .service-faq details[open] summary { color: var(--ink); }
@media (max-width: 37.5rem) {
  .faq-hero { padding-block: 36px 32px; text-align: left; }
  .faq-hero h1 { font-size: clamp(2.5rem, 10.5vw, 3.8rem); }
  .faq-hero .container > p:last-child { font-size: 1.125rem; }
  .faq-group + .faq-group { margin-top: 36px; }
  .faq-group .service-faq summary { padding: 20px 10px; }
  .faq-group .service-faq details p { padding-inline: 10px; }
}
