/* Native disclosure controls keep every answer accessible without JavaScript. */
.faq-page main > section:not(.hero) .wrap { max-width:1100px; }
.faq-topics { display:flex; flex-wrap:wrap; gap:10px; padding-top:24px; }
.faq-topics a { border:1px solid var(--panel-border); border-radius:8px; padding:9px 16px; color:var(--ink-soft); text-decoration:none; font-size:.875rem; }
.faq-topics a:hover { color:var(--ink); border-color:var(--purple); }
.accordion { display:grid; gap:12px; margin-top:24px; }
.qa { min-width:0; border:1px solid var(--panel-border); border-radius:12px; background:var(--panel); }
.qa > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; font-size:1rem; font-weight:500; color:var(--ink); }
.qa > summary::-webkit-details-marker { display:none; }
.qa > summary::after { content:"+"; flex:none; font-size:1.5rem; font-weight:400; line-height:1; color:var(--purple); }
.qa[open] > summary::after { content:"−"; }
.qa > summary:hover { color:var(--purple-text); }
.qa > summary:focus-visible { outline:3px solid var(--purple); outline-offset:3px; border-radius:12px; }
.qa .qa-body { padding:0 24px 24px; overflow-wrap:anywhere; }
.qa .qa-body > :first-child { margin-top:0; }
.qa .qa-body > :last-child { margin-bottom:0; }
.qa .qa-body pre { margin:20px 0; }
@media (max-width:560px) {
  .qa > summary { padding:18px; font-size:.95rem; }
  .qa .qa-body { padding:0 18px 20px; }
  .faq-topics { gap:8px; }
  .faq-topics a { flex:1 1 auto; text-align:center; padding:9px 12px; }
}
