.faq-preview { padding: 92px 0; background: #f1f3f3; }
.faq-preview-inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(55px, 8vw, 130px); align-items: start; }
.faq-preview-heading { padding-top: 14px; }
.faq-preview .eyebrow { margin-bottom: 25px; font-size: 10px; color: #587389; }
.faq-preview h2 { font-size: clamp(52px, 5.2vw, 76px); line-height: 1.03; }
.faq-preview-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 32px; font-size: 13px; color: #344e60; }
.faq-preview-list { border-top: 1px solid #cbd5db; }
.faq-preview .faq-item { border: 0; border-bottom: 1px solid #cbd5db; border-radius: 0; background: transparent; box-shadow: none; }
.faq-preview .faq-item::before { top: auto; bottom: 0; width: 100%; height: 1px; background: linear-gradient(90deg, #0877b9, #76a9c6 58%, #d7e2e9); transform: scaleX(0); transform-origin: left; }
.faq-preview .faq-item:is(:hover, :focus-within, .is-open)::before { transform: scaleX(1); }
.faq-preview .faq-item:hover { transform: none; background: #e8eef1; }
.faq-preview .faq-item.is-open { background: linear-gradient(115deg, #e3edf3, #eef2f4 80%); }
.faq-preview .faq-item h3 > button { min-height: 82px; padding: 24px 25px; gap: 24px; font-size: clamp(17px, 1.4vw, 21px); font-weight: 450; line-height: 1.4; letter-spacing: -.02em; }
.faq-preview .faq-item.is-open h3 > button { color: #0e638f; }
.faq-preview-state { color: #617887; font-size: 9px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; min-width: 38px; text-align: right; }
.faq-preview-state > span:last-child { display: none; }
.faq-preview [aria-expanded="true"] .faq-preview-state > span:first-child { display: none; }
.faq-preview [aria-expanded="true"] .faq-preview-state > span:last-child { display: inline; }
.faq-preview .faq-panel p { max-width: 590px; margin: 0; padding: 0 62px 28px 25px; color: #49616f; font-size: 14px; line-height: 1.85; }
.faq-preview .faq-panel:has(.faq-answer-link) p { padding-bottom: 7px; }
.faq-preview .faq-answer-link { display: inline-flex; min-height: 44px; align-items: center; margin: 0 25px 20px; color: #086da6; font-size: 12px; }
.faq-page .faq-section { padding: 175px 0 100px; min-height: 76vh; }
.faq-page .faq-layout { border-top: 0; padding-top: 0; gap: 80px; }
.faq-page h1 { margin-bottom: 28px; font-size: clamp(54px,6.3vw,92px); font-weight: 450; line-height: 1.02; letter-spacing: -.06em; }
.faq-page h1 > span { color: #0877b9; }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .faq-page h1 > span { background: linear-gradient(105deg,#606d77,#386f91 38%,#0877b9 90%); background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
}
.faq-page .faq-heading > p:not(.eyebrow) { font-size: 15px; }
.faq-page .faq-heading { position: sticky; top: 125px; align-self: start; }
@media(max-width:980px) {
  .faq-page .faq-layout { gap: 38px; }
  .faq-preview-inner { gap: 40px; grid-template-columns: .7fr 1.3fr; }
  .faq-preview .faq-item h3 > button { padding-inline: 22px; }
  .faq-preview .faq-panel p { padding-inline: 22px; }
}
@media(max-width:700px) {
  .faq-preview { padding: 55px 0 58px; }
  .faq-preview-inner { grid-template-columns: 1fr; gap: 28px; }
  .faq-preview-heading { padding-top: 0; }
  .faq-preview h2 { font-size: 52px; }
  .faq-preview .eyebrow { margin-bottom: 18px; }
  .faq-preview-more { margin-top: 20px; }
  .faq-preview .faq-item h3 > button { min-height: 76px; font-size: 17px; padding: 21px 18px; gap: 16px; }
  .faq-preview .faq-panel p { padding: 0 18px 24px; font-size: 13px; }
  .faq-preview .faq-answer-link { margin-left: 18px; }
  .faq-page .faq-section { padding: 120px 0 65px; }
  .faq-page .faq-heading { position: static; }
  .faq-page h1 { font-size: clamp(52px,12vw,70px); }
  .faq-page .faq-item h3 > button { font-size: 14px; }
  .faq-page .faq-panel p { font-size: 13px; }
}
@media(forced-colors:active) { .faq-page h1 > span { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; } }
@media(prefers-reduced-motion:reduce) {
  .faq-preview .faq-item, .faq-preview .faq-item::before, .faq-preview .faq-panel, .faq-preview .faq-panel p { transition: none; }
}
