.page-faq{
  --faq-shadow:0 10px 26px rgba(11,46,59,.09);
  --faq-radius:16px 5px 16px 5px;
  color:var(--text);
  background:var(--bg);
}
.page-faq img{
  display:block;
  max-width:100%;
  height:auto;
}
.page-faq section[id]{
  scroll-margin-top:calc(var(--masthead-h) + 1rem);
}

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{
  position:relative;
  overflow:hidden;
  padding:1.1rem 0 2.4rem;
  background:var(--cream-100);
}
.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  top:-60px;
  right:-16%;
  width:78%;
  height:70%;
  background:linear-gradient(150deg,var(--teal-700),var(--teal-500));
  clip-path:polygon(28% 0,100% 0,100% 70%,0 100%);
  opacity:.15;
  pointer-events:none;
}
.page-faq .faq-hero__inner{
  position:relative;
  display:grid;
  gap:1.8rem;
}
.page-faq .breadcrumb{
  margin-bottom:.85rem;
}
.page-faq .breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:0;
  padding:0;
  list-style:none;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.02em;
  color:var(--stone-500);
}
.page-faq .breadcrumb__item + .breadcrumb__item::before{
  content:"/";
  margin-right:.35rem;
  color:var(--teal-200);
}
.page-faq .breadcrumb__list a{
  color:var(--teal-700);
  text-decoration:none;
}
.page-faq .breadcrumb__list a:hover{
  text-decoration:underline;
}
.page-faq .faq-hero h1{
  margin:.5rem 0 0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.7rem,5vw,3rem);
  line-height:1.24;
  letter-spacing:.01em;
  color:var(--ink-teal-900);
}
.page-faq .faq-hero .lede{
  margin:1rem 0 0;
  max-width:34rem;
  font-size:1rem;
  line-height:1.8;
  color:var(--cocoa-900);
}
.page-faq .faq-jump{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:1.4rem 0 0;
  padding:0;
  list-style:none;
}
.page-faq .faq-jump a{
  display:inline-flex;
  align-items:center;
  padding:.42rem .85rem;
  border:1px solid var(--teal-200);
  border-radius:999px;
  background:var(--paper-50);
  color:var(--teal-700);
  font-family:var(--font-heading);
  font-size:.84rem;
  font-weight:500;
  text-decoration:none;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.page-faq .faq-jump a:hover,
.page-faq .faq-jump a:focus-visible{
  background:var(--teal-700);
  border-color:var(--teal-700);
  color:var(--paper-50);
}
.page-faq .faq-hero__figure{
  position:relative;
  margin:0;
  padding:0;
}
.page-faq .faq-hero__figure::before{
  content:"";
  position:absolute;
  top:-.7rem;
  right:-.7rem;
  width:62%;
  height:56%;
  background:var(--ember-200);
  clip-path:polygon(100% 0,100% 100%,0 100%);
  border-radius:14px;
  z-index:0;
}
.page-faq .faq-hero__figure img{
  position:relative;
  z-index:1;
  width:100%;
  border-radius:var(--faq-radius);
  object-fit:cover;
  box-shadow:var(--faq-shadow);
}
.page-faq .faq-hero__figure .media__caption{
  position:relative;
  z-index:1;
  margin-top:.6rem;
  font-size:.78rem;
  line-height:1.6;
  color:var(--stone-500);
}

/* ---------- 章节通用 ---------- */
.page-faq .faq-section{
  position:relative;
  padding:2.4rem 0;
}
.page-faq .faq-section--paper{
  background:var(--paper-50);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.page-faq .faq-section--sunk{
  background:var(--bg-sunk);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.page-faq .faq-head{
  max-width:44rem;
  margin-bottom:1.5rem;
}
.page-faq .faq-head__title{
  margin:.45rem 0 0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.35rem,3.4vw,2rem);
  line-height:1.32;
  color:var(--ink-teal-900);
}
.page-faq .faq-head__note{
  margin:.6rem 0 0;
  font-size:.94rem;
  line-height:1.78;
  color:var(--text-soft);
}

/* ---------- 高频六问卡片 ---------- */
.page-faq .faq-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:.9rem;
}
.page-faq details.faq-item{
  position:relative;
  padding:.95rem 1.1rem .95rem 1.4rem;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--faq-radius);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.page-faq details.faq-item::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:16px 0 0 5px;
  background:transparent;
  transition:background-color .18s ease;
}
.page-faq details.faq-item[open]{
  border-color:var(--teal-200);
  box-shadow:var(--faq-shadow);
}
.page-faq details.faq-item[open]::before{
  background:var(--ember-500);
}
.page-faq summary{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  cursor:pointer;
  list-style:none;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.98rem;
  line-height:1.55;
  color:var(--ink-teal-900);
}
.page-faq summary::-webkit-details-marker{
  display:none;
}
.page-faq summary::after{
  content:"+";
  margin-left:auto;
  flex:none;
  font-family:var(--font-mono);
  font-size:1.05rem;
  line-height:1.3;
  color:var(--teal-500);
}
.page-faq details[open] summary::after{
  content:"–";
  color:var(--ember-500);
}
.page-faq summary:focus-visible{
  outline:2px solid var(--teal-500);
  outline-offset:4px;
  border-radius:6px;
}
.page-faq .faq-item__num{
  flex:none;
  padding-top:.1rem;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--teal-500);
}
.page-faq .faq-item__body{
  margin-top:.65rem;
  font-size:.93rem;
  line-height:1.78;
  color:var(--cocoa-900);
}
.page-faq .faq-item__body p{
  margin:0;
}
.page-faq .faq-item__body p + p{
  margin-top:.5rem;
}
.page-faq .faq-item__body a{
  color:var(--teal-700);
  text-decoration:underline;
  text-underline-offset:2px;
}
.page-faq .faq-item__body a:hover{
  color:var(--ember-500);
}

/* ---------- 分类问答 ---------- */
.page-faq .faq-group{
  margin-top:1.9rem;
}
.page-faq .faq-group:first-of-type{
  margin-top:0;
}
.page-faq .faq-group__head{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.6rem .9rem;
  background:linear-gradient(96deg,var(--teal-700),var(--teal-500));
  border-radius:var(--faq-radius);
}
.page-faq .faq-group__num{
  font-family:var(--font-mono);
  font-size:.95rem;
  letter-spacing:.1em;
  color:var(--ember-200);
}
.page-faq .faq-group__title{
  margin:0;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1rem;
  line-height:1.4;
  color:var(--paper-50);
}
.page-faq .faq-group__note{
  display:none;
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--teal-200);
}
.page-faq .faq-group__list{
  margin-top:.9rem;
  border-top:1px solid var(--line);
}
.page-faq .faq-group__list details{
  position:relative;
  padding:.8rem 0 .8rem 1.1rem;
  border-bottom:1px solid var(--line);
  transition:background-color .16s ease;
}
.page-faq .faq-group__list details::before{
  content:"";
  position:absolute;
  left:0;
  top:.55rem;
  bottom:.55rem;
  width:3px;
  border-radius:2px;
  background:transparent;
  transition:background-color .16s ease;
}
.page-faq .faq-group__list details[open]{
  background:linear-gradient(90deg,rgba(247,205,178,.28),rgba(247,205,178,0) 78%);
}
.page-faq .faq-group__list details[open]::before{
  background:var(--ember-500);
}
.page-faq .faq-group__list summary{
  font-size:.96rem;
}
.page-faq .faq-split{
  display:grid;
  grid-template-columns:1fr;
  gap:1.2rem;
  margin-top:.9rem;
}
.page-faq .faq-split .faq-group__list{
  margin-top:0;
}
.page-faq .faq-split__figure{
  margin:0;
}
.page-faq .faq-split__figure img{
  width:100%;
  border-radius:var(--faq-radius);
  border:1px solid var(--teal-200);
  object-fit:cover;
}
.page-faq .faq-split__figure .media__caption{
  margin-top:.5rem;
  font-size:.78rem;
  line-height:1.6;
  color:var(--stone-500);
}

/* ---------- 术语速查 ---------- */
.page-faq .faq-alpha{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-bottom:1.2rem;
}
.page-faq .faq-alpha a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.1rem;
  padding:.32rem .5rem;
  border:1px solid var(--teal-200);
  border-radius:6px;
  background:var(--paper-50);
  color:var(--teal-700);
  font-family:var(--font-mono);
  font-size:.82rem;
  text-decoration:none;
  transition:background-color .16s ease,color .16s ease;
}
.page-faq .faq-alpha a:hover,
.page-faq .faq-alpha a:focus-visible{
  background:var(--teal-700);
  border-color:var(--teal-700);
  color:var(--paper-50);
}
.page-faq .faq-terms{
  display:grid;
  grid-template-columns:1fr;
  gap:.9rem;
}
.page-faq .term-group{
  padding:1rem 1.1rem 1.15rem;
  background:var(--paper-50);
  border:1px solid var(--line);
  border-radius:var(--faq-radius);
  scroll-margin-top:calc(var(--masthead-h) + 1rem);
}
.page-faq .term-group__letter{
  margin:0 0 .5rem;
  padding-bottom:.45rem;
  border-bottom:1px solid var(--teal-200);
  font-family:var(--font-mono);
  font-size:1rem;
  font-weight:500;
  letter-spacing:.12em;
  color:var(--ember-500);
}
.page-faq .term-list{
  margin:0;
}
.page-faq .term-list dt{
  margin-top:.85rem;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.95rem;
  color:var(--teal-700);
}
.page-faq .term-list dt:first-child{
  margin-top:0;
}
.page-faq .term-list dd{
  margin:.25rem 0 0;
  font-size:.89rem;
  line-height:1.72;
  color:var(--cocoa-900);
}

/* ---------- 联系 ---------- */
.page-faq .faq-contact{
  padding:2.6rem 0 2.9rem;
  background:var(--ink-teal-900);
  border-top:4px solid var(--ember-500);
  color:var(--on-deep);
}
.page-faq .faq-contact__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:1.8rem;
}
.page-faq .faq-contact .eyebrow{
  color:var(--ember-200);
}
.page-faq .faq-contact__title{
  margin:.45rem 0 0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.4rem,3.6vw,2.1rem);
  line-height:1.3;
  color:var(--on-deep);
}
.page-faq .faq-contact__lede{
  margin:.75rem 0 0;
  max-width:32rem;
  font-size:.95rem;
  line-height:1.8;
  color:var(--teal-200);
}
.page-faq .faq-contact__list{
  margin:1.4rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.7rem;
}
.page-faq .faq-contact__list li{
  display:grid;
  gap:.15rem;
  padding-bottom:.7rem;
  border-bottom:1px solid rgba(169,203,211,.24);
}
.page-faq .faq-contact__label{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--teal-200);
}
.page-faq .faq-contact__value{
  font-family:var(--font-heading);
  font-size:.98rem;
  font-weight:500;
  line-height:1.6;
  color:var(--on-deep);
  word-break:break-word;
}
.page-faq .faq-contact__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.8rem 1.1rem;
  margin-top:1.5rem;
}
.page-faq .faq-contact__link{
  font-family:var(--font-heading);
  font-size:.9rem;
  color:var(--teal-200);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-faq .faq-contact__link:hover,
.page-faq .faq-contact__link:focus-visible{
  color:var(--ember-200);
}
.page-faq .faq-contact__aside{
  padding:1.15rem 1.2rem 1.25rem;
  background:rgba(247,241,230,.06);
  border:1px solid rgba(169,203,211,.28);
  border-radius:var(--faq-radius);
}
.page-faq .faq-contact__aside-title{
  margin:0 0 .8rem;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1rem;
  color:var(--on-deep);
}
.page-faq .faq-contact__tips{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.55rem;
}
.page-faq .faq-contact__tips li{
  position:relative;
  padding-left:1.1rem;
  font-size:.9rem;
  line-height:1.7;
  color:var(--teal-200);
}
.page-faq .faq-contact__tips li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62rem;
  width:.42rem;
  height:.42rem;
  background:var(--ember-500);
  border-radius:1px;
  transform:rotate(45deg);
}
.page-faq .faq-contact__aside-note{
  margin:1rem 0 0;
  padding-top:.85rem;
  border-top:1px solid rgba(169,203,211,.24);
  font-size:.86rem;
  line-height:1.75;
  color:var(--teal-200);
}
.page-faq .faq-contact__aside-note a{
  color:var(--ember-200);
  text-decoration:underline;
  text-underline-offset:2px;
}
.page-faq .faq-contact__aside-note a:hover{
  color:var(--paper-50);
}

/* ---------- 断点 ---------- */
@media (min-width:600px){
  .page-faq .faq-group__note{
    display:block;
  }
  .page-faq .faq-contact__list{
    grid-template-columns:1fr 1fr;
    gap:.7rem 1.4rem;
  }
}

@media (min-width:760px){
  .page-faq .faq-hero{
    padding:1.4rem 0 3.2rem;
  }
  .page-faq .faq-section{
    padding:3.4rem 0;
  }
  .page-faq .faq-cards{
    grid-template-columns:1fr 1fr;
    gap:1rem;
  }
  .page-faq .faq-terms{
    grid-template-columns:1fr 1fr;
    gap:1rem;
  }
  .page-faq .faq-group{
    margin-top:2.4rem;
  }
  .page-faq .faq-contact{
    padding:3.4rem 0 3.6rem;
  }
}

@media (min-width:960px){
  .page-faq .faq-hero__inner{
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:2.6rem;
  }
  .page-faq .faq-split{
    grid-template-columns:1.4fr .85fr;
    align-items:start;
    gap:1.8rem;
  }
  .page-faq .faq-contact__inner{
    grid-template-columns:1.15fr .85fr;
    gap:2.4rem;
  }
  .page-faq .faq-contact__aside{
    align-self:start;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-faq *,
  .page-faq *::before,
  .page-faq *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}
<<<END>>>
