/* FAQ composition only. Shared FAQ, card and brand styles remain canonical. */
.public-faq { min-width: 0; color: var(--ink); }
.public-faq .public-faq-intro { padding-bottom: 24px; }
.public-faq .public-faq-intro h1 { max-width: 24ch; }
.public-faq :is(p, li) { max-width: 75ch; line-height: 1.6; }
.public-faq :is(h1, h2, h3, p, a, summary) { overflow-wrap: anywhere; }
.public-faq .public-faq-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 16px clamp(18px, 5vw, 72px); }
.public-faq .public-faq-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.public-faq .faq-list { width: 100%; max-width: 75ch; min-width: 0; }
.public-faq summary { min-height: 44px; cursor: pointer; }
.public-faq .public-faq-background { max-width: 75ch; margin-top: 24px; }
.public-faq .public-faq-background > summary { padding-block: 12px; font-weight: 700; }
.public-faq :is(a, summary):focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; box-shadow: 0 0 0 2px var(--white); }
.public-faq [tabindex="-1"] { scroll-margin-top: 140px; }
@media print {
  /* Only the three route-owned legacy/reference pages opt into these rules. */
  .public-faq-reference details { break-inside: avoid; box-shadow: none; }
  .public-faq-reference details > :not(summary) { display: block !important; }
  .public-faq-reference details::details-content { display: block; content-visibility: visible; }
  .public-faq .section { padding: 12pt 0; }
  .public-faq details { break-inside: avoid; box-shadow: none; }
  .public-faq details > :not(summary) { display: block !important; }
  .public-faq details::details-content { display: block; content-visibility: visible; }
  .public-faq :is(a, p, li) { color: #000; }
}
