:root {
  --overlay: rgba(6, 5, 4, 0.05);

  /* —— 你最常调的参数都集中在这里，直接改这里就行 —— */
  --cta-left: clamp(20px, 4vw, 60px);     /* 整块离左边的距离 */
  --cta-bottom: clamp(36px, 7vh, 72px);   /* 整块离底部的距离 */
  --cta-gap-h: 22px;                       /* 「图片+按钮」与「适龄」之间的横向间距 */
  --cta-gap-v: 24px;                       /* 图片与按钮之间的竖向间距 */

  --title-w: min(82vw, 700px);             /* 标题图最大宽度 */
  --title-h: min(46vh, 460px);             /* 标题图最大高度 */

  --btn-h: 72px;                           /* 立即下载按钮高度 */
  --btn-min-w: 500px;                      /* 立即下载按钮最小宽度 */
  --btn-px: 60px;                          /* 立即下载按钮左右内边距 */
  --btn-fs: 1.4rem;                        /* 立即下载文字大小 */
  --btn-shift-x: 100px;                     /* ← 立即下载向右偏移；调大=更右，0=贴齐图片左边 */

  --age-h: 150px;                           /* 适龄提示图标高度（自动等比缩放）*/
  --age-shift-y: 0px;                       /* ← 适龄提示向上偏移；调大=更上，0=与按钮底边平齐 */
  --age-shift-x: -40px;                       /* ← 适龄提示水平偏移；负值=向左，正值=向右 */
}

html {
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100dvh;
  overflow-x: hidden;
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
}

responsive-video-background.site-hero {
  display: block;
  width: 100%;
  min-height: 100dvh;
  min-height: 100svh;
  --overlay-color: var(--overlay);
}

.hero-layer {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  min-height: 100svh;
}

/* —— 主视觉块：左列「标题图 + 立即下载」+ 右侧「适龄提示」 —— */
.hero-cta {
  position: absolute;
  left: var(--cta-left);
  bottom: var(--cta-bottom);
  display: flex;
  flex-direction: row;
  align-items: flex-end; /* 适龄与按钮底边对齐；想换中间就改 center */
  gap: var(--cta-gap-h);
  pointer-events: none;
  max-width: calc(100vw - 40px);
}

.hero-cta__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 图片与按钮左对齐 */
  gap: var(--cta-gap-v);
}

.hero-cta__title {
  display: block;
  width: var(--title-w);
  max-height: var(--title-h);
  height: auto;
  object-fit: contain;
  object-position: left bottom;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 12px 40px rgba(0, 0, 0, 0.6));
}

/* —— 立即下载：悬停裂开三段（默认整块红按；hover 露出 安卓/苹果/PC） —— */
.hero-cta__btn {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  margin-left: var(--btn-shift-x);
  min-height: var(--btn-h);
  min-width: var(--btn-min-w);
  font-size: var(--btn-fs);
  font-weight: 600;
  letter-spacing: 0.24em;
  color: #fff;
  background: linear-gradient(180deg, #d11414 0%, #8a0e0e 100%);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 2px;
  overflow: hidden;
  pointer-events: auto;
  box-shadow:
    0 14px 40px rgba(168, 20, 20, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    inset 0 -3px 8px rgba(0, 0, 0, 0.18);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45);
  transition: transform 0.18s ease, box-shadow 0.2s ease;
}

.hero-cta__btn:hover {
  transform: translateY(-1px);
  box-shadow:
    0 18px 48px rgba(196, 30, 30, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    inset 0 -3px 8px rgba(0, 0, 0, 0.18);
}

/* 默认状态：立即下载 */
.hero-cta__btn-default {
  position: relative;
  z-index: 2;
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 var(--btn-px);
  text-decoration: none;
  color: inherit;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-cta__icon {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.45));
}

/* 悬停：默认隐去，露出三段 */
.hero-cta__split {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: stretch;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.hero-cta__plat {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.94);
  font-size: calc(var(--btn-fs) * 0.78);
  letter-spacing: 0.18em;
  background: transparent;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.32s ease, transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), background 0.18s ease, color 0.18s ease;
}

.hero-cta__plat-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.5));
}

.hero-cta__plat:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.hero-cta__plat-sep {
  align-self: center;
  width: 1px;
  height: 56%;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 0.32s ease 0.05s;
}

/* 真正触发裂开：hover / 键盘聚焦时 */
.hero-cta__btn:hover .hero-cta__btn-default,
.hero-cta__btn:focus-within .hero-cta__btn-default {
  opacity: 0;
  transform: scale(0.92);
  pointer-events: none;
}

.hero-cta__btn:hover .hero-cta__split,
.hero-cta__btn:focus-within .hero-cta__split {
  opacity: 1;
  pointer-events: auto;
}

.hero-cta__btn:hover .hero-cta__plat,
.hero-cta__btn:focus-within .hero-cta__plat {
  opacity: 1;
  transform: translateY(0);
}

.hero-cta__btn:hover .hero-cta__plat:nth-of-type(2),
.hero-cta__btn:focus-within .hero-cta__plat:nth-of-type(2) {
  transition-delay: 0.06s;
}

.hero-cta__btn:hover .hero-cta__plat:nth-of-type(3),
.hero-cta__btn:focus-within .hero-cta__plat:nth-of-type(3) {
  transition-delay: 0.12s;
}

.hero-cta__btn:hover .hero-cta__plat-sep,
.hero-cta__btn:focus-within .hero-cta__plat-sep {
  transform: scaleY(1);
}

.hero-cta__age {
  display: block;
  height: var(--age-h);
  width: auto;
  flex-shrink: 0;
  margin-left: var(--age-shift-x);   /* 适龄水平偏移：负值=向左 */
  margin-bottom: var(--age-shift-y); /* 适龄向上偏移（基于 align-items: flex-end） */
  filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.5));
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: auto;
}

@media (max-width: 900px) {
  :root {
    --cta-bottom: clamp(24px, 5vh, 56px);
    --cta-gap-h: 14px;
    --cta-gap-v: 14px;
    --title-w: min(82vw, 460px);
    --title-h: min(34vh, 320px);
    --btn-h: 56px;
    --btn-min-w: 280px;
    --btn-px: 32px;
    --btn-fs: 1.05rem;
    --btn-shift-x: 0px;
    --age-h: 56px;
    --age-shift-y: 0px;
    --age-shift-x: 0px;
  }
}

@media (max-width: 600px) {
  :root {
    --cta-left: clamp(12px, 4vw, 18px);
    --cta-bottom: calc(clamp(14px, 4vh, 24px) + env(safe-area-inset-bottom));
    --cta-gap-h: 10px;
    --cta-gap-v: 10px;
    --title-w: min(74vw, 320px);
    --title-h: min(26vh, 220px);
    --btn-h: 50px;
    --btn-min-w: 260px;
    --btn-px: 22px;
    --btn-fs: 0.95rem;
    --btn-shift-x: 0px;
    --age-h: 48px;
    --age-shift-y: 0px;
    --age-shift-x: 0px;
  }

  /* 手机：按钮 + 适龄 仍并排，按钮裂开足够宽放下 3 段 */
  .hero-cta {
    flex-direction: row;
    align-items: flex-end;
    flex-wrap: wrap;
    /* —— 让整块 CTA 在手机屏幕上水平居中 —— */
    left: 0;
    right: 0;
    justify-content: center;
  }

  /* —— 主列：标题图与按钮在列里水平居中 —— */
  .hero-cta__main {
    align-items: center;
  }

  /* —— 标题图内容居中（覆盖 PC 默认的 left bottom）—— */
  .hero-cta__title {
    object-position: center bottom;
  }

  .hero-cta__plat {
    font-size: calc(var(--btn-fs) * 0.82);
    gap: 5px;
    letter-spacing: 0.06em;
  }

  .hero-cta__plat-icon {
    width: 18px;
    height: 18px;
  }
}

/* 超窄竖屏（≤360px）：兜底改竖排，避免按钮挤爆 */
@media (max-width: 360px) {
  :root {
    --btn-min-w: 220px;
  }

  .hero-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ==========================================================================
   右侧悬浮卡片：联系客服（红金武侠风 + Lottie 动画图标）
   - position: fixed 永远贴右侧、垂直居中
   - 手机端（≤900px）自动隐藏
   ========================================================================== */
.cloud-card {
  --gold: #f5d68a;
  --gold-bright: #ffe9b8;
  --gold-deep: #c89a3e;
  --gold-soft: rgba(245, 214, 138, 0.55);
  --gold-faint: rgba(245, 214, 138, 0.2);
  --red-deep: #4a0707;
  --red-mid: #7a0c0c;

  position: fixed;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
  width: 184px;
  padding: 24px 14px 16px;
  background:
    radial-gradient(ellipse at top, rgba(255, 200, 110, 0.1) 0%, transparent 55%),
    linear-gradient(180deg, var(--red-mid) 0%, var(--red-deep) 100%);
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 3px;
  box-shadow:
    0 0 0 1px var(--gold-faint),
    0 24px 50px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 220, 150, 0.2),
    inset 0 -2px 12px rgba(0, 0, 0, 0.55);
  color: #fff;
  font-family: inherit;
  pointer-events: auto;
  isolation: isolate;
}

/* —— 四个金色折角装饰 —— */
.cloud-card__deco {
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
  z-index: 1;
}
.cloud-card__deco--tl {
  top: 5px;
  left: 5px;
  border-top: 1px solid var(--gold-soft);
  border-left: 1px solid var(--gold-soft);
}
.cloud-card__deco--tr {
  top: 5px;
  right: 5px;
  border-top: 1px solid var(--gold-soft);
  border-right: 1px solid var(--gold-soft);
}
.cloud-card__deco--bl {
  bottom: 5px;
  left: 5px;
  border-bottom: 1px solid var(--gold-soft);
  border-left: 1px solid var(--gold-soft);
}
.cloud-card__deco--br {
  bottom: 5px;
  right: 5px;
  border-bottom: 1px solid var(--gold-soft);
  border-right: 1px solid var(--gold-soft);
}

/* —— 头部 —— */
.cloud-card__head {
  text-align: center;
  position: relative;
}

.cloud-card__icon {
  width: 50px;
  height: 50px;
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(245, 214, 138, 0.25) 0%, transparent 70%);
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.55));
}

.cloud-card__icon svg {
  width: 36px;
  height: 36px;
  display: block;
}

/* —— 标题：金属烫金渐变 + 微弱光晕 —— */
.cloud-card__brand {
  font-size: 21px;
  font-weight: 800;
  letter-spacing: 0.32em;
  padding-left: 0.32em; /* 抵消 letter-spacing 造成的视觉偏左 */
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 50%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.7));
}

.cloud-card__desc {
  position: relative;
  margin-top: 14px;
  padding: 10px 0 0;
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--gold);
  opacity: 0.82;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 副标题两侧的金色细线（中国风分割线）*/
.cloud-card__desc::before,
.cloud-card__desc::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
}
.cloud-card__desc::before {
  margin-right: 8px;
}
.cloud-card__desc::after {
  margin-left: 8px;
}

/* —— 联系方式列表 —— */
.cloud-card__list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cloud-card__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 12px;
  background: linear-gradient(180deg, rgba(140, 24, 24, 0.55) 0%, rgba(50, 6, 6, 0.7) 100%);
  border: 1px solid var(--gold-faint);
  border-radius: 2px;
  text-decoration: none;
  color: var(--gold);
  overflow: hidden;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

/* hover 扫光 */
.cloud-card__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(105deg, transparent 30%, rgba(245, 214, 138, 0.4) 50%, transparent 70%);
  transition: left 0.6s ease;
  pointer-events: none;
}

.cloud-card__item:hover {
  border-color: var(--gold);
  background: linear-gradient(180deg, rgba(216, 58, 58, 0.65) 0%, rgba(74, 7, 7, 0.8) 100%);
  transform: translateX(-3px);
  box-shadow:
    0 0 0 1px rgba(245, 214, 138, 0.3),
    0 6px 18px rgba(0, 0, 0, 0.55);
}

.cloud-card__item:hover::before {
  left: 160%;
}

/* —— Lottie 图标容器（放大 + 衬底圆框）—— */
.cloud-card__item-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.35) 0%, transparent 70%);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
}

.cloud-card__item-icon lottie-player {
  width: 100%;
  height: 100%;
  display: block;
}

/* —— 标签文字：烫金质感 —— */
.cloud-card__item-label {
  flex: 1;
  text-align: left;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.22em;
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.65));
}

/* —— 桌面端默认隐藏的辅助元素（浮标 / 遮罩 / 关闭按钮 / 切换器）—— */
.cloud-card__toggle,
.cloud-card__handle,
.cloud-card__backdrop,
.cloud-card__close {
  display: none;
}

/* ==========================================================================
   手机端（≤900px）：把固定客服卡片改成「折叠浮标 + 滑入抽屉」
   - 默认：屏幕右侧显示一个小竖条浮标（"客服"）
   - 点击：完整卡片从右滑入 + 半透明遮罩
   - 点击遮罩 / × 按钮：关闭
   - 纯 CSS（checkbox hack），零 JS
   ========================================================================== */
@media (max-width: 900px) {
  /* 浮标：屏幕右侧常驻小竖条 */
  .cloud-card__handle {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 49;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;

    width: 38px;
    padding: 12px 6px;

    background: linear-gradient(180deg, var(--red-mid) 0%, var(--red-deep) 100%);
    border: 1px solid rgba(245, 214, 138, 0.45);
    border-right: none;
    border-radius: 6px 0 0 6px;
    box-shadow:
      -4px 0 14px rgba(0, 0, 0, 0.55),
      inset 0 1px 0 rgba(255, 220, 150, 0.18);

    color: var(--gold);
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.25s ease;
  }

  .cloud-card__handle-icon {
    width: 22px;
    height: 22px;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
  }

  /* 4 字竖排，自动与图标在水平方向上居中对齐 */
  .cloud-card__handle-text {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.18;
    color: var(--gold);
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
  }

  /* 遮罩：默认透明不可点 */
  .cloud-card__backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 48;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }

  /* 卡片本体：默认收到屏幕外（右侧），尺寸适配手机 */
  .cloud-card {
    display: block;
    right: 0;
    width: 220px;
    border-radius: 6px 0 0 6px;
    transform: translateY(-50%) translateX(110%);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }

  /* 卡片右上角关闭 × */
  .cloud-card__close {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 4px;
    right: 6px;
    width: 28px;
    height: 28px;
    color: var(--gold);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    z-index: 3;
    opacity: 0.85;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  .cloud-card__close:hover,
  .cloud-card__close:active {
    opacity: 1;
    transform: scale(1.15);
  }

  /* —— 切换状态：勾选 → 卡片滑入 + 浮标隐去 + 遮罩淡入 —— */
  .cloud-card__toggle:checked ~ .cloud-card {
    transform: translateY(-50%) translateX(0);
    box-shadow:
      0 0 0 1px var(--gold-faint),
      -8px 0 30px rgba(0, 0, 0, 0.6),
      inset 0 1px 0 rgba(255, 220, 150, 0.2);
  }

  .cloud-card__toggle:checked ~ .cloud-card__handle {
    transform: translateY(-50%) translateX(110%);
    opacity: 0;
    pointer-events: none;
  }

  .cloud-card__toggle:checked ~ .cloud-card__backdrop {
    opacity: 1;
    pointer-events: auto;
  }
}

/* ==========================================================================
   顶部导航栏（方案 A：透明悬浮 + 金线 hover）
   - PC：固定顶部、半透明黑底渐变、logo 左 / 菜单右
   - 手机：汉堡按钮 → 右侧抽屉滑入
   ========================================================================== */
.site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: 64px;
  display: flex;
  align-items: center;
  padding: 0 32px;
  background: linear-gradient(180deg, rgba(15, 5, 5, 0.7) 0%, rgba(15, 5, 5, 0.25) 60%, transparent 100%);
}

.site-nav__toggle {
  display: none;
}

.site-nav__logo {
  display: inline-flex;
  align-items: center;
  height: 100%;
  margin-right: auto;
  padding: 8px 0;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.55));
  -webkit-tap-highlight-color: transparent;
}

.site-nav__logo img {
  height: 40px;
  width: auto;
  display: block;
}

.site-nav__menu {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
}

.site-nav__menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 60px;
}

.site-nav__link {
  position: relative;
  display: inline-block;
  padding: 10px 2px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.32em;
  padding-left: calc(2px + 0.32em); /* 抵消 letter-spacing 的视觉偏移 */
  color: var(--gold, #f5d68a);
  text-decoration: none;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
  transition: color 0.25s ease;
}

/* 菜单项底部金线（hover/active 时从中间展开到两侧）*/
.site-nav__link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--gold, #f5d68a), transparent);
  transition: width 0.32s cubic-bezier(0.22, 1, 0.36, 1), left 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.site-nav__link:hover,
.site-nav__link.is-active {
  color: #fff5d6;
}

.site-nav__link:hover::after,
.site-nav__link.is-active::after {
  width: 100%;
  left: 0;
}

/* —— 汉堡按钮（PC 隐藏）—— */
.site-nav__hamburger {
  display: none;
}

/* —— 抽屉遮罩（PC 隐藏）—— */
.site-nav__backdrop {
  display: none;
}

/* ==========================================================================
   手机端导航：汉堡 + 右侧抽屉
   ========================================================================== */
@media (max-width: 768px) {
  .site-nav {
    height: 56px;
    padding: 0 16px;
  }

  .site-nav__logo img {
    height: 32px;
  }

  /* 汉堡：3 条横线 */
  .site-nav__hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 26px;
    height: 18px;
    margin-left: auto;
    cursor: pointer;
    z-index: 103;
    -webkit-tap-highlight-color: transparent;
    position: relative;
  }

  .site-nav__hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--gold, #f5d68a);
    border-radius: 1px;
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.2s ease, background 0.2s ease;
  }

  /* 汉堡 → X 变形动画 */
  .site-nav__toggle:checked ~ .site-nav__hamburger span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .site-nav__toggle:checked ~ .site-nav__hamburger span:nth-child(2) {
    opacity: 0;
  }
  .site-nav__toggle:checked ~ .site-nav__hamburger span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }

  /* 抽屉：默认收到屏幕外（右侧），勾选后滑入 */
  .site-nav__menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 240px;
    z-index: 102;
    background: linear-gradient(180deg, var(--red-mid, #7a0c0c) 0%, var(--red-deep, #4a0707) 100%);
    border-left: 1px solid rgba(245, 214, 138, 0.35);
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.6);
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .site-nav__menu ul {
    flex-direction: column;
    padding: 80px 32px 32px;
    gap: 28px;
  }

  .site-nav__link {
    font-size: 16px;
    letter-spacing: 0.22em;
  }

  /* 手机端抽屉里的金线，从下方改为下方铺满 */
  .site-nav__link::after {
    height: 1px;
  }

  /* 抽屉遮罩 */
  .site-nav__backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 101;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }

  /* 勾选状态：抽屉滑入 + 遮罩淡入 */
  .site-nav__toggle:checked ~ .site-nav__menu {
    transform: translateX(0);
  }

  .site-nav__toggle:checked ~ .site-nav__backdrop {
    opacity: 1;
    pointer-events: auto;
  }
}

/* ==========================================================================
   第二屏：游戏特色（卷轴时间线）
   - PC：中央金色竖线，6 张卡片左右交替；金色◆节点贴在竖线上
   - 平板/手机：竖线左移到固定位置，所有卡片单列右排
   - 配色与右侧客服卡完全一致：复用红金武侠风
   ========================================================================== */
.features {
  /* —— 板块内自有金色调色板（与 .cloud-card 一致，独立作用域不影响其他模块）—— */
  --gold: #f5d68a;
  --gold-bright: #ffe9b8;
  --gold-deep: #c89a3e;
  --gold-soft: rgba(245, 214, 138, 0.55);
  --gold-faint: rgba(245, 214, 138, 0.2);
  --red-deep: #4a0707;
  --red-mid: #7a0c0c;

  position: relative;
  padding: 96px 24px 120px;
  background:
    /* —— 中国吉祥云纹（淡金描线，约 6% 透明度，远看若有若无）—— */
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23f5d68a' stroke-opacity='0.06' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M10 50 Q 25 35 40 50 Q 55 65 70 50 Q 85 35 100 50 Q 115 65 130 50'/%3E%3Cpath d='M30 110 Q 50 95 70 110 Q 90 125 110 110 Q 130 95 150 110'/%3E%3Cpath d='M70 20 Q 80 15 90 20'/%3E%3Cpath d='M40 140 Q 50 135 60 140'/%3E%3C/g%3E%3C/svg%3E") repeat,
    radial-gradient(ellipse at top, rgba(122, 12, 12, 0.45) 0%, transparent 65%),
    linear-gradient(180deg, #0a0202 0%, #15090c 100%);
  overflow: hidden;
}

/* —— 板块标题：与首页烫金大字风格一致 —— */
.features__header {
  position: relative;
  z-index: 2;
  text-align: center;
  margin: 0 auto 80px;
  max-width: 600px;
}

.features__title {
  margin: 0;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: 0.4em;
  padding-left: 0.4em; /* 抵消 letter-spacing 视觉偏移 */
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 50%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.7));
}

.features__subtitle {
  margin: 18px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  letter-spacing: 0.32em;
  padding-left: 0.32em;
  color: var(--gold);
  opacity: 0.82;
}

/* 副标题两侧的金色细线（沿用 .cloud-card__desc 思路）*/
.features__subtitle::before,
.features__subtitle::after {
  content: "";
  flex: 0 0 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
}
.features__subtitle::before { margin-right: 18px; }
.features__subtitle::after { margin-left: 18px; }

/* —— 题头门匾：双龙团纹图腾（原色保留 + 金色双层光晕，缓慢呼吸）—— */
.features__totem {
  display: block;
  width: 280px;
  height: auto;
  margin: 0 auto 24px;
  /* 6 秒一呼吸：光晕在"收/暗"和"散/亮"之间缓动 */
  animation: totem-glow 6s ease-in-out infinite;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* 呼吸节奏：吸气（弱）→ 呼气（强）→ 吸气
   - 近层：边缘浓金光圈（半径与不透明度同步起伏）
   - 远层：弥散金雾（让光感更柔和、更"国风"） */
@keyframes totem-glow {
  0%, 100% {
    filter:
      drop-shadow(0 0 12px rgba(245, 214, 138, 0.40))
      drop-shadow(0 0 24px rgba(200, 154, 62, 0.22));
  }
  50% {
    filter:
      drop-shadow(0 0 28px rgba(245, 214, 138, 0.78))
      drop-shadow(0 0 56px rgba(200, 154, 62, 0.48));
  }
}

/* 系统开启"减少动效"时（iOS / 安卓 / Win / Mac 都尊重）：
   动画关闭，回归一个稳定的中等光晕 */
@media (prefers-reduced-motion: reduce) {
  .features__totem {
    animation: none;
    filter:
      drop-shadow(0 0 18px rgba(245, 214, 138, 0.55))
      drop-shadow(0 0 36px rgba(200, 154, 62, 0.35));
  }
}

@media (max-width: 900px) {
  .features__totem {
    width: 220px;
    margin-bottom: 20px;
  }
}

@media (max-width: 600px) {
  .features__totem {
    width: 180px;
    margin-bottom: 16px;
  }
}

/* —— 时间线容器：中央竖线靠 ::before 实现 —— */
.features__timeline {
  position: relative;
  z-index: 2;
  max-width: 1080px;
  margin: 0 auto;
}

.features__timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, var(--gold-soft) 6%, var(--gold-soft) 94%, transparent 100%);
  transform: translateX(-50%);
}

/* —— 卡片本体：红底 + 4 个金折角（复用 .cloud-card 视觉语言）—— */
.feature-card {
  position: relative;
  width: calc(50% - 60px);  /* 与中央竖线保留 60px 缝隙 */
  background:
    radial-gradient(ellipse at top, rgba(255, 200, 110, 0.08) 0%, transparent 60%),
    linear-gradient(180deg, var(--red-mid) 0%, var(--red-deep) 100%);
  border: 1px solid rgba(0, 0, 0, 0.55);
  border-radius: 4px;
  margin-bottom: 80px;
  box-shadow:
    0 0 0 1px var(--gold-faint),
    0 18px 40px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 220, 150, 0.18);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.feature-card:last-child { margin-bottom: 0; }

/* 奇数张靠左、偶数张靠右（PC 左右交替）*/
.feature-card:nth-child(odd)  { margin-right: auto; }
.feature-card:nth-child(even) { margin-left: auto; }

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 0 0 1px rgba(245, 214, 138, 0.45),
    0 24px 50px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 220, 150, 0.28);
}

/* —— 4 个金色折角（与 .cloud-card__deco 同款）—— */
.feature-card__deco {
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
  z-index: 2;
}
.feature-card__deco--tl { top: 6px; left: 6px;  border-top: 1px solid var(--gold-soft); border-left: 1px solid var(--gold-soft); }
.feature-card__deco--tr { top: 6px; right: 6px; border-top: 1px solid var(--gold-soft); border-right: 1px solid var(--gold-soft); }
.feature-card__deco--bl { bottom: 6px; left: 6px;  border-bottom: 1px solid var(--gold-soft); border-left: 1px solid var(--gold-soft); }
.feature-card__deco--br { bottom: 6px; right: 6px; border-bottom: 1px solid var(--gold-soft); border-right: 1px solid var(--gold-soft); }

/* —— 主图：16:9 锁定比例 —— */
.feature-card__img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-bottom: 1px solid var(--gold-faint);
  border-radius: 4px 4px 0 0;
}

/* —— 文案区 —— */
.feature-card__body {
  padding: 18px 24px 22px;
}

.feature-card__title {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.28em;
  padding-left: 0.28em;
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65));
}

.feature-card__desc {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--gold);
  opacity: 0.82;
  letter-spacing: 0.04em;
}

/* —— 金色菱形◆节点（CSS 画，零素材依赖）—— */
.feature-card::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  top: 60px;
  background: linear-gradient(135deg, var(--gold-bright) 0%, var(--gold) 50%, var(--gold-deep) 100%);
  border: 1px solid var(--gold-deep);
  transform: rotate(45deg);
  box-shadow:
    0 0 10px rgba(245, 214, 138, 0.7),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
  z-index: 3;
}

/* 节点位置：奇数从右侧伸出贴中线，偶数从左侧伸出贴中线 */
.feature-card:nth-child(odd)::after  { right: -67px; }
.feature-card:nth-child(even)::after { left:  -67px; }

/* ==========================================================================
   响应式：平板 ≤900px → 单列右排，竖线移到左侧
   ========================================================================== */
@media (max-width: 900px) {
  .features {
    padding: 80px 16px 96px;
  }

  .features__header { margin-bottom: 56px; }

  .features__title {
    font-size: 30px;
    letter-spacing: 0.32em;
    padding-left: 0.32em;
  }

  .features__subtitle::before,
  .features__subtitle::after {
    flex-basis: 48px;
  }

  .features__timeline::before {
    left: 28px;
    transform: none;
  }

  .feature-card,
  .feature-card:nth-child(odd),
  .feature-card:nth-child(even) {
    width: calc(100% - 56px);
    margin-left: 56px;
    margin-right: 0;
    margin-bottom: 56px;
  }

  .feature-card:nth-child(odd)::after,
  .feature-card:nth-child(even)::after {
    left: -35px;   /* 卡片左缘 -35 → 节点中心落在 left: 28 的竖线上 */
    right: auto;
    top: 40px;
  }
}

/* ==========================================================================
   响应式：手机 ≤600px → 进一步压缩
   ========================================================================== */
@media (max-width: 600px) {
  .features {
    padding: 64px 12px 72px;
  }

  .features__header { margin-bottom: 40px; }

  .features__title {
    font-size: 24px;
    letter-spacing: 0.28em;
    padding-left: 0.28em;
  }

  .features__subtitle {
    font-size: 12px;
    letter-spacing: 0.22em;
    padding-left: 0.22em;
  }

  .features__subtitle::before,
  .features__subtitle::after {
    flex-basis: 28px;
  }

  .features__timeline::before {
    left: 18px;
  }

  .feature-card,
  .feature-card:nth-child(odd),
  .feature-card:nth-child(even) {
    width: calc(100% - 36px);
    margin-left: 36px;
    margin-bottom: 40px;
  }

  .feature-card__title {
    font-size: 18px;
    letter-spacing: 0.22em;
    padding-left: 0.22em;
  }

  .feature-card__body {
    padding: 14px 18px 18px;
  }

  .feature-card__desc {
    font-size: 12.5px;
    line-height: 1.7;
  }

  .feature-card:nth-child(odd)::after,
  .feature-card:nth-child(even)::after {
    left: -25px;   /* 卡片左缘 -25 → 节点中心落在 left: 18 的竖线上 */
    top: 32px;
  }
}

/* ==========================================================================
   第二屏额外装饰：上下卷轴金线 + 金尘漂浮（方案 ④）
   - 卷轴边：纯 CSS 渐变，两条平行金线，两端淡出收尾，像古书卷轴的横向收口
   - 金尘：一个空 div + 多重 radial-gradient + 缓慢上飘 background-position
   - 兼容性：iOS 9+ / 所有现代安卓；不用 backdrop-filter、不用 background-attachment: fixed
   ========================================================================== */

/* —— 顶部卷轴金线 —— */
.features::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 32px;
  pointer-events: none;
  z-index: 1;
  background:
    /* 主线（亮）：上方距顶部 14px */
    linear-gradient(90deg, transparent 0%, rgba(245, 214, 138, 0.35) 18%, rgba(245, 214, 138, 0.85) 50%, rgba(245, 214, 138, 0.35) 82%, transparent 100%) center 14px / 100% 1.5px no-repeat,
    /* 副线（细弱）：下方距顶部 22px */
    linear-gradient(90deg, transparent 0%, rgba(245, 214, 138, 0.18) 30%, rgba(245, 214, 138, 0.45) 50%, rgba(245, 214, 138, 0.18) 70%, transparent 100%) center 22px / 80% 0.5px no-repeat;
}

/* —— 底部卷轴金线（与顶部镜像）—— */
.features::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 32px;
  pointer-events: none;
  z-index: 1;
  background:
    linear-gradient(90deg, transparent 0%, rgba(245, 214, 138, 0.35) 18%, rgba(245, 214, 138, 0.85) 50%, rgba(245, 214, 138, 0.35) 82%, transparent 100%) center bottom 14px / 100% 1.5px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(245, 214, 138, 0.18) 30%, rgba(245, 214, 138, 0.45) 50%, rgba(245, 214, 138, 0.18) 70%, transparent 100%) center bottom 22px / 80% 0.5px no-repeat;
}

/* —— 金尘漂浮：8 个金色光点 + 慢速上飘 —— */
.features__dust {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    radial-gradient(circle at 8%  18%, rgba(245, 214, 138, 0.55) 0, transparent 2px),
    radial-gradient(circle at 22% 62%, rgba(245, 214, 138, 0.45) 0, transparent 1.6px),
    radial-gradient(circle at 38% 28%, rgba(245, 214, 138, 0.50) 0, transparent 1.8px),
    radial-gradient(circle at 54% 78%, rgba(245, 214, 138, 0.55) 0, transparent 2px),
    radial-gradient(circle at 68% 14%, rgba(245, 214, 138, 0.40) 0, transparent 1.4px),
    radial-gradient(circle at 82% 50%, rgba(245, 214, 138, 0.55) 0, transparent 1.8px),
    radial-gradient(circle at 16% 86%, rgba(245, 214, 138, 0.45) 0, transparent 1.6px),
    radial-gradient(circle at 92% 84%, rgba(245, 214, 138, 0.50) 0, transparent 1.8px);
  background-size: 420px 600px;
  background-repeat: repeat;
  opacity: 0.85;
  animation: features-dust-drift 28s linear infinite;
  will-change: background-position;
}

@keyframes features-dust-drift {
  0%   { background-position: 0 0; }
  100% { background-position: 0 -600px; }
}

/* —— 系统开启"减少动效"时，金尘静止（安卓 / iOS / Win / Mac 都尊重该设置）—— */
@media (prefers-reduced-motion: reduce) {
  .features__dust {
    animation: none;
  }
}

/* ==========================================================================
   三职鼎立：触发按钮 + 全屏 Modal（CSS-only，零 JS）
   - 触发按钮：红金武侠风，hover 上浮 + 金光扫过
   - Modal：fixed 居中、scale 淡入；遮罩点击关闭、× 关闭、Esc 见下方说明
   - Tab：3 个 radio + label，:checked 状态切换面板和高亮
   - 兼容：iOS 9+ / Android 4+ / 所有现代桌面浏览器
   ========================================================================== */

/* 容器：和上面的 .features 一样独立调色板，避免污染其他模块 */
.classes {
  --gold: #f5d68a;
  --gold-bright: #ffe9b8;
  --gold-deep: #c89a3e;
  --gold-soft: rgba(245, 214, 138, 0.55);
  --gold-faint: rgba(245, 214, 138, 0.2);
  --red-deep: #4a0707;
  --red-mid: #7a0c0c;
}

/* 所有控件类 input 全部视觉隐藏，仅作为状态机使用 */
.classes__toggle,
.classes__tab-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  clip: rect(0 0 0 0);
}

/* —— 触发按钮：武侠门匾质感（与 Modal 完全同款盔甲）—— */
.classes-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: fit-content;
  min-width: 340px;
  min-height: 64px;
  margin: 60px auto 0;
  padding: 0 56px;
  padding-left: calc(56px + 0.32em);
  position: relative;
  z-index: 2;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.32em;
  /* 红黑双层渐变 + 顶部 radial 高光（与 Modal、客服卡同款）*/
  background:
    radial-gradient(ellipse at top, rgba(255, 200, 110, 0.15) 0%, transparent 60%),
    linear-gradient(180deg, var(--red-mid) 0%, var(--red-deep) 100%);
  border: 1px solid rgba(0, 0, 0, 0.55);
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  isolation: isolate;
  /* 4 层 box-shadow：金边光、深投影、内顶高光、内底暗 */
  box-shadow:
    0 0 0 1px var(--gold-faint),
    0 14px 36px rgba(0, 0, 0, 0.6),
    inset 0 1px 0 rgba(255, 220, 150, 0.22),
    inset 0 -2px 8px rgba(0, 0, 0, 0.45);
  transition: transform 0.25s ease, box-shadow 0.3s ease;
}

/* 扫光：默认在左外，hover 时穿过按钮 */
.classes-trigger::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(105deg, transparent 30%, rgba(245, 214, 138, 0.45) 50%, transparent 70%);
  transition: left 0.7s ease;
  pointer-events: none;
  z-index: 1;
}

.classes-trigger:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px var(--gold-soft),
    0 18px 44px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 220, 150, 0.3),
    inset 0 -2px 8px rgba(0, 0, 0, 0.45);
}

.classes-trigger:hover::before {
  left: 160%;
}

.classes-trigger:hover .classes-trigger__deco {
  border-color: var(--gold);
}

/* —— 4 个金色折角（与 Modal、客服卡完全同款）—— */
.classes-trigger__deco {
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
  z-index: 3;
  transition: border-color 0.3s ease;
}
.classes-trigger__deco--tl { top: 4px; left: 4px;  border-top: 1px solid var(--gold-soft); border-left: 1px solid var(--gold-soft); }
.classes-trigger__deco--tr { top: 4px; right: 4px; border-top: 1px solid var(--gold-soft); border-right: 1px solid var(--gold-soft); }
.classes-trigger__deco--bl { bottom: 4px; left: 4px;  border-bottom: 1px solid var(--gold-soft); border-left: 1px solid var(--gold-soft); }
.classes-trigger__deco--br { bottom: 4px; right: 4px; border-bottom: 1px solid var(--gold-soft); border-right: 1px solid var(--gold-soft); }

/* —— 图标：金色三连菱形（◇◇◇ 象征三职，与卡片节点同源）—— */
.classes-trigger__icon {
  width: 36px;
  height: 12px;
  flex-shrink: 0;
  color: var(--gold);
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 0 6px rgba(245, 214, 138, 0.55));
}

/* —— 文字：烫金渐变（与图腾烫金标题同款）—— */
.classes-trigger__text {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.65));
}

/* —— Modal 遮罩：全屏黑半透明 —— */
.classes-modal__backdrop {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

/* —— Modal 本体：古代卷轴形态（窄长 + 上下金属轴 + 绢布质感）—— */
.classes-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 201;
  width: min(90vw, 720px);
  max-height: 86vh;
  padding: 44px 36px 44px;
  /* 绢布纸纹 + 红→深红→近黑三段渐变（卷轴展开后的画心配色）*/
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23f5d68a' stroke-opacity='0.07' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M10 50 Q 25 35 40 50 Q 55 65 70 50 Q 85 35 100 50 Q 115 65 130 50'/%3E%3Cpath d='M30 110 Q 50 95 70 110 Q 90 125 110 110 Q 130 95 150 110'/%3E%3C/g%3E%3C/svg%3E") repeat,
    radial-gradient(ellipse at top, rgba(255, 200, 110, 0.14) 0%, transparent 50%),
    linear-gradient(180deg, var(--red-mid) 0%, var(--red-deep) 55%, #1d0303 100%);
  /* 边框很弱：让卷轴的金属轴成为视觉主角 */
  border: 1px solid rgba(0, 0, 0, 0.5);
  border-radius: 0;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.78),
    inset 0 0 0 1px rgba(245, 214, 138, 0.12),
    inset 0 0 40px rgba(0, 0, 0, 0.4);
  color: #fff;
  isolation: isolate;
  /* 卷轴展开动画的初始态：被收拢成一条扁线 */
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%) scaleY(0.04);
  transform-origin: 50% 50%;
  transition:
    opacity 0.25s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0.55s;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* —— 头部底下的双金线分隔：标题区和 Tab 区之间的天然分割 —— */
.classes-modal__head::after {
  content: "";
  display: block;
  margin: 18px auto 0;
  width: 80%;
  height: 6px;
  background:
    linear-gradient(90deg, transparent 0%, rgba(245, 214, 138, 0.4) 18%, rgba(245, 214, 138, 1) 50%, rgba(245, 214, 138, 0.4) 82%, transparent 100%) center top / 100% 1.5px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(245, 214, 138, 0.2) 30%, rgba(245, 214, 138, 0.55) 50%, rgba(245, 214, 138, 0.2) 70%, transparent 100%) center bottom / 70% 0.5px no-repeat;
}

/* —— 卷轴轴：上下两根金属横轴，伸出 Modal 边缘形成"卷轴端"质感 —— */
.classes-modal__rod {
  position: absolute;
  left: -22px;
  right: -22px;
  height: 18px;
  /* 金属轴本身：上下亮金、中间暗金的圆柱质感 */
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 35%, var(--gold-deep) 70%, var(--gold) 100%);
  border-radius: 9px;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.55),
    0 8px 18px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -2px 5px rgba(150, 100, 30, 0.5);
  z-index: 5;
}

.classes-modal__rod--top {
  top: -9px;
}

.classes-modal__rod--bot {
  bottom: -9px;
}

/* —— 卷轴轴两端的金属圆头（左右各一个，伸出轴外）—— */
.classes-modal__rod::before,
.classes-modal__rod::after {
  content: "";
  position: absolute;
  top: -6px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  /* 金属球质感：左上高光 + 右下暗影 */
  background:
    radial-gradient(circle at 30% 28%, #fff8e0 0%, var(--gold-bright) 18%, var(--gold) 45%, var(--gold-deep) 78%, #6a4818 100%);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.6),
    0 6px 14px rgba(0, 0, 0, 0.5),
    inset 0 -3px 6px rgba(80, 50, 10, 0.6);
}

.classes-modal__rod::before {
  left: -12px;
}

.classes-modal__rod::after {
  right: -12px;
}

/* 勾选 Modal toggle → 显示遮罩和 Modal */
.classes__toggle:checked ~ .classes-modal__backdrop {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}

.classes__toggle:checked ~ .classes-modal {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scaleY(1);
  transition:
    opacity 0.25s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

/* —— Modal 关闭按钮：圆形金边底 + 大 ×，hover 旋转 —— */
.classes-modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  color: var(--gold);
  background: radial-gradient(circle, rgba(245, 214, 138, 0.18) 0%, transparent 70%);
  border: 1px solid var(--gold-faint);
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  z-index: 4;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.classes-modal__close:hover {
  transform: rotate(90deg);
  color: var(--gold-bright);
  border-color: var(--gold);
  background: radial-gradient(circle, rgba(245, 214, 138, 0.35) 0%, transparent 70%);
}

/* —— Modal 头部 —— */
.classes-modal__head {
  text-align: center;
  margin: 12px 0 22px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.classes-modal__title {
  margin: 0;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.32em;
  padding-left: 0.32em;
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65));
}

/* 副标题：两侧加金线（与第二屏副标题同款）*/
.classes-modal__sub {
  margin: 10px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  letter-spacing: 0.28em;
  padding-left: 0.28em;
  color: var(--gold);
  opacity: 0.82;
}

.classes-modal__sub::before,
.classes-modal__sub::after {
  content: "";
  flex: 0 0 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
}
.classes-modal__sub::before { margin-right: 14px; }
.classes-modal__sub::after  { margin-left: 14px; }

/* —— Tab 切换条：3 块"令牌"并排 —— */
.classes-modal__tabs {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 14px;
  flex-shrink: 0;
  z-index: 2;
}

/* Tab 下方贯通三块令牌的金色细线（不是默认的 border-bottom，自带渐变） */
.classes-modal__tabs::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--gold-soft) 50%, transparent 100%);
}

/* —— 单个 Tab：默认深红令牌底 + 淡金边 —— */
.classes-tab {
  position: relative;
  padding: 9px 22px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.22em;
  padding-left: calc(22px + 0.22em);
  color: var(--gold);
  opacity: 0.78;
  background: linear-gradient(180deg, rgba(140, 24, 24, 0.45) 0%, rgba(50, 6, 6, 0.6) 100%);
  border: 1px solid var(--gold-faint);
  border-radius: 2px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.25s ease, color 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

/* hover：金边提亮 + 微微上浮 */
.classes-tab:hover {
  opacity: 1;
  border-color: var(--gold-soft);
  background: linear-gradient(180deg, rgba(180, 30, 30, 0.55) 0%, rgba(70, 8, 8, 0.7) 100%);
  transform: translateY(-1px);
}

/* —— 当前选中的 Tab：整块金箔 + 深红字 + 内凹质感（"盖章"效果）—— */
#class-tab-warrior:checked ~ .classes-modal .classes-tab--warrior,
#class-tab-taoist:checked  ~ .classes-modal .classes-tab--taoist,
#class-tab-mage:checked    ~ .classes-modal .classes-tab--mage {
  opacity: 1;
  color: var(--red-deep);
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  border-color: var(--gold);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -2px 4px rgba(200, 154, 62, 0.45),
    0 4px 14px rgba(0, 0, 0, 0.5);
  transform: translateY(0);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}

/* —— 面板展示区：装裱画框（暗底 + 金边 + 内嵌阴影）—— */
.classes-modal__stage {
  position: relative;
  flex: 1;
  min-height: 360px;
  overflow: hidden;
  padding: 16px;
  background:
    radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 100%);
  border: 1px solid var(--gold-soft);
  border-radius: 3px;
  box-shadow:
    inset 0 0 0 2px rgba(0, 0, 0, 0.45),
    inset 0 0 24px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(0, 0, 0, 0.6);
}

.classes-panel {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.98);
  transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.35s;
}

.classes-panel img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border: 1px solid var(--gold);
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.3);
  /* 双层金边装裱：外层金faint、内层gold、深投影 */
  box-shadow:
    0 0 0 3px rgba(0, 0, 0, 0.55),
    0 0 0 4px var(--gold-faint),
    0 16px 40px rgba(0, 0, 0, 0.65),
    inset 0 0 0 1px rgba(255, 220, 150, 0.25);
}

/* —— 当前选中的面板：淡入显示 —— */
#class-tab-warrior:checked ~ .classes-modal .classes-panel--warrior,
#class-tab-taoist:checked  ~ .classes-modal .classes-panel--taoist,
#class-tab-mage:checked    ~ .classes-modal .classes-panel--mage {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ==========================================================================
   响应式
   ========================================================================== */
@media (max-width: 768px) {
  .classes-trigger {
    min-width: 280px;
    min-height: 56px;
    padding: 0 40px;
    padding-left: calc(40px + 0.28em);
    font-size: 15px;
    letter-spacing: 0.28em;
    margin-top: 48px;
    gap: 12px;
  }

  .classes-trigger__deco {
    width: 12px;
    height: 12px;
  }

  .classes-trigger__icon {
    width: 30px;
    height: 10px;
  }

  .classes-modal {
    width: 94vw;
    padding: 36px 18px 36px;
    max-height: 86vh;
  }

  /* 手机端卷轴轴和圆头按比例收小 */
  .classes-modal__rod {
    left: -14px;
    right: -14px;
    height: 14px;
    border-radius: 7px;
  }

  .classes-modal__rod--top { top: -7px; }
  .classes-modal__rod--bot { bottom: -7px; }

  .classes-modal__rod::before,
  .classes-modal__rod::after {
    width: 22px;
    height: 22px;
    top: -4px;
  }

  .classes-modal__rod::before { left: -8px; }
  .classes-modal__rod::after  { right: -8px; }

  .classes-modal__close {
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    font-size: 20px;
  }

  .classes-modal__title {
    font-size: 22px;
    letter-spacing: 0.28em;
    padding-left: 0.28em;
  }

  .classes-modal__sub::before,
  .classes-modal__sub::after {
    flex-basis: 40px;
  }

  .classes-modal__tabs {
    gap: 8px;
  }

  .classes-tab {
    padding: 8px 14px;
    font-size: 13px;
    letter-spacing: 0.16em;
    padding-left: calc(14px + 0.16em);
  }

  .classes-modal__stage {
    min-height: 280px;
  }
}

@media (max-width: 480px) {
  .classes-modal {
    width: 96vw;
    padding: 32px 12px 32px;
  }

  .classes-modal__rod {
    left: -10px;
    right: -10px;
    height: 12px;
    border-radius: 6px;
  }

  .classes-modal__rod--top { top: -6px; }
  .classes-modal__rod--bot { bottom: -6px; }

  .classes-modal__rod::before,
  .classes-modal__rod::after {
    width: 18px;
    height: 18px;
    top: -3px;
  }

  .classes-modal__rod::before { left: -6px; }
  .classes-modal__rod::after  { right: -6px; }

  .classes-modal__close {
    width: 28px;
    height: 28px;
    font-size: 18px;
  }

  .classes-modal__tabs {
    gap: 6px;
  }

  .classes-tab {
    padding: 7px 10px;
    font-size: 12px;
    letter-spacing: 0.12em;
    padding-left: calc(10px + 0.12em);
  }

  .classes-modal__title {
    font-size: 20px;
  }

  .classes-modal__sub {
    font-size: 11px;
  }

  .classes-modal__sub::before,
  .classes-modal__sub::after {
    flex-basis: 24px;
  }
}

/* ==========================================================================
   客服微信二维码弹窗（小型 Modal，与客服卡同款盔甲）
   - 触发：点击客服卡里的"客服微信" label
   - 形态：小盔甲（4 折角 + 红黑渐变 + 圆关闭按钮）
   - 内容：标题 + 二维码（白边相框）+ 说明
   - 兼容：iOS 9+ / 安卓 4+
   ========================================================================== */
.wechat-modal__toggle {
  /* fixed 让 input 永远在视口内（关键修复：避免 focus 时浏览器滚到 input 位置）*/
  position: fixed;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  clip: rect(0 0 0 0);
}

/* —— 遮罩 —— */
.wechat-modal__backdrop {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(0, 0, 0, 0.72);
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.wechat-modal__toggle:checked ~ .wechat-modal__backdrop {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}

/* —— Modal 本体：与客服卡同款配色 + 小盔甲质感 —— */
.wechat-modal {
  --gold: #f5d68a;
  --gold-bright: #ffe9b8;
  --gold-deep: #c89a3e;
  --gold-soft: rgba(245, 214, 138, 0.55);
  --gold-faint: rgba(245, 214, 138, 0.2);
  --red-deep: #4a0707;
  --red-mid: #7a0c0c;

  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 301;
  width: 300px;
  padding: 28px 22px 22px;
  background:
    radial-gradient(ellipse at top, rgba(255, 200, 110, 0.12) 0%, transparent 60%),
    linear-gradient(180deg, var(--red-mid) 0%, var(--red-deep) 100%);
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 3px;
  box-shadow:
    0 0 0 1px var(--gold-faint),
    0 24px 60px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 220, 150, 0.22),
    inset 0 -2px 12px rgba(0, 0, 0, 0.5);
  color: #fff;
  isolation: isolate;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%) scale(0.92);
  transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.32s;
  text-align: center;
}

.wechat-modal__toggle:checked ~ .wechat-modal {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
  transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

/* —— 4 个金折角（与客服卡同款）—— */
.wechat-modal__deco {
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
}
.wechat-modal__deco--tl { top: 5px; left: 5px;  border-top: 1px solid var(--gold-soft); border-left: 1px solid var(--gold-soft); }
.wechat-modal__deco--tr { top: 5px; right: 5px; border-top: 1px solid var(--gold-soft); border-right: 1px solid var(--gold-soft); }
.wechat-modal__deco--bl { bottom: 5px; left: 5px;  border-bottom: 1px solid var(--gold-soft); border-left: 1px solid var(--gold-soft); }
.wechat-modal__deco--br { bottom: 5px; right: 5px; border-bottom: 1px solid var(--gold-soft); border-right: 1px solid var(--gold-soft); }

/* —— 关闭按钮：圆形金边 —— */
.wechat-modal__close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  color: var(--gold);
  background: radial-gradient(circle, rgba(245, 214, 138, 0.15) 0%, transparent 70%);
  border: 1px solid var(--gold-faint);
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.3s ease, border-color 0.25s ease, color 0.25s ease;
}

.wechat-modal__close:hover {
  transform: rotate(90deg);
  border-color: var(--gold);
  color: var(--gold-bright);
}

/* —— 标题：烫金 —— */
.wechat-modal__title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.32em;
  padding-left: 0.32em;
  background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.55));
}

/* —— 二维码相框：白色衬底（扫码必备）+ 金边 —— */
.wechat-modal__qr-wrap {
  padding: 12px;
  background: #fff;
  border: 1px solid var(--gold);
  border-radius: 3px;
  box-shadow:
    0 0 0 3px rgba(0, 0, 0, 0.5),
    0 0 0 4px var(--gold-faint),
    0 10px 28px rgba(0, 0, 0, 0.5);
  margin: 0 auto;
  width: fit-content;
}

.wechat-modal__qr {
  display: block;
  width: 200px;
  height: 200px;
  object-fit: contain;
}

/* —— 提示文案 —— */
.wechat-modal__hint {
  margin: 16px 0 0;
  font-size: 12px;
  letter-spacing: 0.22em;
  padding-left: 0.22em;
  color: var(--gold);
  opacity: 0.78;
}

/* —— 让客服卡里的 label 仍有 a 标签同款手型（默认 label 浏览器有差异）—— */
.cloud-card__item {
  cursor: pointer;
}

/* —— 手机端微调 —— */
@media (max-width: 480px) {
  .wechat-modal {
    width: 280px;
    padding: 26px 18px 20px;
  }

  .wechat-modal__qr {
    width: 180px;
    height: 180px;
  }
}
