/* Scoped components for the pages that opt into this stylesheet. */
.seo-faq { --seo-brand: #152f7c; }
.seo-faq { clear: both; margin: 32px 0; }
.seo-faq__item { position: relative; isolation: isolate; overflow: hidden; margin: 0 0 14px; border: 1px solid #d6dbe7; border-radius: 8px; background: #fff; color: #152f7c; scroll-margin-top: 140px; }
.seo-faq__item::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--seo-brand); clip-path: circle(0% at 28px 0); transition: clip-path 700ms ease; }
.seo-faq__item:target::before { clip-path: circle(200% at 28px 0); }
.seo-faq__item:target { color: #fff; }
.seo-faq__question { margin: 0; font-size: 18px; line-height: 1.45; text-transform: none; color: inherit; }
.seo-faq__question a { display: flex; align-items: center; gap: 12px; padding: 19px 20px; color: inherit; text-decoration: none; font-weight: 700; }
.seo-faq__question a::before { content: ''; flex: 0 0 8px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); transition: transform 400ms ease; }
.seo-faq__item:target .seo-faq__question a::before { transform: rotate(135deg); }
.seo-faq__answer { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows 400ms cubic-bezier(.86,0,.07,1), visibility 400ms; }
.seo-faq__item:target .seo-faq__answer { grid-template-rows: 1fr; visibility: visible; }
.seo-faq__inner { min-height: 0; overflow: hidden; }
.seo-faq__copy { padding: 0 20px 20px; }
.seo-faq__copy p { margin: 0 0 14px; color: inherit; font-size: 16px; line-height: 1.6; }
.seo-faq__close { color: inherit; font-size: 14px; text-underline-offset: 3px; }
.seo-faq a:focus-visible { outline: 3px solid #0092d4; outline-offset: -4px; }
@media (prefers-reduced-motion: reduce) { .seo-faq__item::before, .seo-faq__answer, .seo-faq__question a::before { transition: none; } }
