.page-faq{
  --faq-card:linear-gradient(180deg, rgba(18,26,43,.94), rgba(11,18,32,.94));
  --faq-answer:#C6D0DD;
  --faq-gap:clamp(20px,3vw,34px);
  padding-bottom:clamp(44px,6vw,92px);
  overflow-x:clip;
}

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{
  position:relative;
  isolation:isolate;
  border-bottom:1px solid var(--line);
  padding:clamp(18px,3.6vw,32px) 0 clamp(26px,4.2vw,48px);
  background:
    radial-gradient(720px 320px at 4% -30%, rgba(0,230,118,.18), transparent 68%),
    radial-gradient(560px 300px at 104% 6%, rgba(30,107,255,.2), transparent 72%);
}
.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  inset:0 0 -1px;
  z-index:-1;
  background-image:
    linear-gradient(to right, rgba(42,53,71,.42) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(42,53,71,.42) 1px, transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.72), transparent 80%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.72), transparent 80%);
  opacity:.6;
  pointer-events:none;
}
.page-faq .faq-hero__inner{
  display:grid;
  gap:clamp(22px,3.4vw,40px);
  align-items:end;
}
.page-faq .faq-hero h1{
  font-family:var(--font-head);
  font-weight:800;
  font-size:clamp(32px,7.4vw,66px);
  line-height:1.04;
  letter-spacing:-.03em;
  color:var(--white);
  margin:.26em 0 .3em;
}
.page-faq .faq-hero__lede{
  max-width:58ch;
  margin:0;
  color:var(--gray);
  font-size:clamp(15px,1.6vw,17.5px);
  line-height:1.78;
}
.page-faq .faq-hero__quick{
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  background:var(--faq-card);
  padding:18px 18px 10px;
  box-shadow:var(--glow-green);
}
.page-faq .faq-hero__quick-title{
  margin:0 0 6px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cyan);
}
.page-faq .faq-quick-list{
  list-style:none;
  margin:0;
  padding:0;
}
.page-faq .faq-quick-list li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:baseline;
  padding:12px 0;
  border-top:1px solid var(--line-soft);
}
.page-faq .faq-quick-list li:first-child{border-top:0;}
.page-faq .faq-quick-list .mono{
  font-size:13px;
  color:var(--green);
  letter-spacing:.06em;
}
.page-faq .faq-quick-list p{
  margin:0;
  font-size:14.5px;
  line-height:1.65;
  color:var(--white);
}

/* ---------- 常驻节奏条 ---------- */
.page-faq .faq-pulse{
  position:relative;
  z-index:4;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg, rgba(6,42,27,.92), rgba(11,18,32,.92));
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.page-faq .faq-pulse__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px 28px;
  margin:0;
  padding:12px 0;
  list-style:none;
}
.page-faq .faq-pulse__item{
  display:flex;
  align-items:baseline;
  gap:9px;
  font-size:13px;
  line-height:1.6;
  color:var(--gray);
}
.page-faq .faq-pulse__item::before{
  content:"";
  flex:none;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  transform:translateY(-2px);
}
.page-faq .faq-pulse__item:nth-child(2)::before{background:var(--cyan);}
.page-faq .faq-pulse__item:nth-child(3)::before{background:var(--orange);}
.page-faq .faq-pulse__item b{
  font-family:var(--font-mono);
  font-weight:700;
  color:var(--white);
}

/* ---------- 主体两栏 ---------- */
.page-faq .faq-body{
  padding-top:clamp(26px,4vw,48px);
  display:grid;
  gap:var(--faq-gap);
}
.page-faq .faq-index__list{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:8px;
  scrollbar-width:thin;
}
.page-faq .faq-index .toc__title{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gray);
}
.page-faq .faq-index .toc__link{
  flex:none;
  white-space:nowrap;
  padding:9px 12px;
  border:1px solid var(--line-soft);
  border-radius:999px;
  font-size:13.5px;
  line-height:1.3;
  color:var(--gray);
  text-decoration:none;
  transition:color .18s ease, border-color .18s ease, background .18s ease;
}
.page-faq .faq-index .toc__link:hover{
  color:var(--cyan);
  border-color:rgba(0,245,212,.5);
}
.page-faq .faq-index .toc__link.is-active{
  color:var(--white);
  border-color:rgba(0,230,118,.6);
  background:rgba(0,230,118,.1);
}

/* ---------- 筛选 ---------- */
.page-faq .faq-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-bottom:16px;
  margin-bottom:clamp(22px,3vw,34px);
  border-bottom:1px solid var(--line);
}

/* ---------- 分组 ---------- */
.page-faq .faq-group{
  scroll-margin-top:104px;
  padding-bottom:clamp(24px,3.2vw,38px);
  margin-bottom:clamp(24px,3.2vw,38px);
  border-bottom:1px solid var(--line-soft);
}
.page-faq .faq-group:last-of-type{
  border-bottom:0;
  margin-bottom:0;
}
.page-faq .faq-group__head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:4px 14px;
  align-items:baseline;
  margin-bottom:16px;
}
.page-faq .faq-group__index{
  grid-row:1 / span 2;
  font-size:clamp(20px,3vw,32px);
  font-weight:800;
  line-height:1.1;
  color:var(--green);
  letter-spacing:-.02em;
}
.page-faq .faq-group__head h2{
  grid-column:2;
  margin:0;
  font-family:var(--font-head);
  font-weight:800;
  font-size:clamp(21px,3.2vw,30px);
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--white);
}
.page-faq .faq-group__note{
  grid-column:2;
  margin:0;
  color:var(--gray);
  font-size:14.5px;
  line-height:1.7;
}

/* ---------- 手风琴 ---------- */
.page-faq .faq-item{
  border:1px solid var(--line-soft);
  border-radius:var(--r-md);
  background:var(--faq-card);
  overflow:hidden;
  transition:border-color .2s ease;
}
.page-faq .faq-item + .faq-item{margin-top:10px;}
.page-faq .faq-item[open]{border-color:rgba(0,230,118,.45);}
.page-faq .faq-item summary{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:15px 16px;
  cursor:pointer;
  list-style:none;
  font-size:15.5px;
  font-weight:700;
  line-height:1.55;
  color:var(--white);
}
.page-faq .faq-item summary::-webkit-details-marker{display:none;}
.page-faq .faq-item summary::marker{content:"";}
.page-faq .faq-item summary::after{
  content:"＋";
  margin-left:auto;
  flex:none;
  font-family:var(--font-mono);
  font-size:16px;
  line-height:1.4;
  color:var(--cyan);
}
.page-faq .faq-item[open] summary::after{
  content:"－";
  color:var(--green);
}
.page-faq .faq-item summary:hover{background:rgba(0,230,118,.055);}
.page-faq .faq-item summary:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:-2px;
}
.page-faq .faq-a{
  border-top:1px solid var(--line-soft);
  padding:2px 16px 18px;
}
.page-faq .faq-a p{
  margin:12px 0 0;
  color:var(--faq-answer);
  font-size:15px;
  line-height:1.78;
}
.page-faq .faq-a__lead{
  border-left:3px solid var(--green);
  padding-left:12px;
  font-weight:600;
  color:var(--white) !important;
}
.page-faq .faq-a ul{
  margin:12px 0 0;
  padding-left:18px;
  color:var(--faq-answer);
  font-size:14.5px;
  line-height:1.75;
}
.page-faq .faq-a li{margin-top:6px;}
.page-faq .faq-a li::marker{color:var(--green);}
.page-faq .faq-a a,
.page-faq .faq-contact__link{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(0,245,212,.35);
}
.page-faq .faq-a a:hover,
.page-faq .faq-contact__link:hover{border-bottom-color:var(--cyan);}

/* ---------- 配图 ---------- */
.page-faq .faq-shot{
  margin:18px 0 0;
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--ink-800);
}
.page-faq .faq-shot img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-faq .faq-shot figcaption{
  padding:10px 14px;
  border-top:1px solid var(--line-soft);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--gray);
}

/* ---------- 联系方式 ---------- */
.page-faq .faq-contact{
  margin-top:18px;
  display:grid;
  gap:1px;
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  background:var(--line-soft);
  overflow:hidden;
}
.page-faq .faq-contact__item{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:16px;
  background:var(--ink-800);
}
.page-faq .faq-contact__key{
  font-size:11px;
  letter-spacing:.2em;
  color:var(--gray);
}
.page-faq .faq-contact__val{
  font-size:15px;
  line-height:1.55;
  font-weight:600;
  color:var(--white);
  word-break:break-word;
}
.page-faq .faq-contact__item .copy-btn{align-self:flex-start;}
.page-faq .faq-contact__link{align-self:flex-start;font-size:13.5px;}

/* ---------- 响应式 ---------- */
@media (min-width:600px){
  .page-faq .faq-item summary{padding:17px 20px;font-size:16px;}
  .page-faq .faq-a{padding:2px 20px 20px;}
}
@media (min-width:960px){
  .page-faq .faq-hero__inner{
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);
  }
}
@media (min-width:1000px){
  .page-faq .faq-pulse{position:sticky;top:0;}
  .page-faq .faq-body{
    grid-template-columns:216px minmax(0,1fr);
    gap:clamp(28px,4vw,56px);
  }
  .page-faq .faq-index{
    position:sticky;
    top:76px;
    align-self:start;
  }
  .page-faq .faq-index__list{
    display:block;
    overflow:visible;
    padding-bottom:0;
  }
  .page-faq .faq-index .toc__link{
    display:block;
    white-space:normal;
    padding:10px 12px;
    border:0;
    border-left:2px solid transparent;
    border-radius:0 var(--r-sm) var(--r-sm) 0;
  }
  .page-faq .faq-index .toc__link:hover{background:rgba(0,245,212,.06);}
  .page-faq .faq-index .toc__link.is-active{border-left-color:var(--green);}
  .page-faq .faq-contact{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-faq .faq-shot--board{margin-top:22px;}
}
@media (min-width:1280px){
  .page-faq .faq-hero h1{font-size:70px;}
}
<<<END>>>
