/* FAQ pages and homepage links reuse the approved Afterglow system. */
.landing .faq-teasers { list-style: none; padding: 0; margin-top: var(--space-12); border-top: 1px solid var(--color-border); }
.landing .faq-teasers li { border-bottom: 1px solid var(--color-border); }
.landing .faq-teasers a { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); min-height: 64px; padding-block: var(--space-6); color: var(--color-text); font-size: 18px; text-decoration: none; }
.landing .faq-teasers a > span:last-child { flex: none; color: var(--color-accent); }
.landing .faq-teasers a:hover > span:first-child { text-decoration: underline; text-underline-offset: 4px; }
.landing .faq-all { margin-top: var(--space-6); text-align: center; }
.landing .faq-all a { display: inline-flex; align-items: center; min-height: 44px; }
.faq-page .page-header { grid-template-columns: 1fr auto auto; }
.faq-page main { max-width: 960px; padding-bottom: var(--space-16); }
.faq-page .faq-breadcrumb { padding-top: var(--space-8); font-size: 14px; color: var(--color-support); }
.faq-page .faq-breadcrumb ol { display: flex; flex-wrap: wrap; gap: var(--space-3); padding: 0; margin: 0; list-style: none; }
.faq-page .faq-breadcrumb li + li::before { content: '/'; margin-right: var(--space-3); }
.faq-page .faq-breadcrumb a { display: inline-block; min-height: 44px; }
.faq-page .faq-intro { padding-block: var(--space-12); }
.faq-page .faq-intro h1 { max-width: 20ch; margin: 0; text-align: left; }
.faq-page .faq-intro > p { max-width: 58ch; margin-top: var(--space-6); color: var(--color-support); }
.faq-page .faq-intro .faq-date { font-size: 14px; }
.faq-page .faq-list { margin-top: 0; }
.faq-page .faq-list details { scroll-margin-top: var(--space-8); }
.faq-page .faq-related { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-8); margin-top: var(--space-8); }
.faq-page .faq-related a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 1023px) {
  .faq-page .page-header > .site-brand { align-self: start; min-height: 44px; white-space: nowrap; }
  .faq-page .final-mobile-nav { grid-column: 2; grid-row: 1; justify-self: end; }
  .faq-page .final-mobile-nav[open] { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
}
@media (max-width: 767px) {
  .faq-page .final-mobile-nav { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
  .faq-page .faq-intro { padding-block: var(--space-8); }
  .landing .faq-teasers { margin-top: var(--space-8); }
  .landing .faq-teasers a { font-size: 16px; }
}
