/* FAQ-only layout. Existing typography, questions, answers and page tokens remain. */
#faq { --faq-offset:110px; }
#faq .faq-layout { grid-template-columns:minmax(0,35fr) minmax(0,65fr); gap:4vw; align-items:start; }
#faq .faq-aside { position:sticky; top:var(--faq-offset); max-height:calc(100svh - var(--faq-offset) - 20px); overflow:auto; }
#faq .faq-aside h2 { margin:0; }
#faq .faq-categories { display:grid; margin-top:52px; gap:8px; }
#faq .faq-categories a { display:flex; align-items:center; gap:22px; border-left:2px solid transparent; padding:14px 20px; font-size:18px; line-height:1.5; text-decoration:none; }
#faq .faq-categories a span { font:12px monospace; color:#7d807e; }
#faq .faq-categories a[aria-current="location"] { color:var(--blue); border-color:var(--blue); }
#faq .faq-categories a[aria-current="location"] span { color:inherit; }
#faq .faq-categories a:focus-visible, #faq summary:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
#faq .faq-group { scroll-margin-top:calc(var(--faq-offset) - 90px); }
#faq .faq-group details:last-child { border-bottom:0; }
#faq .faq-group:last-child details:last-child { border-bottom:1px solid var(--line); }
@media(max-width:760px) {
  #faq .faq-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
  #faq .faq-aside { position:static; max-height:none; overflow:visible; min-width:0; }
  #faq .faq-categories { display:flex; overflow-x:auto; margin-top:28px; gap:6px; padding:4px 4px 8px; }
  #faq .faq-categories a { flex:0 0 auto; gap:9px; padding:10px 8px; font-size:13px; border-left:0; border-bottom:2px solid transparent; }
}
@media(prefers-reduced-motion:reduce) {
  #faq details p { animation:none; }
  #faq summary b { transition:none; }
}
