.faq-heading { max-width: 850px; }
.faq-heading > p:not(.eyebrow) { color: var(--muted); font-family: var(--body-font); font-size: 1.08rem; line-height: 1.75; }
.faq-heading .faq-intro-lead { color: var(--ivory); font-weight: 700; }
.faq-questions, .faq-invitation { margin: 3rem auto 0; max-width: 900px; }
.faq-questions { scroll-margin-top: 1.5rem; }
.faq-questions h2, .faq-invitation h2 { font-size: clamp(1.3rem, 2.8vw, 1.8rem); line-height: 1.4; }
.faq-hint { color: var(--muted); font-family: var(--body-font); line-height: 1.6; margin: 0.75rem 0 1.5rem; }
.faq-items { border: 1px solid rgba(226, 186, 105, 0.35); border-top: 2px solid var(--gold); }
.faq-item { background: rgba(7, 17, 31, 0.94); scroll-margin-top: 1.5rem; }
.faq-item + .faq-item { border-top: 1px solid rgba(226, 186, 105, 0.25); }
.faq-item summary { cursor: pointer; padding: 1.25rem 1.5rem; color: var(--ivory); }
.faq-item summary::marker { color: var(--gold); font-size: 0.9em; }
.faq-item summary h3 { display: inline; font-size: clamp(0.95rem, 2vw, 1.1rem); line-height: 1.65; overflow-wrap: anywhere; }
.faq-item summary:hover, .faq-item[open] summary { background: #10233e; color: var(--gold-bright); }
.faq-item summary:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: -4px; }
.faq-answer { color: var(--muted); font-family: var(--body-font); font-size: 1.05rem; line-height: 1.75; padding: 0.5rem 1.5rem 1.25rem; }
.faq-answer p { margin: 0.75rem 0; }
.faq-answer strong { color: var(--ivory); }
.faq-invitation { background: linear-gradient(135deg, #10233e, #08111f); border: 1px solid rgba(226, 186, 105, 0.3); padding: 2.5rem; text-align: center; }
.faq-invitation h2 { margin-top: 1rem; }
.faq-invitation > p:not(.eyebrow) { color: var(--muted); font-family: var(--body-font); line-height: 1.75; }
.faq-invitation .button { margin: 0.75rem 0; max-width: 100%; }
.faq-related a { color: var(--gold-bright); text-underline-offset: 0.2em; }
.faq-skip-link { background: var(--gold-bright); color: var(--night); font-family: var(--body-font); left: 1rem; padding: 1rem; position: absolute; top: -10rem; z-index: 10; }
.faq-skip-link:focus { top: 1rem; }
@media (max-width: 600px) {
  .faq-item summary { padding: 1rem; }
  .faq-answer { padding: 0.25rem 1rem 1rem; }
  .faq-invitation { padding: 2rem 1.25rem; }
  .faq-questions, .faq-invitation { margin-top: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.faq-page) { scroll-behavior: auto; }
}
