/* FAQ uses the existing site palette, type, native disclosures and buttons. */
.faq-page { padding-top: 32px; }
.faq-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--rule); margin-bottom: 70px; }
.faq-highlights > div { padding: 20px 28px 28px 0; }
.faq-highlights > div + div { border-left: 1px solid var(--rule); padding-left: 28px; }
.faq-highlights strong { display: block; font: 400 clamp(1.8rem, 2.6vw, 3rem)/1.15 Georgia, serif; letter-spacing: -.035em; margin: 14px 0; }
.faq-highlights p { color: var(--muted); max-width: 38ch; font-size: .92rem; margin: 0; }
.faq-layout { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 2.2fr); gap: 70px; align-items: start; scroll-margin-top: 30px; }
.faq-topic-panel { position: sticky; top: 30px; }
.faq-topic-panel > .eyebrow { margin-bottom: 20px; }
.faq-topic-panel h2 { font-size: clamp(2rem, 2.6vw, 3rem); margin-bottom: 28px; }
.faq-topics { display: grid; border-top: 1px solid var(--rule); }
.faq-topics a { display: flex; align-items: baseline; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--rule); text-decoration: none; font-size: .88rem; }
.faq-topics a span { font-family: 'Courier New', monospace; font-size: .75rem; color: var(--accent); }
.faq-contact { margin-top: 28px; }
.faq-contact .button { width: 100%; gap: 16px; }
.faq-contact p { margin-top: 24px; font-size: .86rem; color: var(--muted); }
.faq-contact p a { color: var(--ink); }
.faq-groups { min-width: 0; }
.faq-group { scroll-margin-top: 30px; margin-bottom: 65px; }
.faq-group header { margin-bottom: 24px; }
.faq-group header .eyebrow { margin-bottom: 16px; }
.faq-group h2 { font-size: clamp(2rem, 3vw, 3.4rem); }
.faq-group details { scroll-margin-top: 30px; }
.faq-group details:first-of-type { border-top: 1px solid var(--rule); }
.faq-group summary { font-size: 1.08rem; padding-block: 23px; }
.faq-group details[open] summary { color: var(--accent); }
.faq-answer { padding: 0 16px 12px 21px; }
.faq-answer p, .faq-answer ul { max-width: 76ch; font-size: .98rem; color: var(--muted); }
.faq-answer p { padding-bottom: 0; }
.faq-answer a, .faq-answer strong { color: var(--ink); }
.faq-answer ul { padding-left: 22px; margin-bottom: 20px; }
.faq-answer li { margin-bottom: 10px; }
.faq-back { display: inline-block; padding: 18px 0; font-size: .75rem; text-decoration: none; color: var(--muted); }
.faq-back span { margin-left: 12px; color: var(--accent); }
.faq-next-step { background: var(--panel); border: 1px solid var(--rule); padding: 36px; }
.faq-next-step h2 { font-size: 2.5rem; margin-top: 20px; }
.faq-next-step p { max-width: 65ch; color: var(--muted); }
@media (min-width: 1600px) { .faq-layout { gap: 90px; } .faq-group summary { font-size: 1.18rem; } .faq-answer p, .faq-answer ul { font-size: 1.05rem; } }
@media (max-width: 991px) {
    .faq-highlights { margin-bottom: 45px; }
    .faq-highlights > div { padding-right: 20px; }
    .faq-highlights > div + div { padding-left: 20px; }
    .faq-layout { grid-template-columns: 1fr; gap: 36px; }
    .faq-topic-panel { position: static; }
    .faq-topic-panel h2 br { display: none; }
    .faq-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
    .faq-contact { display: flex; align-items: center; gap: 28px; }
    .faq-contact .button { width: auto; }
    .faq-contact p { margin: 0; }
    .faq-group { margin-bottom: 45px; }
}
@media (max-width: 640px) {
    .faq-highlights { grid-template-columns: 1fr; }
    .faq-highlights > div { padding: 22px 0; }
    .faq-highlights > div + div { border-left: 0; border-top: 1px solid var(--rule); padding-left: 0; }
    .faq-highlights strong { margin-block: 10px; font-size: 2rem; }
    .faq-highlights p { max-width: none; }
    .faq-topics { gap: 0 16px; }
    .faq-topics a { align-items: start; font-size: .8rem; }
    .faq-contact { display: block; }
    .faq-contact p { margin-top: 20px; }
    .faq-group summary { font-size: 1rem; padding-block: 20px; }
    .faq-answer { padding-left: 0; padding-right: 0; }
    .faq-next-step { padding: 24px; }
    .faq-next-step h2 { font-size: 2rem; }
}
