
/* FAQ — compact public knowledge base; intentionally scoped to /faq. */
.faq-editorial-page { color: #f7f9ff; background: #02052b; font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif; }
.faq-page__hero { position: relative; overflow: hidden; color: white; background: radial-gradient(ellipse 42% 46% at 50% 100%, rgb(37 85 201 / .28), transparent 72%), linear-gradient(180deg, #02052b 0%, #050a39 100%); }
.faq-page__hero::before { position: absolute; inset: auto 10% -1px; height: 1px; content: ''; background: linear-gradient(90deg, transparent, rgb(124 164 255 / .38), transparent); pointer-events: none; }
.faq-page__hero::after { position: absolute; left: 50%; bottom: -13rem; width: 32rem; aspect-ratio: 1; content: ''; border: 1px solid rgb(138 169 255 / .08); border-radius: 50%; transform: translateX(-50%); box-shadow: inset 0 0 0 5.5rem rgb(40 92 211 / .025), 0 0 8rem rgb(34 91 229 / .1); pointer-events: none; }
.faq-page__hero-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; padding-block: 1.25rem clamp(2.6rem, 5vw, 4.2rem); text-align: center; }
.faq-page__hero .smart-breadcrumb { align-self: stretch; margin-bottom: clamp(1.65rem, 3vw, 2.7rem); text-align: left; }
.faq-page__eyebrow { margin: 0; color: #e41e31; font-size: .72rem; font-weight: 800; letter-spacing: .15em; line-height: 1.2; }
.faq-page__intro { display: flex; flex-direction: column; align-items: center; width: 100%; }
.faq-page__intro h1 { max-width: 16ch; margin: .65rem 0 .75rem; color: white; font-size: clamp(2.45rem, 4vw, 4rem); font-weight: 720; letter-spacing: -.05em; line-height: 1.02; text-wrap: balance; }
.faq-page__intro > p:last-child { max-width: 44rem; margin: 0; color: #c7d1ed; font-size: clamp(.96rem, 1.15vw, 1.08rem); line-height: 1.6; }
.faq-page__search { width: min(100%, 47rem); margin-top: clamp(1.5rem, 3vw, 2.25rem); padding: .45rem; border: 1px solid rgb(255 255 255 / .17); border-radius: 1.05rem; background: linear-gradient(135deg, rgb(255 255 255 / .14), rgb(110 144 238 / .07)); box-shadow: 0 1.6rem 4.5rem rgb(0 0 0 / .28), 0 0 3rem rgb(52 105 242 / .1); backdrop-filter: blur(14px); }
.faq-page__search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.faq-page__search-field { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; align-items: center; min-height: 3.65rem; padding: 0 1rem; border: 1px solid rgb(122 146 204 / .18); border-radius: .75rem; color: #65708b; background: linear-gradient(180deg, #fff, #f5f7fd); box-shadow: inset 0 1px 0 #fff, 0 .45rem 1.4rem rgb(0 0 0 / .13); transition: border-color .18s ease, box-shadow .18s ease; }
.faq-page__search-field:focus-within { border-color: #718de0; box-shadow: inset 0 1px 0 #fff, 0 0 0 3px rgb(105 142 255 / .22), 0 .65rem 1.8rem rgb(0 0 0 / .16); }
.faq-page__search input { width: 100%; border: 0; outline: 0; color: #11172f; background: transparent; font: inherit; }
.faq-page__search input::placeholder { color: #70788d; }
.faq-page__search button { min-height: 2.4rem; padding-inline: .4rem; border: 0; color: #5a637a; background: transparent; font-size: .76rem; font-weight: 750; cursor: pointer; }
.faq-page__search button:hover { color: #07105c; }
.faq-page__content { position: relative; padding-block: clamp(2.4rem, 4.5vw, 4rem); color: #f7f9ff; background: linear-gradient(180deg, #050a39 0, #02062f 7rem, #02052b 100%); }
.faq-page__toolbar { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding-bottom: 1.15rem; border-bottom: 1px solid rgb(151 180 244 / .16); }
.faq-page__toolbar h2 { margin: .5rem 0 0; color: #fff; font-size: clamp(1.9rem, 3vw, 2.75rem); font-weight: 720; letter-spacing: -.04em; line-height: 1; }
.faq-page__categories { display: flex; gap: .2rem; overflow-x: auto; margin-block: .85rem 1.4rem; padding: .25rem; border: 1px solid rgb(151 180 244 / .18); border-radius: .65rem; background: rgb(13 22 72 / .58); scrollbar-width: thin; scrollbar-color: #526ca8 transparent; }
.faq-page__categories button { flex: 0 0 auto; min-height: 2.35rem; padding: .48rem .78rem; border: 1px solid transparent; border-radius: .4rem; color: #bfc9e8; background: transparent; font-size: .76rem; font-weight: 700; cursor: pointer; transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
.faq-page__categories button:hover { color: #fff; background: rgb(102 137 224 / .12); }
.faq-page__categories button[aria-pressed='true'] { border-color: rgb(134 168 247 / .42); color: white; background: #172661; box-shadow: inset 0 1px 0 rgb(255 255 255 / .08); }
.faq-page__categories button:focus-visible, .faq-page__list summary:focus-visible, .faq-page__answer a:focus-visible, .faq-page__empty a:focus-visible { outline: 3px solid #e41e31; outline-offset: 3px; }
.faq-page__list { display: grid; width: min(100%, 56rem); margin-inline: auto; gap: .7rem; }
.faq-page__list details { overflow: hidden; border: 1px solid rgb(148 186 255 / .23); border-radius: .6rem; background: linear-gradient(105deg, rgb(20 29 78 / .96), rgb(17 25 69 / .9)); box-shadow: 0 .65rem 1.8rem rgb(0 0 0 / .12), inset 0 1px 0 rgb(255 255 255 / .025); transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.faq-page__list details[open] { border-color: rgb(111 178 255 / .58); background: linear-gradient(115deg, rgb(23 35 91 / .98), rgb(17 27 76 / .96)); box-shadow: 0 .8rem 2.2rem rgb(0 0 0 / .2), inset 0 1px 0 rgb(255 255 255 / .04), 0 0 1.2rem rgb(44 111 244 / .07); }
.faq-page__list details[hidden] { display: none; }
.faq-page__list summary { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 1.65rem; gap: .9rem; align-items: center; min-height: 4.15rem; padding: .9rem 1rem; color: #fff; font-size: clamp(.96rem, 1.05vw, 1.04rem); font-weight: 680; line-height: 1.4; cursor: pointer; list-style: none; }
.faq-page__list summary::-webkit-details-marker { display: none; }
.faq-page__index { color: #f0374a; font-size: .68rem; font-weight: 800; letter-spacing: .08em; line-height: 1.9; }
.faq-page__toggle { position: relative; width: 1.55rem; height: 1.55rem; border: 1px solid rgb(139 180 255 / .46); border-radius: 50%; background: rgb(5 12 53 / .72); box-shadow: inset 0 0 0 2px rgb(255 255 255 / .025); }
.faq-page__toggle::before, .faq-page__toggle::after { position: absolute; top: 50%; left: 25%; width: 50%; height: 1px; content: ''; background: #bcd6ff; transition: transform .18s ease; }
.faq-page__toggle::after { transform: rotate(90deg); }
.faq-page__list details[open] .faq-page__toggle::after { transform: rotate(0deg); }
.faq-page__answer { max-width: 50rem; padding: 0 3.65rem 1.25rem 3.9rem; color: #c7d6f6; font-size: .92rem; line-height: 1.7; }
.faq-page__answer p { margin: 0; }
.faq-page__answer a, .faq-page__empty a { display: inline-flex; align-items: center; min-height: 2.75rem; margin-top: .7rem; border-bottom: 2px solid #e41e31; color: #fff; font-size: .73rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.faq-page__empty { padding: 2.25rem; border: 1px solid rgb(148 186 255 / .24); text-align: center; background: #11194c; }
.faq-page__empty strong { color: #fff; font-size: 1.15rem; }
.faq-page__empty p { margin: .5rem 0 0; color: #bdc9e9; }

@media (max-width: 760px) {
    .faq-page__hero-inner { padding-block: 1rem 2.35rem; }
    .faq-page__hero .smart-breadcrumb { align-self: stretch; margin-bottom: 1.6rem; }
    .faq-page__intro h1 { max-width: 14ch; font-size: clamp(2.35rem, 10.5vw, 3rem); line-height: 1.04; }
    .faq-page__intro > p:last-child { max-width: 31rem; font-size: .94rem; line-height: 1.55; }
    .faq-page__search { margin-top: 1.35rem; padding: .35rem; border-radius: .9rem; }
    .faq-page__search-field { min-height: 3.25rem; padding-inline: .75rem; border-radius: .65rem; }
    .faq-page__search > p { margin-inline: .55rem; }
    .faq-page__content { padding-block: 2.35rem 3.5rem; }
    .faq-page__toolbar { display: block; }
    .faq-page__categories { width: 100%; margin-right: 0; padding-right: .28rem; }
    .faq-page__list { gap: .55rem; }
    .faq-page__list summary { grid-template-columns: 1.35rem minmax(0, 1fr) 1.55rem; gap: .6rem; min-height: 4rem; padding: .85rem; }
    .faq-page__answer { padding: 0 1rem 1.15rem 2.8rem; font-size: .9rem; }
}

@media (max-width: 520px) {
    .faq-page__hero-inner, .faq-page__content > .vb-container { width: min(22.375rem, calc(100% - 2rem)); margin-right: auto; margin-left: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .faq-page__toggle::before, .faq-page__toggle::after, .faq-page__search-field, .faq-page__list details, .faq-page__categories button { transition: none; }
}
