.page-faq{
  --faq-idx:2rem;
  --faq-gap-x:12px;
  --faq-indent:calc(var(--faq-idx) + var(--faq-gap-x));
  --faq-row-pad:clamp(16px,2.2vw,26px);
  background:var(--night);
  color:var(--bone);
  font-family:var(--f-sans);
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
}
@media (min-width:768px){
  .page-faq{
    --faq-idx:3rem;
    --faq-gap-x:22px;
  }
}

.page-faq .faq-wrap{
  width:100%;
  max-width:var(--stage-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

/* ---------- 面包屑 ---------- */
.page-faq .faq-crumbs{
  padding-block:clamp(14px,2vw,22px);
  max-width:var(--stage-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

/* ---------- 首屏拼贴 ---------- */
.page-faq .faq-hero{
  padding-block:clamp(24px,3.4vw,44px) clamp(34px,5vw,76px);
  border-bottom:1px solid var(--line);
}
.page-faq .faq-hero__grid{
  display:grid;
  gap:clamp(28px,4vw,56px);
}
@media (min-width:940px){
  .page-faq .faq-hero__grid{
    grid-template-columns:minmax(0,1.24fr) minmax(0,.86fr);
    align-items:end;
  }
}
.page-faq .faq-kicker{
  margin:0 0 clamp(14px,2vw,22px);
  font-family:var(--f-mono);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--moss);
}
.page-faq .faq-hero h1{
  margin:0 0 clamp(16px,2.2vw,26px);
  font-family:var(--f-display);
  font-weight:200;
  font-size:clamp(38px,7.4vw,84px);
  line-height:1.02;
  letter-spacing:-.02em;
  color:var(--bone);
  max-width:20ch;
}
.page-faq .faq-lede{
  margin:0;
  max-width:60ch;
  font-family:var(--f-serif);
  font-size:clamp(16px,1.6vw,17px);
  line-height:1.8;
  color:var(--silver);
}
.page-faq .faq-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:clamp(18px,2.4vw,28px) 0 0;
  padding:0;
  list-style:none;
}
.page-faq .faq-hero__figure{
  margin:0;
  border:2px solid var(--line-strong);
  box-shadow:var(--hard);
  background:var(--deep);
}
.page-faq .faq-hero__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

/* ---------- 分组导航 ---------- */
.page-faq .faq-jump{
  background:var(--deep);
  border-bottom:1px solid var(--line);
  padding-block:clamp(28px,4vw,52px);
}
.page-faq .faq-jump__title{
  margin:0 0 clamp(18px,2.4vw,28px);
  font-family:var(--f-display);
  font-weight:200;
  font-size:clamp(20px,2.6vw,28px);
  letter-spacing:-.01em;
  color:var(--silver);
}
.page-faq .faq-jump__list{
  display:grid;
  gap:1px;
  margin:0;
  padding:0;
  list-style:none;
  background:var(--line);
}
@media (min-width:700px){
  .page-faq .faq-jump__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:1080px){
  .page-faq .faq-jump__list{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
.page-faq .faq-jump__link{
  display:grid;
  gap:6px;
  height:100%;
  padding:20px 18px 22px;
  background:var(--deep);
  color:var(--silver);
  text-decoration:none;
  transition:background .18s var(--ease),color .18s var(--ease);
}
.page-faq .faq-jump__link:hover,
.page-faq .faq-jump__link:focus-visible{
  background:var(--turf);
  color:var(--bone);
  outline:none;
}
.page-faq .faq-jump__link:focus-visible{
  box-shadow:inset 0 0 0 2px var(--pitch);
}
.page-faq .faq-jump__num{
  font-family:var(--f-mono);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--clay);
}
.page-faq .faq-jump__label{
  font-family:var(--f-display);
  font-weight:900;
  font-size:19px;
  line-height:1.2;
  letter-spacing:-.01em;
}
.page-faq .faq-jump__desc{
  font-family:var(--f-sans);
  font-size:13px;
  font-style:italic;
  line-height:1.6;
  color:var(--stone);
}
.page-faq .faq-jump__link:hover .faq-jump__desc,
.page-faq .faq-jump__link:focus-visible .faq-jump__desc{
  color:var(--line-strong);
}

/* ---------- 分组区块 ---------- */
.page-faq .faq-group{
  background:var(--night);
  padding-block:clamp(44px,6.4vw,92px);
  border-bottom:1px solid var(--line);
}
.page-faq .faq-group--alt{
  background:var(--deep);
}
.page-faq .faq-group__head{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:clamp(24px,3.4vw,46px);
}
.page-faq .faq-group__num{
  font-family:var(--f-mono);
  font-size:12px;
  letter-spacing:.24em;
  color:var(--clay);
}
.page-faq .faq-group__head h2{
  margin:0;
  font-family:var(--f-display);
  font-weight:200;
  font-size:clamp(30px,5.4vw,60px);
  line-height:1.02;
  letter-spacing:-.018em;
  color:var(--bone);
}
.page-faq .faq-group__desc{
  margin:0;
  max-width:46ch;
  font-size:15px;
  line-height:1.7;
  color:var(--stone);
}

/* ---------- 折叠条目 ---------- */
.page-faq .faq-group__items{
  display:block;
}
.page-faq .fold{
  border-top:1px solid var(--line);
  transition:box-shadow .2s var(--ease),background-color .2s var(--ease);
}
.page-faq .faq-group__items > .fold:last-child{
  border-bottom:1px solid var(--line);
}
.page-faq .fold:hover{
  background:rgba(242,239,231,.03);
}
.page-faq .fold.is-open{
  box-shadow:inset 3px 0 0 0 var(--pitch);
  background:rgba(46,111,78,.08);
}

.page-faq .fold__head{
  display:grid;
  grid-template-columns:var(--faq-idx) minmax(0,1fr) auto;
  align-items:center;
  gap:var(--faq-gap-x);
  width:100%;
  padding:var(--faq-row-pad) 0 calc(var(--faq-row-pad) * .5);
  background:transparent;
  border:0;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.page-faq .fold__head:focus-visible{
  outline:2px solid var(--pitch);
  outline-offset:4px;
}
.page-faq .fold__idx{
  font-family:var(--f-mono);
  font-weight:500;
  font-size:13px;
  letter-spacing:.06em;
  color:var(--stone);
  font-variant-numeric:tabular-nums;
  transition:color .2s var(--ease);
}
.page-faq .fold.is-open .fold__idx{
  color:var(--pitch);
}
.page-faq .fold__title{
  font-family:var(--f-sans);
  font-weight:400;
  font-size:clamp(16px,1.9vw,20px);
  line-height:1.45;
  color:var(--bone);
  transition:color .2s var(--ease);
}
.page-faq .fold:hover .fold__title{
  color:var(--silver);
}
.page-faq .fold__arrow{
  width:9px;
  height:9px;
  border-right:2px solid var(--stone);
  border-bottom:2px solid var(--stone);
  transform:rotate(45deg);
  transition:transform .2s var(--ease),border-color .2s var(--ease);
  flex:none;
}
.page-faq .fold.is-open .fold__arrow{
  transform:rotate(225deg);
  border-color:var(--pitch);
}
.page-faq .fold__summary{
  margin:0;
  padding:0 0 var(--faq-row-pad) var(--faq-indent);
  font-size:13px;
  font-style:italic;
  line-height:1.6;
  color:var(--stone);
  max-width:64ch;
}
.page-faq .fold__body{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .2s var(--ease);
}
.page-faq .fold.is-open .fold__body{
  grid-template-rows:1fr;
}
.page-faq .fold__body > *{
  overflow:hidden;
  min-height:0;
}
.page-faq .fold__inner{
  padding:0 0 var(--faq-row-pad) var(--faq-indent);
}
.page-faq .fold__inner p{
  margin:0;
  max-width:62ch;
  font-family:var(--f-serif);
  font-size:16px;
  line-height:1.8;
  color:var(--silver);
  border-left:1px solid var(--line-strong);
  padding-left:clamp(12px,2vw,22px);
}

/* ---------- 纠错字段表 ---------- */
.page-faq .faq-sheet{
  margin-top:clamp(30px,4vw,56px);
  padding:clamp(20px,3vw,34px);
  background:var(--turf);
  border-left:4px solid var(--pitch);
}
.page-faq .faq-sheet__head{
  margin:0 0 clamp(16px,2vw,24px);
  font-family:var(--f-display);
  font-weight:900;
  font-size:clamp(18px,2.2vw,24px);
  letter-spacing:-.01em;
  color:var(--bone);
}
.page-faq .faq-sheet__rows{
  display:grid;
  gap:1px;
  margin:0;
  padding:0;
  list-style:none;
  background:var(--line);
}
.page-faq .faq-sheet__row{
  display:grid;
  gap:4px;
  padding:14px 16px;
  background:var(--turf);
}
@media (min-width:720px){
  .page-faq .faq-sheet__row{
    grid-template-columns:3rem minmax(0,9rem) minmax(0,1fr);
    align-items:baseline;
    gap:16px;
  }
}
.page-faq .faq-sheet__key{
  font-family:var(--f-mono);
  font-size:12px;
  letter-spacing:.12em;
  color:var(--moss);
  font-variant-numeric:tabular-nums;
}
.page-faq .faq-sheet__label{
  font-family:var(--f-sans);
  font-weight:400;
  font-size:15px;
  color:var(--bone);
}
.page-faq .faq-sheet__hint{
  font-size:13px;
  font-style:italic;
  line-height:1.6;
  color:var(--silver);
}
.page-faq .faq-sheet__foot{
  margin:clamp(16px,2vw,22px) 0 0;
  font-size:13px;
  font-style:italic;
  color:var(--line-strong);
}

/* ---------- 仍未解决 ---------- */
.page-faq .faq-open{
  background:var(--turf);
  padding-block:clamp(48px,6.6vw,96px);
}
.page-faq .faq-open__grid{
  display:grid;
  gap:clamp(28px,4vw,56px);
}
@media (min-width:940px){
  .page-faq .faq-open__grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    align-items:center;
  }
}
.page-faq .faq-open h2{
  margin:8px 0 clamp(16px,2.2vw,24px);
  font-family:var(--f-display);
  font-weight:200;
  font-size:clamp(32px,5.6vw,64px);
  line-height:1.02;
  letter-spacing:-.018em;
  color:var(--bone);
}
.page-faq .faq-open__text p{
  margin:0 0 clamp(14px,1.8vw,20px);
  max-width:58ch;
  font-family:var(--f-serif);
  font-size:16px;
  line-height:1.8;
  color:var(--silver);
}
.page-faq .faq-open__note{
  font-size:15px;
  color:var(--line-strong);
}
.page-faq .faq-open__note a{
  color:var(--bone);
  text-decoration:underline;
  text-decoration-color:var(--pitch);
  text-underline-offset:3px;
}
.page-faq .faq-open__note a:hover{
  text-decoration-color:var(--amber);
}
.page-faq .faq-open__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:clamp(20px,2.6vw,30px);
}
.page-faq .faq-open__figure{
  margin:0;
  border:2px solid var(--line-strong);
  box-shadow:var(--hard);
  background:var(--deep);
}
.page-faq .faq-open__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

@media (prefers-reduced-motion:reduce){
  .page-faq .fold,
  .page-faq .fold__body,
  .page-faq .fold__arrow,
  .page-faq .fold__title,
  .page-faq .fold__idx,
  .page-faq .faq-jump__link{
    transition:none;
  }
}
<<<END>>>
