.page-faq{
  --faq-body:#CBD9E6;
  --faq-notch:18px;
  background:
    radial-gradient(900px 520px at 6% -8%, rgba(47,134,214,.20), transparent 62%),
    radial-gradient(760px 440px at 98% 2%, rgba(30,124,104,.16), transparent 60%),
    var(--ink-900);
  color:var(--paper);
  font-family:var(--font-body);
  padding-bottom:clamp(48px,8vw,104px);
  overflow-x:hidden;
  overflow-x:clip;
}

/* ---------- 面包屑 ---------- */
.page-faq .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:.5em;
  padding-top:clamp(16px,3vw,26px);
  font-size:13px;
  letter-spacing:.06em;
  color:var(--mist);
}
.page-faq .breadcrumb__item{display:inline-flex;align-items:center;gap:.5em}
.page-faq .breadcrumb__item + .breadcrumb__item::before{content:"/";color:var(--line-strong)}
.page-faq .breadcrumb__link{
  color:var(--mist);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s var(--ease), border-color .18s var(--ease);
}
.page-faq .breadcrumb__link:hover,
.page-faq .breadcrumb__link:focus-visible{color:var(--lime);border-bottom-color:var(--lime)}
.page-faq .breadcrumb__item[aria-current="page"]{color:var(--paper)}

/* ---------- 首屏 ---------- */
.page-faq .faq-hero{padding:clamp(24px,5vw,52px) 0 clamp(18px,3vw,30px)}
.page-faq .faq-hero__grid{
  display:grid;
  gap:clamp(22px,4vw,42px);
  align-items:end;
}
.page-faq .faq-hero__copy{min-width:0}

.page-faq .eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  font-family:var(--font-display);
  font-size:13px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--lime);
}
.page-faq .eyebrow::before{content:"";width:28px;height:2px;background:var(--lime)}

.page-faq h1{
  margin:0 0 18px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(36px,7vw,72px);
  line-height:1.02;
  letter-spacing:.01em;
  color:var(--paper);
}
.page-faq .faq-hero__lead{
  margin:0 0 22px;
  max-width:58ch;
  font-size:clamp(15.5px,1.6vw,17.5px);
  line-height:1.8;
  color:var(--faq-body);
}
.page-faq .faq-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.page-faq .media-frame{
  position:relative;
  margin:0;
  border:1px solid var(--line);
  background:var(--ink-800);
  overflow:hidden;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 26px), calc(100% - 26px) 100%, 0 100%);
}
.page-faq .media-frame__img{display:block;width:100%;height:auto;object-fit:cover}
.page-faq .media-frame__cap{
  display:block;
  padding:12px 16px;
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--mist);
  border-top:1px solid var(--line);
}

/* ---------- 数据条 ---------- */
.page-faq .faq-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px 12px;
  margin:clamp(14px,3vw,24px) 0 0;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.page-faq .stat{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-left:14px;
  border-left:2px solid var(--lime);
}
.page-faq .stat__value{
  font-family:var(--font-num);
  font-size:clamp(24px,3.2vw,34px);
  font-weight:600;
  line-height:1;
  color:var(--paper);
}
.page-faq .stat__label{
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mist);
}

/* ---------- 主题分组标签 ---------- */
.page-faq .faq-tabs{
  margin:clamp(20px,4vw,34px) 0 clamp(22px,4vw,40px);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.page-faq .faq-tabs__inner{
  display:flex;
  gap:8px;
  padding:12px 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.page-faq .faq-tab{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 15px;
  font-family:var(--font-display);
  font-size:13.5px;
  letter-spacing:.12em;
  color:var(--mist);
  text-decoration:none;
  border:1px solid var(--line);
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  transition:color .18s var(--ease), background-color .18s var(--ease), border-color .18s var(--ease);
}
.page-faq .faq-tab__num{font-family:var(--font-num);font-size:12px;color:var(--lime)}
.page-faq .faq-tab:hover,
.page-faq .faq-tab:focus-visible{
  color:var(--ink-900);
  background:var(--lime);
  border-color:var(--lime);
}
.page-faq .faq-tab:hover .faq-tab__num,
.page-faq .faq-tab:focus-visible .faq-tab__num{color:var(--ink-900)}

/* ---------- 分组 ---------- */
.page-faq .faq-group{padding:clamp(24px,4vw,40px) 0;scroll-margin-top:110px}
.page-faq .faq-group + .faq-group{border-top:1px solid var(--line)}
.page-faq .faq-group__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:12px 20px;
  margin:0 0 clamp(18px,3vw,26px);
  padding-left:16px;
  border-left:3px solid var(--lime);
}
.page-faq .faq-group__num{
  font-family:var(--font-num);
  font-size:clamp(26px,3.6vw,42px);
  font-weight:600;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1px var(--line-strong);
}
.page-faq .faq-group__head h2{
  margin:0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(24px,3.4vw,40px);
  line-height:1.1;
  letter-spacing:.02em;
  color:var(--paper);
}
.page-faq .faq-group__note{
  flex:1 1 100%;
  margin:0;
  max-width:66ch;
  font-size:15px;
  line-height:1.75;
  color:var(--mist);
}

/* ---------- 问答条目 ---------- */
.page-faq .faq-list{display:grid;gap:14px}
.page-faq .faq-item{
  position:relative;
  background:var(--ink-800);
  border:1px solid var(--line);
  clip-path:polygon(0 0, calc(100% - var(--faq-notch)) 0, 100% var(--faq-notch), 100% 100%, var(--faq-notch) 100%, 0 calc(100% - var(--faq-notch)));
  transition:transform .2s var(--ease), border-color .2s var(--ease), background-color .2s var(--ease);
}
.page-faq .faq-item:hover,
.page-faq .faq-item:focus-within{transform:translateY(-4px);border-color:rgba(199,240,74,.45)}
.page-faq .faq-item[open]{background:var(--ink-700);border-color:var(--line-strong)}

.page-faq .faq-item__q{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:15px 20px;
  cursor:pointer;
  list-style:none;
  font-size:clamp(15px,1.4vw,16.5px);
  font-weight:600;
  line-height:1.6;
  color:var(--paper);
}
.page-faq .faq-item__q::-webkit-details-marker{display:none}
.page-faq .faq-item__q::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--lime);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .2s var(--ease);
}
.page-faq .faq-item:hover .faq-item__q::before,
.page-faq .faq-item[open] .faq-item__q::before{transform:scaleY(1)}
.page-faq .faq-item__q::after{
  content:"+";
  margin-left:auto;
  padding-left:10px;
  font-family:var(--font-num);
  font-size:16px;
  line-height:1;
  color:var(--lime);
}
.page-faq .faq-item[open] .faq-item__q::after{content:"–"}
.page-faq .faq-item__no{
  flex:0 0 auto;
  padding-top:.3em;
  font-family:var(--font-num);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--lime);
}
.page-faq .faq-item__text{flex:1 1 auto;min-width:0}

.page-faq .faq-item__a{
  padding:0 20px 18px;
  border-top:1px solid var(--line);
}
.page-faq .faq-item__a p{
  margin:14px 0 0;
  font-size:15.5px;
  line-height:1.85;
  color:var(--faq-body);
}
.page-faq .faq-item__a a,
.page-faq .faq-help__card a:not(.btn){
  color:var(--lime);
  text-decoration:none;
  border-bottom:1px solid rgba(199,240,74,.5);
  transition:border-color .18s var(--ease);
}
.page-faq .faq-item__a a:hover{border-bottom-color:var(--lime)}

/* ---------- 人工协助区 ---------- */
.page-faq .faq-group--help{padding-bottom:clamp(32px,5vw,56px)}
.page-faq .faq-help{display:grid;gap:clamp(18px,3vw,28px)}
.page-faq .faq-help__list{display:grid;gap:14px;align-content:start}
.page-faq .faq-help__aside{display:grid;gap:16px;align-content:start}
.page-faq .faq-help__card{
  padding:20px 22px 22px;
  background:var(--ink-800);
  border:1px solid var(--line-strong);
}
.page-faq .faq-help__card h3{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:20px;
  letter-spacing:.04em;
  color:var(--paper);
}
.page-faq .faq-help__card ul{
  display:grid;
  gap:8px;
  margin:0 0 20px;
  padding:0;
  list-style:none;
}
.page-faq .faq-help__card li{
  position:relative;
  padding-left:18px;
  font-size:14.5px;
  line-height:1.7;
  color:var(--faq-body);
}
.page-faq .faq-help__card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:8px;
  height:2px;
  background:var(--lime);
}

/* ---------- 焦点与降级 ---------- */
.page-faq a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.page-faq .faq-item__q:focus-visible{outline:2px solid var(--lime);outline-offset:-3px}

@media (prefers-reduced-motion: no-preference){
  .page-faq .faq-hero__copy,
  .page-faq .faq-hero__media{
    animation:faq-rise .55s var(--ease) both;
  }
  .page-faq .faq-hero__media{animation-delay:.08s}
}
@keyframes faq-rise{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion: reduce){
  .page-faq .faq-hero__copy,
  .page-faq .faq-hero__media{animation:none}
  .page-faq .faq-item,
  .page-faq .faq-item__q::before,
  .page-faq .faq-tab{transition-duration:.01ms}
}

/* ---------- 断点 ---------- */
@media (min-width:760px){
  .page-faq .faq-stats{grid-template-columns:repeat(4, minmax(0,1fr));gap:14px 18px}
}

@media (min-width:860px){
  .page-faq .faq-list{
    grid-template-columns:repeat(12, minmax(0,1fr));
    gap:16px 20px;
    align-items:start;
  }
  .page-faq .faq-item:nth-child(4n+1){grid-column:1 / 8}
  .page-faq .faq-item:nth-child(4n+2){grid-column:8 / 13}
  .page-faq .faq-item:nth-child(4n+3){grid-column:1 / 6}
  .page-faq .faq-item:nth-child(4n+4){grid-column:6 / 13}
}

@media (min-width:900px){
  .page-faq .faq-help{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    align-items:start;
  }
}

@media (min-width:920px){
  .page-faq .faq-hero__grid{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  }
  .page-faq .faq-hero__media{margin-bottom:6px}
}

@media (min-width:1100px){
  .page-faq .faq-item__q{padding:17px 22px}
  .page-faq .faq-item__a{padding:0 22px 20px}
  .page-faq .faq-item__a p{font-size:16px}
}
