.faq { padding:0 0 66px; scroll-margin-top:44px; }
.faq-heading { margin:0 auto 42px; text-align:center; }
.faq-heading h2 { margin:0; font-size:clamp(32px,3.8vw,50px); font-weight:750; line-height:1.2; letter-spacing:-.04em; }
.faq-heading h2 span { display:inline-block; margin-left:.08em; font-family:'Orange Marker',Manrope,sans-serif; font-size:1.2em; font-weight:400; letter-spacing:0; color:#eaff00; transform:rotate(-2deg); }
.faq-list { display:grid; gap:20px; max-width:760px; margin:auto; }
.faq-stage { min-width:0; perspective:1100px; }
.faq-surface { position:relative; isolation:isolate; border:0; border-radius:30px; }
.faq-surface::before { content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:#0b0b0be6; filter:blur(2px); box-shadow:0 28px 65px -18px #000b,inset 0 -6px 20px #0003; pointer-events:none; }
.faq-surface[data-moving] { will-change:transform; }
.faq-surface>.author-glare { z-index:2; contain:paint; }
.faq-item { border:0; border-radius:inherit; }
.faq-item>summary { position:relative; display:flex; align-items:center; justify-content:center; min-height:96px; padding:29px 65px; list-style:none; cursor:pointer; border-radius:inherit; color:#f1f1f1; font-size:21px; font-weight:650; line-height:1.45; letter-spacing:-.025em; text-align:center; text-wrap:pretty; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }
.faq-item>summary::-webkit-details-marker { display:none; }
.faq-item>summary::marker { content:''; }
.faq-item>summary:focus-visible { outline:2px solid #eaff00; outline-offset:5px; }
.faq-plus { position:absolute; right:25px; top:50%; transform:translateY(-50%); width:22px; height:22px; color:#b8b8b3; transition:color .18s; }
.faq-plus::before,.faq-plus::after { content:''; position:absolute; left:1px; top:10px; width:20px; height:2px; border-radius:2px; background:currentColor; }
.faq-plus::after { transform:rotate(90deg); transition:transform .2s,opacity .2s; }
.faq-item[open]>summary .faq-plus { color:#eaff00; }
.faq-item[open]>summary .faq-plus::after { transform:rotate(0); opacity:0; }
.faq-answer { padding:0 38px 32px; color:#aaa; font-size:17px; font-weight:500; line-height:1.7; text-wrap:pretty; overflow-wrap:break-word; }
.faq-answer p { margin:0; }
.faq-answer p+p { margin-top:14px; }
.faq-answer a { color:#d7dfbc; text-decoration:underline; text-decoration-color:#b0bb8766; text-underline-offset:4px; }
.faq-answer a:hover { color:#eaff00; }
.faq-item[open] .faq-answer { animation:faq-answer-in .22s ease-out; }
@keyframes faq-answer-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:25px; max-width:1000px; margin:0 auto; padding:0 3px 48px; }
.footer-contact { display:inline-flex; align-items:center; gap:12px; padding:12px 0; color:#d4dac5; font-size:15px; font-weight:600; }
.footer-contact svg { width:19px; height:19px; color:#aeb98b; }
.footer-policy { max-width:300px; color:#8e9585; font-size:12px; font-weight:500; line-height:1.5; text-align:right; text-wrap:pretty; }
.site-footer a:hover { color:#eaff00; }
.site-footer.site-footer--legal { flex-direction:column; align-items:center; gap:24px; }
.footer-legal { margin:0; color:#93938f; font-size:clamp(14px,1.35vw,17px); font-weight:400; line-height:1.8; text-align:center; text-wrap:balance; }
.footer-legal a { color:#b0b0aa; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.site-footer--legal a:focus-visible { outline:2px solid #eaff00; outline-offset:5px; border-radius:3px; }
@media(hover:hover) { .faq-item>summary:hover .faq-plus { color:#eaff00; } }
@media(max-width:740px) {
  .faq { padding-bottom:34px; scroll-margin-top:28px; }
  .faq-heading { margin-bottom:30px; }
  .faq-heading h2 { font-size:34px; }
  .faq-list { gap:17px; }
  .faq-surface { border-radius:24px; }
  .faq-item>summary { font-size:18px; padding:26px 42px; min-height:92px; }
  .faq-answer { padding:0 24px 28px; font-size:16px; line-height:1.65; }
  .faq-plus { right:15px; width:20px; height:20px; }
  .faq-plus::before,.faq-plus::after { left:1px; top:9px; width:18px; }
  .site-footer { flex-direction:column; align-items:flex-start; gap:10px; padding:0 4px 35px; }
  .footer-policy { text-align:left; }
}
@media(max-width:380px) {
  .faq-heading h2 { font-size:29px; }
  .faq-item>summary { font-size:17px; padding:25px 35px; }
  .faq-plus { right:12px; }
  .faq-answer { padding-inline:21px; }
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) {
  .faq-surface { transform:none!important; }
  .faq-surface>.author-glare { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .faq-item[open] .faq-answer { animation:none; }
  .faq-plus,.faq-plus::after { transition:none; }
}
