/* =====================================================================
   FAQ PAGE — Sovereign Row Studios
   Self-contained, "fq" namespace so it never collides with legacy .faq*.
   Built on the shared design tokens (--grad / --pink / --ink ...) and
   Montserrat. Glassy, neon, animated — matched to the rest of the site.
   ===================================================================== */

.fq{position:relative;z-index:2;min-height:100vh;
  padding:clamp(7rem,12vh,9.5rem) clamp(1.1rem,5vw,2.5rem) clamp(3rem,8vh,6rem);}
.fq__inner{width:100%;max-width:1080px;margin:0 auto;}
.fq *{box-sizing:border-box;}

/* ---------- hero ---------- */
.fq-hero{text-align:center;max-width:760px;margin:0 auto clamp(1.8rem,4vh,2.8rem);}
.fq-hero__kicker{display:inline-flex;align-items:center;gap:.55rem;
  font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.fq-hero__kicker::before{content:"";width:26px;height:1px;background:var(--grad-line);}
.fq-hero__kicker::after{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--purple),var(--blue));}
.fq-hero__title{font-size:clamp(2.3rem,7vw,4.2rem);font-weight:700;line-height:1.02;letter-spacing:-.01em;
  margin:.9rem 0 0;color:var(--ink);}
.fq-hero__title .mp-grad,.fq-hero__title .fq-grad{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.fq-hero__rule{width:66px;height:3px;border-radius:3px;background:var(--grad-line);margin:1.3rem auto 1.2rem;}
.fq-hero__sub{color:var(--muted);font-size:clamp(.95rem,1.6vw,1.08rem);line-height:1.6;max-width:62ch;margin:0 auto;}
.fq-hero__sub b{color:#d9d4ec;font-weight:600;}

/* ---------- toolbar (search + count + expand all) ---------- */
.fq-toolbar{position:sticky;top:clamp(4.2rem,8vh,5.2rem);z-index:6;
  display:flex;gap:.9rem;align-items:center;flex-wrap:wrap;
  margin-bottom:1.1rem;padding:.55rem;border-radius:16px;
  background:rgba(14,10,24,.66);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px -28px rgba(0,0,0,.9);}
.fq-search{position:relative;flex:1 1 240px;display:flex;align-items:center;}
.fq-search__ico{position:absolute;left:.95rem;width:18px;height:18px;color:var(--dim);pointer-events:none;}
.fq-search__input{width:100%;font:inherit;font-size:.98rem;color:var(--ink);
  padding:.85rem 2.6rem .85rem 2.8rem;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);outline:none;
  transition:border-color .25s,box-shadow .25s,background .25s;}
.fq-search__input::placeholder{color:var(--dim);}
.fq-search__input::-webkit-search-cancel-button,
.fq-search__input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;}
.fq-search__input:focus{border-color:rgba(255,46,154,.55);background:rgba(255,255,255,.06);
  box-shadow:0 0 0 3px rgba(255,46,154,.14),0 0 26px -10px rgba(255,46,154,.7);}
.fq-search__clear{position:absolute;right:.55rem;width:26px;height:26px;border:none;cursor:pointer;
  border-radius:50%;background:rgba(255,255,255,.08);color:var(--muted);font-size:1.15rem;line-height:1;
  display:grid;place-items:center;transition:background .2s,color .2s,transform .2s;}
.fq-search__clear:hover{background:rgba(255,46,154,.2);color:#fff;transform:rotate(90deg);}
.fq-toolbar__right{display:flex;align-items:center;gap:.9rem;margin-left:auto;}
.fq-count{font-size:.82rem;color:var(--dim);white-space:nowrap;letter-spacing:.02em;}
.fq-count b{color:var(--ink);font-weight:600;}
.fq-toggle-all{font:inherit;font-size:.82rem;font-weight:600;letter-spacing:.04em;cursor:pointer;
  color:#e8e3f6;padding:.6rem 1rem;border-radius:10px;white-space:nowrap;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  transition:border-color .2s,background .2s,color .2s,box-shadow .2s;}
.fq-toggle-all:hover{border-color:rgba(168,85,247,.6);background:rgba(168,85,247,.12);
  box-shadow:0 0 22px -8px rgba(168,85,247,.8);}
.fq-toggle-all:disabled{opacity:.4;cursor:not-allowed;}

/* ---------- category tabs ---------- */
.fq-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.fq-tab{position:relative;display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;
  font:inherit;font-size:.86rem;font-weight:600;letter-spacing:.01em;color:var(--muted);
  padding:.62rem .95rem;border-radius:999px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);
  transition:color .25s,border-color .25s,background .25s,transform .25s,box-shadow .25s;}
.fq-tab svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;opacity:.85;transition:opacity .25s;}
.fq-tab__n{font-size:.72rem;font-weight:700;min-width:1.35rem;text-align:center;
  padding:.08rem .42rem;border-radius:999px;color:var(--dim);
  background:rgba(255,255,255,.06);transition:color .25s,background .25s;}
.fq-tab:hover{color:#fff;border-color:rgba(255,255,255,.22);transform:translateY(-2px);}
.fq-tab.is-active{color:#fff;border-color:transparent;
  background:linear-gradient(120deg,rgba(255,46,154,.95),rgba(168,85,247,.95) 55%,rgba(59,130,246,.92));
  box-shadow:0 10px 30px -10px rgba(255,46,154,.7),0 0 0 1px rgba(255,255,255,.08) inset;}
.fq-tab.is-active svg{opacity:1;}
.fq-tab.is-active .fq-tab__n{color:#fff;background:rgba(0,0,0,.22);}

/* ---------- category spotlight (updates on tab change) ---------- */
.fq-spotlight{position:relative;overflow:hidden;display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;
  padding:1.05rem 1.25rem;margin-bottom:1.4rem;border-radius:16px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);
  transition:border-color .4s;}
.fq-spotlight::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:radial-gradient(120% 140% at 0% 0%,rgba(255,46,154,.16),transparent 55%);
  transition:opacity .5s;}
.fq-spotlight__ico{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  color:#fff;background:linear-gradient(135deg,rgba(255,46,154,.9),rgba(168,85,247,.9));
  box-shadow:0 0 26px -8px rgba(255,46,154,.8);}
.fq-spotlight__ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.fq-spotlight__txt{position:relative;flex:1 1 260px;min-width:0;}
.fq-spotlight__title{font-size:1.02rem;font-weight:700;color:var(--ink);margin:0 0 .15rem;}
.fq-spotlight__blurb{font-size:.9rem;color:var(--muted);line-height:1.5;margin:0;}
.fq-spotlight__cta{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;
  font-size:.84rem;font-weight:600;color:#fff;text-decoration:none;padding:.6rem 1.05rem;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;}
.fq-spotlight__cta:hover{background:rgba(255,46,154,.16);border-color:rgba(255,46,154,.5);
  transform:translateY(-2px);box-shadow:0 0 24px -8px rgba(255,46,154,.8);}
.fq-spotlight__cta i{font-style:normal;transition:transform .25s;}
.fq-spotlight__cta:hover i{transform:translateX(3px);}
.fq-spotlight.is-swap{animation:fqSwap .42s var(--ez,cubic-bezier(.22,1,.36,1));}
@keyframes fqSwap{0%{opacity:.2;transform:translateY(7px) scale(.992)}100%{opacity:1;transform:none}}

/* ---------- list + cards ---------- */
.fq-list{display:flex;flex-direction:column;gap:.7rem;}
.fq-card{position:relative;border-radius:15px;overflow:hidden;
  background:rgba(255,255,255,.032);border:1px solid rgba(255,255,255,.085);
  transition:border-color .3s,background .3s,box-shadow .3s,transform .3s;
  /* scroll-reveal start state */
  opacity:0;transform:translateY(18px);}
.fq-card.is-in{opacity:1;transform:none;
  transition:opacity .6s var(--ez,cubic-bezier(.22,1,.36,1)) var(--d,0s),
             transform .6s var(--ez,cubic-bezier(.22,1,.36,1)) var(--d,0s),
             border-color .3s,background .3s,box-shadow .3s;}
.fq-card.is-hidden{display:none;}
.fq-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;
  background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ez,cubic-bezier(.22,1,.36,1));}
.fq-card:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05);}
.fq-card.is-open{border-color:rgba(255,46,154,.4);background:rgba(255,46,154,.045);
  box-shadow:0 18px 50px -30px rgba(255,46,154,.7);}
.fq-card.is-open::before{transform:scaleY(1);}

.fq-card__q{width:100%;display:flex;align-items:center;gap:.9rem;cursor:pointer;text-align:left;
  font:inherit;color:var(--ink);background:none;border:none;padding:1.15rem 1.25rem;}
.fq-card__tag{display:none;}
.fq-card__text{flex:1 1 auto;font-size:clamp(.98rem,1.5vw,1.08rem);font-weight:600;line-height:1.4;letter-spacing:-.005em;}
.fq-card__text mark{background:linear-gradient(transparent 60%,rgba(255,46,154,.45) 0);color:inherit;border-radius:2px;padding:0 .05em;}
.fq-card__icon{flex:0 0 auto;position:relative;width:26px;height:26px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);transition:border-color .3s,background .3s,transform .35s;}
.fq-card__icon::before,.fq-card__icon::after{content:"";position:absolute;top:50%;left:50%;
  background:currentColor;border-radius:2px;transform:translate(-50%,-50%);transition:transform .35s var(--ez,cubic-bezier(.22,1,.36,1)),opacity .3s;}
.fq-card__icon::before{width:11px;height:1.6px;}
.fq-card__icon::after{width:1.6px;height:11px;}
.fq-card__q:hover .fq-card__icon{border-color:rgba(255,46,154,.6);color:var(--pink);}
.fq-card.is-open .fq-card__icon{border-color:transparent;color:#fff;transform:rotate(90deg);
  background:linear-gradient(135deg,var(--pink),var(--purple));box-shadow:0 0 18px -4px rgba(255,46,154,.85);}
.fq-card.is-open .fq-card__icon::after{transform:translate(-50%,-50%) scaleY(0);opacity:0;}

/* smooth open via grid-template-rows 0fr -> 1fr */
.fq-card__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--ez,cubic-bezier(.22,1,.36,1));}
.fq-card.is-open .fq-card__a{grid-template-rows:1fr;}
.fq-card__a-wrap{overflow:hidden;min-height:0;}
.fq-card__a-inner{padding:0 1.25rem 1.25rem 1.25rem;color:var(--muted);font-size:.97rem;line-height:1.66;
  opacity:0;transform:translateY(-4px);transition:opacity .35s ease .06s,transform .35s ease .06s;}
.fq-card.is-open .fq-card__a-inner{opacity:1;transform:none;}
.fq-card__a-inner p{margin:0 0 .7rem;}
.fq-card__a-inner p:last-child{margin-bottom:0;}
.fq-card__a-inner a{color:#ff7ac8;text-decoration:none;border-bottom:1px solid rgba(255,122,200,.35);
  transition:color .2s,border-color .2s;}
.fq-card__a-inner a:hover{color:#fff;border-color:#fff;}
.fq-card__a-inner b{color:#ded8ef;font-weight:600;}
.fq-card__a-inner .fq-pill{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.04em;
  color:#ffd6ec;background:rgba(255,46,154,.12);border:1px solid rgba(255,46,154,.3);
  padding:.12rem .55rem;border-radius:999px;margin-right:.35rem;}

/* ---------- no results ---------- */
.fq-empty{text-align:center;padding:3rem 1rem;color:var(--muted);}
.fq-empty__ico{width:46px;height:46px;margin:0 auto 1rem;color:var(--dim);}
.fq-empty p{margin:0 0 1.1rem;font-size:1rem;}

/* ---------- bottom CTA ---------- */
.fq-cta{position:relative;overflow:hidden;text-align:center;margin-top:clamp(2.2rem,5vh,3.4rem);
  padding:clamp(2rem,5vw,3rem) 1.5rem;border-radius:22px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);}
.fq-cta::before{content:"";position:absolute;inset:0;opacity:.6;pointer-events:none;
  background:radial-gradient(80% 130% at 50% -10%,rgba(168,85,247,.22),transparent 60%);}
.fq-cta__kicker{position:relative;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.fq-cta__title{position:relative;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--ink);margin:.6rem 0 .5rem;}
.fq-cta__title .mp-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.fq-cta__text{position:relative;color:var(--muted);max-width:48ch;margin:0 auto 1.5rem;line-height:1.6;}
.fq-cta__actions{position:relative;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

/* ---------- responsive ---------- */
@media (max-width:640px){
  .fq-toolbar{position:static;}
  .fq-toolbar__right{width:100%;justify-content:space-between;margin-left:0;}
  .fq-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-.2rem;padding:.2rem;}
  .fq-tabs::-webkit-scrollbar{display:none;}
  .fq-tab{flex:0 0 auto;}
  .fq-spotlight__cta{width:100%;justify-content:center;}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .fq-card{opacity:1;transform:none;}
  .fq-card__a,.fq-card__a-inner,.fq-card__icon,.fq-spotlight.is-swap{transition:none;animation:none;}
}
