.page-faq{
  --faq-line:rgba(162,124,27,.34);
  background:var(--ivory-050);
  color:var(--ink-900);
}

/* ---------- 面包屑 ---------- */
.page-faq .faq-crumb{
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.14em;
  color:var(--graphite-600);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
}
.page-faq .faq-crumb a{
  color:var(--graphite-600);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .24s var(--ease),border-color .24s var(--ease);
}
.page-faq .faq-crumb a:hover,
.page-faq .faq-crumb a:focus-visible{
  color:var(--ink-900);
  border-bottom-color:var(--gold-500);
}
.page-faq .faq-crumb-sep{ color:var(--gold-500); }

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{
  padding:clamp(1.25rem,3vw,2.25rem) 0 clamp(2.5rem,6vw,4.5rem);
  background:linear-gradient(180deg,var(--ivory-050) 0%,var(--ivory-100) 100%);
  border-bottom:1px solid var(--line-gold-soft);
}
.page-faq .faq-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(1.75rem,4vw,3.25rem);
  align-items:start;
  margin-top:clamp(1.5rem,3.5vw,2.75rem);
}
.page-faq .faq-hero-main .eyebrow{ margin:0 0 1rem; }
.page-faq .faq-hero-main h1{
  margin:0;
  font-family:var(--font-display);
  color:var(--green-900);
}
.page-faq .faq-hero-main .lede{
  margin-top:1.35rem;
  max-width:34em;
  color:var(--graphite-600);
  font-size:var(--fs-17);
  line-height:1.8;
}

.page-faq .faq-hero-aside{
  padding:clamp(1.15rem,3vw,1.75rem);
  border:1px solid var(--line-gold);
  background:rgba(247,242,231,.55);
}
.page-faq .faq-aside-title{
  margin:0 0 1rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.2em;
  color:var(--gold-500);
}
.page-faq .faq-jump{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.15rem;
}
.page-faq .faq-jump a{
  display:flex;
  align-items:baseline;
  gap:.85rem;
  padding:.7rem .15rem;
  border-bottom:1px solid var(--line-gold-soft);
  color:var(--ink-900);
  font-size:var(--fs-15);
  letter-spacing:.02em;
  text-decoration:none;
  transition:color .24s var(--ease),padding-left .24s var(--ease);
}
.page-faq .faq-jump a .mono{
  color:var(--gold-500);
  font-size:var(--fs-12);
  letter-spacing:.1em;
}
.page-faq .faq-jump a:hover,
.page-faq .faq-jump a:focus-visible{
  color:var(--cinnabar-600);
  padding-left:.5rem;
}
.page-faq .faq-aside-note{
  margin:1.15rem 0 0;
  font-size:var(--fs-13);
  line-height:1.7;
  color:var(--graphite-600);
}

/* ---------- 分组区 ---------- */
.page-faq .faq-groups{ padding-block:clamp(2.75rem,6vw,5rem); }
.page-faq .faq-section-head{ max-width:44rem; }
.page-faq .faq-section-head h2{
  font-family:var(--font-display);
  margin:.35rem 0 0;
  color:var(--green-900);
}
.page-faq .faq-section-head .prose{
  margin-top:1.1rem;
  color:var(--graphite-600);
  font-size:var(--fs-17);
  line-height:1.8;
  max-width:36em;
}

.page-faq .faq-group-list{
  margin-top:clamp(2rem,4.5vw,3.5rem);
  border-bottom:1px solid var(--line-gold-soft);
}
.page-faq .faq-group{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.1rem;
  padding-block:clamp(1.75rem,3.5vw,2.75rem);
  border-top:1px solid var(--line-gold-soft);
}
.page-faq .faq-group-num{
  display:block;
  font-size:var(--fs-24);
  color:var(--gold-500);
  letter-spacing:.06em;
  line-height:1;
  margin-bottom:.85rem;
}
.page-faq .faq-group-head h3{
  margin:0 0 .6rem;
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:.03em;
  color:var(--green-900);
}
.page-faq .faq-group-lead{
  margin:0;
  font-size:var(--fs-15);
  line-height:1.75;
  color:var(--graphite-600);
  max-width:26em;
}

.page-faq .faq-item{ border-bottom:1px solid var(--line-gold-soft); }
.page-faq .faq-item:first-child{ border-top:1px solid var(--line-gold-soft); }
.page-faq .faq-item summary{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:.95rem 0;
  margin:0;
  cursor:pointer;
  list-style:none;
  font-size:var(--fs-17);
  line-height:1.62;
  color:var(--ink-900);
  transition:color .2s var(--ease);
}
.page-faq .faq-item summary::-webkit-details-marker{ display:none; }
.page-faq .faq-item summary::marker{ content:""; }
.page-faq .faq-item summary::after{
  content:"+";
  margin-left:auto;
  flex:0 0 auto;
  font-family:var(--font-mono);
  font-size:var(--fs-17);
  line-height:1.4;
  color:var(--gold-500);
}
.page-faq .faq-item[open] summary{ color:var(--green-900); }
.page-faq .faq-item[open] summary::after{ content:"–"; color:var(--cinnabar-600); }
.page-faq .faq-item summary:hover{ color:var(--cinnabar-600); }
.page-faq .faq-answer{ padding:.15rem 0 1.1rem; }
.page-faq .faq-answer p{
  margin:0;
  max-width:38em;
  font-size:var(--fs-15);
  line-height:1.8;
  color:var(--graphite-600);
}

.page-faq .faq-group--accent{
  background:linear-gradient(90deg,var(--ivory-100) 0%,rgba(237,227,208,0) 88%);
}
.page-faq .faq-group-note{
  margin:0 0 1.1rem;
  max-width:36em;
  font-size:var(--fs-15);
  line-height:1.8;
  color:var(--graphite-600);
}
.page-faq .faq-group-link{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.55rem 0;
  font-size:var(--fs-15);
  letter-spacing:.04em;
  color:var(--cinnabar-600);
  text-decoration:none;
  border-bottom:1px solid var(--cinnabar-600);
}
.page-faq .faq-group-link:hover,
.page-faq .faq-group-link:focus-visible{ color:var(--green-900); border-bottom-color:var(--gold-500); }

/* ---------- 三步路径 ---------- */
.page-faq .faq-path{
  position:relative;
  overflow:hidden;
  padding-block:clamp(3rem,7vw,5.5rem);
  background:var(--green-900);
  color:var(--ivory-050);
}
.page-faq .faq-path-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.2;
  filter:grayscale(1) contrast(1.05);
  pointer-events:none;
}
.page-faq .faq-path .container{ position:relative; z-index:1; }
.page-faq .faq-path .eyebrow{ color:var(--gold-300); }
.page-faq .faq-path-head{ max-width:40rem; }
.page-faq .faq-path-head h2{
  margin:.35rem 0 0;
  font-family:var(--font-display);
  font-weight:400;
  color:var(--ivory-050);
}
.page-faq .faq-path-lede{
  margin:1.1rem 0 0;
  max-width:34em;
  font-size:var(--fs-17);
  line-height:1.8;
  color:rgba(247,242,231,.78);
}
.page-faq .faq-steps{
  list-style:none;
  margin:clamp(2rem,4vw,3rem) 0 0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.35rem;
}
.page-faq .faq-step{
  padding:1.4rem 1.25rem 1.5rem;
  border:1px solid var(--line-dark);
  border-left:2px solid var(--gold-500);
  background:rgba(20,52,43,.62);
}
.page-faq .faq-step-num{
  display:block;
  font-size:var(--fs-15);
  letter-spacing:.16em;
  color:var(--gold-300);
  margin-bottom:.9rem;
}
.page-faq .faq-step-title{
  margin:0 0 .6rem;
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--fs-24);
  color:var(--ivory-050);
  letter-spacing:.02em;
}
.page-faq .faq-step p{
  margin:0;
  font-size:var(--fs-15);
  line-height:1.78;
  color:rgba(247,242,231,.76);
}
.page-faq .faq-path-foot{
  margin:clamp(1.8rem,3.5vw,2.6rem) 0 0;
  max-width:44em;
  font-size:var(--fs-15);
  line-height:1.8;
  color:rgba(247,242,231,.72);
}
.page-faq .faq-path-foot a{
  color:var(--gold-300);
  text-decoration:none;
  border-bottom:1px solid var(--gold-500);
}
.page-faq .faq-path-foot a:hover,
.page-faq .faq-path-foot a:focus-visible{ color:var(--ivory-050); }

/* ---------- 五步订阅 ---------- */
.page-faq .faq-sub{
  padding-block:clamp(2.75rem,6vw,5rem);
  background:var(--ivory-100);
  border-bottom:1px solid var(--line-gold-soft);
}
.page-faq .faq-sub-track{
  list-style:none;
  margin:clamp(1.75rem,4vw,2.75rem) 0 0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.9rem;
}
.page-faq .faq-sub-card{
  padding:1.25rem 1.1rem 1.45rem;
  background:var(--ivory-050);
  border:1px solid var(--line-gold-soft);
  border-top:2px solid var(--graphite-600);
  transition:border-top-color .45s var(--ease),background-color .45s var(--ease);
}
.page-faq .faq-sub-track.is-revealed .faq-sub-card{
  border-top-color:var(--gold-500);
}
.page-faq .faq-sub-track.is-revealed .faq-sub-card:nth-child(1){ transition-delay:0s; }
.page-faq .faq-sub-track.is-revealed .faq-sub-card:nth-child(2){ transition-delay:.07s; }
.page-faq .faq-sub-track.is-revealed .faq-sub-card:nth-child(3){ transition-delay:.14s; }
.page-faq .faq-sub-track.is-revealed .faq-sub-card:nth-child(4){ transition-delay:.21s; }
.page-faq .faq-sub-track.is-revealed .faq-sub-card:nth-child(5){ transition-delay:.28s; }
.page-faq .faq-sub-num{
  display:block;
  font-size:var(--fs-13);
  letter-spacing:.18em;
  color:var(--graphite-600);
  margin-bottom:.9rem;
  transition:color .45s var(--ease);
}
.page-faq .faq-sub-track.is-revealed .faq-sub-card .faq-sub-num{ color:var(--gold-500); }
.page-faq .faq-sub-title{
  margin:0 0 .55rem;
  font-family:var(--font-display);
  font-weight:400;
  font-size:var(--fs-17);
  letter-spacing:.02em;
  color:var(--green-900);
}
.page-faq .faq-sub-card p{
  margin:0;
  font-size:var(--fs-13);
  line-height:1.78;
  color:var(--graphite-600);
}
.page-faq .faq-sub-foot{
  margin:clamp(1.5rem,3vw,2.2rem) 0 0;
  font-size:var(--fs-15);
  line-height:1.8;
  color:var(--graphite-600);
}
.page-faq .faq-sub-foot a{
  color:var(--green-900);
  text-decoration:none;
  border-bottom:1px solid var(--gold-500);
}
.page-faq .faq-sub-foot a:hover,
.page-faq .faq-sub-foot a:focus-visible{ color:var(--cinnabar-600); }

/* ---------- 记录六问 ---------- */
.page-faq .faq-records{
  padding-block:clamp(2.75rem,6vw,5rem);
  background:var(--ivory-050);
}
.page-faq .faq-records-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(1.75rem,4vw,3.5rem);
  align-items:start;
}
.page-faq .faq-records-main h2{
  margin:.35rem 0 0;
  font-family:var(--font-display);
  color:var(--green-900);
}
.page-faq .faq-records-main .prose{
  margin:1.1rem 0 1.75rem;
  max-width:36em;
  font-size:var(--fs-17);
  line-height:1.8;
  color:var(--graphite-600);
}
.page-faq .faq-records-list{ border-bottom:1px solid var(--line-gold-soft); }
.page-faq .faq-records-figure{ margin:0; }
.page-faq .faq-records-figure .figure-media{
  overflow:hidden;
  border:1px solid var(--line-gold-soft);
  background:var(--ivory-100);
}
.page-faq .faq-records-figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-faq .faq-records-figure .figure-caption{
  margin-top:.85rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.12em;
  color:var(--graphite-600);
}

/* ---------- 联系条 ---------- */
.page-faq .faq-contact{ padding-block:clamp(2.25rem,5vw,4rem); }
.page-faq .faq-contact-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.5rem;
  padding:clamp(1.5rem,4vw,2.5rem);
  background:var(--green-900);
  border-left:3px solid var(--gold-500);
  color:var(--ivory-050);
}
.page-faq .faq-contact-copy h2{
  margin:0 0 .85rem;
  font-family:var(--font-display);
  font-weight:400;
  color:var(--ivory-050);
  letter-spacing:.02em;
}
.page-faq .faq-contact-copy p{
  margin:0;
  max-width:38em;
  font-size:var(--fs-15);
  line-height:1.8;
  color:rgba(247,242,231,.76);
}
.page-faq .faq-contact-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.9rem;
}
.page-faq .faq-contact-mail{
  margin:0;
  font-size:var(--fs-13);
  letter-spacing:.06em;
  color:var(--gold-300);
  word-break:break-all;
}
.page-faq .faq-contact-foot{
  margin:1.35rem 0 0;
  font-size:var(--fs-13);
  line-height:1.8;
  color:var(--graphite-600);
}
.page-faq .faq-contact-foot a{
  color:var(--green-900);
  text-decoration:none;
  border-bottom:1px solid var(--line-gold);
}
.page-faq .faq-contact-foot a:hover,
.page-faq .faq-contact-foot a:focus-visible{ color:var(--cinnabar-600); }

/* ---------- 断点 ---------- */
@media (min-width:640px){
  .page-faq .faq-sub-track{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:860px){
  .page-faq .faq-hero-grid{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  }
  .page-faq .faq-group{
    grid-template-columns:minmax(0,4fr) minmax(0,8fr);
    gap:1.25rem 2.5rem;
  }
  .page-faq .faq-group:nth-child(even){
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  }
  .page-faq .faq-steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.75rem;
  }
  .page-faq .faq-step:nth-child(2){ transform:translateY(1.15rem); }
  .page-faq .faq-contact-strip{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
  .page-faq .faq-contact-actions{ align-items:flex-end; }
}

@media (min-width:960px){
  .page-faq .faq-records-grid{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  }
  .page-faq .faq-records-figure{ margin-top:.5rem; }
}

@media (min-width:1120px){
  .page-faq .faq-sub-track{ grid-template-columns:repeat(5,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce){
  .page-faq .faq-sub-card,
  .page-faq .faq-sub-num,
  .page-faq .faq-jump a,
  .page-faq .faq-item summary{ transition:none; }
  .page-faq .faq-step:nth-child(2){ transform:none; }
}
