.page-faq{
  --faq-ink:#0B1729;
  --faq-body:#3A475F;
  --faq-dim:#6B7891;
  --faq-gold-ink:#8A6410;
  --faq-rule:rgba(11,23,41,.12);
  background:var(--paper-50);
  color:var(--faq-ink);
  font-family:var(--font-sans);
  padding-top:calc(var(--bar-h) + 8px);
  overflow-x:hidden;
}
.page-faq .container{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto;
  padding:0 clamp(16px,4vw,32px);
}
.page-faq a:focus-visible,
.page-faq summary:focus-visible,
.page-faq button:focus-visible{
  outline:2px solid var(--gold-500);
  outline-offset:3px;
  border-radius:6px;
}

/* 面包屑 */
.page-faq .breadcrumbs{padding:14px 0 0;}
.page-faq .breadcrumbs__list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--faq-dim);}
.page-faq .breadcrumbs__item{display:flex;align-items:center;gap:6px;}
.page-faq .breadcrumbs__item + .breadcrumbs__item::before{content:"/";color:var(--slate-400);}
.page-faq .breadcrumbs__link{color:var(--faq-dim);text-decoration:none;}
.page-faq .breadcrumbs__link:hover{color:var(--faq-gold-ink);}

/* 首屏 */
.page-faq .faq-hero{
  display:grid;
  gap:clamp(22px,4vw,40px);
  padding:clamp(24px,4vw,44px) 0 clamp(34px,6vw,64px);
}
.page-faq .faq-hero__lede{
  margin:0 0 22px;
  max-width:56ch;
  color:var(--faq-body);
  font-size:clamp(15px,2.4vw,17px);
  line-height:1.8;
}
.page-faq .eyebrow{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  color:var(--faq-gold-ink);
  text-transform:uppercase;
}
.page-faq .faq-hero__title{
  margin:0 0 18px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(28px,6vw,52px);
  line-height:1.16;
  letter-spacing:-.01em;
  color:var(--faq-ink);
}
.page-faq .faq-jump{display:flex;flex-wrap:wrap;gap:8px;}
.page-faq .faq-jump__item{
  display:inline-flex;
  align-items:center;
  padding:8px 16px;
  border:1px solid var(--faq-rule);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:var(--faq-body);
  font-size:14px;
  text-decoration:none;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.page-faq .faq-jump__item:hover{
  border-color:var(--gold-500);
  color:var(--faq-ink);
  transform:translateY(-2px);
}
.page-faq .faq-facts{
  align-self:start;
  padding:20px 22px;
  border:1px solid var(--faq-rule);
  border-left:3px solid var(--gold-500);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 12px 28px rgba(11,23,41,.06);
}
.page-faq .faq-facts__caption{
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--slate-400);
  text-transform:uppercase;
}
.page-faq .faq-facts__list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.page-faq .faq-facts__row{display:flex;align-items:baseline;gap:10px;}
.page-faq .faq-facts__num{
  font-size:24px;
  font-weight:700;
  color:var(--faq-gold-ink);
  line-height:1;
}
.page-faq .faq-facts__text{font-size:13px;line-height:1.55;color:var(--faq-body);}

/* 章节头 */
.page-faq .faq-head{margin-bottom:clamp(22px,4vw,36px);}
.page-faq .faq-head__num{
  display:inline-block;
  margin-bottom:10px;
  padding:3px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:12px;
  letter-spacing:.1em;
  color:var(--faq-gold-ink);
  background:rgba(217,166,43,.1);
}
.page-faq .faq-head__title{
  margin:0 0 12px;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(22px,4.4vw,34px);
  line-height:1.25;
  letter-spacing:.01em;
  color:var(--faq-ink);
}
.page-faq .faq-head__sub{
  margin:0;
  max-width:62ch;
  font-size:15px;
  line-height:1.8;
  color:var(--faq-body);
}
.page-faq .faq-head--dark .faq-head__title{color:#F2F5FA;}
.page-faq .faq-head--dark .faq-head__sub{color:#B9C4D6;}
.page-faq .faq-head--dark .faq-head__num{
  color:var(--gold-300);
  border-color:rgba(217,166,43,.4);
  background:rgba(217,166,43,.12);
}

/* 五步路径 */
.page-faq .faq-path{
  background:
    radial-gradient(1200px 320px at 82% -10%,rgba(106,76,226,.28),transparent 70%),
    var(--ink-900);
  color:#E9EDF5;
  padding:clamp(38px,7vw,76px) 0 clamp(42px,7vw,80px);
  border-top:1px solid rgba(217,166,43,.28);
  border-bottom:1px solid rgba(217,166,43,.28);
}
.page-faq .faq-path__grid{display:grid;gap:clamp(24px,4vw,36px);}
.page-faq .faq-path__fig{margin:0;}
.page-faq .faq-path__fig img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:var(--radius);
  border:1px solid rgba(217,166,43,.32);
  object-fit:cover;
  background:var(--ink-700);
}
.page-faq .faq-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;}
.page-faq .faq-step{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(140,151,168,.2);
}
.page-faq .faq-step:last-child{border-bottom:0;padding-bottom:0;}
.page-faq .faq-step__num{
  font-size:13px;
  color:var(--gold-300);
  padding-top:3px;
  letter-spacing:.06em;
}
.page-faq .faq-step__title{
  margin:0 0 6px;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  color:#F2F5FA;
}
.page-faq .faq-step__body p{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:#B9C4D6;
}
.page-faq .faq-step__link{
  display:inline-block;
  margin-left:4px;
  color:var(--gold-300);
  text-decoration:none;
  border-bottom:1px solid rgba(243,206,107,.4);
}
.page-faq .faq-step__link:hover{color:#fff;border-bottom-color:var(--gold-300);}

/* 问答区 */
.page-faq .faq-groups{padding:clamp(38px,7vw,76px) 0 clamp(34px,6vw,64px);}
.page-faq .faq-shell{display:grid;gap:26px;}

.page-faq .faq-side{display:grid;gap:14px;}
.page-faq .faq-side__fig{margin:0;max-width:200px;}
.page-faq .faq-side__fig img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:12px;
  border:1px solid var(--faq-rule);
  object-fit:cover;
}
.page-faq .faq-side__caption{
  margin:0;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--slate-400);
}
.page-faq .faq-toc__list{
  list-style:none;
  margin:0;
  padding:0 0 6px;
  display:flex;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.page-faq .faq-toc__item{flex:0 0 auto;}
.page-faq .faq-toc__link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border:1px solid var(--faq-rule);
  border-radius:999px;
  background:#fff;
  color:var(--faq-body);
  font-size:14px;
  text-decoration:none;
  white-space:nowrap;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.page-faq .faq-toc__link .mono{font-size:12px;color:var(--faq-dim);}
.page-faq .faq-toc__link:hover{
  border-color:var(--gold-500);
  color:var(--faq-ink);
  transform:translateY(-2px);
}

.page-faq .faq-main{display:grid;gap:clamp(26px,4vw,40px);min-width:0;}
.page-faq .faq-group{scroll-margin-top:calc(var(--bar-h) + 24px);}
.page-faq .faq-group__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding-bottom:12px;
  border-bottom:2px solid var(--faq-ink);
}
.page-faq .faq-group__title{
  margin:0;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(18px,3.4vw,22px);
  letter-spacing:.02em;
  color:var(--faq-ink);
}

.page-faq .faq-item{border-bottom:1px solid var(--faq-rule);}
.page-faq .faq-item > summary{
  position:relative;
  padding:15px 34px 15px 0;
  font-size:15px;
  font-weight:700;
  line-height:1.6;
  color:var(--faq-ink);
  cursor:pointer;
  list-style:none;
  transition:color var(--dur) var(--ease);
}
.page-faq .faq-item > summary::-webkit-details-marker{display:none;}
.page-faq .faq-item > summary::after{
  content:"";
  position:absolute;
  right:10px;
  top:50%;
  width:0;
  height:0;
  border-left:8px solid var(--gold-500);
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  transform:translateY(-50%);
  transition:transform var(--dur) var(--ease);
}
.page-faq .faq-item[open] > summary{color:var(--faq-gold-ink);}
.page-faq .faq-item[open] > summary::after{transform:translateY(-50%) rotate(90deg);}
.page-faq .faq-item > summary:hover{color:var(--faq-gold-ink);}

.page-faq .faq-a{
  margin:0 0 16px 2px;
  padding:2px 0 2px 16px;
  border-left:2px solid var(--gold-500);
  color:var(--faq-body);
  font-size:14.5px;
  line-height:1.8;
}
.page-faq .faq-a p{margin:0 0 8px;}
.page-faq .faq-a ol{margin:6px 0 10px;padding-left:20px;}
.page-faq .faq-a li{margin-bottom:4px;}
.page-faq .faq-more{
  display:inline-block;
  font-size:13px;
  font-weight:700;
  color:var(--faq-gold-ink);
  text-decoration:none;
  border-bottom:1px solid rgba(217,166,43,.5);
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-faq .faq-more:hover{color:var(--ink-900);border-bottom-color:var(--ink-900);}

/* 联系区 */
.page-faq .faq-help{
  background:
    radial-gradient(900px 260px at 12% 0%,rgba(15,74,74,.55),transparent 72%),
    var(--ink-900);
  color:#E9EDF5;
  padding:clamp(38px,7vw,72px) 0 clamp(44px,7vw,80px);
}
.page-faq .faq-help__grid{display:grid;gap:16px;}
.page-faq .faq-channel{
  padding:20px 22px;
  border:1px solid rgba(217,166,43,.28);
  border-radius:var(--radius);
  background:var(--ink-700);
}
.page-faq .faq-channel__label{
  margin:0 0 10px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--slate-400);
}
.page-faq .faq-channel__value{
  margin:0 0 8px;
  font-size:clamp(15px,3vw,18px);
  font-weight:700;
  letter-spacing:.02em;
  color:var(--gold-300);
  word-break:break-all;
}
.page-faq .faq-channel__note{
  margin:0 0 16px;
  font-size:13px;
  line-height:1.7;
  color:#B9C4D6;
}
.page-faq .faq-copy{min-width:96px;}
.page-faq .faq-tips{
  padding:20px 22px;
  border:1px solid rgba(140,151,168,.28);
  border-radius:var(--radius);
  background:rgba(11,23,41,.5);
}
.page-faq .faq-tips__title{
  margin:0 0 12px;
  font-size:14px;
  font-weight:700;
  color:#F2F5FA;
}
.page-faq .faq-tips__list{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  display:grid;
  gap:8px;
}
.page-faq .faq-tips__list li{
  position:relative;
  padding-left:16px;
  font-size:14px;
  line-height:1.7;
  color:#B9C4D6;
}
.page-faq .faq-tips__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold-500);
}
.page-faq .faq-tips__link{text-decoration:none;}

@media (min-width:640px){
  .page-faq .faq-hero__title{font-size:clamp(34px,5vw,52px);}
  .page-faq .faq-help__grid{grid-template-columns:1fr 1fr;}
  .page-faq .faq-tips{grid-column:1 / -1;}
}

@media (min-width:900px){
  .page-faq .faq-hero{grid-template-columns:minmax(0,1fr) 300px;align-items:start;}
  .page-faq .faq-path__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:44px;}
  .page-faq .faq-help__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
  .page-faq .faq-tips{grid-column:auto;}
}

@media (min-width:960px){
  .page-faq .faq-shell{grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start;}
  .page-faq .faq-side{
    position:sticky;
    top:calc(var(--bar-h) + 24px);
    align-self:start;
  }
  .page-faq .faq-toc__list{
    flex-direction:column;
    gap:2px;
    overflow:visible;
    padding-bottom:0;
    border-left:1px solid var(--faq-rule);
  }
  .page-faq .faq-toc__item{flex:0 1 auto;}
  .page-faq .faq-toc__link{
    justify-content:space-between;
    width:100%;
    padding:9px 12px;
    border:1px solid transparent;
    border-left:2px solid transparent;
    border-radius:0 8px 8px 0;
    background:transparent;
    white-space:normal;
  }
  .page-faq .faq-toc__link:hover{
    transform:none;
    background:rgba(217,166,43,.1);
    border-color:transparent;
    border-left-color:var(--gold-500);
  }
  .page-faq .faq-side__fig{max-width:190px;}
}

@media (prefers-reduced-motion:reduce){
  .page-faq .faq-jump__item,
  .page-faq .faq-toc__link,
  .page-faq .faq-item > summary,
  .page-faq .faq-item > summary::after,
  .page-faq .faq-more{
    transition:none;
  }
  .page-faq .faq-jump__item:hover,
  .page-faq .faq-toc__link:hover{transform:none;}
}
