.page-faq {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  line-height: 1.75;
}

.page-faq .breadcrumb {
  padding: 22px 0 0;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .05em;
}

.page-faq .breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-faq .breadcrumb li {
  color: rgba(27, 23, 20, .55);
}

.page-faq .breadcrumb li + li::before {
  content: "/";
  margin-right: 8px;
  color: var(--gold);
}

.page-faq .breadcrumb a {
  color: var(--wine);
  text-decoration: none;
  border-bottom: 1px solid var(--rule-gold);
}

.page-faq .breadcrumb a:hover {
  color: var(--wine-mist);
}

/* ---------- 首屏 ---------- */

.page-faq .faq-hero {
  padding: 30px 0 52px;
  background:
    radial-gradient(115% 85% at 100% 0%, rgba(233, 220, 199, .9), rgba(247, 241, 230, 0) 58%),
    var(--paper);
}

.page-faq .faq-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: end;
}

.page-faq .faq-hero__lead {
  min-width: 0;
}

.page-faq .faq-hero h1 {
  margin: 12px 0 0;
  font-family: var(--font-title);
  font-weight: 900;
  font-size: clamp(38px, 9.5vw, 66px);
  line-height: 1.06;
  letter-spacing: .01em;
  color: var(--wine);
}

.page-faq .faq-hero__intro {
  margin: 20px 0 0;
  max-width: 32rem;
  font-size: 16.5px;
  line-height: 1.85;
  color: rgba(27, 23, 20, .85);
}

.page-faq .faq-hero__note {
  margin: 22px 0 0;
  padding-left: 14px;
  border-left: 2px solid var(--gold);
  font-family: var(--font-mono);
  font-size: 12.5px;
  line-height: 1.8;
  color: var(--wine-mist);
}

.page-faq .faq-hero__figure {
  margin: 0;
}

.page-faq .figure__frame {
  display: block;
  overflow: hidden;
}

.page-faq .figure__frame img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.page-faq .faq-group__figure .figure__frame img {
  aspect-ratio: 8 / 5;
}

/* ---------- 主题索引 ---------- */

.page-faq .faq-index {
  position: relative;
  padding: 42px 0 34px;
  background: var(--sand);
  border-top: 1px solid var(--rule-gold);
  border-bottom: 1px solid var(--rule-gold);
}

.page-faq .faq-index__head h2,
.page-faq .faq-top__head h2 {
  margin: 8px 0 0;
  font-family: var(--font-title);
  font-weight: 900;
  font-size: clamp(23px, 4.4vw, 32px);
  line-height: 1.25;
  color: var(--ink);
  letter-spacing: .01em;
}

.page-faq .faq-index__topics {
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(91, 15, 30, .18);
}

.page-faq .faq-index__topics a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 2px 10px;
  align-items: baseline;
  padding: 14px 6px;
  border-bottom: 1px solid rgba(91, 15, 30, .18);
  text-decoration: none;
  color: var(--ink);
  transition: background-color .2s ease, padding-left .2s ease;
}

.page-faq .faq-index__topics a:hover,
.page-faq .faq-index__topics a.is-active {
  background: rgba(247, 241, 230, .8);
  padding-left: 14px;
}

.page-faq .faq-index__no {
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .06em;
  color: var(--wine-mist);
}

.page-faq .faq-index__label {
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.4;
  color: var(--wine);
}

.page-faq .faq-index__hint {
  grid-column: 2;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(27, 23, 20, .64);
}

/* ---------- 高频问题卡 ---------- */

.page-faq .faq-top {
  padding: 48px 0 16px;
}

.page-faq .faq-top__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.page-faq .faq-top__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 20px 18px;
  background: #fffcf5;
  border: 1px solid var(--rule);
  box-shadow: var(--shadow-card);
  text-decoration: none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease;
}

.page-faq .faq-top__card:hover,
.page-faq .faq-top__card:focus-visible {
  transform: translate(-3px, -3px);
  box-shadow: 10px 10px 0 -1px var(--sand), 10px 10px 0 0 rgba(91, 15, 30, .16);
}

.page-faq .faq-top__q {
  margin: 0;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  color: var(--wine);
}

.page-faq .faq-top__go {
  margin-top: auto;
  padding-top: 6px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .06em;
  color: var(--wine-mist);
}

/* ---------- 问答分组 ---------- */

.page-faq .faq-groups {
  padding: 26px 0 64px;
}

.page-faq .faq-group {
  padding: 40px 0 6px;
  border-top: 1px solid var(--rule-gold);
  scroll-margin-top: 88px;
}

.page-faq .faq-group:first-child {
  border-top: none;
  padding-top: 20px;
}

.page-faq .faq-group__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  margin-bottom: 24px;
}

.page-faq .faq-group h2 {
  margin: 8px 0 0;
  font-family: var(--font-title);
  font-weight: 900;
  font-size: clamp(24px, 4.6vw, 36px);
  line-height: 1.18;
  letter-spacing: .01em;
  color: var(--ink);
}

.page-faq .faq-group__intro {
  margin: 12px 0 0;
  max-width: 46ch;
  font-size: 15.5px;
  line-height: 1.85;
  color: rgba(27, 23, 20, .76);
}

.page-faq .faq-group__figure {
  margin: 0;
}

.page-faq .faq-group__list {
  border-top: 1px solid var(--rule);
}

.page-faq .faq-item {
  background: #fffcf5;
  border-bottom: 1px solid var(--rule);
  scroll-margin-top: 88px;
  transition: box-shadow .2s ease, background-color .2s ease;
}

.page-faq .faq-item[open] {
  background: #fffdf8;
  box-shadow: inset 3px 0 0 var(--gold);
}

.page-faq .faq-item > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 17px 14px 17px 10px;
  cursor: pointer;
  list-style: none;
}

.page-faq .faq-item > summary::-webkit-details-marker {
  display: none;
}

.page-faq .faq-item > summary:focus-visible {
  outline: 2px solid var(--wine-mist);
  outline-offset: -3px;
}

.page-faq .faq-item__no {
  font-family: var(--font-mono);
  font-size: 11.5px;
  line-height: 1.9;
  letter-spacing: .06em;
  color: var(--wine-mist);
}

.page-faq .faq-item__title {
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 16.5px;
  line-height: 1.55;
  color: var(--ink);
}

.page-faq .faq-item__icon {
  position: relative;
  width: 16px;
  height: 16px;
  margin-top: 5px;
  flex: none;
}

.page-faq .faq-item__icon::before,
.page-faq .faq-item__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 1.5px;
  margin: -0.75px 0 0 -7px;
  background: var(--wine);
  transition: transform .22s ease, opacity .22s ease;
}

.page-faq .faq-item__icon::after {
  transform: rotate(90deg);
}

.page-faq .faq-item[open] .faq-item__icon::after {
  transform: rotate(0deg);
  opacity: 0;
}

.page-faq .faq-item__body {
  max-width: 62ch;
  padding: 0 18px 22px 12px;
  font-size: 15.5px;
  line-height: 1.85;
  color: rgba(27, 23, 20, .84);
}

.page-faq .faq-item__body p {
  margin: 0 0 10px;
}

.page-faq .faq-item__body p:last-child {
  margin-bottom: 0;
}

.page-faq .faq-item__body a {
  color: var(--wine);
  text-decoration: none;
  border-bottom: 1px solid var(--rule-gold);
}

.page-faq .faq-item__body a:hover {
  color: var(--wine-mist);
  border-bottom-color: var(--wine-mist);
}

/* ---------- 联系收束 ---------- */

.page-faq .faq-help {
  position: relative;
  overflow: hidden;
  padding: 46px 0 52px;
  background:
    radial-gradient(95% 130% at 10% 0%, rgba(200, 162, 74, .22), rgba(23, 63, 53, 0) 62%),
    var(--green);
  color: var(--paper);
}

.page-faq .faq-help__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 26px;
  align-items: center;
}

.page-faq .faq-help .eyebrow {
  color: var(--gold-light);
}

.page-faq .faq-help h2 {
  margin: 10px 0 0;
  font-family: var(--font-title);
  font-weight: 900;
  font-size: clamp(23px, 4.2vw, 32px);
  line-height: 1.25;
  color: var(--paper);
}

.page-faq .faq-help__desc {
  margin: 14px 0 0;
  max-width: 52ch;
  font-size: 15.5px;
  line-height: 1.85;
  color: rgba(247, 241, 230, .82);
}

.page-faq .faq-help__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ---------- 响应式 ---------- */

@media (min-width: 760px) {
  .page-faq .faq-top__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-faq .faq-item > summary {
    padding: 19px 18px 19px 14px;
    gap: 16px;
  }

  .page-faq .faq-item__title {
    font-size: 17.5px;
  }

  .page-faq .faq-item__body {
    padding: 0 24px 24px 60px;
  }
}

@media (min-width: 880px) {
  .page-faq .faq-hero {
    padding: 40px 0 64px;
  }

  .page-faq .faq-hero__inner {
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    gap: 56px;
  }

  .page-faq .faq-group__head--with-figure {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 40px;
    align-items: center;
  }

  .page-faq .faq-help__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
  }
}

@media (min-width: 1080px) {
  .page-faq .faq-index__topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 40px;
    border-top: none;
  }

  .page-faq .faq-index__topics li:nth-child(1) a,
  .page-faq .faq-index__topics li:nth-child(2) a {
    border-top: 1px solid rgba(91, 15, 30, .18);
  }

  .page-faq .faq-top__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-faq .faq-top__card,
  .page-faq .faq-index__topics a,
  .page-faq .faq-item,
  .page-faq .faq-item__icon::before,
  .page-faq .faq-item__icon::after {
    transition: none;
  }
}

.page-faq{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.75;}
.page-faq .breadcrumb{padding:22px 0 0;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.05em;}
.page-faq .breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:0;padding:0;list-style:none;}
.page-faq .breadcrumb li{color:rgba(27,23,20,.55);}
.page-faq .breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--gold);}
.page-faq .breadcrumb a{color:var(--wine);text-decoration:none;border-bottom:1px solid var(--rule-gold);}
.page-faq .breadcrumb a:hover{color:var(--wine-mist);}
.page-faq .faq-hero{padding:30px 0 52px;background:radial-gradient(115% 85% at 100% 0%,rgba(233,220,199,.9),rgba(247,241,230,0) 58%),var(--paper);}
.page-faq .faq-hero__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:end;}
.page-faq .faq-hero__lead{min-width:0;}
.page-faq .faq-hero h1{margin:12px 0 0;font-family:var(--font-title);font-weight:900;font-size:clamp(38px,9.5vw,66px);line-height:1.06;letter-spacing:.01em;color:var(--wine);}
.page-faq .faq-hero__intro{margin:20px 0 0;max-width:32rem;font-size:16.5px;line-height:1.85;color:rgba(27,23,20,.85);}
.page-faq .faq-hero__note{margin:22px 0 0;padding-left:14px;border-left:2px solid var(--gold);font-family:var(--font-mono);font-size:12.5px;line-height:1.8;color:var(--wine-mist);}
.page-faq .faq-hero__figure{margin:0;}
.page-faq .figure__frame{display:block;overflow:hidden;}
.page-faq .figure__frame img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover;}
.page-faq .faq-group__figure .figure__frame img{aspect-ratio:8/5;}
.page-faq .faq-index{position:relative;padding:42px 0 34px;background:var(--sand);border-top:1px solid var(--rule-gold);border-bottom:1px solid var(--rule-gold);}
.page-faq .faq-index__head h2,.page-faq .faq-top__head h2{margin:8px 0 0;font-family:var(--font-title);font-weight:900;font-size:clamp(23px,4.4vw,32px);line-height:1.25;color:var(--ink);letter-spacing:.01em;}
.page-faq .faq-index__topics{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid rgba(91,15,30,.18);}
.page-faq .faq-index__topics a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px 10px;align-items:baseline;padding:14px 6px;border-bottom:1px solid rgba(91,15,30,.18);text-decoration:none;color:var(--ink);transition:background-color .2s ease,padding-left .2s ease;}
.page-faq .faq-index__topics a:hover,.page-faq .faq-index__topics a.is-active{background:rgba(247,241,230,.8);padding-left:14px;}
.page-faq .faq-index__no{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;color:var(--wine-mist);}
.page-faq .faq-index__label{font-family:var(--font-title);font-weight:700;font-size:19px;line-height:1.4;color:var(--wine);}
.page-faq .faq-index__hint{grid-column:2;font-size:13.5px;line-height:1.65;color:rgba(27,23,20,.64);}
.page-faq .faq-top{padding:48px 0 16px;}
.page-faq .faq-top__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:26px;}
.page-faq .faq-top__card{display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px;background:#fffcf5;border:1px solid var(--rule);box-shadow:var(--shadow-card);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease;}
.page-faq .faq-top__card:hover,.page-faq .faq-top__card:focus-visible{transform:translate(-3px,-3px);box-shadow:10px 10px 0 -1px var(--sand),10px 10px 0 0 rgba(91,15,30,.16);}
.page-faq .faq-top__q{margin:0;font-family:var(--font-title);font-weight:700;font-size:18px;line-height:1.5;color:var(--wine);}
.page-faq .faq-top__go{margin-top:auto;padding-top:6px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;color:var(--wine-mist);}
.page-faq .faq-groups{padding:26px 0 64px;}
.page-faq .faq-group{padding:40px 0 6px;border-top:1px solid var(--rule-gold);scroll-margin-top:88px;}
.page-faq .faq-group:first-child{border-top:none;padding-top:20px;}
.page-faq .faq-group__head{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:24px;}
.page-faq .faq-group h2{margin:8px 0 0;font-family:var(--font-title);font-weight:900;font-size:clamp(24px,4.6vw,36px);line-height:1.18;letter-spacing:.01em;color:var(--ink);}
.page-faq .faq-group__intro{margin:12px 0 0;max-width:46ch;font-size:15.5px;line-height:1.85;color:rgba(27,23,20,.76);}
.page-faq .faq-group__figure{margin:0;}
.page-faq .faq-group__list{border-top:1px solid var(--rule);}
.page-faq .faq-item{background:#fffcf5;border-bottom:1px solid var(--rule);scroll-margin-top:88px;transition:box-shadow .2s ease,background-color .2s ease;}
.page-faq .faq-item[open]{background:#fffdf8;box-shadow:inset 3px 0 0 var(--gold);}
.page-faq .faq-item>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:17px 14px 17px 10px;cursor:pointer;list-style:none;}
.page-faq .faq-item>summary::-webkit-details-marker{display:none;}
.page-faq .faq-item>summary:focus-visible{outline:2px solid var(--wine-mist);outline-offset:-3px;}
.page-faq .faq-item__no{font-family:var(--font-mono);font-size:11.5px;line-height:1.9;letter-spacing:.06em;color:var(--wine-mist);}
.page-faq .faq-item__title{font-family:var(--font-title);font-weight:700;font-size:16.5px;line-height:1.55;color:var(--ink);}
.page-faq .faq-item__icon{position:relative;width:16px;height:16px;margin-top:5px;flex:none;}
.page-faq .faq-item__icon::before,.page-faq .faq-item__icon::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:var(--wine);transition:transform .22s ease,opacity .22s ease;}
.page-faq .faq-item__icon::after{transform:rotate(90deg);}
.page-faq .faq-item[open] .faq-item__icon::after{transform:rotate(0deg);opacity:0;}
.page-faq .faq-item__body{max-width:62ch;padding:0 18px 22px 12px;font-size:15.5px;line-height:1.85;color:rgba(27,23,20,.84);}
.page-faq .faq-item__body p{margin:0 0 10px;}
.page-faq .faq-item__body p:last-child{margin-bottom:0;}
.page-faq .faq-item__body a{color:var(--wine);text-decoration:none;border-bottom:1px solid var(--rule-gold);}
.page-faq .faq-item__body a:hover{color:var(--wine-mist);border-bottom-color:var(--wine-mist);}
.page-faq .faq-help{position:relative;overflow:hidden;padding:46px 0 52px;background:radial-gradient(95% 130% at 10% 0%,rgba(200,162,74,.22),rgba(23,63,53,0) 62%),var(--green);color:var(--paper);}
.page-faq .faq-help__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:center;}
.page-faq .faq-help .eyebrow{color:var(--gold-light);}
.page-faq .faq-help h2{margin:10px 0 0;font-family:var(--font-title);font-weight:900;font-size:clamp(23px,4.2vw,32px);line-height:1.25;color:var(--paper);}
.page-faq .faq-help__desc{margin:14px 0 0;max-width:52ch;font-size:15.5px;line-height:1.85;color:rgba(247,241,230,.82);}
.page-faq .faq-help__actions{display:flex;flex-wrap:wrap;gap:12px;}
@media (min-width:760px){.page-faq .faq-top__grid{grid-template-columns:repeat(2,minmax(0,1fr));}.page-faq .faq-item>summary{padding:19px 18px 19px 14px;gap:16px;}.page-faq .faq-item__title{font-size:17.5px;}.page-faq .faq-item__body{padding:0 24px 24px 60px;}}
@media (min-width:880px){.page-faq .faq-hero{padding:40px 0 64px;}.page-faq .faq-hero__inner{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;}.page-faq .faq-group__head--with-figure{grid-template-columns:minmax(0,1fr) 280px;gap:40px;align-items:center;}.page-faq .faq-help__inner{grid-template-columns:minmax(0,1fr) auto;gap:48px;}}
@media (min-width:1080px){.page-faq .faq-index__topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:none;}.page-faq .faq-index__topics li:nth-child(1) a,.page-faq .faq-index__topics li:nth-child(2) a{border-top:1px solid rgba(91,15,30,.18);}.page-faq .faq-top__grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (prefers-reduced-motion:reduce){.page-faq .faq-top__card,.page-faq .faq-index__topics a,.page-faq .faq-item,.page-faq .faq-item__icon::before,.page-faq .faq-item__icon::after{transition:none;}}
