.page-faq{
  --faq-edge:rgba(244,241,232,.12);
  --faq-edge-soft:rgba(244,241,232,.08);
  --faq-body:rgba(244,241,232,.78);
  background:var(--ink-night);
  color:var(--paper);
  overflow-x:clip;
}

/* ============ 顶部 ============ */
.page-faq .faq-hero{
  position:relative;
  padding:clamp(2.2rem,6vw,4rem) 0 clamp(1.8rem,5vw,3rem);
  background:
    radial-gradient(120% 90% at 92% -18%, rgba(53,44,99,.65), transparent 62%),
    radial-gradient(90% 70% at -8% 118%, rgba(31,91,74,.42), transparent 64%),
    linear-gradient(176deg, var(--ink-night) 0%, var(--lake-deep) 100%);
  border-bottom:1px solid var(--line-08);
}
.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(42,59,77,.34) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42,59,77,.34) 1px, transparent 1px);
  background-size:96px 96px;
  opacity:.55;
  -webkit-mask-image:radial-gradient(120% 92% at 50% 0%, #000 18%, transparent 80%);
  mask-image:radial-gradient(120% 92% at 50% 0%, #000 18%, transparent 80%);
}
.page-faq .faq-hero .wrap{
  position:relative;
  z-index:1;
}

.page-faq .crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  margin:0 0 1.15rem;
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.05em;
  color:var(--muted);
}
.page-faq .crumbs .crumb{
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--t-fast), border-color var(--t-fast);
}
.page-faq .crumbs a.crumb:hover{
  color:var(--chip-glow);
  border-bottom-color:var(--chip-glow);
}
.page-faq .crumbs .crumb[aria-current="page"]{
  color:var(--chip-gold);
}
.page-faq .crumb-sep{
  opacity:.45;
}

.page-faq .eyebrow{
  display:inline-block;
  margin:0 0 .75rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--chip-gold);
}

.page-faq .faq-hero h1{
  margin:0 0 1rem;
  max-width:22ch;
  font-family:var(--font-head);
  font-weight:800;
  letter-spacing:-.02em;
  font-size:clamp(1.85rem,5.4vw,3.05rem);
  line-height:1.24;
  color:var(--paper);
}

.page-faq .faq-lead{
  margin:0;
  max-width:var(--measure);
  font-size:clamp(.95rem,1.4vw,1.06rem);
  line-height:1.85;
  color:var(--paper-72);
}

/* ============ 四宫格分流 ============ */
.page-faq .faq-triage{
  padding:clamp(2.2rem,5vw,3.6rem) 0;
  background:linear-gradient(180deg, var(--lake-deep) 0%, var(--ink-night) 72%);
}

.page-faq .triage-head{
  max-width:var(--measure);
  margin:0 0 clamp(1.3rem,3vw,2rem);
}
.page-faq .triage-title{
  margin:0 0 .5rem;
  font-weight:800;
  letter-spacing:-.015em;
  font-size:clamp(1.32rem,3vw,1.9rem);
  line-height:1.35;
}
.page-faq .triage-sub{
  margin:0;
  font-size:.92rem;
  line-height:1.75;
  color:var(--muted);
}

.page-faq .triage-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.1rem,3vw,2rem);
}

.page-faq .triage-figure{
  position:relative;
  margin:0;
  border-radius:var(--r-card);
  overflow:hidden;
  border:1px solid var(--faq-edge-soft);
  background:linear-gradient(150deg, var(--lake-mid), var(--indigo));
}
.page-faq .triage-figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:14/9;
  object-fit:cover;
  opacity:.94;
}
.page-faq .triage-figure figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:1.4rem .95rem .7rem;
  font-family:var(--font-mono);
  font-size:.71rem;
  letter-spacing:.07em;
  color:var(--paper);
  background:linear-gradient(0deg, rgba(12,22,38,.9), rgba(12,22,38,0));
}

.page-faq .triage-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(.75rem,1.6vw,1rem);
}

.page-faq .triage-card{
  display:flex;
  flex-direction:column;
  gap:.42rem;
  min-height:132px;
  padding:1.15rem 1.1rem 1.3rem;
  text-decoration:none;
  color:var(--paper);
  border-radius:var(--r-soft);
  box-shadow:inset 0 0 0 1px var(--faq-edge);
  transition:transform var(--t-mid), box-shadow var(--t-mid);
}
.page-faq .triage-card--lake{
  background:linear-gradient(155deg, rgba(14,58,68,.96), rgba(20,85,95,.58));
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%);
}
.page-faq .triage-card--felt{
  background:linear-gradient(155deg, rgba(31,91,74,.96), rgba(46,125,99,.52));
  clip-path:polygon(15px 0, 100% 0, 100% 100%, 0 100%, 0 15px);
}
.page-faq .triage-card--wine{
  background:linear-gradient(155deg, rgba(110,42,56,.96), rgba(110,42,56,.52));
  clip-path:polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 0 100%);
}
.page-faq .triage-card--indigo{
  background:linear-gradient(155deg, rgba(53,44,99,.96), rgba(53,44,99,.55));
  clip-path:polygon(0 0, 100% 0, 100% 100%, 15px 100%, 0 calc(100% - 15px));
}
.page-faq .triage-card:hover,
.page-faq .triage-card:focus-visible{
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px var(--chip-glow), 0 22px 44px -32px rgba(0,0,0,.95);
}
.page-faq .triage-card:focus-visible{
  outline:2px solid var(--chip-glow);
  outline-offset:3px;
}
.page-faq .triage-num{
  font-family:var(--font-mono);
  font-size:clamp(1.35rem,3vw,1.7rem);
  font-weight:600;
  line-height:1;
  letter-spacing:.02em;
  color:var(--chip-glow);
}
.page-faq .triage-name{
  font-size:1.02rem;
  font-weight:800;
  letter-spacing:-.01em;
}
.page-faq .triage-desc{
  font-size:.85rem;
  line-height:1.7;
  color:var(--faq-body);
}

/* ============ 问答列表 ============ */
.page-faq .faq-list{
  padding:clamp(2rem,5vw,3.4rem) 0 clamp(1.2rem,3vw,2rem);
  background:var(--ink-night);
}

.page-faq .faq-group{
  margin:0 0 clamp(1.9rem,4vw,2.9rem);
  scroll-margin-top:6.5rem;
}
.page-faq .faq-group:last-child{
  margin-bottom:0;
}

.page-faq .faq-group-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:.9rem;
  row-gap:.28rem;
  padding-bottom:.85rem;
  margin-bottom:.3rem;
  border-bottom:1px solid var(--line-14);
  transition:border-color var(--t-mid);
}
.page-faq .faq-group:target .faq-group-head{
  border-bottom-color:var(--chip-gold);
}
.page-faq .faq-group-idx{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:start;
  font-family:var(--font-mono);
  font-size:clamp(1.55rem,3.6vw,2.05rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--chip-gold);
}
.page-faq .faq-group-head h2{
  grid-column:2;
  grid-row:1;
  margin:0;
  font-size:clamp(1.14rem,2.4vw,1.42rem);
  font-weight:800;
  letter-spacing:-.012em;
  line-height:1.4;
}
.page-faq .faq-group-head p{
  grid-column:2;
  grid-row:2;
  margin:0;
  font-size:.87rem;
  line-height:1.7;
  color:var(--muted);
}

.page-faq .faq-items{
  display:flex;
  flex-direction:column;
}

.page-faq .faq-item{
  border-bottom:1px solid var(--line-08);
  scroll-margin-top:6.5rem;
  transition:background-color var(--t-mid), border-color var(--t-mid);
}
.page-faq .faq-item[open]{
  background:linear-gradient(180deg, rgba(20,85,95,.3), rgba(12,22,38,0));
  border-bottom-color:var(--chip-gold);
}

.page-faq .faq-q{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.9rem;
  padding:1.05rem .4rem 1.05rem 0;
  cursor:pointer;
  list-style:none;
}
.page-faq .faq-q::-webkit-details-marker{ display:none; }
.page-faq .faq-q::marker{ content:""; }

.page-faq .faq-q:hover .faq-q-text{ color:var(--chip-glow); }
.page-faq .faq-q:hover .faq-num{ color:var(--chip-gold); }
.page-faq .faq-q:focus-visible{
  outline:2px solid var(--chip-glow);
  outline-offset:2px;
  border-radius:6px;
}

.page-faq .faq-num{
  font-family:var(--font-mono);
  font-size:.79rem;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--muted);
  min-width:2.1em;
  transition:color var(--t-fast);
}
.page-faq .faq-item[open] .faq-num{ color:var(--chip-gold); }

.page-faq .faq-q-text{
  font-size:clamp(.97rem,1.7vw,1.06rem);
  font-weight:600;
  line-height:1.6;
  letter-spacing:-.005em;
  transition:color var(--t-fast);
}

.page-faq .faq-mark{
  width:10px;
  height:10px;
  margin-right:.35rem;
  border-right:1.5px solid var(--muted);
  border-bottom:1.5px solid var(--muted);
  transform:rotate(45deg);
  transition:transform var(--t-mid), border-color var(--t-fast);
}
.page-faq .faq-item[open] .faq-mark{
  transform:rotate(-135deg);
  border-color:var(--chip-gold);
}

.page-faq .faq-a{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .2s ease;
}
.page-faq .faq-item[open] .faq-a{
  grid-template-rows:1fr;
}
.page-faq .faq-a-inner{
  overflow:hidden;
  min-height:0;
}
.page-faq .faq-a-inner p{
  margin:0 0 .6rem;
  padding-left:clamp(0rem,3vw,3rem);
  max-width:var(--measure);
  font-size:.93rem;
  line-height:1.85;
  color:var(--paper-72);
}
.page-faq .faq-a-inner p:last-child{
  margin-bottom:0;
  padding-bottom:1.15rem;
}
.page-faq .faq-a-inner a{
  color:var(--chip-gold);
  text-decoration:none;
  border-bottom:1px solid rgba(227,168,87,.42);
  transition:color var(--t-fast), border-color var(--t-fast);
}
.page-faq .faq-a-inner a:hover{
  color:var(--chip-glow);
  border-bottom-color:var(--chip-glow);
}

/* ============ 适配清单带 ============ */
.page-faq .fit-band{
  position:relative;
  padding:clamp(1.9rem,4.4vw,3rem) 0;
  background:
    radial-gradient(80% 120% at 6% 0%, rgba(227,168,87,.16), transparent 58%),
    linear-gradient(118deg, var(--lake-mid) 0%, var(--felt-green) 52%, var(--lake-deep) 100%);
  border-top:1px solid var(--line-08);
  border-bottom:1px solid var(--line-08);
}

.page-faq .fit-inner{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.1rem,3vw,2.2rem);
}

.page-faq .fit-media{
  margin:0;
  border-radius:var(--r-card-alt);
  overflow:hidden;
  border:1px solid rgba(244,241,232,.16);
  box-shadow:var(--shadow-card);
}
.page-faq .fit-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}

.page-faq .fit-block h2{
  margin:0 0 .5rem;
  font-size:clamp(1.14rem,2.5vw,1.5rem);
  font-weight:800;
  letter-spacing:-.012em;
  line-height:1.4;
}
.page-faq .fit-block > p{
  margin:0 0 1.1rem;
  max-width:var(--measure);
  font-size:.89rem;
  line-height:1.8;
  color:rgba(244,241,232,.84);
}

.page-faq .fit-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.55rem;
}
.page-faq .fit-item{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:.7rem;
  align-items:start;
  padding:.62rem .85rem;
  border:1px solid rgba(244,241,232,.16);
  border-radius:6px 14px 6px 14px;
  background:rgba(12,22,38,.34);
  font-size:.87rem;
  line-height:1.65;
}
.page-faq .fit-box{
  position:relative;
  width:18px;
  height:18px;
  margin-top:2px;
  border:1.5px solid rgba(244,241,232,.42);
  border-radius:4px;
}
.page-faq .fit-item--done .fit-box{
  border-color:var(--chip-gold);
  background:rgba(227,168,87,.16);
}
.page-faq .fit-item--done .fit-box::after{
  content:"";
  position:absolute;
  left:4px;
  top:4px;
  width:8px;
  height:4px;
  border-left:2px solid var(--chip-gold);
  border-bottom:2px solid var(--chip-gold);
  transform:rotate(-45deg);
}
.page-faq .fit-item--todo{
  border-style:dashed;
  background:rgba(12,22,38,.2);
}
.page-faq .fit-item--todo .fit-box{
  border-style:dashed;
}

/* ============ 还是没解决 ============ */
.page-faq .still-stuck{
  padding:clamp(2rem,5vw,3.4rem) 0 clamp(1.4rem,4vw,2.4rem);
  background:linear-gradient(180deg, var(--ink-night) 0%, #090f1a 100%);
}

.page-faq .stuck-card{
  max-width:62ch;
  padding:clamp(1.5rem,4vw,2.4rem);
  border-radius:var(--r-card);
  background:linear-gradient(150deg, rgba(110,42,56,.44), rgba(53,44,99,.4));
  border:1px solid var(--faq-edge);
  box-shadow:var(--shadow-card);
}
.page-faq .stuck-card h2{
  margin:0 0 .7rem;
  font-size:clamp(1.24rem,2.8vw,1.68rem);
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.35;
}
.page-faq .stuck-card > p{
  margin:0 0 1.25rem;
  max-width:var(--measure);
  font-size:.93rem;
  line-height:1.85;
  color:var(--paper-72);
}

.page-faq .stuck-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-bottom:1.3rem;
}

.page-faq .stuck-facts{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.15rem;
  font-size:.89rem;
}
.page-faq .stuck-facts li{
  display:grid;
  grid-template-columns:4.2rem minmax(0,1fr);
  gap:.75rem;
  align-items:baseline;
  padding:.55rem 0 0;
  border-top:1px solid rgba(244,241,232,.1);
}
.page-faq .stuck-facts .mono{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--muted);
}
.page-faq .stuck-facts span:last-child{
  word-break:break-word;
}

/* ============ 响应式 ============ */
@media (min-width:560px){
  .page-faq .triage-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (min-width:880px){
  .page-faq .triage-layout{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
    align-items:start;
  }
  .page-faq .fit-inner{
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    align-items:center;
  }
}

@media (min-width:1080px){
  .page-faq .triage-figure{
    position:sticky;
    top:6.5rem;
  }
  .page-faq .faq-group-head{
    padding-bottom:1rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-faq .triage-card,
  .page-faq .faq-item,
  .page-faq .faq-q-text,
  .page-faq .faq-num,
  .page-faq .faq-mark,
  .page-faq .faq-a,
  .page-faq .faq-group-head{
    transition-duration:.01ms;
  }
  .page-faq .triage-card:hover,
  .page-faq .triage-card:focus-visible{
    transform:none;
  }
}
<<<END>>>
