.page-faq{
  --faq-hairline:rgba(43,42,38,.14);
  --faq-rail-w:264px;
  background:var(--paper);
  color:var(--ink);
}

/* 首屏 */
.page-faq .faq-hero{
  position:relative;
  overflow:hidden;
  padding-block:clamp(1.5rem,4vw,2.75rem) clamp(1.75rem,4.5vw,3rem);
  background:
    radial-gradient(115% 90% at 90% -12%, rgba(201,162,39,.24), transparent 58%),
    linear-gradient(180deg, var(--ink-green), #0B3029);
  color:var(--paper);
  border-bottom:4px solid var(--sand);
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(180deg, rgba(244,239,228,.045) 0 1px, transparent 1px 7px);
  pointer-events:none;
}
.page-faq .faq-hero > .shell{ position:relative; z-index:1; }

.page-faq .faq-hero .breadcrumb ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  margin:0 0 1.1rem;
  padding:0;
  list-style:none;
  font-family:var(--font-num);
  font-size:.78rem;
  letter-spacing:.06em;
}
.page-faq .faq-hero .breadcrumb a{
  color:rgba(244,239,228,.72);
  text-decoration:none;
}
.page-faq .faq-hero .breadcrumb a:hover{ color:var(--sand); }
.page-faq .faq-hero .breadcrumb li + li::before{
  content:"/";
  margin-right:.45rem;
  color:rgba(244,239,228,.35);
}
.page-faq .faq-hero .breadcrumb li[aria-current="page"]{ color:var(--sand); }

.page-faq .faq-kicker{
  margin:0 0 .6rem;
  font-family:var(--font-num);
  font-size:.8rem;
  letter-spacing:.18em;
  color:var(--sand);
}

.page-faq h1{
  margin:0 0 1rem;
  max-width:22ch;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.85rem,5.4vw,3.3rem);
  line-height:1.16;
  letter-spacing:-.01em;
}

.page-faq .faq-lede{
  max-width:64ch;
  margin:0 0 1.6rem;
  font-family:var(--font-body);
  font-size:clamp(.98rem,1.6vw,1.1rem);
  line-height:1.82;
  color:rgba(244,239,228,.87);
}

.page-faq .faq-stats{
  display:flex;
  flex-wrap:wrap;
  gap:1.1rem 2.25rem;
  margin:0;
  padding:1.15rem 0 0;
  list-style:none;
  border-top:1px solid rgba(244,239,228,.18);
}
.page-faq .faq-stats li{ min-width:6.5rem; }
.page-faq .faq-stats strong{
  display:block;
  font-family:var(--font-num);
  font-size:clamp(1.5rem,3vw,2.05rem);
  font-weight:700;
  line-height:1;
  color:var(--sand);
}
.page-faq .faq-stats span{
  display:block;
  margin-top:.35rem;
  font-size:.8rem;
  line-height:1.4;
  color:rgba(244,239,228,.7);
}

/* 两栏骨架 */
.page-faq .faq-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  padding-block:clamp(1.75rem,4.5vw,3.25rem) clamp(2.5rem,6vw,4.5rem);
}
@media (min-width:960px){
  .page-faq .faq-grid{
    grid-template-columns:var(--faq-rail-w) minmax(0,1fr);
    gap:clamp(2rem,3.5vw,3.25rem);
    align-items:start;
  }
}

/* 左侧索引 */
.page-faq .faq-index{
  padding:1.15rem 1.1rem 1.35rem;
  background:var(--paper-2);
  border:1px solid var(--faq-hairline);
  border-radius:var(--radius-leaf);
}
@media (min-width:960px){
  .page-faq .faq-index{ position:sticky; top:1.25rem; }
}
.page-faq .faq-index-title{
  margin:0 0 .8rem;
  padding-bottom:.6rem;
  border-bottom:2px solid var(--sand);
  font-family:var(--font-display);
  font-weight:900;
  font-size:.95rem;
  letter-spacing:.08em;
  color:var(--ink-green);
}
.page-faq .faq-index-list{
  display:grid;
  gap:.1rem;
  margin:0;
  padding:0;
  list-style:none;
}
.page-faq .faq-index-list a{
  display:grid;
  grid-template-columns:1.85rem minmax(0,1fr);
  align-items:baseline;
  gap:.35rem;
  padding:.55rem .55rem;
  border-left:3px solid transparent;
  border-radius:4px;
  color:var(--ink);
  font-size:.92rem;
  line-height:1.45;
  text-decoration:none;
  transition:background .18s ease, border-color .18s ease;
}
.page-faq .faq-index-list a:hover,
.page-faq .faq-index-list a:focus-visible{
  background:var(--card-paper);
  border-left-color:var(--sand);
}
.page-faq .idx-num{
  font-family:var(--font-num);
  font-size:.82rem;
  letter-spacing:.04em;
  color:var(--deep-green);
}
.page-faq .faq-index-side{
  margin-top:1.1rem;
  padding-top:.9rem;
  border-top:1px dashed rgba(43,42,38,.24);
}
.page-faq .faq-index-side-title{
  margin:0 0 .5rem;
  font-family:var(--font-num);
  font-size:.74rem;
  letter-spacing:.14em;
  color:var(--muted);
}
.page-faq .faq-index-side ul{
  display:grid;
  gap:.45rem;
  margin:0;
  padding:0;
  list-style:none;
}
.page-faq .faq-index-side a{
  display:block;
  font-family:var(--font-body);
  font-size:.84rem;
  line-height:1.55;
  color:var(--wine);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.page-faq .faq-index-side a:hover,
.page-faq .faq-index-side a:focus-visible{
  color:var(--vermilion);
  border-bottom-color:var(--sand);
}

/* 右侧正文 */
.page-faq .faq-panel{
  display:grid;
  gap:clamp(2.25rem,4.5vw,3.5rem);
  min-width:0;
}
.page-faq .faq-section{
  scroll-margin-top:1.5rem;
  padding-top:.35rem;
}
.page-faq .faq-section h2{
  display:flex;
  align-items:baseline;
  gap:.65rem;
  margin:0 0 .7rem;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.32rem,2.7vw,1.95rem);
  line-height:1.24;
  color:var(--ink-green);
}
.page-faq .sec-num{
  font-family:var(--font-num);
  font-size:clamp(1.5rem,3.2vw,2.25rem);
  font-weight:700;
  line-height:1;
  color:var(--sand);
}
.page-faq .faq-section > p{
  max-width:66ch;
  margin:0 0 1.3rem;
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.8;
}
.page-faq a.inline{
  color:var(--vermilion-dark);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-faq a.inline:hover{ color:var(--vermilion); }

/* 图 */
.page-faq .faq-figure{
  margin:0 0 1.5rem;
}
.page-faq .faq-figure .media-frame,
.page-faq .support-figure .media-frame{
  border-radius:var(--radius-leaf);
  overflow:hidden;
  background:var(--paper-2);
}
.page-faq .faq-figure img,
.page-faq .support-figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-faq .media-caption{
  margin-top:.55rem;
  font-family:var(--font-note);
  font-size:.82rem;
  line-height:1.6;
  color:var(--muted);
}

/* 编号轨道 */
.page-faq .step-rail{
  display:flex;
  gap:.35rem;
  margin:0 0 1.35rem;
  padding:.75rem .4rem;
  list-style:none;
  overflow-x:auto;
  background:var(--paper-2);
  border:1px solid var(--faq-hairline);
  border-radius:10px 4px 10px 4px;
  scrollbar-width:thin;
}
.page-faq .step-rail li{ flex:1 0 5rem; }
.page-faq .step-rail a{
  display:block;
  padding:.5rem .3rem;
  border-bottom:3px solid transparent;
  border-radius:6px;
  text-align:center;
  text-decoration:none;
  color:var(--ink);
  transition:background .18s ease, border-color .18s ease;
}
.page-faq .step-rail a:hover,
.page-faq .step-rail a:focus-visible{
  background:var(--card-paper);
  border-bottom-color:var(--vermilion);
}
.page-faq .rail-num{
  display:block;
  font-family:var(--font-num);
  font-size:1.05rem;
  font-weight:700;
  line-height:1;
  color:var(--deep-green);
}
.page-faq .rail-label{
  display:block;
  margin-top:.25rem;
  font-size:.72rem;
  line-height:1.3;
  color:var(--muted);
}

/* 步骤折叠 */
.page-faq .step{
  margin-bottom:.6rem;
  background:var(--card-paper);
  border:1px solid var(--faq-hairline);
  border-left:4px solid var(--sand);
  border-radius:4px 14px 4px 14px;
  overflow:hidden;
  scroll-margin-top:1.25rem;
}
.page-faq .step--alert{ border-left-color:var(--vermilion); }
.page-faq .step > summary{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:.85rem 1rem;
  list-style:none;
  cursor:pointer;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1rem;
  line-height:1.4;
  color:var(--ink);
}
.page-faq .step > summary::-webkit-details-marker{ display:none; }
.page-faq .step > summary::after{
  content:"+";
  margin-left:auto;
  font-family:var(--font-num);
  font-size:1.2rem;
  line-height:1;
  color:var(--deep-green);
}
.page-faq .step[open] > summary::after{
  content:"–";
  color:var(--vermilion);
}
.page-faq .step > summary:hover{ background:rgba(201,162,39,.1); }
.page-faq .step-num{
  flex:0 0 auto;
  font-family:var(--font-num);
  font-size:1.4rem;
  font-weight:700;
  line-height:1;
  color:var(--sand);
}
.page-faq .step--alert .step-num{ color:var(--vermilion); }
.page-faq .step-body{
  padding:.85rem 1rem 1rem;
  border-top:1px dashed rgba(43,42,38,.18);
  font-family:var(--font-body);
  font-size:.95rem;
  line-height:1.78;
}
.page-faq .step-body p{ margin:0 0 .6rem; }
.page-faq .step-body p:last-child{ margin-bottom:0; }
.page-faq .step-body strong{
  font-family:var(--font-display);
  font-weight:700;
  font-size:.9rem;
  color:var(--deep-green);
}

/* 问答折叠 */
.page-faq .faq-item{
  border-bottom:1px solid var(--faq-hairline);
  scroll-margin-top:1.25rem;
}
.page-faq .faq-item:first-of-type{ border-top:1px solid var(--faq-hairline); }
.page-faq .faq-item > summary{
  display:flex;
  align-items:baseline;
  gap:.7rem;
  padding:.95rem .2rem;
  list-style:none;
  cursor:pointer;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.98rem;
  line-height:1.5;
  color:var(--ink);
}
.page-faq .faq-item > summary::-webkit-details-marker{ display:none; }
.page-faq .faq-item > summary::after{
  content:"+";
  margin-left:auto;
  flex:0 0 auto;
  font-family:var(--font-num);
  font-size:1.2rem;
  line-height:1;
  color:var(--sand);
}
.page-faq .faq-item[open] > summary::after{
  content:"–";
  color:var(--vermilion);
}
.page-faq .faq-item > summary:hover .faq-qtext{ color:var(--deep-green); }
.page-faq .faq-qnum{
  flex:0 0 auto;
  font-family:var(--font-num);
  font-size:.86rem;
  letter-spacing:.05em;
  color:var(--deep-green);
}
.page-faq .faq-a{
  padding:0 .2rem 1.1rem 2.15rem;
  font-family:var(--font-body);
  font-size:.95rem;
  line-height:1.82;
  color:var(--ink);
}
.page-faq .faq-a p{ margin:0; }

/* 工具标签 */
.page-faq .tool-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin:0 0 1.25rem;
  padding:0;
  list-style:none;
}
.page-faq .tool-tags li{
  padding:.3rem .7rem;
  background:rgba(20,88,74,.1);
  border:1px solid rgba(20,88,74,.24);
  border-radius:var(--radius-pill);
  font-family:var(--font-num);
  font-size:.76rem;
  letter-spacing:.05em;
  color:var(--deep-green);
}

/* 支持区块 */
.page-faq .faq-section--support{
  padding-top:1.25rem;
  border-top:3px solid var(--ink-green);
}
.page-faq .support-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.35rem;
}
@media (min-width:760px){
  .page-faq .support-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,.8fr);
    align-items:start;
  }
}
.page-faq .support-main{ min-width:0; }
.page-faq .path-card{
  padding:1.05rem 1.15rem 1.15rem;
  margin-bottom:.85rem;
  background:var(--card-paper);
  border-top:4px solid var(--deep-green);
  border-radius:var(--radius-leaf);
}
.page-faq .path-card--accent{ border-top-color:var(--vermilion); }
.page-faq .path-tag{
  margin:0 0 .3rem;
  font-family:var(--font-num);
  font-size:.74rem;
  letter-spacing:.16em;
  color:var(--muted);
}
.page-faq .path-card h3{
  margin:0 0 .5rem;
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.05rem;
  line-height:1.35;
  color:var(--ink-green);
}
.page-faq .path-card p{
  margin:0;
  font-family:var(--font-body);
  font-size:.93rem;
  line-height:1.78;
}
.page-faq .path-card h3 + p{ color:var(--ink); }

.page-faq .check-list{
  display:grid;
  gap:.4rem;
  margin:.25rem 0 1rem;
  padding:0;
  list-style:none;
  font-family:var(--font-body);
  font-size:.92rem;
  line-height:1.6;
}
.page-faq .check-list li{
  position:relative;
  padding-left:1.4rem;
}
.page-faq .check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  font-family:var(--font-num);
  color:var(--deep-green);
}

.page-faq .contact-line{
  margin:0;
  padding:.85rem 1rem;
  background:rgba(201,162,39,.14);
  border-left:4px solid var(--sand);
  border-radius:4px 10px 4px 10px;
  font-family:var(--font-body);
  font-size:.9rem;
  line-height:1.75;
  color:var(--ink);
}
.page-faq .support-figure{
  margin:0;
}
.page-faq .support-figure .media-frame{ margin-bottom:.55rem; }

@media (max-width:599px){
  .page-faq .faq-a{ padding-left:.2rem; }
  .page-faq .step > summary{ font-size:.94rem; padding:.8rem .85rem; }
  .page-faq .step-body{ padding:.8rem .85rem .95rem; }
  .page-faq .faq-item > summary{ font-size:.94rem; }
  .page-faq .faq-index-list a{ font-size:.88rem; }
}

@media (prefers-reduced-motion: reduce){
  .page-faq .faq-index-list a,
  .page-faq .step-rail a{ transition:none; }
}
<<<END>>>
