.page-faq{
  --faq-rule:1px solid rgba(143,167,154,.14);
  --faq-rule-accent:1px solid rgba(200,255,61,.16);
  --faq-index-w:224px;
  position:relative;
  background:var(--ink);
  color:var(--paper);
}

/* ---------- 页头 ---------- */
.page-faq .faq-hero{
  position:relative;
  padding-bottom:clamp(28px,5vw,56px);
  overflow:hidden;
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:clamp(300px,48vw,520px);
  background:radial-gradient(105% 135% at 82% -4%,rgba(46,31,99,.92) 0%,rgba(27,20,64,.46) 44%,transparent 80%);
  pointer-events:none;
}
.page-faq .faq-hero > .shell{
  position:relative;
  z-index:1;
}
.page-faq .faq-hero__inner{
  max-width:840px;
  padding:clamp(16px,3vw,32px) 0 clamp(20px,3vw,30px);
}
.page-faq .faq-hero__title{
  font-family:var(--sans);
  font-weight:700;
  font-size:clamp(30px,6.2vw,58px);
  line-height:1.07;
  letter-spacing:-.02em;
  margin:14px 0 0;
  color:var(--paper);
  text-wrap:balance;
}
.page-faq .faq-hero__lead{
  margin:16px 0 0;
  max-width:64ch;
  font-size:clamp(15px,1.7vw,17px);
  line-height:1.78;
  color:var(--mist);
}
.page-faq .faq-hero__media{
  margin:clamp(6px,2vw,18px) 0 0;
  border:var(--faq-rule-accent);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%);
}

/* ---------- 索引 + 答案双栏 ---------- */
.page-faq .faq-body{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(22px,4vw,40px);
  padding-bottom:clamp(56px,9vw,112px);
}

.page-faq .faq-index{
  position:relative;
}
.page-faq .faq-index__title{
  margin:0 0 10px;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--mist);
}
.page-faq .faq-index__list{
  display:flex;
  gap:8px;
  margin:0;
  padding:0 0 8px;
  list-style:none;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.page-faq .faq-index__list::-webkit-scrollbar{display:none}
.page-faq .faq-index__list li{flex:0 0 auto}
.page-faq .faq-index__list a{
  display:block;
  padding:9px 15px;
  font-size:13px;
  line-height:1.4;
  white-space:nowrap;
  color:var(--paper);
  text-decoration:none;
  background:rgba(16,46,34,.55);
  border:1px solid rgba(143,167,154,.22);
  transition:border-color .18s var(--ease),color .18s var(--ease),background-color .18s var(--ease);
}
.page-faq .faq-index__list a:hover,
.page-faq .faq-index__list a:focus-visible{
  color:var(--fluoro);
  border-color:var(--fluoro);
  background:rgba(200,255,61,.07);
  outline:none;
}
.page-faq .faq-index__list a:focus-visible{
  outline:2px solid var(--fluoro);
  outline-offset:2px;
}

/* ---------- 问答分组 ---------- */
.page-faq .qa-group{
  scroll-margin-top:112px;
  border-top:1px solid rgba(200,255,61,.16);
  padding-top:clamp(22px,3.6vw,38px);
}
.page-faq .qa-group + .qa-group{
  margin-top:clamp(40px,6.5vw,80px);
}
.page-faq .qa-group__tag{
  margin:0 0 10px;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--fluoro);
}
.page-faq .qa-group__title{
  margin:0;
  font-family:var(--sans);
  font-weight:700;
  font-size:clamp(24px,4.2vw,38px);
  line-height:1.09;
  letter-spacing:-.018em;
  color:var(--paper);
}
.page-faq .qa-group__intro{
  margin:12px 0 20px;
  max-width:64ch;
  font-size:15px;
  line-height:1.75;
  color:var(--mist);
}
.page-faq .qa-group__intro a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(53,224,161,.45);
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.page-faq .qa-group__intro a:hover,
.page-faq .qa-group__intro a:focus-visible{
  color:var(--fluoro);
  border-bottom-color:var(--fluoro);
  outline:none;
}

/* ---------- 折叠问答 ---------- */
.page-faq .qa{
  border-bottom:var(--faq-rule);
}
.page-faq .qa:first-of-type{
  border-top:var(--faq-rule);
}
.page-faq .qa__summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:clamp(10px,2vw,18px);
  padding:clamp(14px,2.2vw,20px) 0;
  cursor:pointer;
  list-style:none;
}
.page-faq .qa__summary::-webkit-details-marker{display:none}
.page-faq .qa__summary:focus-visible{
  outline:2px solid var(--fluoro);
  outline-offset:4px;
}
.page-faq .qa__num{
  font-size:clamp(16px,2.2vw,21px);
  font-weight:700;
  line-height:1.42;
  letter-spacing:-.02em;
  color:var(--fluoro);
  font-variant-numeric:tabular-nums;
}
@supports (-webkit-text-stroke:1px #000){
  .page-faq .qa__num{
    color:transparent;
    -webkit-text-stroke:1px rgba(200,255,61,.74);
  }
}
.page-faq .qa__q{
  font-family:var(--sans);
  font-size:clamp(16px,2.4vw,19px);
  font-weight:600;
  line-height:1.5;
  letter-spacing:-.005em;
  color:var(--paper);
  transition:color .18s var(--ease);
}
.page-faq .qa__summary:hover .qa__q,
.page-faq .qa__summary:focus-visible .qa__q{
  color:var(--fluoro);
}
.page-faq .qa__chev{
  width:9px;
  height:9px;
  margin-top:9px;
  border-right:1.5px solid var(--mist);
  border-bottom:1.5px solid var(--mist);
  transform:rotate(45deg);
  transition:transform .2s var(--ease),border-color .2s var(--ease);
}
.page-faq .qa[open] .qa__chev{
  transform:rotate(-135deg);
  margin-top:13px;
  border-color:var(--fluoro);
}
.page-faq .qa__body{
  max-width:70ch;
  padding:0 0 clamp(16px,2.4vw,24px);
}
.page-faq .qa__body p{
  margin:0;
  padding:12px 0;
  font-size:15px;
  line-height:1.78;
  color:rgba(234,246,239,.84);
  border-top:var(--faq-rule);
}
.page-faq .qa__body p:first-child{
  padding-top:0;
  border-top:0;
  color:var(--paper);
}
.page-faq .qa__body a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(53,224,161,.45);
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.page-faq .qa__body a:hover,
.page-faq .qa__body a:focus-visible{
  color:var(--fluoro);
  border-bottom-color:var(--fluoro);
  outline:none;
}

/* ---------- V3 约赛三步 ---------- */
.page-faq .v3-steps{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin:0 0 clamp(20px,3vw,30px);
  padding:0;
  list-style:none;
}
.page-faq .v3-steps__item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  font-size:14px;
  line-height:1.6;
  color:rgba(234,246,239,.9);
  background:rgba(16,46,34,.62);
  border:1px solid rgba(200,255,61,.13);
  clip-path:polygon(0 0,100% 0,100% 100%,13px 100%,0 calc(100% - 13px));
}
.page-faq .v3-steps__n{
  flex-shrink:0;
  font-size:20px;
  font-weight:700;
  line-height:1.2;
  color:var(--fluoro);
  font-variant-numeric:tabular-nums;
}

/* ---------- 移动端配图 ---------- */
.page-faq .qa-group__art{
  max-width:280px;
  margin:22px 0 0;
}

/* ---------- 联系面板 ---------- */
.page-faq .contact-panel{
  margin:clamp(16px,2.6vw,24px) 0;
  padding:clamp(20px,3.4vw,34px);
}
.page-faq .contact-panel__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(14px,2.4vw,22px);
}
.page-faq .contact-panel__k{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--fluoro);
}
.page-faq .contact-panel__v{
  margin:0;
  font-size:15px;
  line-height:1.72;
  color:var(--paper);
  word-break:break-word;
}

/* ---------- 窄屏修正 ---------- */
@media (max-width:420px){
  .page-faq .qa__summary{
    grid-template-columns:auto minmax(0,1fr);
  }
  .page-faq .qa__chev{
    display:none;
  }
  .page-faq .qa-group__art{
    max-width:100%;
  }
}

@media (min-width:640px){
  .page-faq .v3-steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(10px,2vw,18px);
  }
  .page-faq .contact-panel__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-faq .contact-panel__item--wide{
    grid-column:1 / -1;
  }
}

@media (min-width:768px){
  .page-faq .qa-group--mobile{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:clamp(24px,4vw,52px);
    align-items:start;
  }
  .page-faq .qa-group__lead{
    min-width:0;
  }
  .page-faq .qa-group__art{
    max-width:none;
    margin:0;
    position:sticky;
    top:116px;
  }
}

@media (min-width:960px){
  .page-faq .faq-body{
    grid-template-columns:var(--faq-index-w) minmax(0,1fr);
    gap:clamp(36px,5vw,72px);
    align-items:start;
  }
  .page-faq .faq-index{
    position:sticky;
    top:104px;
    align-self:start;
  }
  .page-faq .faq-index__title{
    margin-bottom:14px;
  }
  .page-faq .faq-index__list{
    display:block;
    overflow:visible;
    padding:0;
    border-left:1px solid rgba(143,167,154,.18);
  }
  .page-faq .faq-index__list li{
    display:block;
  }
  .page-faq .faq-index__list a{
    margin-left:-1px;
    padding:10px 12px;
    font-size:14px;
    color:var(--mist);
    background:none;
    border:0;
    border-left:2px solid transparent;
  }
  .page-faq .faq-index__list a:hover,
  .page-faq .faq-index__list a:focus-visible{
    color:var(--fluoro);
    background:rgba(200,255,61,.06);
    border-left-color:var(--fluoro);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-faq .qa__chev,
  .page-faq .qa__q,
  .page-faq .faq-index__list a,
  .page-faq .qa__body a,
  .page-faq .qa-group__intro a{
    transition:none;
  }
}
