/* FAQ-specific layout; shared trading-rules styles stay separate. */
.faq-center { padding: 0 0 5rem; color: #fff; }
.faq-center [hidden] { display: none !important; }
.faq-hero { padding: 5.2rem 1rem 3.8rem; text-align: center; }
.faq-eyebrow { color: #c4b5fd; font-size: .7rem; font-weight: 700; letter-spacing: .19em; }
.faq-hero h1 { margin: 1rem 0 1.1rem; font-size: clamp(2.25rem, 5vw, 3.8rem); line-height: 1.13; font-weight: 650; letter-spacing: -.045em; background: linear-gradient(110deg,#fff 25%,#e6daff 65%,#d5b4ff); background-clip: text; -webkit-text-fill-color: transparent; }
.faq-hero p { margin: 0 auto; color: rgba(226,212,255,.65); font-size: 1.06rem; line-height: 1.7; }
.faq-mobile-break { display: none; }
.faq-content { width: min(900px, calc(100% - 2.5rem)); margin: 0 auto; }
.faq-controls { margin-bottom: 1.5rem; min-width: 0; }
.faq-search { display: flex; align-items: center; gap: .8rem; min-width: 0; background: rgba(18,10,32,.85); border: 1px solid rgba(162,139,255,.25); border-radius: 12px; padding: .9rem 1rem; transition: border-color .2s, box-shadow .2s; }
.faq-search:focus-within { border-color: #ad91ff; box-shadow: 0 0 0 3px rgba(162,139,255,.12); }
.faq-search .nav-ico { width: 1.1rem; height: 1.1rem; color: #ad91ff; }
.faq-search input { background: transparent; border: 0; outline: 0; min-width: 0; flex: 1; font: inherit; font-size: .92rem; color: #fff; }
.faq-search input::placeholder { color: rgba(226,212,255,.46); }
.faq-search input::-webkit-search-cancel-button { appearance: none; }
.faq-search button { color: #c4b5fd; font-size: 1.4rem; line-height: 1; padding: 0 .25rem; }
.faq-nav { position: relative; margin-top: 1.25rem; border-bottom: 1px solid rgba(162,139,255,.19); }
.faq-tabs { display: flex; gap: 1.25rem; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: rgba(162,139,255,.3) transparent; padding-right: 2rem; }
.faq-tab { display: flex; flex: none; align-items: center; gap: .45rem; position: relative; padding: .85rem .1rem 1rem; border-bottom: 2px solid transparent; color: rgba(226,212,255,.56); font-size: .88rem; font-weight: 500; white-space: nowrap; transition: color .2s, border-color .2s; }
.faq-tab:hover { color: #fff; }
.faq-tab.is-active { color: #f1eaff; border-bottom-color: #bf9bff; }
.faq-tab span { color: rgba(226,212,255,.43); font-size: .72rem; font-variant-numeric: tabular-nums; }
.faq-tab.is-active span { color: #c4b5fd; }
.faq-scroll-next { position: absolute; right: 0; top: .3rem; bottom: .3rem; width: 2rem; display: grid; place-items: center; color: #d5c7ff; background: #100820; border-radius: 8px; box-shadow: -8px 0 12px #100820; }
.faq-scroll-next:disabled { display: none; }
.faq-subgroups { display: flex; gap: .6rem; margin-top: 1rem; padding: .15rem 0 .6rem; overflow-x: auto; scrollbar-width: thin; scrollbar-color: rgba(162,139,255,.3) transparent; }
.faq-subtab { flex: none; display: flex; gap: .5rem; align-items: center; white-space: nowrap; border: 1px solid rgba(162,139,255,.2); border-radius: 9px; padding: .5rem .85rem; font-size: .8rem; color: #b6a9ce; background: rgba(18,10,32,.65); }
.faq-subtab span { font-size: .7rem; color: #b6a0df; }
.faq-subtab:hover, .faq-subtab.is-active { color: #fff; border-color: rgba(191,155,255,.6); background: rgba(82,39,255,.22); }
.faq-results-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; color: #9c8eaf; font-size: .75rem; margin: 2rem 0; }
.faq-results-heading button { color: #c4b5fd; white-space: nowrap; }
.faq-group { padding: 0; margin-bottom: 2.7rem; border-top: 0; }
.faq-group h2 { margin: 0 0 .35rem; font-size: 1.35rem; font-weight: 500; letter-spacing: -.025em; color: #e2d4fa; }
.faq-question { border-bottom: 1px solid rgba(162,139,255,.16); scroll-margin-top: calc(var(--header-offset,88px) + 24px); }
.faq-question summary { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; list-style: none; cursor: pointer; padding: 1.35rem 0; font-size: .98rem; font-weight: 400; line-height: 1.5; transition: color .2s; }
.faq-question summary::-webkit-details-marker { display: none; }
.faq-question summary:hover, .faq-question[open] summary { color: #d4b8ff; }
.faq-question-icon { display: grid; place-items: center; flex: none; width: 22px; height: 22px; color: #b79adf; font-size: 1.35rem; font-weight: 300; transition: transform .2s; }
.faq-question[open] .faq-question-icon { transform: rotate(45deg); }
.faq-answer { padding: 0 2.5rem 1.4rem 0; color: rgba(226,212,255,.66); font-size: .91rem; line-height: 1.85; overflow-wrap: anywhere; }
.faq-no-results { padding: 4rem 1rem; text-align: center; color: #a99abc; }
.faq-no-results .nav-ico { margin: 0 auto 1.2rem; width: 2rem; height: 2rem; }
.faq-no-results h2 { color: #fff; font-size: 1.2rem; margin-bottom: .5rem; }
.faq-no-results .help-btn { margin-top: 1.4rem; }
.faq-programs { border: 1px solid rgba(162,139,255,.22); border-radius: 16px; padding: 1.3rem; margin: 1rem 0 3rem; background: rgba(18,10,32,.55); }
.faq-programs-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; }
.faq-programs h2 { font-size: 1rem; font-weight: 500; }
.faq-programs-heading a { color: #c4b5fd; font-size: .75rem; }
.faq-programs p { font-size: .78rem; color: #9c8eaf; margin: .5rem 0 1rem; }
.faq-table-scroll { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #715493 transparent; }
.faq-programs table { width: 100%; border-collapse: collapse; white-space: nowrap; font-size: .78rem; }
.faq-programs th, .faq-programs td { text-align: left; padding: .8rem .9rem; border-bottom: 1px solid rgba(162,139,255,.12); }
.faq-programs th:first-child { padding-left: 0; }
.faq-programs thead th { color: #9c8eaf; font-weight: 400; }
.faq-programs tbody th { font-weight: 500; color: #e2d4fa; }
.faq-programs td { color: #c8badc; font-variant-numeric: tabular-nums; }
.faq-programs tbody tr:last-child > * { border-bottom: 0; }
.faq-support { padding: 3.5rem 1.5rem; margin-top: 4.5rem; text-align: center; border: 1px solid rgba(162,139,255,.22); border-radius: 22px; background: radial-gradient(ellipse at 50% 0%,rgba(82,39,255,.16),transparent 75%),rgba(12,6,28,.7); }
.faq-support h2 { margin: .7rem 0 .7rem; font-size: clamp(1.7rem,3vw,2.25rem); font-weight: 550; letter-spacing: -.035em; }
.faq-support p { color: #a99abc; font-size: .9rem; line-height: 1.7; }
.faq-support .help-cta { margin-top: 1.5rem; }
.faq-support .help-btn { font-size: .82rem; gap: .6rem; border-radius: 10px; }
.faq-support .help-btn--primary { background: #5227ff; color: #fff; border: 1px solid #7251ff; }
.faq-support .help-btn--primary:hover { background: #633bff; }
.faq-center button:focus-visible, .faq-center a:focus-visible, .faq-center summary:focus-visible, .faq-table-scroll:focus-visible { outline: 2px solid #c4b5fd; outline-offset: 4px; border-radius: 4px; }
.faq-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width:600px) {
  .faq-hero { padding: 3.25rem 1rem 2.5rem; }
  .faq-hero p { font-size: .92rem; }
  .faq-mobile-break { display: block; }
  .faq-desktop-break { display: none; }
  .faq-content { width: calc(100% - 2rem); }
  .faq-tabs { gap: 1.15rem; }
  .faq-tab { font-size: .83rem; }
  .faq-search input { font-size: .83rem; }
  .faq-question summary { font-size: .92rem; padding: 1.2rem 0; gap: 1rem; }
  .faq-answer { padding-right: .5rem; font-size: .87rem; }
  .faq-group h2 { font-size: 1.2rem; }
  .faq-support { padding: 2.5rem 1.15rem; margin-top: 3rem; }
  .faq-programs { padding: 1rem; }
}
@media (prefers-reduced-motion:reduce) { .faq-center * { transition: none !important; scroll-behavior: auto !important; } }
