.faq-hub { background: hsl(var(--background)); color: hsl(var(--foreground)); }
.faq-hub__shell { width: min(calc(100% - 2 * var(--shell-pad)), var(--container)); margin-inline: auto; padding-block: var(--section-y-lg); }
.faq-hub__topics,.faq-hub__group > h2,.faq-hub__group > details { max-inline-size: var(--container-faq); }
.faq-hub__group { max-inline-size: var(--container); }
.faq-hub__hero { max-width: var(--measure-lede); }
.faq-hub__eyebrow, .faq-hub__group-title { color: hsl(var(--muted-foreground)); font-weight: 600; }
.faq-hub__hero h1 { font-size: var(--text-h1); line-height: 1.08; letter-spacing: -0.03em; text-wrap: balance; margin: var(--space-4) 0; }
.faq-hub__lede { font-size: var(--text-lg); line-height: 1.55; margin: 0; }
.faq-hub__image { width: min(100%, 280px); margin: var(--space-6) 0 0; }
.faq-hub__image img { display: block; width: 100%; height: auto; border-radius: var(--radius-card); }
.faq-hub__topics { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block: var(--space-12); }
.faq-hub__topics a { display: inline-flex; align-items: center; min-height: 44px; padding: var(--space-2) var(--space-4); border: 1px solid hsl(var(--border)); border-radius: var(--radius-card); color: inherit; text-decoration: none; }
.faq-hub__topics a:hover, .faq-hub__topics a:focus-visible { border-color: currentColor; }
.faq-hub__group { scroll-margin-top: var(--space-12); margin-block-start: var(--space-12); }
.faq-hub__group-title { font-size: var(--text-xl); margin-block: 0 var(--space-5); }
.faq-hub__item { border-top: 1px solid hsl(var(--border)); }
.faq-hub__item:last-child { border-bottom: 1px solid hsl(var(--border)); }
.faq-hub__item summary { cursor: pointer; font-size: var(--text-lg); font-weight: 600; line-height: 1.4; padding-block: var(--space-5); }
.faq-hub__item summary:focus-visible, .faq-hub__answer a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.faq-hub__answer { max-width: var(--measure-prose); padding-bottom: var(--space-5); }
.faq-hub__answer p { margin: 0; line-height: 1.7; }
.faq-hub__answer a { color: inherit; text-underline-offset: 0.2em; }
