.page-faq{
  --faq-cut:16px;
  --faq-accent:var(--spring);
  --faq-accent-ink:var(--ink);
  --faq-shadow:0 10px 24px rgba(20,32,29,.06);
  background:var(--warm-white);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.85;
  padding-bottom:58px;
  overflow-x:hidden;
}
.page-faq .container{
  width:100%;
  max-width:var(--page-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.page-faq .mono{
  font-family:var(--font-mono);
  font-weight:500;
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}
.page-faq .faq-crumb{
  padding-top:14px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
}
.page-faq .faq-crumb a{
  color:var(--green-deep);
  text-decoration:none;
  border-bottom:1px solid var(--line);
}
.page-faq .faq-crumb a:hover,
.page-faq .faq-crumb a:focus-visible{
  color:var(--path);
  border-bottom-color:var(--path);
}

/* 首屏 */
.page-faq .faq-hero{
  position:relative;
  margin-top:14px;
  color:var(--warm-white);
  background:linear-gradient(168deg,var(--green-deep) 0 56%,#1d4b3f 56% 100%);
  overflow:hidden;
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(246,241,231,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(246,241,231,.07) 1px,transparent 1px);
  background-size:24px 24px;
}
.page-faq .faq-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  padding-block:clamp(30px,6vw,64px);
}
.page-faq .faq-hero__kicker{
  margin:0 0 12px;
  font-size:11px;
  letter-spacing:.18em;
  color:var(--spring);
  text-transform:uppercase;
}
.page-faq h1{
  margin:0;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(27px,5.4vw,50px);
  line-height:1.2;
  letter-spacing:-.01em;
  max-width:24ch;
}
.page-faq .faq-hero__dek{
  margin:18px 0 0;
  max-width:62ch;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.85;
  color:rgba(246,241,231,.86);
}
.page-faq .faq-quick{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
}
.page-faq .faq-quick a{
  display:inline-block;
  padding:9px 13px;
  border:1px solid rgba(246,241,231,.34);
  color:var(--warm-white);
  text-decoration:none;
  font-family:var(--font-mono);
  font-size:12px;
  border-radius:2px;
  transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.page-faq .faq-quick a:hover,
.page-faq .faq-quick a:focus-visible{
  background:var(--warm-white);
  color:var(--green-deep);
  border-color:var(--warm-white);
}
.page-faq .faq-hero__meta{
  background:rgba(246,241,231,.09);
  border:1px solid rgba(246,241,231,.26);
  border-left:5px solid var(--autumn);
  padding:18px 18px 20px;
  border-radius:0 0 var(--faq-cut) 0;
}
.page-faq .faq-hero__meta-title{
  margin:0 0 14px;
  font-size:11px;
  letter-spacing:.2em;
  color:var(--winter);
}
.page-faq .faq-stat + .faq-stat{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(246,241,231,.18);
}
.page-faq .faq-stat dt{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(246,241,231,.7);
}
.page-faq .faq-stat dd{
  margin:4px 0 0;
  font-size:14px;
  color:var(--warm-white);
}
.page-faq .faq-stat__num{
  font-family:var(--font-mono);
  font-size:24px;
  font-weight:500;
  color:var(--spring);
  margin-right:4px;
}
.page-faq .faq-wheel{
  position:relative;
  display:flex;
  height:8px;
}
.page-faq .faq-wheel__seg{flex:1;}
.page-faq .faq-wheel__seg--spring{background:var(--spring);}
.page-faq .faq-wheel__seg--summer{background:var(--summer);}
.page-faq .faq-wheel__seg--autumn{background:var(--autumn);}
.page-faq .faq-wheel__seg--winter{background:var(--winter);}

/* 目录 + 正文 */
.page-faq .faq-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  padding-block:clamp(28px,5vw,48px);
}
.page-faq .faq-rail{
  background:var(--card-white);
  border:1px solid var(--line);
  border-top:6px solid var(--green-deep);
  padding:18px 16px 20px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--faq-cut)),calc(100% - var(--faq-cut)) 100%,0 100%);
}
.page-faq .faq-rail__title{
  margin:0 0 12px;
  font-size:11px;
  letter-spacing:.2em;
  color:var(--indigo);
}
.page-faq .faq-rail__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:2px;
}
.page-faq .faq-rail__link{
  display:flex;
  gap:10px;
  align-items:baseline;
  padding:8px 10px;
  color:var(--ink);
  text-decoration:none;
  font-family:var(--font-sans);
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  border-left:3px solid transparent;
  transition:background-color .2s var(--ease),border-color .2s var(--ease);
}
.page-faq .faq-rail__link:hover,
.page-faq .faq-rail__link:focus-visible{
  background:var(--mist);
  border-left-color:var(--path);
}
.page-faq .faq-rail__no{
  flex:none;
  font-size:11px;
  color:var(--indigo);
}
.page-faq .faq-rail__note{
  margin:16px 0 0;
  padding-top:12px;
  border-top:1px dashed var(--line);
  font-size:13px;
  line-height:1.7;
  color:#41524c;
}
.page-faq .faq-body{
  display:grid;
  gap:clamp(34px,5vw,56px);
  min-width:0;
}
.page-faq .faq-group{
  scroll-margin-top:calc(var(--header-h) + 20px);
  min-width:0;
}
.page-faq .faq-group--spring{--faq-accent:var(--spring);--faq-accent-ink:var(--ink);}
.page-faq .faq-group--summer{--faq-accent:var(--summer);--faq-accent-ink:#FFFFFF;}
.page-faq .faq-group--autumn{--faq-accent:var(--autumn);--faq-accent-ink:#FFFFFF;}
.page-faq .faq-group--winter{--faq-accent:var(--winter);--faq-accent-ink:var(--ink);}
.page-faq .faq-group--wine{--faq-accent:var(--wine);--faq-accent-ink:#FFFFFF;}
.page-faq .faq-group--indigo{--faq-accent:var(--indigo);--faq-accent-ink:#FFFFFF;}
.page-faq .faq-group__head{
  padding-left:14px;
  border-left:6px solid var(--faq-accent);
  margin-bottom:18px;
}
.page-faq .section-index{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.16em;
  color:var(--indigo);
}
.page-faq .faq-group__head h2{
  margin:0;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(21px,3.4vw,30px);
  line-height:1.32;
  letter-spacing:-.01em;
}
.page-faq .faq-group__intro{
  margin:10px 0 0;
  max-width:66ch;
  font-size:16px;
  color:#3d4d48;
}

/* 图 */
.page-faq .faq-figure{
  margin:0 0 18px;
  background:var(--mist);
  border:1px solid var(--line);
  border-radius:0 0 var(--faq-cut) 0;
  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;
  background:var(--card-white);
  border-top:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.6;
  color:#41524c;
}

/* 问答手风琴 */
.page-faq .faq-qa{
  display:grid;
  gap:10px;
}
.page-faq .faq-item{
  background:var(--card-white);
  border:1px solid var(--line);
  border-left:4px solid var(--mist);
  border-radius:0 12px 12px 0;
  box-shadow:var(--faq-shadow);
  transition:border-color .22s var(--ease),background-color .22s var(--ease);
}
.page-faq .faq-item[open]{
  border-left-color:var(--faq-accent);
  background:#FFFDF7;
}
.page-faq .faq-item summary{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
  font-family:var(--font-sans);
  font-weight:700;
  font-size:16px;
  line-height:1.55;
}
.page-faq .faq-item summary::-webkit-details-marker{display:none;}
.page-faq .faq-item summary:focus-visible{
  outline:2px solid var(--path);
  outline-offset:-2px;
}
.page-faq .faq-q__no{
  flex:none;
  padding-top:4px;
  font-size:11px;
  color:var(--wine);
}
.page-faq .faq-q__text{
  flex:1;
  min-width:0;
}
.page-faq .faq-q__mark{
  flex:none;
  position:relative;
  width:14px;
  height:14px;
  margin-top:6px;
  border:1px solid var(--line);
}
.page-faq .faq-q__mark::before,
.page-faq .faq-q__mark::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  background:var(--green-deep);
}
.page-faq .faq-q__mark::before{width:8px;height:2px;}
.page-faq .faq-q__mark::after{width:2px;height:8px;transition:opacity .2s var(--ease);}
.page-faq .faq-item[open] .faq-q__mark{border-color:var(--faq-accent);}
.page-faq .faq-item[open] .faq-q__mark::after{opacity:0;}
.page-faq .faq-a{
  padding:0 16px 18px;
  font-size:15.5px;
  line-height:1.85;
  color:#26362f;
}
.page-faq .faq-a p{margin:0 0 10px;}
.page-faq .faq-a p:last-child{margin-bottom:0;}
.page-faq .faq-a a{
  color:var(--summer);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-faq .faq-a a:hover,
.page-faq .faq-a a:focus-visible{color:var(--path);}
.page-faq .faq-steps{
  counter-reset:step;
  margin:4px 0 12px;
  padding:0;
  list-style:none;
  display:grid;
  gap:9px;
}
.page-faq .faq-steps li{
  position:relative;
  padding-left:76px;
  min-height:26px;
  font-size:15px;
  line-height:1.75;
}
.page-faq .faq-steps li::before{
  counter-increment:step;
  content:"第" counter(step) "步";
  position:absolute;
  left:0;
  top:3px;
  width:64px;
  text-align:center;
  padding:3px 0;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:.02em;
  background:var(--faq-accent);
  color:var(--faq-accent-ink);
  border-radius:2px;
}
.page-faq .faq-code{
  display:inline-block;
  margin:0 4px 4px 0;
  padding:1px 8px;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--green-deep);
  background:var(--mist);
  border:1px dashed var(--line);
  border-radius:3px;
  white-space:nowrap;
}

/* 近 30 天更新 */
.page-faq .faq-updates{
  margin-top:clamp(36px,6vw,64px);
  background:var(--card-white);
  border-top:6px solid var(--indigo);
  border-bottom:1px solid var(--line);
  border-radius:0 0 var(--faq-cut) 0;
  padding:clamp(20px,3.4vw,30px);
}
.page-faq .faq-updates__head{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom:14px;
}
.page-faq .faq-updates__head h2{
  margin:0;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(19px,2.6vw,24px);
  line-height:1.35;
}
.page-faq .faq-updates__more{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--indigo);
  text-decoration:none;
  border-bottom:1px solid var(--indigo);
  padding-bottom:2px;
}
.page-faq .faq-updates__more:hover,
.page-faq .faq-updates__more:focus-visible{color:var(--path);border-bottom-color:var(--path);}
.page-faq .faq-updates__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr;
  gap:0 24px;
}
.page-faq .faq-update{
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  padding:10px 0;
  border-bottom:1px dashed var(--line);
  font-size:14.5px;
  line-height:1.7;
}
.page-faq .faq-update:last-child{border-bottom:0;}
.page-faq .faq-update__time{
  flex:none;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.02em;
  color:var(--indigo);
}
.page-faq .faq-update__text{
  flex:1;
  min-width:0;
  color:#26362f;
}

/* 客服 */
.page-faq .faq-contact{
  margin-top:clamp(32px,5vw,56px);
  background:var(--green-deep);
  color:var(--warm-white);
  border-radius:0 var(--faq-cut) 0 0;
  padding:clamp(22px,4vw,38px);
}
.page-faq .faq-contact__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
.page-faq .faq-contact h2{
  margin:0 0 12px;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(20px,3vw,28px);
  line-height:1.3;
}
.page-faq .faq-contact p{
  margin:0 0 12px;
  font-size:15.5px;
  line-height:1.85;
  color:rgba(246,241,231,.86);
}
.page-faq .faq-contact .btn{
  margin-top:6px;
  font-family:var(--font-sans);
  font-weight:700;
  text-decoration:none;
}
.page-faq .faq-contact__list{
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
  align-content:start;
}
.page-faq .faq-contact__list dt{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--winter);
}
.page-faq .faq-contact__list dd{
  margin:3px 0 0;
  font-size:16px;
  line-height:1.6;
  color:var(--warm-white);
  overflow-wrap:anywhere;
}
.page-faq .faq-contact__list a{
  color:var(--warm-white);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-faq .faq-contact__list a:hover,
.page-faq .faq-contact__list a:focus-visible{color:var(--autumn);}

@media (min-width:720px){
  .page-faq .faq-hero__inner{
    grid-template-columns:minmax(0,1.6fr) minmax(232px,.9fr);
    align-items:start;
    gap:36px;
  }
  .page-faq .faq-updates__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:960px){
  .page-faq .faq-layout{
    grid-template-columns:248px minmax(0,1fr);
    gap:clamp(32px,4vw,56px);
    align-items:start;
  }
  .page-faq .faq-rail{
    position:sticky;
    top:calc(var(--header-h) + 20px);
  }
  .page-faq .faq-contact__grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:36px;
  }
}
@media (prefers-reduced-motion:reduce){
  .page-faq *,
  .page-faq *::before,
  .page-faq *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}
