/**
 * 闱进公考 PC 首页 ——「学府严选」主题
 * 色系：深海军蓝 #0B2350 / 古典金 #C99A3F / 纸张米色 #F7F2E6
 * 灵感来源：品牌徽章（橄榄枝 + 法槌 + 书本 + 缎带）
 */
:root {
  --wj-navy: #0b2350;
  --wj-navy-2: #142e64;
  --wj-navy-3: #060f2c;
  --wj-navy-4: #1c3a78;
  --wj-gold: #c99a3f;
  --wj-gold-2: #e2bd6a;
  --wj-gold-3: #8c6a1f;
  --wj-gold-soft: rgba(201, 154, 63, 0.16);
  --wj-cream: #f7f2e6;
  --wj-cream-2: #fbf7ec;
  --wj-paper: #fffaf0;
  --wj-ink: #1a2540;
  --wj-muted: #5b6a86;
  --wj-line: #e5ddc7;
  --wj-line-2: rgba(11, 35, 80, 0.12);
  --wj-r: 6px;
  --wj-r-lg: 10px;
  --wj-sh-card: 0 12px 32px rgba(11, 35, 80, 0.08), 0 2px 6px rgba(11, 35, 80, 0.05);
  --wj-sh-soft: 0 6px 18px rgba(11, 35, 80, 0.06);
  --wj-sh-deep: 0 18px 48px rgba(11, 35, 80, 0.28);
  --wj-t: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  --wj-grad-gold: linear-gradient(135deg, #e2bd6a 0%, #c99a3f 50%, #8c6a1f 100%);
  --wj-grad-navy: linear-gradient(135deg, #142e64 0%, #0b2350 55%, #060f2c 100%);
  --wj-content-max: 1280px;
  --wj-content-pad: 24px;
  --wj-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", "宋体", serif;
}

/* ============ 基础 ============ */
.zz-home {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(11, 35, 80, 0.06), transparent 60%),
    repeating-linear-gradient(135deg, transparent 0 24px, rgba(201, 154, 63, 0.02) 24px 25px),
    var(--wj-cream);
  color: var(--wj-ink);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.7;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.zz-main {
  padding-bottom: 100px;
}

.zz-wrap {
  max-width: var(--wj-content-max);
  margin: 0 auto;
  padding: 0 var(--wj-content-pad);
}

/* ============ 通用：版头 / 装饰 ============ */
.zz-sec-head {
  text-align: center;
  margin: 60px auto 32px;
  position: relative;
}
.zz-sec-head__t {
  font-family: var(--wj-serif);
  font-size: 30px;
  font-weight: 700;
  color: var(--wj-navy);
  letter-spacing: 1px;
  margin: 0;
  display: inline-block;
  position: relative;
  padding: 0 56px;
}
.zz-sec-head__t::before,
.zz-sec-head__t::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wj-gold), transparent);
}
.zz-sec-head__t::before { left: 0; }
.zz-sec-head__t::after { right: 0; }
.zz-sec-head__s {
  font-size: 14px;
  color: var(--wj-muted);
  margin: 12px 0 0;
  letter-spacing: 0.5px;
}
.zz-sec-head--light .zz-sec-head__t { color: var(--wj-cream); }
.zz-sec-head--light .zz-sec-head__t::before,
.zz-sec-head--light .zz-sec-head__t::after {
  background: linear-gradient(90deg, transparent, var(--wj-gold-2), transparent);
}
.zz-sec-head--light .zz-sec-head__s { color: rgba(255, 250, 240, 0.7); }

/* ============ HERO 轮播 ============ */
.zz-hero {
  position: relative;
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(201, 154, 63, 0.18), transparent 65%),
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(201, 154, 63, 0.12), transparent 60%),
    var(--wj-navy-3);
  border-top: 1px solid var(--wj-gold);
  border-bottom: 3px solid var(--wj-gold);
  padding: 16px 0;
}
.zz-hero::before,
.zz-hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 1px;
  background: repeating-linear-gradient(90deg, var(--wj-gold) 0 8px, transparent 8px 16px);
  opacity: 0.55;
}
.zz-hero::before { top: 6px; }
.zz-hero::after { bottom: 6px; }
.zz-hero__banner {
  max-width: var(--wj-content-max);
  margin: 0 auto;
  position: relative;
  padding: 8px;
  background: var(--wj-navy);
  border: 1px solid var(--wj-gold);
  box-shadow: inset 0 0 0 1px rgba(201, 154, 63, 0.35);
}
/* 四角金边 */
.zz-hero__banner > .slick-list { position: relative; }
.zz-hero__banner > .slick-list::before,
.zz-hero__banner > .slick-list::after,
.zz-hero__banner > .slick-list > .slick-track::before,
.zz-hero__banner > .slick-list > .slick-track::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--wj-gold-2);
  z-index: 6;
  pointer-events: none;
}
.zz-hero__banner > .slick-list::before { top: -2px; left: -2px; border-right: 0; border-bottom: 0; }
.zz-hero__banner > .slick-list::after { top: -2px; right: -2px; border-left: 0; border-bottom: 0; }
.zz-hero__slide {
  display: block !important;
  height: 444px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.zz-banner-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(11, 35, 80, 0.7);
  border: 1px solid var(--wj-gold);
  color: var(--wj-gold-2);
  font-size: 18px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: var(--wj-t);
}
.zz-banner-arrow:hover {
  background: var(--wj-gold);
  color: var(--wj-navy);
}
.zz-banner-arrow--prev { left: 24px; transform: translateY(-50%) rotate(180deg); }
.zz-banner-arrow--next { right: 24px; }
.zz-banner-dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 5;
}
.zz-banner-dots li button {
  width: 28px;
  height: 3px;
  background: rgba(255, 250, 240, 0.4);
  border: none;
  font-size: 0;
  cursor: pointer;
  transition: var(--wj-t);
}
.zz-banner-dots li.slick-active button { background: var(--wj-gold); }

/* ============ 品牌徽章带 ============ */
.wj-crest {
  background: var(--wj-grad-navy);
  color: var(--wj-cream);
  padding: 40px 0;
  position: relative;
  overflow: hidden;
}
.wj-crest::before,
.wj-crest::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 220px;
  background: radial-gradient(circle at 30% 50%, rgba(201, 154, 63, 0.18), transparent 70%);
  pointer-events: none;
}
.wj-crest::before { left: 0; }
.wj-crest::after { right: 0; transform: scaleX(-1); }
.wj-crest__inner {
  max-width: var(--wj-content-max);
  margin: 0 auto;
  padding: 0 var(--wj-content-pad);
  display: flex;
  align-items: center;
  gap: 32px;
  position: relative;
}
.wj-crest__logo {
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--wj-cream-2);
  padding: 6px;
  box-shadow: 0 0 0 1px var(--wj-gold), 0 0 0 6px rgba(201, 154, 63, 0.18), 0 8px 24px rgba(0, 0, 0, 0.35);
}
.wj-crest__logo img {    margin-top: -39px;
    display: block;
    width: 200px;
    height: 200px;
    object-fit: contain;
    margin-left: -42px;}
.wj-crest__words { flex: 1; min-width: 0; }
.wj-crest__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  letter-spacing: 4px;
  color: var(--wj-gold-2);
  margin-bottom: 8px;
  text-transform: uppercase;
}
.wj-crest__eyebrow::before,
.wj-crest__eyebrow::after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--wj-gold);
}
.wj-crest__title {
  font-family: var(--wj-serif);
  font-size: 30px;
  font-weight: 700;
  color: var(--wj-cream);
  margin: 0 0 8px;
  letter-spacing: 2px;
}
.wj-crest__title em {
  font-style: normal;
  color: var(--wj-gold-2);
  padding: 0 6px;
}
.wj-crest__desc {
  font-size: 15px;
  color: rgba(255, 250, 240, 0.78);
  margin: 0;
  max-width: 640px;
}
.wj-crest__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.wj-crest__pills span {
  font-size: 13px;
  padding: 5px 14px;
  border: 1px solid rgba(201, 154, 63, 0.55);
  color: var(--wj-gold-2);
  border-radius: 999px;
  background: rgba(255, 250, 240, 0.04);
}
.wj-crest__side {
  flex: 0 0 240px;
  border-left: 1px solid rgba(201, 154, 63, 0.25);
  padding-left: 28px;
  text-align: left;
}
.wj-crest__side-num {
  font-family: var(--wj-serif);
  font-size: 36px;
  color: var(--wj-gold-2);
  line-height: 1;
  margin: 0;
}
.wj-crest__side-txt {
  font-size: 13px;
  color: rgba(255, 250, 240, 0.7);
  margin: 6px 0 0;
}

/* ============ 引言短句 ============ */
.zz-youth-line {
  text-align: center;
  font-family: var(--wj-serif);
  font-size: 20px;
  color: var(--wj-navy);
  margin: 48px auto 0;
  max-width: 920px;
  padding: 0 var(--wj-content-pad);
  position: relative;
  letter-spacing: 1px;
}
.zz-youth-line::before,
.zz-youth-line::after {
  content: "「";
  color: var(--wj-gold);
  font-size: 32px;
  vertical-align: -2px;
  margin: 0 6px;
}
.zz-youth-line::after { content: "」"; }
.zz-youth-line strong {
  color: var(--wj-gold-3);
  font-weight: 700;
  padding: 0 4px;
  border-bottom: 2px solid var(--wj-gold);
}

/* ============ 信任四点 ============ */
.zz-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.zz-trust__item {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  border-top: 3px solid var(--wj-gold);
  padding: 32px 24px 28px;
  text-align: center;
  position: relative;
  transition: var(--wj-t);
}
.zz-trust__item::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px dashed rgba(201, 154, 63, 0.25);
  pointer-events: none;
}
.zz-trust__item:hover {
  transform: translateY(-4px);
  box-shadow: var(--wj-sh-card);
  border-top-color: var(--wj-gold-3);
}
.zz-ico {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  background: var(--wj-navy);
  color: var(--wj-gold-2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 0 0 4px var(--wj-cream-2), 0 0 0 5px rgba(201, 154, 63, 0.4);
}
.zz-ico::before {
  font-family: var(--wj-serif);
  font-size: 22px;
  font-weight: 700;
  color: var(--wj-gold-2);
}
.zz-ico--book::before { content: "学"; }
.zz-ico--target::before { content: "策"; }
.zz-ico--users::before { content: "辅"; }
.zz-ico--shield::before { content: "约"; }
.zz-trust__t {
  font-family: var(--wj-serif);
  font-size: 19px;
  color: var(--wj-navy);
  margin: 0 0 10px;
  font-weight: 700;
}
.zz-trust__d {
  font-size: 13.5px;
  color: var(--wj-muted);
  line-height: 1.75;
  margin: 0;
}

/* ============ 时间轴 ============ */
.zz-timeline {
  margin-top: 24px;
  background:
    linear-gradient(180deg, var(--wj-paper) 0%, var(--wj-cream-2) 100%);
  border: 1px solid var(--wj-line);
  padding: 8px 40px 40px;
  position: relative;
}
.zz-timeline::before,
.zz-timeline::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid var(--wj-gold);
}
.zz-timeline::before { top: 8px; left: 8px; border-right: 0; border-bottom: 0; }
.zz-timeline::after { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }
.zz-timeline__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
}
.zz-timeline__list::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--wj-gold) 0 6px, transparent 6px 12px);
}
.zz-timeline__item {
  text-align: center;
  padding: 0 16px;
  position: relative;
}
.zz-timeline__dot {
  display: block;
  width: 18px;
  height: 18px;
  margin: 12px auto 16px;
  border-radius: 50%;
  background: var(--wj-gold);
  border: 4px solid var(--wj-paper);
  box-shadow: 0 0 0 1px var(--wj-gold);
  position: relative;
  z-index: 1;
}
.zz-timeline__main strong {
  display: block;
  font-family: var(--wj-serif);
  font-size: 17px;
  color: var(--wj-navy);
  margin-bottom: 6px;
}
.zz-timeline__main p {
  font-size: 13px;
  color: var(--wj-muted);
  margin: 0 0 12px;
  line-height: 1.7;
}
.zz-timeline__badge {
  display: inline-block;
  font-size: 12px;
  color: var(--wj-gold-3);
  padding: 3px 12px;
  border: 1px solid var(--wj-gold);
  background: rgba(201, 154, 63, 0.06);
  letter-spacing: 0.5px;
}
.zz-timeline__cta {
  text-align: center;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px dashed var(--wj-line);
}
.zz-timeline__cta span {
  color: var(--wj-muted);
  margin-right: 14px;
  font-size: 14px;
}

/* ============ 通用按钮 ============ */
.zz-btn {
  display: inline-block;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  border-radius: 2px;
  cursor: pointer;
  transition: var(--wj-t);
  text-decoration: none;
  border: 1px solid transparent;
  position: relative;
  white-space: nowrap;
}
.zz-btn--grad {
  background: var(--wj-grad-gold);
  color: var(--wj-navy);
  border-color: var(--wj-gold-3);
  box-shadow: 0 6px 18px rgba(201, 154, 63, 0.3);
}
.zz-btn--grad:hover {
  background: var(--wj-gold-3);
  color: var(--wj-cream);
  transform: translateY(-2px);
}
.zz-btn--solid {
  background: var(--wj-navy);
  color: var(--wj-gold-2);
  border-color: var(--wj-navy);
}
.zz-btn--solid:hover { background: var(--wj-navy-3); color: var(--wj-gold-2); }
.zz-btn--line {
  background: transparent;
  color: var(--wj-navy);
  border-color: var(--wj-navy);
}
.zz-btn--line:hover { background: var(--wj-navy); color: var(--wj-gold-2); }
.zz-btn--outline {
  background: transparent;
  color: var(--wj-gold-3);
  border-color: var(--wj-gold);
}
.zz-btn--outline:hover { background: var(--wj-gold); color: var(--wj-navy); }
.zz-btn--light {
  background: var(--wj-cream);
  color: var(--wj-navy);
  border-color: var(--wj-gold);
}
.zz-btn--light:hover { background: var(--wj-gold); color: var(--wj-navy); }
.zz-btn--ghost {
  background: transparent;
  color: var(--wj-cream);
  border-color: var(--wj-gold-2);
}
.zz-btn--ghost:hover { background: rgba(201, 154, 63, 0.18); color: var(--wj-gold-2); }

/* ============ 试卷方向 chip ============ */
.zz-tracks {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 8px 40px 36px;
  margin-top: 16px;
  position: relative;
}
.zz-tracks .zz-sec-head { margin-top: 32px; }
.zz-tracks__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 8px 0 20px;
}
.zz-tracks__chips a {
  font-size: 14px;
  color: var(--wj-navy);
  padding: 8px 20px;
  border: 1px solid var(--wj-line);
  background: var(--wj-cream-2);
  text-decoration: none;
  transition: var(--wj-t);
  position: relative;
}
.zz-tracks__chips a::before {
  content: "❖";
  color: var(--wj-gold);
  margin-right: 6px;
  font-size: 11px;
}
.zz-tracks__chips a:hover {
  background: var(--wj-navy);
  color: var(--wj-gold-2);
  border-color: var(--wj-navy);
}
.zz-tracks__hint {
  text-align: center;
  font-size: 13px;
  color: var(--wj-muted);
  margin: 0;
  padding-top: 18px;
  border-top: 1px dashed var(--wj-line);
}

/* ============ 跑马灯 ============ */
.zz-marquee {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--wj-navy);
  color: var(--wj-cream);
  padding: 14px 24px;
  margin-top: 32px;
  border-left: 4px solid var(--wj-gold);
  position: relative;
}
.zz-marquee__tag {
  font-family: var(--wj-serif);
  font-size: 14px;
  color: var(--wj-navy);
  background: var(--wj-gold);
  padding: 4px 14px;
  font-weight: 700;
  letter-spacing: 1px;
  flex-shrink: 0;
}
.zz-marquee__track {
  flex: 1;
  overflow: hidden;
}
.zz-marquee__list {
  display: flex;
  gap: 32px;
  list-style: none;
  padding: 0;
  margin: 0;
  animation: wj-marquee 60s linear infinite;
  white-space: nowrap;
}
.zz-marquee__list a {
  color: rgba(255, 250, 240, 0.85);
  font-size: 14px;
  text-decoration: none;
  transition: var(--wj-t);
}
.zz-marquee__list a:hover { color: var(--wj-gold-2); }
@keyframes wj-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============ 考试入口卡 ============ */
.zz-exam__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.zz-exam__card {
  display: flex;
  flex-direction: column;
  padding: 32px 24px;
  text-decoration: none;
  position: relative;
  border: 1px solid var(--wj-line);
  background: var(--wj-paper);
  color: var(--wj-navy);
  min-height: 200px;
  transition: var(--wj-t);
  overflow: hidden;
}
.zz-exam__card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 0;
  border-top: 32px solid var(--wj-gold);
  border-right: 32px solid transparent;
}
.zz-exam__card::after {
  content: "";
  position: absolute;
  right: -40px; bottom: -40px;
  width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(201, 154, 63, 0.18), transparent 70%);
  transition: var(--wj-t);
}
.zz-exam__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--wj-sh-card);
  border-color: var(--wj-gold);
}
.zz-exam__card:hover::after { transform: scale(1.4); }
.zz-exam__en {
  font-family: var(--wj-serif);
  font-size: 13px;
  letter-spacing: 3px;
  color: var(--wj-gold-3);
  margin-bottom: 6px;
}
.zz-exam__cn {
  font-family: var(--wj-serif);
  font-size: 28px;
  font-weight: 700;
  color: var(--wj-navy);
  margin-bottom: 10px;
}
.zz-exam__hint {
  font-size: 13px;
  color: var(--wj-muted);
  margin-bottom: 24px;
  flex: 1;
}
.zz-exam__go {
  font-size: 13px;
  color: var(--wj-gold-3);
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.zz-exam__card--gk { background: linear-gradient(180deg, #fffaf0 0%, #fff8e8 100%); }
.zz-exam__card--sk { background: linear-gradient(180deg, #fffaf0 0%, #fdf3df 100%); }
.zz-exam__card--js { background: linear-gradient(180deg, #fffaf0 0%, #fbeecb 100%); }
.zz-exam__card--sy { background: linear-gradient(180deg, #fffaf0 0%, #f7e7b6 100%); }

/* ============ 班型 ============ */
.zz-plans__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 24px;
}
.zz-plan {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 36px 28px 28px;
  position: relative;
  transition: var(--wj-t);
}
.zz-plan::before {
  content: "";
  position: absolute;
  top: 16px; left: 16px; right: 16px; bottom: 16px;
  border: 1px solid rgba(201, 154, 63, 0.22);
  pointer-events: none;
}
.zz-plan:hover { box-shadow: var(--wj-sh-card); transform: translateY(-4px); }
.zz-plan--hot {
  background: var(--wj-grad-navy);
  color: var(--wj-cream);
  border-color: var(--wj-gold);
  box-shadow: var(--wj-sh-deep);
  transform: scale(1.04);
}
.zz-plan--hot::before { border-color: rgba(226, 189, 106, 0.4); }
.zz-plan__ribbon {
  position: absolute;
  top: -1px;
  right: 24px;
  background: var(--wj-gold);
  color: var(--wj-navy);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px 8px;
  letter-spacing: 1px;
}
.zz-plan__ribbon::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -8px;
  height: 0;
  border-left: 12px solid var(--wj-gold-3);
  border-right: 12px solid var(--wj-gold-3);
  border-bottom: 8px solid transparent;
}
.zz-plan__name {
  font-family: var(--wj-serif);
  font-size: 22px;
  color: var(--wj-navy);
  margin: 0 0 6px;
  position: relative;
  text-align: center;
}
.zz-plan--hot .zz-plan__name { color: var(--wj-gold-2); }
.zz-plan__tag {
  text-align: center;
  font-size: 13px;
  color: var(--wj-muted);
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px dashed var(--wj-line);
  position: relative;
}
.zz-plan--hot .zz-plan__tag { color: rgba(255, 250, 240, 0.7); border-bottom-color: rgba(201, 154, 63, 0.3); }
.zz-plan__ul {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  position: relative;
}
.zz-plan__ul li {
  font-size: 14px;
  padding: 8px 0 8px 22px;
  border-bottom: 1px dotted var(--wj-line);
  position: relative;
}
.zz-plan__ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--wj-gold);
  font-weight: 700;
}
.zz-plan--hot .zz-plan__ul li { color: rgba(255, 250, 240, 0.9); border-bottom-color: rgba(255, 250, 240, 0.08); }
.zz-plan--hot .zz-plan__ul li::before { color: var(--wj-gold-2); }
.zz-plan__price {
  text-align: center;
  font-family: var(--wj-serif);
  font-size: 15px;
  color: var(--wj-gold-3);
  margin: 0 0 20px;
  position: relative;
}
.zz-plan--hot .zz-plan__price { color: var(--wj-gold-2); }
.zz-plan .zz-btn { display: block; text-align: center; position: relative; }

/* ============ 编辑精选 ============ */
.zz-spotlight {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 28px;
  margin-top: 24px;
}
.zz-spotlight__main {
  display: block;
  text-decoration: none;
  color: var(--wj-navy);
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  overflow: hidden;
  transition: var(--wj-t);
}
.zz-spotlight__main:hover { box-shadow: var(--wj-sh-card); }
.zz-spotlight__media { overflow: hidden; aspect-ratio: 16/9; }
.zz-spotlight__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.zz-spotlight__main:hover .zz-spotlight__media img { transform: scale(1.04); }
.zz-spotlight__body { padding: 26px 28px; }
.zz-badge {
  display: inline-block;
  background: var(--wj-gold);
  color: var(--wj-navy);
  font-size: 12px;
  padding: 3px 12px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 14px;
}
.zz-spotlight__title {
  font-family: var(--wj-serif);
  font-size: 22px;
  color: var(--wj-navy);
  margin: 0 0 12px;
  line-height: 1.45;
}
.zz-spotlight__desc {
  font-size: 14px;
  color: var(--wj-muted);
  margin: 0 0 14px;
  line-height: 1.75;
}
.zz-spotlight__meta {
  font-size: 12px;
  color: var(--wj-gold-3);
  letter-spacing: 1px;
}

.zz-spotlight__side .zz-side-split {
  display: grid;
  gap: 20px;
}
.zz-side-split__stack { display: grid; gap: 20px; }
.zz-side-split__tips {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  border-left: 3px solid var(--wj-gold);
  padding: 20px 22px;
}
.zz-side-split__tips-k {
  font-family: var(--wj-serif);
  font-size: 16px;
  color: var(--wj-navy);
  margin: 0 0 12px;
  font-weight: 700;
}
.zz-side-split__tips-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
}
.zz-side-split__tips-ul li {
  padding: 8px 0;
  border-bottom: 1px dotted var(--wj-line);
  color: var(--wj-ink);
  line-height: 1.7;
}
.zz-side-split__tips-ul li:last-child { border-bottom: 0; }
.zz-side-split__tips-ul span {
  display: inline-block;
  background: var(--wj-navy);
  color: var(--wj-gold-2);
  font-size: 11px;
  padding: 2px 8px;
  margin-right: 8px;
  font-family: var(--wj-serif);
  letter-spacing: 1px;
}
.zz-side-split__feed {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 20px 22px;
}
.zz-side-split__head { margin-bottom: 12px; }
.zz-side-title {
  font-family: var(--wj-serif);
  font-size: 16px;
  color: var(--wj-navy);
  margin: 0;
  font-weight: 700;
}
.zz-side-title::before {
  content: "❖";
  color: var(--wj-gold);
  margin-right: 6px;
}
.zz-side-split__hint, .zz-side-split__more {
  font-size: 12px;
  color: var(--wj-muted);
  margin: 4px 0 6px;
}
.zz-hot-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: wjhot;
}
.zz-hot-list li {
  counter-increment: wjhot;
  padding: 7px 0 7px 28px;
  position: relative;
  border-bottom: 1px dotted var(--wj-line);
  font-size: 13.5px;
}
.zz-hot-list li:last-child { border-bottom: 0; }
.zz-hot-list li::before {
  content: counter(wjhot);
  position: absolute;
  left: 0;
  top: 8px;
  width: 18px;
  height: 18px;
  background: var(--wj-cream-2);
  border: 1px solid var(--wj-gold);
  color: var(--wj-gold-3);
  font-size: 11px;
  text-align: center;
  line-height: 18px;
  font-family: var(--wj-serif);
  font-weight: 700;
}
.zz-hot-list li:nth-child(1)::before,
.zz-hot-list li:nth-child(2)::before,
.zz-hot-list li:nth-child(3)::before {
  background: var(--wj-gold);
  color: var(--wj-navy);
  border-color: var(--wj-gold-3);
}
.zz-hot-list a {
  color: var(--wj-ink);
  text-decoration: none;
  transition: var(--wj-t);
}
.zz-hot-list a:hover { color: var(--wj-gold-3); }
.zz-side-split__cta {
  background: var(--wj-grad-navy);
  color: var(--wj-cream);
  padding: 24px 22px;
  border: 1px solid var(--wj-gold);
  text-align: center;
}
.zz-side-card__icons {
  font-size: 24px;
  letter-spacing: 12px;
  color: var(--wj-gold-2);
  margin-bottom: 10px;
}
.zz-side-split__cta-p {
  font-size: 13.5px;
  line-height: 1.75;
  margin: 0 0 16px;
  color: rgba(255, 250, 240, 0.85);
}
.zz-side-split__cta-p strong { color: var(--wj-gold-2); display: block; margin-bottom: 4px; }
.zz-side-split__btn { width: 100%; }

/* ============ 双线资讯 ============ */
.zz-dual__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.zz-dual__col {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 0 24px 24px;
}
.zz-dual__h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 -24px 16px;
  padding: 14px 24px;
  background: var(--wj-navy);
  color: var(--wj-gold-2);
  font-family: var(--wj-serif);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 1.5px;
  border-bottom: 2px solid var(--wj-gold);
}
.zz-dual__h span::before {
  content: "❖";
  color: var(--wj-gold);
  margin-right: 8px;
}
.zz-dual__h a {
  color: var(--wj-gold-2);
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  letter-spacing: 1px;
  font-family: -apple-system, "PingFang SC", sans-serif;
}
.zz-dual__h a:hover { color: var(--wj-cream); }
.zz-dual__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.zz-dual__list li { border-bottom: 1px dotted var(--wj-line); }
.zz-dual__list li:last-child { border-bottom: 0; }
.zz-dual__list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 11px 0 11px 18px;
  text-decoration: none;
  color: var(--wj-ink);
  font-size: 14px;
  position: relative;
  transition: var(--wj-t);
}
.zz-dual__list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border: 1px solid var(--wj-gold);
  transform: translateY(-50%) rotate(45deg);
}
.zz-dual__list a:hover { color: var(--wj-gold-3); padding-left: 24px; }
.zz-dual__list time {
  color: var(--wj-muted);
  font-size: 12px;
  font-family: var(--wj-serif);
  flex-shrink: 0;
  margin-left: 12px;
}

/* ============ Tabs ============ */
.zz-tabs__toolbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 24px;
}
.zz-tabs__label {
  font-size: 13px;
  color: var(--wj-muted);
  font-family: var(--wj-serif);
}
.zz-tabs__bar {
  display: inline-flex;
  border: 1px solid var(--wj-gold);
  background: var(--wj-paper);
}
.zz-tabs__btn {
  border: 0;
  background: transparent;
  padding: 10px 28px;
  font-family: var(--wj-serif);
  font-size: 15px;
  color: var(--wj-navy);
  cursor: pointer;
  transition: var(--wj-t);
  border-right: 1px solid var(--wj-line);
  letter-spacing: 1px;
}
.zz-tabs__btn:last-child { border-right: 0; }
.zz-tabs__btn.is-active {
  background: var(--wj-navy);
  color: var(--wj-gold-2);
}
.zz-tabs__btn:not(.is-active):hover { background: rgba(201, 154, 63, 0.1); }
.zz-tabs__panel {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 24px;
}
.zz-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 32px;
}
.zz-card-list li { border-bottom: 1px dotted var(--wj-line); }
.zz-card-list__a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0 10px 18px;
  text-decoration: none;
  color: var(--wj-ink);
  font-size: 14px;
  position: relative;
  transition: var(--wj-t);
}
.zz-card-list__a::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 50%;
  width: 5px;
  height: 5px;
  background: var(--wj-gold);
  transform: translateY(-50%) rotate(45deg);
}
.zz-card-list__a:hover { color: var(--wj-gold-3); padding-left: 22px; }
.zz-card-list__t { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: 12px; }
.zz-card-list__d {
  color: var(--wj-muted);
  font-size: 12px;
  font-family: var(--wj-serif);
  flex-shrink: 0;
}

/* ============ 工具箱 ============ */
.zz-tools__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
.zz-tools__item {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 22px 16px 18px;
  text-align: center;
  text-decoration: none;
  color: var(--wj-navy);
  transition: var(--wj-t);
  position: relative;
}
.zz-tools__item::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px dashed transparent;
  transition: var(--wj-t);
}
.zz-tools__item:hover {
  background: var(--wj-navy);
  color: var(--wj-gold-2);
  border-color: var(--wj-navy);
  transform: translateY(-3px);
  box-shadow: var(--wj-sh-card);
}
.zz-tools__item:hover::before { border-color: rgba(201, 154, 63, 0.5); }
.zz-tools__i {
  display: block;
  font-size: 28px;
  margin-bottom: 8px;
  color: var(--wj-gold);
  transition: var(--wj-t);
}
.zz-tools__item:hover .zz-tools__i { color: var(--wj-gold-2); }
.zz-tools__item strong {
  display: block;
  font-family: var(--wj-serif);
  font-size: 15px;
  margin-bottom: 4px;
  font-weight: 700;
}
.zz-tools__item small { font-size: 12px; color: var(--wj-muted); }
.zz-tools__item:hover small { color: rgba(255, 250, 240, 0.7); }

/* ============ 干货 mosaic ============ */
.zz-mosaic__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.zz-tile {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  transition: var(--wj-t);
  overflow: hidden;
}
.zz-tile:hover {
  box-shadow: var(--wj-sh-card);
  transform: translateY(-4px);
  border-color: var(--wj-gold);
}
.zz-tile__link { display: block; text-decoration: none; color: inherit; }
.zz-tile__pic {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-bottom: 1px solid var(--wj-line);
}
.zz-tile__pic img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s;
}
.zz-tile:hover .zz-tile__pic img { transform: scale(1.05); }
.zz-tile__t {
  font-family: var(--wj-serif);
  font-size: 16px;
  color: var(--wj-navy);
  margin: 16px 18px 8px;
  font-weight: 700;
  line-height: 1.5;
}
.zz-tile__d {
  font-size: 13px;
  color: var(--wj-muted);
  margin: 0 18px 18px;
  line-height: 1.7;
}

/* ============ 资料包 ============ */
.zz-gift {
  background: var(--wj-grad-navy);
  color: var(--wj-cream);
  padding: 60px 40px;
  margin-top: 60px;
  border: 1px solid var(--wj-gold);
  position: relative;
}
.zz-gift::before,
.zz-gift::after {
  content: "";
  position: absolute;
  width: 36px; height: 36px;
  border: 1px solid var(--wj-gold);
}
.zz-gift::before { top: 12px; left: 12px; border-right: 0; border-bottom: 0; }
.zz-gift::after { bottom: 12px; right: 12px; border-left: 0; border-top: 0; }
.zz-gift__inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: stretch;
}
.zz-gift__text h2 {
  font-family: var(--wj-serif);
  font-size: 28px;
  color: var(--wj-gold-2);
  margin: 0 0 14px;
  letter-spacing: 1px;
}
.zz-gift__text > p {
  font-size: 15px;
  line-height: 1.85;
  color: rgba(255, 250, 240, 0.85);
  margin: 0 0 20px;
}
.zz-gift__bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.zz-gift__bullets li {
  padding: 8px 0 8px 22px;
  position: relative;
  font-size: 14.5px;
  color: rgba(255, 250, 240, 0.9);
  border-bottom: 1px dotted rgba(201, 154, 63, 0.25);
}
.zz-gift__bullets li::before {
  content: "❖";
  position: absolute;
  left: 0;
  color: var(--wj-gold-2);
}
.zz-gift__board {
  background: rgba(255, 250, 240, 0.05);
  border: 1px solid rgba(201, 154, 63, 0.4);
  padding: 24px;
}
.zz-gift__board-title {
  font-family: var(--wj-serif);
  font-size: 18px;
  color: var(--wj-gold-2);
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(201, 154, 63, 0.3);
  letter-spacing: 1px;
}
.zz-gift__tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.zz-gift__tags span {
  font-size: 12px;
  padding: 3px 10px;
  border: 1px solid rgba(201, 154, 63, 0.5);
  color: var(--wj-gold-2);
  background: rgba(201, 154, 63, 0.08);
}
.zz-gift__list {
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
}
.zz-gift__list li {
  padding: 7px 0;
  border-bottom: 1px dotted rgba(201, 154, 63, 0.2);
  font-size: 13.5px;
}
.zz-gift__list a { color: rgba(255, 250, 240, 0.85); text-decoration: none; transition: var(--wj-t); }
.zz-gift__list a:hover { color: var(--wj-gold-2); }
.zz-gift__board-foot {
  font-size: 12px;
  color: rgba(255, 250, 240, 0.55);
  margin: 12px 0 0;
  text-align: center;
}

/* ============ 双考规划 ============ */
.zz-combo { margin-top: 60px; }
.zz-combo__card {
  background: var(--wj-paper);
  border: 1px solid var(--wj-gold);
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  overflow: hidden;
  position: relative;
}
.zz-combo__body { padding: 44px 40px; }
.zz-combo__body h2 {
  font-family: var(--wj-serif);
  font-size: 26px;
  color: var(--wj-navy);
  margin: 0 0 16px;
}
.zz-combo__body > p {
  font-size: 15px;
  line-height: 1.85;
  color: var(--wj-muted);
  margin: 0 0 20px;
}
.zz-combo__body > p strong {
  color: var(--wj-gold-3);
  border-bottom: 1px solid var(--wj-gold);
}
.zz-combo__points {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.zz-combo__points li {
  padding: 10px 0 10px 20px;
  border-bottom: 1px dotted var(--wj-line);
  position: relative;
  font-size: 14px;
  color: var(--wj-ink);
}
.zz-combo__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  background: var(--wj-gold);
  transform: translateY(-50%) rotate(45deg);
}
.zz-combo__points strong { color: var(--wj-navy); font-family: var(--wj-serif); margin-right: 8px; }
.zz-combo__btn { margin-top: 8px; }
.zz-combo__deco {
  background:
    radial-gradient(circle at 50% 50%, rgba(201, 154, 63, 0.2), transparent 60%),
    var(--wj-grad-navy);
  position: relative;
  min-height: 280px;
  overflow: hidden;
}
.zz-combo__deco-ring,
.zz-combo__deco-dots {
  position: absolute;
}
.zz-combo__deco-ring {
  width: 220px;
  height: 220px;
  border: 1px solid var(--wj-gold-2);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 12px rgba(201, 154, 63, 0.08), inset 0 0 0 8px rgba(201, 154, 63, 0.15);
}
.zz-combo__deco-ring::before {
  content: "❖";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  color: var(--wj-gold-2);
}
.zz-combo__deco-dots {
  width: 160px;
  height: 160px;
  background-image: radial-gradient(circle, rgba(201, 154, 63, 0.4) 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  top: 18px;
  right: 18px;
  opacity: 0.6;
}

/* ============ 学习四步 ============ */
.zz-learn {
  margin-top: 60px;
  background: var(--wj-grad-navy);
  padding: 60px 40px;
  position: relative;
  border: 1px solid var(--wj-gold);
}
.zz-learn::before,
.zz-learn::after {
  content: "";
  position: absolute;
  width: 36px; height: 36px;
  border: 1px solid var(--wj-gold);
}
.zz-learn::before { top: 12px; right: 12px; border-left: 0; border-bottom: 0; }
.zz-learn::after { bottom: 12px; left: 12px; border-right: 0; border-top: 0; }
.zz-learn__inner { max-width: 1100px; margin: 0 auto; }
.zz-learn__steps {
  list-style: none;
  padding: 0;
  margin: 24px 0 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  position: relative;
}
.zz-learn__steps::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: repeating-linear-gradient(90deg, var(--wj-gold-2) 0 6px, transparent 6px 12px);
  z-index: 0;
}
.zz-learn__steps li {
  text-align: center;
  position: relative;
  z-index: 1;
}
.zz-learn__n {
  display: block;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--wj-cream);
  color: var(--wj-navy);
  font-family: var(--wj-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 44px;
  margin: 0 auto 14px;
  border: 2px solid var(--wj-gold-2);
  box-shadow: 0 0 0 4px rgba(201, 154, 63, 0.18);
}
.zz-learn__steps strong {
  display: block;
  font-family: var(--wj-serif);
  font-size: 17px;
  color: var(--wj-gold-2);
  margin-bottom: 6px;
  letter-spacing: 1px;
}
.zz-learn__steps small { font-size: 13px; color: rgba(255, 250, 240, 0.75); }
.zz-learn__cta { display: block; margin: 24px auto 0; width: max-content; }

/* ============ FAQ ============ */
.zz-acc {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}
.zz-acc__item {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 18px 24px;
  transition: var(--wj-t);
}
.zz-acc__item[open] {
  border-color: var(--wj-gold);
  background: var(--wj-cream-2);
  box-shadow: var(--wj-sh-soft);
}
.zz-acc__item summary {
  font-family: var(--wj-serif);
  font-size: 16px;
  color: var(--wj-navy);
  cursor: pointer;
  list-style: none;
  padding-left: 28px;
  position: relative;
  font-weight: 700;
}
.zz-acc__item summary::-webkit-details-marker { display: none; }
.zz-acc__item summary::before {
  content: "問";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: var(--wj-gold);
  color: var(--wj-navy);
  font-family: var(--wj-serif);
  font-size: 13px;
  line-height: 22px;
  text-align: center;
  font-weight: 700;
}
.zz-acc__item p {
  margin: 14px 0 0;
  padding-left: 28px;
  font-size: 14px;
  color: var(--wj-muted);
  line-height: 1.85;
  position: relative;
}
.zz-acc__item p::before {
  content: "答";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  background: var(--wj-navy);
  color: var(--wj-gold-2);
  font-family: var(--wj-serif);
  font-size: 13px;
  line-height: 22px;
  text-align: center;
  font-weight: 700;
}
.zz-acc__item p a {
  color: var(--wj-gold-3);
  text-decoration: none;
  border-bottom: 1px solid var(--wj-gold);
  margin-left: 6px;
}

/* ============ 最终 CTA ============ */
.zz-final {
  margin-top: 60px;
}
.zz-final__box {
  background: var(--wj-grad-navy);
  color: var(--wj-cream);
  padding: 64px 40px;
  text-align: center;
  border: 1px solid var(--wj-gold);
  position: relative;
}
.zz-final__box::before {
  content: "❖";
  display: block;
  font-size: 36px;
  color: var(--wj-gold-2);
  margin-bottom: 14px;
}
.zz-final__box h2 {
  font-family: var(--wj-serif);
  font-size: 28px;
  color: var(--wj-gold-2);
  margin: 0 0 12px;
  letter-spacing: 1.5px;
}
.zz-final__box > p {
  font-size: 15px;
  color: rgba(255, 250, 240, 0.8);
  margin: 0 0 28px;
}
.zz-final__btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============ 浮动 CTA 条 ============ */
.zz-stick {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--wj-grad-navy);
  border-top: 2px solid var(--wj-gold);
  padding: 12px 0;
  z-index: 100;
  box-shadow: 0 -8px 20px rgba(11, 35, 80, 0.18);
}
.zz-stick__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.zz-stick__txt {
  color: rgba(255, 250, 240, 0.9);
  font-size: 14px;
  letter-spacing: 0.5px;
}
.zz-stick__txt strong { color: var(--wj-gold-2); font-family: var(--wj-serif); padding: 0 4px; }
.zz-stick__btn {
  background: var(--wj-gold);
  color: var(--wj-navy);
  padding: 8px 24px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 1px;
  border: 1px solid var(--wj-gold-3);
  transition: var(--wj-t);
}
.zz-stick__btn:hover {
  background: var(--wj-gold-3);
  color: var(--wj-cream);
}

/* ============ 通用文本对齐 ============ */
section { scroll-margin-top: 100px; }

/* ============ 试卷方向 · 三栏小贴士（填充） ============ */
.zz-tracks__matrix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 24px 0 6px;
  padding-top: 24px;
  border-top: 1px dashed var(--wj-line);
}
.zz-tracks__cell {
  background: var(--wj-cream-2);
  border: 1px solid var(--wj-line);
  padding: 22px 20px 20px;
  position: relative;
  transition: var(--wj-t);
}
.zz-tracks__cell::after {
  content: "";
  position: absolute;
  right: 14px; bottom: 14px;
  width: 26px; height: 26px;
  border: 1px solid var(--wj-gold);
  border-left: 0; border-top: 0;
  opacity: 0.55;
}
.zz-tracks__cell:hover {
  background: var(--wj-paper);
  border-color: var(--wj-gold);
  box-shadow: var(--wj-sh-soft);
}
.zz-tracks__cell-no {
  display: inline-block;
  font-family: var(--wj-serif);
  font-size: 22px;
  color: var(--wj-gold-3);
  background: var(--wj-paper);
  border: 1px solid var(--wj-gold);
  width: 42px;
  height: 42px;
  line-height: 40px;
  text-align: center;
  font-weight: 700;
  margin-bottom: 12px;
}
.zz-tracks__cell strong {
  display: block;
  font-family: var(--wj-serif);
  font-size: 17px;
  color: var(--wj-navy);
  margin-bottom: 8px;
  font-weight: 700;
}
.zz-tracks__cell p {
  font-size: 13px;
  color: var(--wj-muted);
  line-height: 1.75;
  margin: 0;
}

/* ============ 双考规划 · 数据卡（填充右侧装饰区） ============ */
.zz-combo__stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 26px;
  width: 100%;
  height: 100%;
  align-content: center;
}
.zz-combo__stat {
  background: rgba(255, 250, 240, 0.06);
  border: 1px solid rgba(201, 154, 63, 0.4);
  padding: 18px 14px;
  text-align: center;
  position: relative;
  transition: var(--wj-t);
}
.zz-combo__stat::before {
  content: "❖";
  position: absolute;
  top: 6px; right: 8px;
  font-size: 10px;
  color: var(--wj-gold-2);
  opacity: 0.6;
}
.zz-combo__stat:hover {
  background: rgba(201, 154, 63, 0.08);
  border-color: var(--wj-gold-2);
}
.zz-combo__stat-num {
  display: block;
  font-family: var(--wj-serif);
  font-size: 30px;
  font-weight: 700;
  color: var(--wj-gold-2);
  letter-spacing: 1px;
  line-height: 1.1;
  margin-bottom: 6px;
}
.zz-combo__stat-num small {
  font-size: 14px;
  margin-left: 2px;
  color: var(--wj-gold);
  font-weight: 500;
}
.zz-combo__stat span {
  display: block;
  font-size: 12.5px;
  color: rgba(255, 250, 240, 0.8);
  letter-spacing: 0.5px;
}
.zz-combo__deco-ring,
.zz-combo__deco-dots { display: none; }

/* ============ 师资 / 教研团队 ============ */
.zz-faculty { margin-top: 16px; }
.zz-faculty__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}
.zz-faculty__card {
  background: var(--wj-paper);
  border: 1px solid var(--wj-line);
  padding: 32px 28px 28px;
  position: relative;
  transition: var(--wj-t);
}
.zz-faculty__card::before {
  content: "";
  position: absolute;
  top: 12px; left: 12px; right: 12px; bottom: 12px;
  border: 1px solid rgba(201, 154, 63, 0.18);
  pointer-events: none;
}
.zz-faculty__card:hover {
  border-color: var(--wj-gold);
  box-shadow: var(--wj-sh-card);
  transform: translateY(-4px);
}
.zz-faculty__seal {
  position: absolute;
  top: -1px; right: 28px;
  width: 52px; height: 60px;
  background: var(--wj-grad-gold);
  color: var(--wj-navy);
  font-family: var(--wj-serif);
  font-size: 26px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
  box-shadow: 0 4px 10px rgba(201, 154, 63, 0.3);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 86%, 0 100%);
}
.zz-faculty__card h3 {
  font-family: var(--wj-serif);
  font-size: 22px;
  color: var(--wj-navy);
  margin: 0 0 10px;
  padding-right: 56px;
  position: relative;
  font-weight: 700;
}
.zz-faculty__card > p {
  font-size: 14px;
  color: var(--wj-muted);
  line-height: 1.8;
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px dashed var(--wj-line);
  position: relative;
}
.zz-faculty__card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}
.zz-faculty__card ul li {
  padding: 6px 0 6px 22px;
  font-size: 13.5px;
  color: var(--wj-ink);
  position: relative;
  line-height: 1.7;
}
.zz-faculty__card ul li::before {
  content: "❖";
  position: absolute;
  left: 0;
  color: var(--wj-gold);
  font-size: 12px;
  top: 8px;
}

/* ============ 响应式（窄屏简单收敛） ============ */
@media (max-width: 1100px) {
  .zz-trust,
  .zz-exam__grid { grid-template-columns: repeat(2, 1fr); }
  .zz-timeline__list,
  .zz-learn__steps { grid-template-columns: repeat(2, 1fr); }
  .zz-timeline__list::before,
  .zz-learn__steps::before { display: none; }
  .zz-plans__grid { grid-template-columns: 1fr; }
  .zz-plan--hot { transform: none; }
  .zz-spotlight,
  .zz-dual__grid,
  .zz-gift__inner,
  .zz-combo__card { grid-template-columns: 1fr; }
  .zz-combo__deco { min-height: 200px; }
  .zz-tools__grid { grid-template-columns: repeat(3, 1fr); }
  .zz-mosaic__grid { grid-template-columns: repeat(2, 1fr); }
  .zz-card-list { grid-template-columns: 1fr; }
  .wj-crest__inner { flex-wrap: wrap; }
  .wj-crest__side { flex: 1 1 100%; border-left: 0; border-top: 1px solid rgba(201, 154, 63, 0.25); padding: 16px 0 0; margin-top: 8px; }
  .zz-tracks__matrix,
  .zz-faculty__grid { grid-template-columns: 1fr; }
  .zz-combo__stats { padding: 20px; }
}
