/* FAQ uses the same shell, type and disclosure patterns as the homepage. */
.faq-header { padding: 40px 0 var(--section-space); background: var(--surface-soft); }
.faq-back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 24px; color: var(--muted); font-size: 14px; text-underline-offset: 4px; }
.faq-header h1 { font-size: var(--font-section); font-weight: 700; line-height: 1.15; letter-spacing: -.035em; color: var(--blue-dk); margin-bottom: 20px; }
.faq-header p { max-width: 640px; color: var(--muted); }
.faq-topics { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-top: 24px; }
.faq-topics a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--blue); text-underline-offset: 5px; }
.faq-content { padding-block: var(--section-space); }
.faq-topic { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; margin-bottom: var(--section-space); }
.faq-topic h2, .faq-help h2 { font-size: 28px; line-height: 1.2; font-weight: 700; letter-spacing: -.03em; color: var(--blue-dk); }
.faq-topic h2 { padding-top: 8px; }
.faq-list details:target { scroll-margin-top: 100px; }
.faq-list details:target summary { color: var(--blue); }
.faq-help { background: var(--surface-soft); border-radius: var(--radius-panel); padding: 32px; }
.faq-help p { margin-top: 12px; color: var(--muted); }
.faq-help .contact-link { margin-top: 12px; }
@media (max-width: 900px) {
  .faq-topic { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
  .faq-header { padding-top: 24px; }
  .faq-topics { gap: 4px 24px; }
  .faq-help { padding: 24px; }
}
