/* FAQ page flow only; hero, navigation, accordion and CTA visuals are shared. */
.faq-page { font-family: var(--font-interface); color: var(--color-body); }
.faq-content { padding: 74px 0 80px; }
.faq-search { display: flex; align-items: center; gap: 12px; max-width: 620px; margin: 0 auto 34px; border: 1px solid var(--color-border); border-radius: 12px; background: #fff; }
.faq-search:focus-within { outline: 2px solid var(--color-deep-blue); outline-offset: 3px; }
.faq-search button { display: grid; place-items: center; flex: 0 0 18px; margin-left: 16px; padding: 0; border: 0; background: none; color: var(--color-body); cursor: pointer; }
.faq-search .icon { width: 18px; height: 18px; }
.faq-search input { flex: 1; min-width: 0; width: 100%; padding: 14px 16px 14px 0; border: 0; border-radius: 12px; background: transparent; color: var(--color-ink); font: 14px/17px var(--font-interface); }
.faq-search input:focus { outline: none; }
.faq-search input::placeholder { color: #757575; opacity: 1; }
.faq-topics { display: grid; gap: 26px; }
.faq-topic-title { max-width: 860px; margin: 0 auto 12px; color: var(--color-ink); font-size: 16.5px; font-weight: 700; line-height: 26.4px; }
.faq-topic .faq-list--boxed { margin-top: 0; }
.faq-contact { margin-top: 28px; text-align: center; font-size: 14px; line-height: 22.4px; }
.faq-contact a { color: var(--color-primary); font-weight: 600; overflow-wrap: anywhere; }
.faq-contact a:hover { text-decoration: underline; }
.faq-search-empty { text-align: center; font-size: 15px; line-height: 25px; }
.faq-page [hidden] { display: none; }
@media (max-width: 800px) { .faq-content { padding-block: 48px; } }
