.page-faq{
  --faq-cut:14px;
  --faq-side-w:236px;
  --faq-hair:rgba(42,74,112,.62);
  background:var(--c-ink);
  overflow-x:hidden;
}

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{
  position:relative;
  padding:clamp(24px,4vw,52px) 0 clamp(36px,6vw,84px);
  border-bottom:var(--line);
  background:
    radial-gradient(120% 90% at 86% -10%, rgba(47,243,224,.16), transparent 58%),
    radial-gradient(90% 80% at 4% 104%, rgba(255,106,26,.18), transparent 62%),
    var(--c-void);
  overflow:hidden;
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(42,74,112,.34) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(42,74,112,.34) 1px, transparent 1px);
  background-size:74px 74px;
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.95), transparent 82%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.95), transparent 82%);
  pointer-events:none;
}
.page-faq .faq-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(26px,4vw,48px);
  align-items:center;
}
.page-faq .faq-hero__copy .breadcrumb{margin-bottom:18px;}
.page-faq .faq-hero h1{
  margin:14px 0 0;
  font-family:var(--font-sans);
  font-size:clamp(2.45rem,8vw,5.2rem);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:800;
  color:var(--c-paper);
}
.page-faq .faq-hero h1 br + *{display:inline;}
.page-faq .faq-hero__lead{
  margin:clamp(16px,2.4vw,26px) 0 0;
  max-width:36em;
  color:var(--c-mist);
  font-size:clamp(.98rem,1.4vw,1.08rem);
  line-height:1.85;
}
.page-faq .faq-hero__quick{
  margin-top:clamp(20px,3vw,30px);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}
.page-faq .faq-quick__label{
  display:inline-block;
  padding:5px 11px;
  background:var(--c-paper);
  color:var(--c-void);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  line-height:1.4;
}
.page-faq .faq-quick__link{
  color:var(--c-mist);
  font-size:.9rem;
  line-height:1.6;
  text-decoration:none;
  border-bottom:1px solid rgba(47,243,224,.4);
  padding-bottom:2px;
  transition:color .25s var(--ease), border-color .25s var(--ease);
}
.page-faq .faq-quick__link:hover,
.page-faq .faq-quick__link:focus-visible{
  color:var(--c-cyan);
  border-bottom-color:var(--c-cyan);
}
.page-faq .faq-hero__media{
  margin:0;
  position:relative;
  border:1px solid var(--c-steel);
  background:linear-gradient(160deg, rgba(23,58,99,.7), rgba(5,8,15,.95));
}
.page-faq .faq-hero__media::after{
  content:"";
  position:absolute;
  top:0;right:0;
  width:var(--faq-cut);height:var(--faq-cut);
  background:var(--c-cyan);
  clip-path:polygon(100% 0, 0 0, 100% 100%);
}
.page-faq .faq-hero__media .media-frame__img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-faq .faq-hero__media .media-frame__caption{
  padding:10px 14px;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--c-mist);
  border-top:1px solid var(--faq-hair);
}

/* ---------- 01 分类索引 ---------- */
.page-faq .faq-cats{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
}
.page-faq .faq-cat{
  position:relative;
  display:block;
  padding:22px 22px 24px;
  text-decoration:none;
  color:var(--c-paper);
  border:1px solid var(--c-steel);
  background:linear-gradient(158deg, rgba(23,58,99,.55), rgba(8,20,38,.92));
  transition:border-color .28s var(--ease), transform .28s var(--ease), background .28s var(--ease);
}
.page-faq .faq-cat::after{
  content:"";
  position:absolute;
  top:0;right:0;
  width:var(--faq-cut);height:var(--faq-cut);
  background:var(--c-orange);
  clip-path:polygon(100% 0, 0 0, 100% 100%);
  opacity:0;
  transition:opacity .28s var(--ease);
}
.page-faq .faq-cat:hover,
.page-faq .faq-cat:focus-visible{
  border-color:var(--c-cyan);
  transform:translateY(-2px);
}
.page-faq .faq-cat:hover::after,
.page-faq .faq-cat:focus-visible::after{opacity:1;}
.page-faq .faq-cat__num{
  display:block;
  font-family:var(--font-mono);
  font-size:clamp(1.6rem,3vw,2.1rem);
  line-height:1;
  letter-spacing:.06em;
  color:var(--c-orange);
}
.page-faq .faq-cat__title{
  margin:10px 0 0;
  font-size:1.16rem;
  letter-spacing:-.01em;
  font-weight:700;
  color:var(--c-paper);
}
.page-faq .faq-cat__count{
  display:inline-block;
  margin-top:8px;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--c-cyan);
  border:1px solid rgba(47,243,224,.45);
  padding:3px 8px;
}
.page-faq .faq-cat__desc{
  margin:12px 0 0;
  font-size:.92rem;
  line-height:1.75;
  color:var(--c-mist);
}

/* ---------- 02 三步 ---------- */
.page-faq .faq-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
}
.page-faq .faq-step{
  padding-top:18px;
  border-top:2px solid var(--c-orange);
}
.page-faq .faq-step__num{
  display:block;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.18em;
  color:var(--c-cyan);
}
.page-faq .faq-step__title{
  margin:10px 0 8px;
  font-size:1.1rem;
  line-height:1.5;
  font-weight:700;
  color:var(--c-paper);
}
.page-faq .faq-step__text{
  margin:0;
  font-size:.95rem;
  line-height:1.85;
  color:var(--c-mist);
}

/* ---------- 问答主体 ---------- */
.page-faq .faq-split{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
}
.page-faq .faq-side{
  padding:20px 0 0;
  border-top:1px solid var(--c-steel);
}
.page-faq .faq-side__title{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.2em;
  color:var(--c-cyan);
}
.page-faq .faq-side__nav{
  display:flex;
  flex-wrap:wrap;
  gap:0 18px;
}
.page-faq .faq-side__link{
  display:flex;
  align-items:baseline;
  gap:9px;
  padding:9px 0;
  color:var(--c-mist);
  font-size:.92rem;
  line-height:1.6;
  text-decoration:none;
  border-bottom:1px solid var(--faq-hair);
  transition:color .24s var(--ease), border-color .24s var(--ease);
}
.page-faq .faq-side__link span{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.1em;
  color:var(--c-orange);
}
.page-faq .faq-side__link:hover,
.page-faq .faq-side__link:focus-visible{
  color:var(--c-cyan);
  border-bottom-color:var(--c-cyan);
}
.page-faq .faq-side__cta{
  margin-top:18px;
  width:100%;
  text-align:center;
}

.page-faq .faq-group + .faq-group{
  margin-top:clamp(40px,6vw,72px);
}
.page-faq .faq-group__head{
  padding-bottom:16px;
  border-bottom:1px solid var(--c-steel);
}
.page-faq .faq-group__title{
  margin:12px 0 8px;
  font-size:clamp(1.35rem,3vw,2rem);
  line-height:1.25;
  letter-spacing:-.02em;
  font-weight:800;
  color:var(--c-paper);
}
.page-faq .faq-group__desc{
  margin:0;
  max-width:58ch;
  font-size:.94rem;
  line-height:1.8;
  color:var(--c-mist);
}
.page-faq .faq-list{
  display:block;
  border-top:1px solid var(--faq-hair);
  margin-top:-1px;
}
.page-faq .faq-item{
  border-bottom:1px solid var(--faq-hair);
}
.page-faq .faq-item__q{
  position:relative;
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:17px 42px 17px 0;
  cursor:pointer;
  list-style:none;
  color:var(--c-paper);
  font-size:1rem;
  line-height:1.65;
  font-weight:600;
  transition:color .24s var(--ease);
}
.page-faq .faq-item__q::-webkit-details-marker{display:none;}
.page-faq .faq-item__q::marker{content:"";}
.page-faq .faq-item__q::after{
  content:"+";
  position:absolute;
  right:4px;
  top:14px;
  font-family:var(--font-mono);
  font-size:1.25rem;
  line-height:1.2;
  color:var(--c-cyan);
  transition:color .24s var(--ease);
}
.page-faq .faq-item[open] .faq-item__q::after{
  content:"\2013";
  color:var(--c-orange);
}
.page-faq .faq-item__q:hover{color:var(--c-cyan);}
.page-faq .faq-item[open] .faq-item__q:hover{color:var(--c-paper);}
.page-faq .faq-item__num{
  flex:0 0 auto;
  padding-top:2px;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--c-orange);
}
.page-faq .faq-item[open] .faq-item__num{color:var(--c-cyan);}
.page-faq .faq-item__a{
  padding:0 0 20px;
  color:var(--c-mist);
  font-size:.95rem;
  line-height:1.85;
}
.page-faq .faq-item__a p{margin:0 0 .8em;}
.page-faq .faq-item__a p:last-child{margin-bottom:0;}
.page-faq .faq-item__a a{
  color:var(--c-cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(47,243,224,.45);
}
.page-faq .faq-item__a a:hover{border-bottom-color:var(--c-cyan);}

/* ---------- 06 技术反馈 ---------- */
.page-faq .faq-feedback{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(22px,3.5vw,40px);
  align-items:start;
}
.page-faq .faq-feedback__media{
  margin:0;
  border:1px solid var(--c-steel);
  background:linear-gradient(200deg, rgba(23,58,99,.6), rgba(5,8,15,.95));
}
.page-faq .faq-feedback__media .media-frame__img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-faq .faq-feedback__media .media-frame__caption{
  padding:10px 14px;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--c-mist);
  border-top:1px solid var(--faq-hair);
}

.page-faq .faq-cta{
  margin-top:clamp(26px,4vw,44px);
  padding:clamp(22px,3.4vw,38px);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid var(--c-steel);
  background:linear-gradient(115deg, rgba(23,58,99,.85), rgba(5,8,15,.92));
}
.page-faq .faq-cta__kicker{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.16em;
  color:var(--c-cyan);
}
.page-faq .faq-cta__desc{
  margin:0;
  max-width:44ch;
  font-size:.96rem;
  line-height:1.8;
  color:var(--c-mist);
}
.page-faq .faq-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

/* ---------- 响应式 ---------- */
@media (min-width:640px){
  .page-faq .faq-cats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-faq .faq-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (min-width:900px){
  .page-faq .faq-hero__inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr);}
  .page-faq .faq-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-faq .faq-feedback{grid-template-columns:minmax(0,7fr) minmax(0,5fr);}
  .page-faq .faq-feedback__media{align-self:stretch;}
  .page-faq .faq-feedback__media .media-frame__img{height:100%;min-height:240px;}
}

@media (min-width:1000px){
  .page-faq .faq-cats{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-faq .faq-split{grid-template-columns:var(--faq-side-w) minmax(0,1fr);gap:clamp(32px,4vw,64px);}
  .page-faq .faq-side{
    position:sticky;
    top:96px;
    padding-top:0;
    border-top:0;
  }
  .page-faq .faq-side__nav{display:block;}
  .page-faq .faq-side__link{padding:11px 0;}
  .page-faq .faq-item__a{padding-left:52px;}
}

@media (prefers-reduced-motion:reduce){
  .page-faq .faq-cat,
  .page-faq .faq-item__q,
  .page-faq .faq-item__q::after,
  .page-faq .faq-side__link,
  .page-faq .faq-quick__link{transition:none;}
  .page-faq .faq-cat:hover,
  .page-faq .faq-cat:focus-visible{transform:none;}
}
<<<END>>>
