.faq { padding: clamp(4rem, 9vw, 8rem) max(1.25rem, calc((100vw - 1120px) / 2)); background: #eef5fa; }
.faq__intro { max-width: 780px; margin-bottom: 2rem; }
.faq__intro h2 { margin: .4rem 0; color: var(--blue-950); font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.08; }
.faq__tabs { display: flex; gap: .5rem; overflow-x: auto; padding: .25rem .25rem 0; }
.faq__tabs button { min-height: 44px; flex: 0 0 auto; border: 1px solid #b6ccdc; border-radius: 18px 18px 5px 5px; padding: .75rem 1rem; background: #fff; color: var(--blue-800); font: inherit; font-weight: 700; cursor: pointer; }
.faq__tabs button[aria-selected="true"] { border-color: var(--blue-950); background: var(--blue-950); color: #fff; }
.faq__tabs button:focus-visible, [data-faq-item] button:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.faq__panel { padding-top: 1rem; }
[data-faq-item] { border-bottom: 1px solid #cbdbe6; }
[data-faq-item] h3 { margin: 0; }
[data-faq-item] button { width: 100%; min-height: 56px; border: 0; padding: 1rem 3rem 1rem 0; background: transparent; color: var(--ink); font: inherit; font-weight: 700; text-align: left; cursor: pointer; position: relative; }
[data-faq-item] button::after { content: "+"; position: absolute; right: .75rem; color: var(--orange); font-size: 1.5rem; }
[data-faq-item] button[aria-expanded="true"]::after { content: "−"; }
[data-faq-answer] { display: grid; }
[data-app-ready="true"] [data-faq-answer] { grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .25s ease, opacity .25s ease; }
[data-faq-answer] p { min-height: 0; overflow: hidden; margin: 0; line-height: 1.7; }
[data-faq-answer].is-open { grid-template-rows: 1fr; opacity: 1; }
[data-faq-answer].is-open p { padding: 0 2rem 1.25rem 0; }
.faq__item--important { border-left: 4px solid var(--orange); padding-left: 1rem; }
@media (prefers-reduced-motion: reduce) { [data-app-ready="true"] [data-faq-answer] { transition-duration: 0s; } }
@media (max-width: 768px) { .faq__tabs { margin-right: -1.25rem; } .faq__tabs button { white-space: nowrap; } }
