/* FAQ 页面：保留设计稿的横幅、分类和卡片。问答始终展开，不提供详情按钮。 */
.faq-page {
  background: #fff;
  color: #202124;
}
.faq-page .faq-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.faq-mobile-header,
.faq-mobile-footer,
.faq-mobile-extras {
  display: none;
}
.faq-hero {
  position: relative;
  width: 100%;
  background: #f2f7ff;
}
.faq-hero__image {
  display: block;
  width: 100%;
  height: auto;
}
.faq-hero__explore {
  position: absolute;
  left: 8.34%;
  top: 69.3%;
  width: 13.55%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.faq-hero__explore img,
.faq-contact__button img {
  display: block;
  width: 100%;
  height: auto;
}
.faq-content {
  width: min(1200px, calc(100% - 96px));
  margin: 0 auto;
  padding: 56px 0 76px;
  scroll-margin-top: 100px;
}
.faq-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 12px 60px;
}
.faq-tab {
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #858585;
  font: inherit;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.4;
  min-height: 66px;
  padding: 14px 22px;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease;
}
.faq-tab:hover {
  color: #216dff;
  background: #f1f6ff;
}
.faq-tab[aria-selected="true"] {
  color: #fff;
  background: #216dff;
  font-weight: 500;
}
.faq-tab:focus-visible,
.faq-hero__explore:focus-visible,
.faq-contact__button:focus-visible {
  outline: 3px solid #164aab;
  outline-offset: 5px;
}
.faq-panel {
  display: grid;
  gap: 32px;
}
.faq-panel[hidden] {
  display: none !important;
}
.faq-panel:focus-visible {
  outline: 2px solid #b6d1ff;
  outline-offset: 8px;
}
.faq-card {
  min-height: 150px;
  padding: 36px 32px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 9px 34px rgba(64, 93, 141, .13);
  /* 普通文章区块：不使用手型光标、整卡点击、折叠或详情跳转。 */
  cursor: auto;
}
.faq-card__question {
  margin: 0;
  color: #222;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.faq-card__answer {
  margin: 12px 0 0;
  color: #898989;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.faq-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 38px;
  min-height: 255px;
  padding: 48px 24px 54px;
  text-align: center;
  background:
    radial-gradient(ellipse at 36% 100%, #fff 0, rgba(255,255,255,0) 54%),
    linear-gradient(100deg, #b8eaf6 0%, #d9f4ff 63%, #d5f2ff 100%);
}
.faq-contact__title {
  margin: 0;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
}
.faq-contact__button {
  display: block;
  width: 195px;
  min-height: 44px;
}
.faq-page > .site-footer .site-footer__frame {
  padding-top: 165px;
  padding-bottom: 130px;
}
.faq-page > .site-footer .site-footer__title {
  font-size: 34px;
  font-weight: 600;
  white-space: normal;
}
.faq-page > .site-footer .site-footer__panel {
  margin-top: 88px;
  background: #e0edff;
  min-height: 440px;
  grid-template-columns: .8fr 1.2fr 1.65fr 1.4fr;
  gap: clamp(18px, 2.5vw, 42px);
}
@media (max-width: 1100px) and (min-width: 768px) {
  .faq-content { width: calc(100% - 64px); }
  .faq-tabs { gap: 8px; margin-inline: 0; }
  .faq-tab { min-height: 58px; font-size: 18px; padding: 12px 18px; }
  .faq-card__question { font-size: 24px; }
  .faq-page > .site-footer .site-footer__panel { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .faq-page > .site-header,
  .faq-page > .site-footer { display: none; }
  .faq-mobile-header,
  .faq-mobile-footer,
  .faq-mobile-extras { display: block; }
  .faq-mobile-header { position: sticky; top: 0; z-index: 1100; background: #fff; }
  .faq-mobile-header.mobile-page,
  .faq-mobile-footer.mobile-page { width: 100%; min-height: 0; }
  .faq-hero { padding-bottom: 20px; }
  .faq-hero__explore { position: static; margin: 10px 0 0 8.34%; width: 148px; min-height: 44px; }
  .faq-content { width: calc(100% - 36px); padding: 30px 0 40px; scroll-margin-top: 92px; }
  .faq-tabs { gap: 8px; margin: 0 0 30px; justify-content: flex-start; flex-wrap: wrap; }
  .faq-tab { min-height: 44px; padding: 11px 14px; font-size: 16px; }
  .faq-panel { gap: 20px; }
  .faq-card { min-height: 0; padding: 24px 20px; border-radius: 20px; box-shadow: 0 6px 24px rgba(64,93,141,.12); }
  .faq-card__question { font-size: 19px; line-height: 1.65; }
  .faq-card__answer { margin-top: 12px; font-size: 16px; }
  .faq-contact { min-height: 220px; gap: 28px; padding: 42px 20px; }
  .faq-contact__title { max-width: 320px; font-size: 24px; }
  .faq-contact__button { width: 175px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-tab { transition: none; }
}
