/* Shared FAQ treatment for the home page and native FAQ library. */
body .polymer-faqs { max-width: 960px; margin-inline: auto; }
body .polymer-faq-group + .polymer-faq-group { margin-top: 3rem; }
body .polymer-faq-group__title { font-family: var(--hv-font-ui); font-size: 1.15rem; font-weight: 400; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; color: var(--hv-color-eyebrow); margin: 0 0 1.25rem; }
body .polymer-faq-accordion {
    --bs-accordion-bg: var(--hv-color-paper);
    --bs-accordion-color: var(--hv-color-text-body);
    --bs-accordion-btn-color: var(--hv-color-ink);
    --bs-accordion-active-color: var(--hv-color-ink);
    --bs-accordion-active-bg: var(--hv-color-surface);
    --bs-accordion-btn-focus-box-shadow: none;
    display: grid;
    gap: .875rem;
}
body .polymer-faq-accordion .accordion-item { border: 1px solid var(--hv-color-border); border-radius: 14px; background: var(--hv-color-paper); overflow: hidden; box-shadow: 0 3px 16px rgb(var(--hv-ink-rgb) / 3%); transition: border-color 180ms ease, box-shadow 180ms ease; }
body .polymer-faq-accordion .accordion-item:hover { border-color: var(--hv-color-border-strong); }
body .polymer-faq-accordion .accordion-item:has(.accordion-button[aria-expanded="true"]) { border-color: var(--hv-color-border-strong); box-shadow: 0 7px 24px rgb(var(--hv-ink-rgb) / 5%); }
body .polymer-faq-accordion .accordion-header { margin: 0; font-family: var(--hv-font-body); }
body .polymer-faq-accordion .accordion-button { display: flex; align-items: center; gap: 1.5rem; font-family: var(--hv-font-body); font-size: clamp(1rem, 1.5vw, 1.1875rem); font-weight: 500; line-height: 1.5; color: var(--hv-color-ink); padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 3vw, 2rem); border-radius: 0; background: var(--hv-color-paper); box-shadow: none; transition: background-color 180ms ease; }
body .polymer-faq-accordion .accordion-button:hover { background: var(--hv-color-surface); }
body .polymer-faq-accordion .accordion-button:not(.collapsed) { background: var(--hv-color-surface); color: var(--hv-color-ink); box-shadow: none; }
body .polymer-faq-accordion .accordion-button::after { content: ""; flex: 0 0 32px; width: 32px; height: 32px; margin-left: auto; border: 1px solid var(--hv-color-border-accent); border-radius: 50%; background-color: var(--hv-color-badge); background-image: linear-gradient(var(--hv-color-accent-text), var(--hv-color-accent-text)), linear-gradient(var(--hv-color-accent-text), var(--hv-color-accent-text)); background-size: 12px 1.5px, 1.5px 12px; background-position: center; background-repeat: no-repeat; transform: none; transition: transform 180ms ease, background-color 180ms ease; }
body .polymer-faq-accordion .accordion-button:not(.collapsed)::after { transform: rotate(45deg); background-color: var(--hv-color-badge-hover); }
body .polymer-faq-accordion .accordion-button:focus-visible { outline: 2px solid var(--hv-color-focus); outline-offset: -5px; }
body .polymer-faq-accordion .accordion-body { padding: 0 clamp(1.25rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2rem); background: var(--hv-color-surface); font-family: var(--hv-font-body); color: var(--hv-color-text-body); font-size: 1rem; line-height: 1.8; }
body .polymer-faq-accordion .accordion-body > :last-child { margin-bottom: 0; }
body .polymer-faq-accordion .accordion-body a { color: var(--hv-color-accent-text); text-decoration: underline; text-underline-offset: .2em; }
body .polymer-faq-accordion .accordion-body a:hover { color: var(--hv-color-ink); }
body .polymer-faq-accordion .accordion-body a:focus-visible { outline: 2px solid var(--hv-color-focus); outline-offset: 3px; }
@media (max-width: 575.98px) {
    body .polymer-faq-accordion { gap: .75rem; }
    body .polymer-faq-accordion .accordion-button { gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    body .polymer-faq-accordion .accordion-item,
    body .polymer-faq-accordion .accordion-button,
    body .polymer-faq-accordion .accordion-button::after { transition: none; }
}
