.page-faq{
  --faq-card-ink:#1B2029;
  --faq-card-text:#333A45;
  display:block;
  padding-bottom:2.5rem;
}

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{
  position:relative;
  overflow:hidden;
  padding:1.5rem 0 2.25rem;
  border-bottom:1px solid var(--line-soft);
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  top:-35%;
  right:-20%;
  width:min(90%,560px);
  height:180%;
  background:linear-gradient(205deg,rgba(245,183,0,.42),rgba(245,183,0,.06) 55%,rgba(245,183,0,0) 72%);
  clip-path:polygon(42% 0,100% 0,100% 100%,0 100%);
  opacity:.5;
  pointer-events:none;
}
.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,var(--gold),rgba(245,183,0,0) 68%);
  opacity:.7;
}
.page-faq .faq-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  gap:1.5rem;
}
.page-faq .faq-hero h1{
  margin:.55rem 0 0;
  font-family:var(--font-head);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.1;
  font-size:clamp(1.85rem,7vw,3.4rem);
  color:#F5F7FA;
}
.page-faq .faq-hero__intro{
  margin:.9rem 0 0;
  max-width:46ch;
  font-family:var(--font-body);
  font-size:.98rem;
  line-height:1.8;
  color:var(--silver);
}
.page-faq .faq-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.35rem;
}
.page-faq .faq-hero__panel{
  border:1px solid var(--line);
  border-top:2px solid var(--gold);
  border-radius:var(--radius);
  background:rgba(27,32,41,.72);
  padding:1.1rem 1.15rem 1.2rem;
  box-shadow:var(--shadow-plate);
}
.page-faq .faq-hero__panel-title{
  margin:0 0 .85rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  color:var(--gold);
  text-transform:uppercase;
}
.page-faq .faq-jump{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.55rem;
}
.page-faq .faq-jump a{
  display:flex;
  gap:.6rem;
  align-items:baseline;
  padding-bottom:.55rem;
  border-bottom:1px solid var(--line-soft);
  font-family:var(--font-body);
  font-size:.9rem;
  line-height:1.55;
  color:var(--mist);
  text-decoration:none;
  transition:color .18s ease;
}
.page-faq .faq-jump li:last-child a{border-bottom:0;padding-bottom:0;}
.page-faq .faq-jump a:hover,
.page-faq .faq-jump a:focus-visible{color:var(--gold-hi);}
.page-faq .faq-jump__idx{
  font-family:var(--font-mono);
  font-size:.72rem;
  color:var(--gold);
  flex:none;
  letter-spacing:.08em;
}

/* ---------- 侧栏 + 正文骨架 ---------- */
.page-faq .wk-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.25rem;
  padding-top:1.5rem;
}
.page-faq .faq-rail{
  display:flex;
  gap:.45rem;
  overflow-x:auto;
  padding:.15rem 0 .8rem;
  border-bottom:1px solid var(--line-soft);
  scrollbar-width:none;
}
.page-faq .faq-rail::-webkit-scrollbar{height:0;}
.page-faq .faq-rail__label{
  flex:none;
  align-self:center;
  margin:0 .35rem 0 0;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.16em;
  color:var(--gray);
}
.page-faq .faq-rail__link{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .8rem;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  background:rgba(27,32,41,.6);
  font-family:var(--font-body);
  font-size:.82rem;
  color:var(--silver);
  text-decoration:none;
  white-space:nowrap;
  transition:border-color .18s ease,color .18s ease,background .18s ease;
}
.page-faq .faq-rail__idx{
  font-family:var(--font-mono);
  font-size:.66rem;
  color:var(--gray);
  letter-spacing:.08em;
}
.page-faq .faq-rail__link:hover,
.page-faq .faq-rail__link:focus-visible{
  border-color:var(--line-gold);
  color:var(--gold-hi);
}
.page-faq .faq-rail__link[data-active="true"]{
  border-color:var(--gold);
  background:rgba(245,183,0,.14);
  color:#FFF3D0;
}
.page-faq .faq-rail__link[data-active="true"] .faq-rail__idx{color:var(--gold);}

/* ---------- 章节 ---------- */
.page-faq .faq-section{
  padding:1.75rem 0 2rem;
  border-top:1px solid var(--line-soft);
  scroll-margin-top:5.5rem;
}
.page-faq .faq-section:first-child{border-top:0;padding-top:.5rem;}
.page-faq .faq-head{margin-bottom:1.35rem;}
.page-faq .faq-title{
  margin:.5rem 0 0;
  font-family:var(--font-head);
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.22;
  font-size:clamp(1.35rem,4.6vw,2.1rem);
  color:#F2F5FA;
}
.page-faq .faq-sub{
  margin:.7rem 0 0;
  max-width:52ch;
  font-family:var(--font-body);
  font-size:.92rem;
  line-height:1.75;
  color:var(--silver);
}

/* ---------- 双栏 ---------- */
.page-faq .faq-cols{
  display:grid;
  gap:1.25rem;
}
.page-faq .faq-figure{
  margin:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(27,32,41,.55);
  overflow:hidden;
  box-shadow:var(--shadow-plate);
}
.page-faq .faq-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-faq .faq-figure figcaption{
  padding:.75rem .95rem .9rem;
  font-family:var(--font-body);
  font-size:.78rem;
  line-height:1.65;
  color:var(--gray);
  border-top:1px solid var(--line-soft);
}

/* ---------- 折叠问答卡 ---------- */
.page-faq .faq-card-list{display:grid;gap:.65rem;}
.page-faq .faq-card{
  background:var(--mist);
  color:var(--faq-card-ink);
  border-radius:10px;
  border:1px solid rgba(17,19,24,.08);
  box-shadow:0 16px 32px -28px rgba(0,0,0,.95);
  overflow:hidden;
  margin:0 0 .65rem;
}
.page-faq .faq-card:last-child{margin-bottom:0;}
.page-faq .faq-card > summary{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
  padding:1rem 1.05rem;
  cursor:pointer;
  list-style:none;
  font-family:var(--font-head);
  font-weight:600;
  font-size:.95rem;
  line-height:1.55;
  letter-spacing:-.005em;
  color:var(--faq-card-ink);
}
.page-faq .faq-card > summary::-webkit-details-marker{display:none;}
.page-faq .faq-card > summary::after{
  content:"+";
  margin-left:auto;
  flex:none;
  font-family:var(--font-mono);
  font-size:1.05rem;
  line-height:1.2;
  color:var(--gold-deep);
}
.page-faq .faq-card[open]{
  box-shadow:inset 3px 0 0 var(--gold),0 16px 32px -28px rgba(0,0,0,.95);
}
.page-faq .faq-card[open] > summary::after{content:"−";}
.page-faq .faq-card[open] > summary{background:rgba(245,183,0,.09);}
.page-faq .faq-card__idx{
  flex:none;
  padding-top:.18rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--gold-deep);
}
.page-faq .faq-card__body{
  padding:.85rem 1.05rem 1.05rem;
  border-top:1px solid rgba(17,19,24,.1);
  font-family:var(--font-body);
  font-size:.9rem;
  line-height:1.8;
  color:var(--faq-card-text);
}
.page-faq .faq-card__body p{margin:0 0 .6rem;}
.page-faq .faq-card__body p:last-child{margin-bottom:0;}

/* ---------- 两步路径 ---------- */
.page-faq .faq-steps{
  margin-top:1.35rem;
  display:grid;
  gap:1.25rem;
  padding:1.15rem;
  border:1px solid var(--line-gold);
  border-radius:14px;
  background:linear-gradient(155deg,rgba(15,61,58,.72),rgba(17,19,24,.94));
}
.page-faq .faq-steps__title{
  margin:.5rem 0 0;
  font-family:var(--font-head);
  font-weight:700;
  letter-spacing:-.01em;
  font-size:clamp(1.05rem,3.4vw,1.35rem);
  line-height:1.4;
  color:#F2F5FA;
}
.page-faq .faq-steps__list{
  list-style:none;
  margin:1rem 0 0;
  padding:0;
  display:grid;
  gap:.9rem;
}
.page-faq .faq-steps__list li{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}
.page-faq .faq-steps__num{
  flex:none;
  width:1.9rem;
  height:1.9rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line-gold);
  border-radius:var(--radius-pill);
  background:rgba(245,183,0,.12);
  font-family:var(--font-mono);
  font-size:.72rem;
  color:var(--gold-hi);
}
.page-faq .faq-steps__list strong{
  display:block;
  font-family:var(--font-head);
  font-size:.92rem;
  color:#F2F5FA;
  margin-bottom:.25rem;
}
.page-faq .faq-steps__list p{
  margin:0;
  font-family:var(--font-body);
  font-size:.85rem;
  line-height:1.7;
  color:var(--silver);
}
.page-faq .faq-steps__figure{
  margin:0;
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--line);
}
.page-faq .faq-steps__figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

/* ---------- 流程阶梯 ---------- */
.page-faq .faq-flow{
  list-style:none;
  margin:0 0 1.35rem;
  padding:0;
  display:grid;
  gap:.75rem;
}
.page-faq .faq-flow li{
  position:relative;
  padding:.95rem 1rem 1rem;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(27,32,41,.62);
}
.page-faq .faq-flow li::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:34%;
  height:2px;
  background:linear-gradient(90deg,var(--gold),rgba(245,183,0,0));
}
.page-faq .faq-flow__num{
  display:block;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--gold);
  margin-bottom:.4rem;
}
.page-faq .faq-flow strong{
  display:block;
  font-family:var(--font-head);
  font-size:.92rem;
  color:#EFF3F8;
  margin-bottom:.3rem;
}
.page-faq .faq-flow p{
  margin:0;
  font-family:var(--font-body);
  font-size:.82rem;
  line-height:1.7;
  color:var(--gray);
}

/* ---------- 标签筛选 ---------- */
.page-faq .faq-tags-grid{
  display:grid;
  gap:.7rem;
  margin-bottom:1.3rem;
}
.page-faq .faq-tagblock{
  padding:1rem;
  border:1px solid var(--line);
  border-left:2px solid var(--blue);
  border-radius:8px;
  background:rgba(27,32,41,.55);
}
.page-faq .faq-tagblock__title{
  margin:0 0 .45rem;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.12em;
  color:var(--blue-soft);
}
.page-faq .faq-tagblock p{
  margin:0;
  font-family:var(--font-body);
  font-size:.86rem;
  line-height:1.75;
  color:var(--silver);
}
.page-faq .faq-chips-label{
  margin:0 0 .65rem;
  font-family:var(--font-body);
  font-size:.8rem;
  letter-spacing:.04em;
  color:var(--gray);
}
.page-faq .faq-chips{
  list-style:none;
  margin:0 0 1.4rem;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.page-faq .faq-chips .wk-tag{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.03em;
}

/* ---------- 行动点 ---------- */
.page-faq .faq-action{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem .9rem;
  margin-top:1.3rem;
  padding-top:1.1rem;
  border-top:1px solid var(--line-soft);
}
.page-faq .faq-action__note{
  font-family:var(--font-body);
  font-size:.8rem;
  line-height:1.6;
  color:var(--gray);
}

/* ---------- 联系 ---------- */
.page-faq .faq-contact{
  display:grid;
  gap:1rem;
}
.page-faq .faq-contact__card,
.page-faq .faq-contact__routing{
  padding:1.15rem;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(27,32,41,.72);
  box-shadow:var(--shadow-plate);
}
.page-faq .faq-contact__card{border-top:2px solid var(--gold);}
.page-faq .faq-contact__routing{border-top:2px solid var(--blue);}
.page-faq .faq-contact__title{
  margin:0 0 .9rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  color:var(--gold);
}
.page-faq .faq-contact__routing .faq-contact__title{color:var(--blue-soft);}
.page-faq .faq-contact__list{
  margin:0;
  display:grid;
  gap:.65rem;
}
.page-faq .faq-contact__list > div{
  display:grid;
  gap:.2rem;
  padding-bottom:.6rem;
  border-bottom:1px solid var(--line-soft);
}
.page-faq .faq-contact__list > div:last-child{border-bottom:0;padding-bottom:0;}
.page-faq .faq-contact__list dt{
  font-family:var(--font-body);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--gray);
}
.page-faq .faq-contact__list dd{
  margin:0;
  font-family:var(--font-mono);
  font-size:.88rem;
  line-height:1.6;
  letter-spacing:.01em;
  color:#EFF3F8;
  word-break:break-word;
}
.page-faq .faq-contact__list dd a{
  color:#EFF3F8;
  text-decoration:none;
  border-bottom:1px solid var(--line-gold);
}
.page-faq .faq-contact__list dd a:hover,
.page-faq .faq-contact__list dd a:focus-visible{color:var(--gold-hi);}
.page-faq .faq-contact__note{
  margin:1rem 0 0;
  font-family:var(--font-serif);
  font-size:.82rem;
  line-height:1.8;
  color:var(--silver);
}
.page-faq .faq-route{
  list-style:none;
  margin:0 0 1.1rem;
  padding:0;
  display:grid;
  gap:.85rem;
}
.page-faq .faq-route li{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
}
.page-faq .faq-route__idx{
  flex:none;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--gold);
  padding-top:.15rem;
}
.page-faq .faq-route strong{
  display:block;
  font-family:var(--font-head);
  font-size:.88rem;
  color:#EFF3F8;
  margin-bottom:.25rem;
}
.page-faq .faq-route p{
  margin:0;
  font-family:var(--font-body);
  font-size:.82rem;
  line-height:1.7;
  color:var(--gray);
}
.page-faq .faq-route p a{
  color:var(--blue-soft);
  text-decoration:none;
  border-bottom:1px solid rgba(127,168,255,.42);
}
.page-faq .faq-route p a:hover,
.page-faq .faq-route p a:focus-visible{color:var(--gold-hi);}
.page-faq .faq-contact__cta{width:100%;justify-content:center;}
.page-faq .faq-footnote{
  margin:1.3rem 0 0;
  padding-left:.85rem;
  border-left:2px solid var(--line-gold);
  font-family:var(--font-body);
  font-size:.82rem;
  line-height:1.75;
  color:var(--gray);
}

/* ---------- 平板 ---------- */
@media (min-width:700px){
  .page-faq .faq-hero{padding:2rem 0 2.75rem;}
  .page-faq .faq-hero__intro{font-size:1.02rem;}
  .page-faq .faq-tags-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-faq .faq-flow{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-faq .faq-contact{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-faq .faq-contact__cta{width:auto;}
  .page-faq .faq-card > summary{font-size:1rem;padding:1.05rem 1.2rem;}
  .page-faq .faq-card__body{font-size:.94rem;padding:1rem 1.2rem 1.15rem;}
}

/* ---------- 桌面 ---------- */
@media (min-width:960px){
  .page-faq{padding-bottom:3.5rem;}
  .page-faq .faq-hero{padding:2.5rem 0 3.25rem;}
  .page-faq .faq-hero__inner{
    grid-template-columns:minmax(0,7.2fr) minmax(0,4fr);
    gap:2.5rem;
    align-items:start;
  }
  .page-faq .faq-hero__panel{margin-top:.4rem;}
  .page-faq .wk-shell{
    grid-template-columns:260px minmax(0,1fr);
    gap:2.75rem;
    padding-top:2.25rem;
    align-items:start;
  }
  .page-faq .faq-rail{
    position:sticky;
    top:6.5rem;
    flex-direction:column;
    gap:.1rem;
    overflow:visible;
    border-bottom:0;
    border-left:1px solid var(--line);
    padding:.15rem 0 .15rem .85rem;
  }
  .page-faq .faq-rail__label{
    margin:0 0 .75rem;
    padding-left:.1rem;
  }
  .page-faq .faq-rail__link{
    padding:.5rem .6rem;
    border:0;
    border-radius:6px;
    background:transparent;
    font-size:.86rem;
    white-space:normal;
    position:relative;
  }
  .page-faq .faq-rail__link::before{
    content:"";
    position:absolute;
    left:-.9rem;
    top:50%;
    width:3px;
    height:0;
    background:var(--gold);
    transform:translateY(-50%);
    transition:height .2s ease;
  }
  .page-faq .faq-rail__link[data-active="true"]{
    background:rgba(245,183,0,.1);
    color:#FFF3D0;
  }
  .page-faq .faq-rail__link[data-active="true"]::before{height:70%;}
  .page-faq .faq-cols{
    grid-template-columns:minmax(0,7fr) minmax(0,4fr);
    gap:1.5rem;
    align-items:start;
  }
  .page-faq .faq-steps{
    grid-template-columns:minmax(0,1fr) 300px;
    align-items:center;
    gap:2rem;
    padding:1.75rem;
  }
  .page-faq .faq-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;}
  .page-faq .faq-section{padding:2.25rem 0 2.5rem;}
  .page-faq .faq-contact{gap:1.25rem;}
}

@media (prefers-reduced-motion:reduce){
  .page-faq .faq-rail__link,
  .page-faq .faq-rail__link::before,
  .page-faq .faq-jump a{transition:none;}
}
