.faq-wrap { width:100%; max-width:100%; margin:0 auto; padding-bottom:50px; }
.faq-hero {
  text-align: center; margin-bottom: 32px; padding: 32px 20px;
  background: linear-gradient(135deg, var(--surf2,#f8fafc) 0%, var(--surf,#fff) 100%);
  border: 1px solid var(--brd,#e2e8f0); border-radius: 18px;
}
.faq-hero h1 { font-size: clamp(1.5rem,3vw,2rem); font-weight: 800; margin-bottom: 10px; }
.faq-hero p  { color: var(--txt-2,#64748b); max-width: 620px; margin: 0 auto; line-height: 1.65; font-size: .92rem; }
.faq-toc {
  background: var(--surf2,#f8fafc); border: 1px solid var(--brd,#e2e8f0);
  border-radius: 14px; padding: 16px 20px; margin-bottom: 28px;
}
.faq-toc-title { font-size: .72rem; font-weight: 700; color: var(--txt-3,#94a3b8); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; }
.faq-toc-links { display: flex; flex-wrap: wrap; gap: 6px; }
.faq-toc-links a {
  font-size: .8rem; color: var(--c-primary,#2563eb); text-decoration: none;
  padding: 5px 12px; background: var(--surf,#fff);
  border: 1px solid var(--brd,#e2e8f0); border-radius: 20px; transition: .15s;
}
.faq-toc-links a:hover { background: var(--c-glow,#eff6ff); }
.faq-cat { margin-bottom: 32px; scroll-margin-top: 100px; }
.faq-cat h2 {
  font-size: 1.05rem; font-weight: 700; margin-bottom: 14px;
  display: flex; align-items: center; gap: 8px;
  padding-bottom: 8px; border-bottom: 2px solid var(--brd,#e2e8f0);
}
.faq-cat h2 i { color: var(--c-primary,#2563eb); font-size: .9rem; }
.faq-item {
  background: var(--surf,#fff); border: 1px solid var(--brd,#e2e8f0);
  border-radius: 12px; padding: 14px 18px; margin-bottom: 10px;
  transition: box-shadow .2s;
}
.faq-item:hover { box-shadow: var(--sh-sm,0 2px 8px rgba(0,0,0,.06)); }
.faq-item summary {
  cursor: pointer; font-weight: 600; font-size: .92rem;
  color: var(--txt,#1e293b); padding-right: 24px; position: relative;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+"; position: absolute; right: 0; top: 50%;
  transform: translateY(-50%); font-size: 1.4rem; font-weight: 300;
  color: var(--c-primary,#2563eb); transition: transform .2s;
}
.faq-item[open] summary::after { content: "−"; }
.faq-item .faq-answer {
  margin-top: 12px; padding-top: 12px;
  border-top: 1px solid var(--brd,#e2e8f0);
  font-size: .88rem; line-height: 1.7;
  color: var(--txt-2,#475569);
}
.faq-item .faq-answer p { margin-bottom: 10px; }
.faq-item .faq-answer ul { padding-left: 22px; margin-bottom: 10px; }
.faq-item .faq-answer li { margin-bottom: 4px; }
.faq-item .faq-answer code {
  background: var(--surf2,#f1f5f9); padding: 2px 6px; border-radius: 4px;
  font-size: .82rem; font-family: 'JetBrains Mono', monospace;
}
.faq-cta {
  text-align: center; padding: 24px;
  background: linear-gradient(135deg, var(--surf2,#f8fafc), var(--surf,#fff));
  border: 1px solid var(--brd,#e2e8f0); border-radius: 16px;
  margin-top: 30px;
}
.faq-cta h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; }
.faq-cta p { color: var(--txt-2,#475569); font-size: .88rem; margin-bottom: 14px; }
.last-updated { text-align: right; font-size: .7rem; color: var(--txt-3,#94a3b8); margin-top: 24px; }

.text-link{color:var(--c-primary,#2563eb)}
.formula-line{background:var(--surf2);padding:10px;border-radius:8px;font-family:monospace;font-size:.85rem;}
