.faq-search { max-width: 540px; margin: var(--space-lg) auto var(--space-md); }
.faq-layout { display: grid; gap: var(--space-xl); }
@media (min-width: 992px) { .faq-layout { grid-template-columns: 290px 1fr; align-items: start; } }
.faq-nav { position: static; }
@media (min-width: 992px) { .faq-nav { position: sticky; top: calc(var(--header-h) + 24px); } }
.faq-nav-title { font-size: 1rem; margin: 0 0 var(--space-sm); }
.faq-nav-title i { color: var(--sky-blue); margin-right: .4rem; }
#categoryNav { list-style: none; display: grid; gap: .25rem; }
#categoryNav a { display: flex; align-items: center; gap: .65rem; padding: .65rem .75rem; border-radius: var(--radius-md); font-size: .9375rem; color: var(--text-primary); transition: background var(--duration-fast) var(--ease-out); }
#categoryNav a i { color: var(--sky-blue); width: 1.25rem; text-align: center; }
#categoryNav a:hover, #categoryNav a.is-active { background: var(--sky-blue-pale); }
.faq-count { margin-left: auto; color: var(--text-secondary); font-size: .8125rem; }
.faq-category { margin-bottom: var(--space-2xl); scroll-margin-top: calc(var(--header-h) + 16px); }
.faq-category[hidden], .faq-item[hidden] { display: none; }
.faq-category-head { display: flex; align-items: center; gap: .75rem; margin-bottom: var(--space-md); }
.faq-category-head h2 { font-size: 1.375rem; margin: 0; }
@media (max-width: 991px) { #categoryNav { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { #categoryNav { grid-template-columns: 1fr; } }
