.page-faq{
  --faq-line:rgba(28,28,30,.14);
  --faq-index-w:148px;
  background-color:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
}
.page-faq *,
.page-faq *::before,
.page-faq *::after{
  box-sizing:border-box;
}

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{
  position:relative;
  padding:calc(var(--header-h) + 40px) 0 96px;
  color:var(--cream);
  background-color:var(--green-deep);
  background-image:
    repeating-linear-gradient(90deg, rgba(250,245,234,.05) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(250,245,234,.05) 0 1px, transparent 1px 56px);
  overflow:hidden;
}
.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:44px;
  background:var(--cream);
  clip-path:polygon(0 100%,100% 0,100% 100%);
  pointer-events:none;
}
.page-faq .faq-hero .breadcrumb__link,
.page-faq .faq-hero .breadcrumb__current{
  color:rgba(250,245,234,.7);
  font-size:13px;
}
.page-faq .faq-hero .breadcrumb__link:hover{
  color:var(--cream);
}
.page-faq .faq-hero__eyebrow{
  margin:14px 0 0;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  color:var(--orange);
}
.page-faq .faq-hero__title{
  margin:12px 0 18px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(2.1rem,7.2vw,4rem);
  line-height:1;
  letter-spacing:-.01em;
  color:var(--cream);
}
.page-faq .faq-hero__lead{
  max-width:42ch;
  margin:0 0 26px;
  font-size:1rem;
  line-height:1.8;
  color:rgba(250,245,234,.86);
}
.page-faq .faq-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.page-faq .faq-hero__actions .btn--ghost{
  color:var(--cream);
  border-color:rgba(250,245,234,.55);
}
.page-faq .faq-hero__actions .btn--ghost:hover{
  border-color:var(--orange);
  color:var(--orange);
}
.page-faq .faq-hero__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:28px 0 0;
  padding:18px 0 0;
  border-top:1px solid rgba(250,245,234,.22);
}
.page-faq .faq-stat dt{
  margin:0 0 4px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(250,245,234,.62);
}
.page-faq .faq-stat dd{
  margin:0;
  font-family:var(--font-mono);
  font-weight:600;
  font-size:12px;
  color:rgba(250,245,234,.9);
}
.page-faq .faq-stat .num{
  font-size:1.5rem;
  color:var(--orange);
  vertical-align:-2px;
}

/* ---------- 主体骨架 ---------- */
.page-faq .faq-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  padding-top:28px;
  padding-bottom:64px;
}
.page-faq .faq-body{
  min-width:0;
}

/* ---------- 索引 ---------- */
.page-faq .faq-index{
  position:sticky;
  top:var(--header-h);
  z-index:6;
  padding:8px 0;
  background:var(--bran);
  border-top:1px solid var(--faq-line);
  border-bottom:1px solid var(--faq-line);
}
.page-faq .faq-index__title{
  display:none;
}
.page-faq .faq-index__list{
  display:flex;
  gap:8px;
  margin:0;
  padding:0 4px;
  list-style:none;
  overflow-x:auto;
  scrollbar-width:none;
}
.page-faq .faq-index__list::-webkit-scrollbar{
  display:none;
}
.page-faq .faq-index__item{
  flex:0 0 auto;
}
.page-faq .faq-index__link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:var(--radius);
  font-size:13px;
  color:var(--ink);
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .18s var(--ease), color .18s var(--ease);
}
.page-faq .faq-index__link:hover{
  background:rgba(11,110,79,.12);
  color:var(--green);
}
.page-faq .faq-index__link:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:2px;
}
.page-faq .faq-index__num{
  font-family:var(--font-mono);
  font-weight:600;
  font-size:11px;
  color:var(--moss);
}
.page-faq:has(#check:target) .faq-index__link[href="#check"],
.page-faq:has(#filter:target) .faq-index__link[href="#filter"],
.page-faq:has(#update:target) .faq-index__link[href="#update"],
.page-faq:has(#rounds:target) .faq-index__link[href="#rounds"],
.page-faq:has(#subscribe:target) .faq-index__link[href="#subscribe"],
.page-faq:has(#contact:target) .faq-index__link[href="#contact"]{
  background:var(--ink);
  color:var(--cream);
}
.page-faq:has(#check:target) .faq-index__link[href="#check"] .faq-index__num,
.page-faq:has(#filter:target) .faq-index__link[href="#filter"] .faq-index__num,
.page-faq:has(#update:target) .faq-index__link[href="#update"] .faq-index__num,
.page-faq:has(#rounds:target) .faq-index__link[href="#rounds"] .faq-index__num,
.page-faq:has(#subscribe:target) .faq-index__link[href="#subscribe"] .faq-index__num,
.page-faq:has(#contact:target) .faq-index__link[href="#contact"] .faq-index__num{
  color:var(--orange);
}

/* ---------- 区块头 ---------- */
.page-faq .faq-sec{
  padding-top:8px;
  margin-bottom:52px;
  scroll-margin-top:calc(var(--header-h) + 64px);
}
.page-faq .faq-sec:last-child{
  margin-bottom:0;
}
.page-faq .faq-sec__head{
  display:flex;
  align-items:baseline;
  gap:12px;
  padding-bottom:10px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(28,28,30,.18);
}
.page-faq .faq-sec__num{
  font-family:var(--font-mono);
  font-weight:600;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--orange);
}
.page-faq .faq-sec__head h2{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.35rem,4.6vw,2rem);
  line-height:1.06;
  letter-spacing:.01em;
  color:var(--ink);
}
.page-faq .faq-sec__intro{
  max-width:62ch;
  margin:0 0 18px;
  font-size:15px;
  line-height:1.8;
  color:var(--moss);
}
.page-faq .faq-speed{
  display:block;
  width:120px;
  height:12px;
  margin:0 0 16px;
  color:var(--green);
}

/* ---------- 图片 ---------- */
.page-faq .faq-figure{
  margin:0 0 22px;
  background:var(--bran);
  border:1px solid var(--faq-line);
  box-shadow:var(--shadow-hard);
  overflow:hidden;
}
.page-faq .faq-figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-faq .faq-figure figcaption{
  padding:10px 14px;
  border-top:1px solid var(--faq-line);
  font-size:12px;
  line-height:1.6;
  color:var(--moss);
}
.page-faq .faq-figure--phone{
  margin-bottom:0;
}

/* ---------- 三步自查卡 ---------- */
.page-faq .faq-steps{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.page-faq .faq-step-card{
  position:relative;
  padding:18px 16px 20px;
  background:var(--bran);
  border:1px solid rgba(28,28,30,.12);
  border-top:4px solid var(--green);
  border-radius:var(--radius);
}
.page-faq .faq-step-card__num{
  display:block;
  margin-bottom:8px;
  font-family:var(--font-mono);
  font-weight:600;
  font-size:22px;
  line-height:1;
  color:var(--green);
}
.page-faq .faq-step-card h3{
  margin:0 0 8px;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
  color:var(--ink);
}
.page-faq .faq-step-card p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:rgba(28,28,30,.78);
}

/* ---------- 折叠档案卡 ---------- */
.page-faq .faq-item{
  margin-bottom:14px;
  background:var(--white);
  border:1px solid var(--faq-line);
  border-left:4px solid transparent;
  border-radius:var(--radius);
  box-shadow:var(--shadow-hard);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);
}
.page-faq .faq-item:hover{
  transform:translateY(-2px);
}
.page-faq .faq-item[open]{
  border-left-color:var(--green);
  box-shadow:var(--shadow-lift);
}
.page-faq .faq-item__summary{
  position:relative;
  display:block;
  padding:16px 46px 16px 16px;
  font-size:1rem;
  font-weight:700;
  line-height:1.5;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
}
.page-faq .faq-item__summary::-webkit-details-marker{
  display:none;
}
.page-faq .faq-item__summary::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-family:var(--font-mono);
  font-weight:600;
  font-size:22px;
  line-height:1;
  color:var(--green);
}
.page-faq .faq-item[open] .faq-item__summary::after{
  content:"–";
  color:var(--orange);
}
.page-faq .faq-item__summary:hover{
  color:var(--green);
}
.page-faq .faq-item__summary:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:-2px;
}
.page-faq .faq-item__body{
  padding:14px 16px 18px;
  border-top:1px dashed rgba(28,28,30,.16);
  animation:faqReveal .2s var(--ease);
}
@keyframes faqReveal{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}
.page-faq .faq-item__label{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.1em;
  color:var(--orange);
}
.page-faq .faq-item__result{
  margin:12px 0 0;
  padding-left:12px;
  border-left:3px solid var(--blue);
  font-size:14px;
  line-height:1.8;
  color:rgba(28,28,30,.8);
}
.page-faq .faq-item__body > .faq-item__result:first-child{
  margin-top:0;
}
.page-faq .faq-inline-link{
  color:var(--green);
  text-decoration:none;
  border-bottom:2px solid var(--blue);
  padding-bottom:1px;
}
.page-faq .faq-inline-link:hover{
  color:var(--orange);
  border-bottom-color:var(--orange);
}

/* ---------- 操作路径列表 ---------- */
.page-faq .faq-actions{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:faqact;
}
.page-faq .faq-actions li{
  position:relative;
  padding-left:34px;
  margin-bottom:9px;
  font-size:14px;
  line-height:1.75;
  color:var(--ink);
  counter-increment:faqact;
}
.page-faq .faq-actions li:last-child{
  margin-bottom:0;
}
.page-faq .faq-actions li::before{
  content:counter(faqact,decimal-leading-zero);
  position:absolute;
  left:0;
  top:3px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:23px;
  height:23px;
  border-radius:2px;
  background:var(--green);
  color:var(--white);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:600;
  line-height:1;
}

/* ---------- 图文分栏 ---------- */
.page-faq .faq-split{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
}
.page-faq .faq-split__main{
  min-width:0;
}

/* ---------- 联系区 ---------- */
.page-faq .faq-help{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  padding:24px 18px;
  background-color:var(--green-deep);
  background-image:
    repeating-linear-gradient(90deg, rgba(250,245,234,.05) 0 1px, transparent 1px 44px);
  border-radius:var(--radius);
  color:var(--cream);
}
.page-faq .faq-help__lead{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.8;
  color:rgba(250,245,234,.9);
}
.page-faq .faq-actions--light li{
  color:rgba(250,245,234,.92);
}
.page-faq .faq-actions--light li::before{
  background:var(--orange);
  color:var(--ink);
}
.page-faq .faq-help .btn{
  margin-top:20px;
}
.page-faq .faq-help__card{
  padding:16px;
  background:var(--white);
  color:var(--ink);
  border-left:4px solid var(--orange);
  border-radius:2px;
}
.page-faq .faq-help__label{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.1em;
  color:var(--moss);
}
.page-faq .faq-help__line{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 12px;
  font-size:13px;
}
.page-faq .faq-help__line span{
  color:var(--moss);
  font-size:12px;
}
.page-faq .faq-help__line strong{
  font-family:var(--font-mono);
  font-weight:600;
  font-size:15px;
  color:var(--ink);
  word-break:break-all;
}
.page-faq .faq-help__note{
  margin:0;
  padding-top:12px;
  border-top:1px solid var(--faq-line);
  font-size:12px;
  line-height:1.7;
  color:var(--moss);
}

/* ---------- 平板 ---------- */
@media (min-width:768px){
  .page-faq .faq-steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  .page-faq .faq-split{
    grid-template-columns:minmax(0,1fr) 250px;
    gap:24px;
  }
  .page-faq .faq-split__main .faq-item:last-child{
    margin-bottom:0;
  }
  .page-faq .faq-help{
    grid-template-columns:minmax(0,1fr) 280px;
    gap:24px;
    padding:28px 26px;
  }
  .page-faq .faq-hero__stats{
    gap:24px;
  }
  .page-faq .faq-stat dd{
    font-size:14px;
  }
}

/* ---------- 桌面 ---------- */
@media (min-width:1000px){
  .page-faq .faq-shell{
    grid-template-columns:var(--faq-index-w) minmax(0,1fr);
    gap:48px;
    padding-top:44px;
    padding-bottom:88px;
  }
  .page-faq .faq-index{
    position:sticky;
    top:calc(var(--header-h) + 32px);
    align-self:start;
    max-height:calc(100vh - var(--header-h) - 64px);
    overflow:auto;
    padding:0 0 0 0;
    background:transparent;
    border:0;
    border-left:2px solid rgba(28,28,30,.14);
  }
  .page-faq .faq-index__title{
    display:block;
    margin:0 0 10px;
    padding-left:12px;
    font-family:var(--font-mono);
    font-size:11px;
    font-weight:600;
    letter-spacing:.14em;
    color:var(--moss);
  }
  .page-faq .faq-index__list{
    display:block;
    padding:0;
    overflow:visible;
  }
  .page-faq .faq-index__item + .faq-index__item{
    margin-top:2px;
  }
  .page-faq .faq-index__link{
    display:flex;
    width:100%;
    margin-left:-2px;
    padding:9px 8px 9px 12px;
    border-left:2px solid transparent;
    border-radius:0;
    white-space:normal;
    line-height:1.4;
  }
  .page-faq .faq-index__link:hover{
    background:rgba(11,110,79,.08);
    border-left-color:var(--green);
  }
  .page-faq .faq-sec__head h2{
    font-size:clamp(1.6rem,2.6vw,2.1rem);
  }
  .page-faq .faq-figure--phone{
    position:sticky;
    top:calc(var(--header-h) + 32px);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-faq .faq-item,
  .page-faq .faq-item__body,
  .page-faq .faq-index__link{
    transition:none;
    animation:none;
  }
  .page-faq .faq-item:hover{
    transform:none;
  }
}
<<<END>>>
