.page {
  min-height: 100vh;
  background: var(--bg);
  padding-bottom: 16vw;
}

/* ── Hero ── */
.hero {
  position: relative;
  min-height: 48vw;
  background: linear-gradient(160deg, #1A0E04 0%, #3D1F08 45%, #7A4010 100%);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.hero-noise {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  opacity: 0.4;
}

.hero-content {
  position: relative;
  padding: 13.333vw 6.4vw 7.467vw;
}

.hero-eyebrow {
  font-size: 2.933vw;
  font-weight: 700;
  color: rgba(230,178,78,.7);
  letter-spacing: .18em;
  margin-bottom: 2.133vw;
}

.hero-title {
  font-family: 'Noto Serif SC', 'STSong', Georgia, serif;
  font-size: 6.933vw;
  font-weight: 700;
  color: #fff;
  line-height: 1.35;
  margin-bottom: 2.133vw;
}

.hero-sub {
  font-size: 3.467vw;
  color: rgba(255,255,255,0.56);
  line-height: 1.7;
}

/* ── 套餐选择 ── */
.plans {
  margin: -3.733vw 5.333vw 0;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2.133vw;
  margin-bottom: 4.267vw;
}

.plan {
  background: var(--surface);
  border-radius: 3.733vw;
  padding: 4.8vw 4.267vw;
  border: 0.133vw solid var(--line);
  display: flex;
  align-items: center;
  gap: 3.2vw;
  position: relative;
  overflow: hidden;
}

.plan--active {
  border-color: var(--aha-bright);
  box-shadow: 0 0 0 0.133vw var(--aha-bright), 0 1.067vw 4.267vw -1.067vw rgba(217,154,43,.2);
}

.plan-ribbon {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--aha-bright);
  color: #1B1B1A;
  font-size: 2.667vw;
  font-weight: 700;
  padding: 1.067vw 2.933vw 1.333vw;
  border-radius: 0 3.467vw 0 2.133vw;
  letter-spacing: .04em;
}

.plan-left {
  flex: 1;
  min-width: 0;
}

.plan-name {
  font-size: 4vw;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 1.067vw;
}

.plan-desc {
  font-size: 3.2vw;
  color: var(--sub);
  line-height: 1.5;
}

.plan-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
  margin-right: 2.133vw;
}

.plan-price-row {
  display: flex;
  align-items: baseline;
  gap: 0.267vw;
}

.plan-currency {
  font-size: 3.467vw;
  font-weight: 700;
  color: var(--aha);
}

.plan-amount {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 6.933vw;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.067vw;
  line-height: 1;
}

.plan-period {
  font-size: 2.933vw;
  color: var(--meta);
  margin-top: 0.8vw;
}

.plan-radio {
  width: 5.867vw;
  height: 5.867vw;
  border-radius: 50%;
  border: 0.267vw solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.plan-radio--on {
  border-color: var(--aha-bright);
  background: var(--aha-bright);
}

.plan-radio-dot {
  width: 2.4vw;
  height: 2.4vw;
  border-radius: 50%;
  background: #1B1B1A;
}

/* ── 权益列表 ── */
.benefits {
  margin: 0 5.333vw 5.333vw;
  background: var(--surface);
  border: 0.133vw solid var(--line);
  border-radius: 3.733vw;
  padding: 1.067vw 4.267vw;
}

.benefit {
  display: flex;
  align-items: center;
  gap: 3.2vw;
  padding: 3.467vw 0;
  border-bottom: 0.133vw solid var(--line-soft);
}

.benefit:last-child { border-bottom: none; }

.benefit-dot {
  width: 1.867vw;
  height: 1.867vw;
  border-radius: 50%;
  background: var(--aha-bright);
  flex-shrink: 0;
  box-shadow: 0 0 1.6vw 0.267vw var(--aha-ghost);
}

.benefit-text {
  font-size: 3.733vw;
  color: var(--ink);
  line-height: 1.5;
}

/* ── 开通按钮 ── */
.cta-wrap {
  padding: 0 5.333vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.667vw;
}

.cta-btn {
  width: 100%;
  height: 12.8vw;
  background: var(--aha-bright);
  color: #1B1B1A;
  font-size: 4.267vw;
  font-weight: 700;
  border-radius: 3.733vw;
  border: none;
  line-height: 12.8vw;
  letter-spacing: .02em;
  box-shadow: 0 2.667vw 6.4vw -2.667vw var(--aha-bright);
}

.cta-btn::after { border: none; }

.cta-btn--loading { opacity: 0.7; }

.cta-note {
  font-size: 3.2vw;
  color: var(--meta);
}

/* 赠送好友按钮 */
.gift-btn {
  margin-top: 2.667vw;
  width: 100%;
  height: 12.267vw;
  line-height: 12.267vw;
  border-radius: 6.133vw;
  background: #F4ECDB;
  color: #C2841A;
  font-size: 3.733vw;
  font-weight: 700;
}
.gift-btn::after { border: none; }
.gift-btn--ready { background: #D99A2B; color: #1B1B1A; }

.pur-back{position:fixed;left:3vw;z-index:20;width:10vw;height:10vw;display:flex;align-items:center;justify-content:center;font-size:6vw;color:#fff;}
