/* ============================================
   春光戏剧节 · Spring Light Drama Festival
   海报配色：深蓝紫 · 荧光绿 · 粉紫 · 天蓝 · 薄荷
   ============================================ */

:root {
  /* Deep indigo — poster backgrounds */
  --ink: #080C34;
  --deep: #111654;
  --deeper: #0C1040;
  --deepest: #060924;

  /* Neon lime green — Poster 1 title & accents */
  --neon: #C8E85C;
  --neon-dim: rgba(200, 232, 92, 0.18);
  --neon-soft: rgba(200, 232, 92, 0.08);

  /* Pink — Poster 2 dominant bird + light ray */
  --pink: #EA8CC8;
  --pink-dim: rgba(234, 140, 200, 0.25);
  --pink-soft: rgba(234, 140, 200, 0.10);

  /* Sky blue — Poster 3 little birds */
  --sky: #5DADE2;
  --sky-dim: rgba(93, 173, 226, 0.18);

  /* Mint green — Poster 3 trees / leaves */
  --mint: #8FD9B6;
  --mint-dim: rgba(143, 217, 182, 0.18);

  /* Pale lemon — Poster 3 warm highlights */
  --lemon: #F5E6A3;
  --lemon-dim: rgba(245, 230, 163, 0.16);

  /* Neutrals */
  --cream: #F5F2EA;
  --lavender: #C8B8D0;
  --smoke: rgba(245, 242, 234, 0.55);

  /* Glass cards */
  --card: rgba(17, 22, 84, 0.50);
  --card-hover: rgba(17, 22, 84, 0.72);
  --glass: rgba(8, 12, 52, 0.65);

  --font-display: 'Noto Serif SC', serif;
  --font-body: 'Noto Sans SC', sans-serif;
  --font-utility: 'Inter', system-ui, sans-serif;

  --header-h: 80px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --duration: 0.8s;
}

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

html, body {
  width: 100%; height: 100%; overflow: hidden;
  font-family: var(--font-body);
  background: var(--ink);
  color: var(--cream);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; border: none; cursor: pointer; background: none; color: inherit; }

/* ============================================
   Header
   ============================================ */

.header {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--header-h); z-index: 1000;
  background: rgba(6, 9, 36, 0.85);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(200,232,92,0.08);
}

.header-inner {
  max-width: 1280px; height: 100%; margin: 0 auto;
  padding: 0 40px; display: flex; align-items: center; justify-content: space-between; gap: 32px;
}

.logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.logo-mark {
  width: 38px; height: 38px; border-radius: 12px;
  background: linear-gradient(135deg, var(--neon) 0%, var(--mint) 45%, var(--sky) 100%);
  color: var(--ink);
  font-family: var(--font-display); font-weight: 900; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(143,217,182,0.35);
  transition: transform 0.35s var(--ease);
}
.logo:hover .logo-mark { transform: scale(1.08) rotate(-6deg); }
.logo-text { display: flex; flex-direction: column; gap: 1px; line-height: 1.1; }
.logo-text-en {
  font-family: var(--font-display);
  font-weight: 900; font-size: 17px; letter-spacing: 0.06em;
  background: linear-gradient(120deg, #1E3A8A 0%, #6D28D9 30%, #DB2777 60%, #C8E85C 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.logo-text-cn {
  font-size: 10px; color: var(--lavender); letter-spacing: 0.32em;
  font-weight: 500;
}

.nav { display: flex; align-items: center; gap: 4px; }
.nav-item {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 12px; border-radius: 8px; font-size: 13px; font-weight: 500;
  color: var(--lavender); transition: all 0.25s var(--ease);
}
.nav-item:hover { color: var(--cream); background: rgba(255,255,255,0.05); }
.nav-item.active { color: var(--neon); background: var(--neon-soft); }
.nav-num { font-family: var(--font-utility); font-size: 10px; font-weight: 600; opacity: 0.6; }

.mobile-menu-btn {
  display: none; flex-direction: column; gap: 5px; padding: 4px;
}
.mobile-menu-btn span {
  width: 22px; height: 2px; background: var(--cream); border-radius: 2px; transition: all 0.3s var(--ease);
}

/* ============================================
   Buttons
   ============================================ */

.btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-body); font-size: 14px; font-weight: 700;
  border-radius: 999px; transition: all 0.25s var(--ease); white-space: nowrap;
}
.btn-primary {
  background: linear-gradient(135deg, var(--neon), var(--mint));
  color: var(--ink); padding: 12px 24px; font-weight: 800;
}
.btn-primary:hover {
  filter: brightness(1.12); transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(200,232,92,0.35);
}
.btn-ghost {
  border: 1px solid rgba(245,242,234,0.25); color: var(--cream); padding: 12px 24px;
}
.btn-ghost:hover { border-color: var(--cream); background: rgba(245,242,234,0.08); }
.btn-lg { padding: 14px 28px; font-size: 15px; }

.back-home {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 26px;
  background: rgba(8, 12, 52, 0.78);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(200,232,92,0.20);
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 13px; font-weight: 500;
  color: var(--lavender);
  letter-spacing: 0.06em;
  transition: all 0.25s var(--ease);
  position: relative;
  z-index: 5;
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
}
.back-home:hover {
  background: rgba(20, 26, 80, 0.95);
  color: var(--cream);
  border-color: rgba(200,232,92,0.40);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(200,232,92,0.18);
}
.back-home-row {
  display: flex; justify-content: center;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px dashed rgba(255,255,255,0.08);
  grid-column: 1 / -1;
  width: 100%;
}

/* ============================================
   Slide System
   ============================================ */

.slide {
  position: fixed; inset: 0;
  width: 100vw; height: 100vh;
  padding: calc(var(--header-h) + 36px) 80px 110px;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(30px);
  transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease), visibility var(--duration);
  overflow-y: auto; overflow-x: hidden;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(200,232,92,0.3) transparent;
}
.slide::-webkit-scrollbar { width: 6px; }
.slide::-webkit-scrollbar-track { background: transparent; }
.slide::-webkit-scrollbar-thumb {
  background: rgba(200,232,92,0.3); border-radius: 3px;
}
.slide::-webkit-scrollbar-thumb:hover { background: rgba(200,232,92,0.5); }
.slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); z-index: 1; }

/* Hero slide — keep content vertically centered (fits in viewport) */
.slide--hero { justify-content: center; }

/* Scroll hint */
.slide-scroll-hint {
  margin-top: 28px;
  font-size: 11px; color: var(--lavender);
  letter-spacing: 0.2em; text-transform: uppercase;
  opacity: 0.55; display: inline-flex; align-items: center; gap: 6px;
  animation: bounceDown 2.2s ease-in-out infinite;
}
.slide-scroll-hint::after { content: '↓'; font-size: 14px; }
@keyframes bounceDown {
  0%, 100% { transform: translateY(0); opacity: 0.55; }
  50% { transform: translateY(6px); opacity: 0.85; }
}

.slide-content {
  width: 100%; max-width: 1200px; position: relative; z-index: 2;
}
.slide-content--center { text-align: center; display: flex; flex-direction: column; align-items: center; }
.slide-content--split {
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}
.slide-left, .slide-right { display: flex; flex-direction: column; gap: 20px; }

.slide-eyebrow {
  font-size: 12px; font-weight: 500; color: var(--neon); letter-spacing: 0.25em; text-transform: uppercase;
}
.slide-title {
  font-family: var(--font-display); font-size: 40px; font-weight: 900; line-height: 1.15; color: var(--cream);
}
.slide-lead {
  font-size: 15px; color: var(--lavender); line-height: 1.8; max-width: 520px;
}

/* ============================================
   Motifs — shared animation
   ============================================ */

.svg-symbols { position: absolute; width: 0; height: 0; }

.motif {
  position: absolute; pointer-events: none;
}

@keyframes drift {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  33% { transform: translate(14px, -16px) rotate(3deg); }
  66% { transform: translate(-10px, 8px) rotate(-2deg); }
}

@keyframes float-up {
  0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.5; }
  50% { transform: translateY(-22px) rotate(8deg); opacity: 0.7; }
}

@keyframes float-down {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(14px) rotate(-6deg); }
}

@keyframes pulseGlow {
  0%, 100% { opacity: 0.45; transform: scale(1); }
  50% { opacity: 0.75; transform: scale(1.05); }
}

@keyframes pulseGlow2 {
  0%, 100% { opacity: 0.35; transform: scale(1) translate(0,0); }
  50% { opacity: 0.6; transform: scale(1.08) translate(10px, -5px); }
}

@keyframes motifAppear {
  from { opacity: 0; transform: scale(0.7) translateY(20px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

/* ============================================
   Backgrounds & Atmosphere
   ============================================ */

.slide-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }

/* ============================================
   Slide 01 · Hero
   ============================================ */

.slide--hero { background: var(--ink); }

.hero-bg {
  background:
    radial-gradient(ellipse 60% 70% at 78% 28%, rgba(234,140,200,0.22) 0%, transparent 55%),
    radial-gradient(ellipse 55% 60% at 22% 68%, rgba(143,217,182,0.22) 0%, transparent 50%),
    radial-gradient(ellipse 70% 50% at 50% 50%, rgba(109,40,217,0.18) 0%, transparent 65%),
    radial-gradient(circle 350px at 90% 90%, rgba(93,173,226,0.15) 0%, transparent 70%),
    linear-gradient(135deg, var(--ink) 0%, #0F1856 50%, #1A0F3F 100%);
}

/* Hero floating motifs */
.hero-motif {
  z-index: 0;
  opacity: 0;
  animation: motifAppear 1.2s var(--ease) forwards;
}

/* Paperbird — top right, Poster 1 style */
.hero-motif-1 {
  top: 4%; right: 8%;
  color: rgba(245,242,234,0.17);
  animation: motifAppear 1.2s var(--ease) 0.15s forwards, float-up 18s ease-in-out 1.4s infinite;
  filter: drop-shadow(0 0 28px rgba(200,232,92,0.12));
}

/* Pink swallow — center-right, Poster 2 style */
.hero-motif-2 {
  top: 36%; right: 14%;
  color: var(--pink);
  animation: motifAppear 1s var(--ease) 0.35s forwards, drift 17s ease-in-out 1.5s infinite;
  filter: drop-shadow(0 0 26px rgba(234,140,200,0.22));
}

/* Sakura branch — bottom-right, Poster 3 style */
.hero-motif-3 {
  bottom: 8%; right: 4%;
  color: var(--pink);
  animation: motifAppear 1.2s var(--ease) 0.45s forwards, float-up 15s ease-in-out 1.7s infinite;
  filter: drop-shadow(0 0 30px rgba(234,140,200,0.17));
}

/* Small blue bird — upper-left area, Poster 3 style */
.hero-motif-4 {
  top: 14%; left: 48%;
  color: var(--sky);
  animation: motifAppear 0.9s var(--ease) 0.55s forwards, drift 14s ease-in-out 1.8s infinite;
}

/* Light ray arc — upper area, Poster 2 feel */
.hero-motif-5 {
  top: 18%; right: 22%;
  color: rgba(234,140,200,0.12);
  animation: motifAppear 0.8s var(--ease) 0.3s forwards, drift 16s ease-in-out 2s infinite;
}

/* Petals scattered */
.hero-petal-1 {
  top: 22%; right: 34%;
  color: var(--pink);
  animation: motifAppear 1s var(--ease) 0.4s forwards, float-down 10s ease-in-out 1.6s infinite;
}
.hero-petal-2 {
  top: 52%; right: 8%;
  color: var(--mint);
  animation: motifAppear 1s var(--ease) 0.55s forwards, float-down 11s ease-in-out 1.9s infinite;
}
.hero-petal-3 {
  top: 40%; right: 46%;
  color: var(--neon);
  animation: motifAppear 1s var(--ease) 0.35s forwards, float-down 9s ease-in-out 1.4s infinite;
}
.hero-petal-4 {
  top: 18%; left: 35%;
  color: var(--pink);
  animation: motifAppear 1s var(--ease) 0.5s forwards, float-up 10s ease-in-out 2s infinite;
}
.hero-petal-5 {
  top: 68%; left: 18%;
  color: var(--lemon);
  animation: motifAppear 1s var(--ease) 0.65s forwards, drift 12s ease-in-out 2.4s infinite;
}
.hero-petal-6 {
  top: 78%; right: 30%;
  color: var(--sky);
  animation: motifAppear 1s var(--ease) 0.75s forwards, float-down 11s ease-in-out 2.8s infinite;
}

/* Hero ink-shard centerpiece — Spring Light signature visual */
.hero-ink-shard {
  position: absolute;
  top: 50%; right: 8%;
  transform: translate(50%, -50%) rotate(-8deg);
  color: rgba(245, 242, 234, 0.85);
  z-index: 0;
  filter: drop-shadow(0 0 60px rgba(234,140,200,0.18)) drop-shadow(0 0 30px rgba(200,232,92,0.10));
  animation: motifAppear 1.4s var(--ease) 0.2s forwards, slowRotate 120s linear 1.6s infinite;
  opacity: 0;
}
.hero-ink-shard::before {
  content: '';
  position: absolute;
  inset: -25%;
  background: radial-gradient(circle, rgba(245,242,234,0.10) 0%, transparent 70%);
  z-index: -1;
  border-radius: 50%;
  filter: blur(20px);
}
@keyframes slowRotate {
  from { transform: translate(50%, -50%) rotate(-8deg); }
  to   { transform: translate(50%, -50%) rotate(352deg); }
}

/* Glow orbs — pink + neon */
.hero-glow {
  position: absolute;
  top: 44%; right: 10%;
  width: 360px; height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(234,140,200,0.09) 0%, rgba(200,232,92,0.04) 40%, transparent 70%);
  transform: translate(50%, -50%);
  z-index: -1;
  animation: pulseGlow 10s ease-in-out infinite;
}

.hero-glow-2 {
  position: absolute;
  top: 20%; right: 32%;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(93,173,226,0.07) 0%, rgba(143,217,182,0.04) 45%, transparent 72%);
  z-index: -1;
  animation: pulseGlow2 12s ease-in-out 3s infinite;
}

/* Hero left */
.hero-left .hero-title { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; margin-bottom: 4px; }
.hero-title-main {
  font-family: var(--font-display);
  font-size: clamp(84px, 9vw, 160px);
  font-weight: 900;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #F5F2EA 0%, #EA8CC8 40%, #8FD9B6 75%, #5DADE2 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  text-shadow: 0 4px 30px rgba(234,140,200,0.18);
}
.hero-title-sub {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 76px);
  font-weight: 900;
  margin-top: -6px; letter-spacing: 0.06em;
  background: linear-gradient(135deg, var(--neon) 0%, var(--mint) 40%, var(--sky) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-eyebrow {
  font-size: 13px; color: var(--neon); letter-spacing: 0.2em; margin-bottom: 20px;
  opacity: 0; animation: motifAppear 0.8s var(--ease) 0.05s forwards;
}
.hero-tag {
  font-family: var(--font-utility); font-size: 14px; font-weight: 600;
  letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 16px;
  background: linear-gradient(120deg, #C8E85C 0%, #8FD9B6 30%, #5DADE2 60%, #EA8CC8 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.hero-desc {
  font-size: 18px; color: var(--lavender); margin-bottom: 32px;
}
.hero-actions {
  display: flex; gap: 16px; justify-content: flex-start;
}

/* Hero right — empty, motifs handle decoration */
.hero-right {
  display: flex; align-items: center; justify-content: center;
}

/* ============================================
   Slide 02 · About
   ============================================ */

.slide--about {
  background:
    radial-gradient(ellipse 60% 60% at 80% 20%, rgba(234,140,200,0.15) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 20% 80%, rgba(143,217,182,0.12) 0%, transparent 50%),
    linear-gradient(175deg, #0E1054 0%, #1A0F4A 50%, #160E50 100%);
}

.about-bg-branch {
  top: -30px; right: -30px;
  color: var(--pink);
  animation: float-up 17s ease-in-out infinite;
  filter: drop-shadow(0 0 32px rgba(234,140,200,0.16));
}
.about-bg-wave {
  bottom: -20px; left: -30px;
  color: var(--sky);
  animation: drift 18s ease-in-out 2s infinite;
}
.about-bg-sakura {
  top: 50%; right: 8%;
  color: var(--neon);
  animation: float-up 14s ease-in-out 5s infinite;
  filter: drop-shadow(0 0 24px rgba(200,232,92,0.12));
}
.about-bg-swallow {
  bottom: 18%; left: 6%;
  color: var(--mint);
  animation: drift 15s ease-in-out 3s infinite;
}
.about-bg-petal-1 {
  top: 14%; left: 42%;
  color: var(--pink);
  animation: float-down 10s ease-in-out 2s infinite;
}
.about-bg-petal-2 {
  bottom: 20%; right: 30%;
  color: var(--sky);
  animation: float-down 11s ease-in-out 6s infinite;
}
.about-bg-petal-3 {
  top: 34%; left: 8%;
  color: var(--lemon);
  animation: float-down 12s ease-in-out 8s infinite;
}

.about-poem {
  font-size: 14.5px; color: var(--smoke); line-height: 1.85; max-width: 540px;
  text-shadow: 0 1px 18px rgba(0,0,0,0.25);
  margin-bottom: 2px;
}

.slide--about .slide-content--split { align-items: start; padding-top: 28px; }
.slide--about .slide-left { gap: 12px; }
.slide--about .slide-title { margin-bottom: 2px; }

.value-cards { display: flex; flex-direction: column; gap: 12px; }
.value-card {
  padding: 18px 22px; background: var(--card); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px; backdrop-filter: blur(12px);
  transition: all 0.3s var(--ease);
}
.value-card:hover { background: var(--card-hover); transform: translateX(6px); }
.value-icon { font-size: 22px; display: block; margin-bottom: 6px; }
.value-card h3 { font-family: var(--font-display); font-size: 17px; font-weight: 700; margin-bottom: 3px; }
.value-card p { font-size: 12.5px; color: var(--lavender); line-height: 1.65; }

.value-card--teal { border-left: 3px solid var(--mint); }
.value-card--teal:hover { border-color: rgba(143,217,182,0.5); }
.value-card--pink { border-left: 3px solid var(--pink); }
.value-card--pink:hover { border-color: rgba(234,140,200,0.5); }
.value-card--lavender { border-left: 3px solid var(--sky); }
.value-card--lavender:hover { border-color: rgba(93,173,226,0.5); }

.stats-row { display: flex; gap: 40px; margin-top: 6px; }
.stat { text-align: center; }
.stat strong {
  display: block; font-family: var(--font-display); font-size: 40px; font-weight: 900;
  background: linear-gradient(135deg, var(--neon), var(--mint));
  -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1;
}
.stat span { font-size: 12px; color: var(--lavender); }

/* ============================================
   Slide 03 · Recruit
   ============================================ */

.slide--recruit {
  background:
    radial-gradient(ellipse 55% 60% at 75% 30%, rgba(143,217,182,0.18) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 20% 75%, rgba(93,173,226,0.15) 0%, transparent 50%),
    radial-gradient(circle 300px at 90% 90%, rgba(200,232,92,0.10) 0%, transparent 70%),
    linear-gradient(160deg, #0C0E3E 0%, #0E1240 45%, #1A1045 100%);
}
.slide--recruit .slide-content--split { align-items: start; padding-top: 20px; }
.slide--recruit .slide-title { font-size: 48px; line-height: 1.1; }
.slide--recruit .slide-lead { font-size: 16.5px; line-height: 1.85; }
.slide--recruit .slide-eyebrow { font-size: 13px; letter-spacing: 0.28em; }
.slide--recruit .meta-item strong { font-size: 34px; }
.slide--recruit .meta-item span { font-size: 12px; }
.slide--recruit .role-tags span { font-size: 13.5px; padding: 8px 17px; }
.slide--recruit .recruit-contact { padding: 16px 20px; }
.slide--recruit .contact-line { font-size: 14px; }
.slide--recruit .btn-lg { font-size: 16px; padding: 14px 28px; }

.recruit-bg-swallow {
  top: -40px; right: -50px;
  color: var(--pink);
  animation: drift 16s ease-in-out infinite;
  filter: drop-shadow(0 0 28px rgba(234,140,200,0.18));
}
.recruit-bg-branch {
  bottom: -30px; left: -40px;
  color: var(--mint);
  animation: float-up 15s ease-in-out 2s infinite;
}
.recruit-bg-ray {
  top: 10%; left: -20px;
  color: var(--neon);
  animation: drift 18s ease-in-out 4s infinite;
}
.recruit-bg-sakura {
  top: 50%; right: 6%;
  color: var(--sky);
  animation: float-up 13s ease-in-out 3s infinite;
  filter: drop-shadow(0 0 22px rgba(93,173,226,0.14));
}
.recruit-bg-petal-1 {
  top: 12%; left: 8%;
  color: var(--mint);
  animation: float-down 9s ease-in-out 1s infinite;
}
.recruit-bg-petal-2 {
  bottom: 25%; right: 28%;
  color: var(--lemon);
  animation: float-down 10s ease-in-out 4s infinite;
}
.recruit-bg-petal-3 {
  top: 28%; right: 30%;
  color: var(--pink);
  animation: float-down 11s ease-in-out 6s infinite;
}

.recruit-meta { display: flex; gap: 28px; }
.meta-item { text-align: center; }
.meta-item strong {
  display: block; font-family: var(--font-display);
  font-size: 28px; font-weight: 900;
  background: linear-gradient(135deg, var(--neon), var(--pink));
  -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1;
}
.meta-item span {
  font-family: var(--font-utility); font-size: 11px; font-weight: 500; color: var(--lavender);
}
.role-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.role-tags span {
  padding: 7px 15px;
  background: rgba(234,140,200,0.08); border: 1px solid rgba(234,140,200,0.16);
  border-radius: 999px; font-size: 12px; color: var(--pink);
}
.recruit-contact {
  display: flex; flex-direction: column; gap: 8px;
  padding: 14px 18px; background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px; margin-top: 4px;
}
.contact-line { display: flex; gap: 12px; font-size: 13px; align-items: center; }
.contact-line .contact-label { color: var(--mint); font-weight: 500; min-width: 72px; }
.contact-line .contact-value { color: var(--cream); }
.contact-line a.contact-value:hover { color: var(--neon); }

.recruit-poster {
  width: 100%; max-width: 340px; aspect-ratio: 3/4; margin: 0 auto;
  background: linear-gradient(160deg, #141d5e 0%, #1a2a58 40%, #1a3a4a 100%);
  border-radius: 20px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  position: relative; border: 1px solid rgba(255,255,255,0.08); overflow: hidden;
  box-shadow: 0 30px 70px rgba(0,0,0,0.4);
}
.recruit-poster::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 30% 30%, rgba(200,232,92,0.12), transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(234,140,200,0.10), transparent 50%);
}
.poster-badge {
  position: absolute; top: 22px; left: 22px;
  padding: 6px 14px;
  background: rgba(200,232,92,0.15);
  border-radius: 999px; font-family: var(--font-utility);
  font-size: 12px; font-weight: 600; color: var(--neon); z-index: 1;
}
.poster-title { font-family: var(--font-display); font-size: 28px; font-weight: 900; color: var(--cream); z-index: 1; }
.poster-subtitle { font-size: 14px; color: var(--lavender); z-index: 1; }
.poster-date { font-family: var(--font-utility); font-size: 13px; color: var(--lavender); letter-spacing: 0.1em; z-index: 1; }
.poster-note {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
  font-size: 12px; color: var(--lavender); opacity: 0.8; z-index: 1;
}

/* Recruit timeline (right side, below poster) */
.recruit-timeline {
  margin-top: 20px;
  padding: 20px 22px;
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  width: 100%; max-width: 340px; margin-left: auto; margin-right: auto;
}
.recruit-timeline h4 {
  font-family: var(--font-display);
  font-size: 15px; font-weight: 700; color: var(--cream);
  margin-bottom: 14px; text-align: center;
}
.timeline-item {
  display: flex; align-items: center; gap: 14px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(255,255,255,0.06);
}
.timeline-item:last-child { border-bottom: none; }
.timeline-date {
  font-family: var(--font-utility);
  font-size: 12px; font-weight: 700;
  color: var(--neon);
  min-width: 32px;
}
.timeline-text {
  font-size: 12.5px; color: var(--lavender);
}

/* ============================================
   Slide 04 · Newsletter
   ============================================ */

.slide--newsletter {
  background:
    radial-gradient(ellipse 70% 60% at 80% 25%, rgba(234,140,200,0.25) 0%, transparent 55%),
    radial-gradient(ellipse 60% 60% at 20% 80%, rgba(245,230,163,0.20) 0%, transparent 50%),
    radial-gradient(ellipse 50% 50% at 50% 50%, rgba(143,217,182,0.15) 0%, transparent 60%),
    linear-gradient(175deg, #1A0F4A 0%, #2A1250 50%, #1E1050 100%);
  padding-bottom: 50px;
}

.news-bg-wave {
  top: -10px; right: -30px;
  color: var(--sky);
  animation: drift 17s ease-in-out infinite;
}
.news-bg-sakura {
  bottom: -20px; left: -20px;
  color: var(--pink);
  animation: float-up 14s ease-in-out 2s infinite;
  filter: drop-shadow(0 0 26px rgba(234,140,200,0.15));
}
.news-bg-swallow {
  top: 18%; right: 10%;
  color: var(--mint);
  animation: drift 15s ease-in-out 3s infinite;
}
.news-bg-branch {
  bottom: 10%; right: -10px;
  color: var(--neon);
  animation: float-up 16s ease-in-out 5s infinite;
  filter: drop-shadow(0 0 20px rgba(200,232,92,0.1));
}
.news-bg-petal-1 {
  top: 28%; left: 14%;
  color: var(--mint);
  animation: float-down 10s ease-in-out 2s infinite;
}
.news-bg-petal-2 {
  bottom: 30%; right: 12%;
  color: var(--neon);
  animation: float-down 11s ease-in-out 5s infinite;
}
.news-bg-petal-3 {
  top: 48%; left: 6%;
  color: var(--pink);
  animation: float-down 12s ease-in-out 7s infinite;
}

.newsletter-form { display: flex; gap: 12px; width: 100%; max-width: 480px; margin-top: 8px; }
.newsletter-input {
  flex: 1; padding: 14px 22px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 999px; font-size: 14px; color: var(--cream); outline: none; transition: all 0.3s;
}
.newsletter-input::placeholder { color: rgba(200,184,208,0.45); }
.newsletter-input:focus { border-color: var(--mint); box-shadow: 0 0 0 4px rgba(143,217,182,0.1); }
.newsletter-note { font-size: 12px; color: rgba(200,184,208,0.5); margin-top: 4px; }

/* Newsletter — 大扩展 */
.newsletter-title { margin-bottom: 6px; }
.title-grad {
  background: linear-gradient(120deg, #C8E85C 0%, #8FD9B6 30%, #5DADE2 60%, #EA8CC8 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.newsletter-lead { margin-bottom: 8px; }
.newsletter-form { max-width: 520px; }

.newsletter-features {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
  width: 100%; max-width: 900px; margin-top: 36px;
}
.newsletter-feature {
  padding: 22px 18px; text-align: center;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  backdrop-filter: blur(10px);
  transition: all 0.3s var(--ease);
}
.newsletter-feature:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(234,140,200,0.25);
}
.newsletter-feature .feature-icon {
  font-size: 28px; display: block; margin-bottom: 8px;
}
.newsletter-feature h4 {
  font-family: var(--font-display); font-size: 15px; font-weight: 700;
  color: var(--cream); margin-bottom: 4px;
}
.newsletter-feature p {
  font-size: 12px; color: var(--lavender); line-height: 1.6;
}

.newsletter-preview {
  width: 100%; max-width: 720px; margin-top: 32px;
  padding: 28px 32px; border-radius: 20px;
  background: linear-gradient(135deg, rgba(234,140,200,0.10) 0%, rgba(143,217,182,0.08) 100%);
  border: 1px solid rgba(234,140,200,0.18);
  backdrop-filter: blur(12px);
  text-align: left;
  position: relative;
  overflow: hidden;
}
.newsletter-preview::before {
  content: ''; position: absolute; top: -40px; right: -40px;
  width: 160px; height: 160px;
  background: radial-gradient(circle, rgba(245,230,163,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.preview-header {
  display: flex; align-items: center; gap: 10px; margin-bottom: 14px;
}
.preview-tag {
  padding: 3px 12px; border-radius: 999px;
  background: rgba(200,232,92,0.18); color: var(--neon);
  font-size: 11px; font-weight: 600; letter-spacing: 0.05em;
}
.preview-date {
  font-size: 12px; color: var(--lavender); letter-spacing: 0.05em;
}
.preview-title {
  font-family: var(--font-display); font-size: 20px; font-weight: 700;
  color: var(--cream); margin-bottom: 10px; line-height: 1.4;
}
.preview-excerpt {
  font-size: 14px; color: var(--lavender); line-height: 1.8;
  margin-bottom: 16px;
}
.preview-meta {
  display: flex; gap: 18px; font-size: 12px; color: var(--smoke);
  flex-wrap: wrap;
}

.newsletter-stats {
  display: flex; align-items: center; gap: 28px;
  margin-top: 32px; padding: 22px 36px;
  background: rgba(8,12,52,0.50);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
  backdrop-filter: blur(10px);
}
.ns-stat { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ns-stat strong {
  font-family: var(--font-display); font-size: 28px; font-weight: 900;
  background: linear-gradient(120deg, #C8E85C 0%, #8FD9B6 50%, #5DADE2 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.ns-stat strong span { font-size: 18px; }
.ns-stat > span { font-size: 12px; color: var(--lavender); letter-spacing: 0.05em; }
.ns-divider {
  width: 1px; height: 36px; background: rgba(255,255,255,0.10);
}

/* ============================================
   Slide 05 · History
   ============================================ */

.slide--history {
  background:
    radial-gradient(ellipse 60% 60% at 85% 15%, rgba(234,140,200,0.18) 0%, transparent 55%),
    radial-gradient(ellipse 50% 55% at 15% 85%, rgba(93,173,226,0.15) 0%, transparent 50%),
    linear-gradient(170deg, #0E1148 0%, #1A1050 50%, #161050 100%);
}

.history-bg-branch {
  top: -40px; left: -40px;
  color: var(--pink);
  animation: float-up 16s ease-in-out infinite;
  filter: drop-shadow(0 0 32px rgba(234,140,200,0.16));
}
.history-bg-swallow {
  top: -30px; right: -20px;
  color: var(--sky);
  animation: drift 15s ease-in-out 3s infinite;
}
.history-bg-wave {
  bottom: -20px; right: -30px;
  color: var(--mint);
  animation: drift 17s ease-in-out 5s infinite;
}
.history-bg-sakura {
  bottom: 12%; left: 6%;
  color: var(--neon);
  animation: float-up 14s ease-in-out 7s infinite;
  filter: drop-shadow(0 0 22px rgba(200,232,92,0.12));
}
.history-bg-petal-1 {
  top: 16%; left: 6%;
  color: var(--lemon);
  animation: float-down 9s ease-in-out 1s infinite;
}
.history-bg-petal-2 {
  top: 50%; right: 6%;
  color: var(--pink);
  animation: float-down 10s ease-in-out 4s infinite;
}
.history-bg-petal-3 {
  bottom: 18%; left: 28%;
  color: var(--neon);
  animation: float-down 11s ease-in-out 7s infinite;
}
.history-bg-petal-4 {
  top: 24%; right: 26%;
  color: var(--sky);
  animation: float-down 12s ease-in-out 9s infinite;
}

.history-header { text-align: center; margin-bottom: 22px; }
.history-header .slide-lead { margin-left: auto; margin-right: auto; }
.history-header .slide-title { margin-top: 10px; }

/* Old 3-column history cards (kept for reference but hidden) */
.history-cards { display: none; }

/* New vertical history list — each edition as a row (photo left, description right) */
.history-list {
  display: flex; flex-direction: column; gap: 24px;
  width: 100%;
}
.history-row {
  display: grid; grid-template-columns: 0.85fr 1.15fr;
  gap: 0;
  background: var(--card); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 22px; overflow: hidden;
  backdrop-filter: blur(10px);
  transition: all 0.35s var(--ease);
}
.history-row:hover {
  transform: translateY(-4px);
  border-color: rgba(200,232,92,0.22);
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}
.history-row-photo {
  position: relative; min-height: 360px; overflow: hidden;
  background: #050718;
  display: flex; align-items: center; justify-content: center;
}
.history-row-photo img {
  width: 100%; height: 100%;
  max-width: 100%; max-height: 100%;
  object-fit: contain; object-position: center center;
  display: block; transition: transform 0.6s var(--ease);
  background: #050718;
}
.history-row:hover .history-row-photo img { transform: scale(1.04); }
.history-row-photo::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(8,12,52,0.15) 0%, transparent 60%);
  pointer-events: none;
}
.history-row-year-mark {
  position: absolute; top: 18px; left: 18px;
  padding: 6px 14px;
  background: rgba(200,232,92,0.92);
  border-radius: 999px;
  font-family: var(--font-utility); font-size: 11px; font-weight: 700;
  color: var(--ink); letter-spacing: 0.05em;
  z-index: 1;
}
.history-row-content {
  padding: 36px 40px;
  display: flex; flex-direction: column; gap: 12px;
  justify-content: center;
}
.history-row-eyebrow {
  font-size: 11px; color: var(--neon);
  letter-spacing: 0.25em; text-transform: uppercase;
  font-weight: 600;
}
.history-row-title {
  font-family: var(--font-display);
  font-size: 26px; font-weight: 900; line-height: 1.2;
  color: var(--cream);
}
.history-row-desc {
  font-size: 14px; color: var(--lavender);
  line-height: 1.85;
}
.history-row-plays-label {
  font-size: 11px; color: var(--mint);
  font-weight: 600; letter-spacing: 0.1em;
  margin-top: 6px;
}
.history-row-plays {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.history-row-plays li {
  padding: 5px 12px;
  background: rgba(234,140,200,0.10);
  border: 1px solid rgba(234,140,200,0.18);
  border-radius: 999px;
  font-size: 12px; color: var(--pink);
}
.history-row-plays-pending {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: 6px;
  padding: 9px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px dashed rgba(255,255,255,0.18);
  border-radius: 999px;
}
.history-row-plays-pending .pending-tag {
  font-family: var(--font-utility);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.18em;
  padding: 3px 9px;
  background: rgba(200,232,92,0.15);
  border: 1px solid rgba(200,232,92,0.32);
  border-radius: 999px;
  color: var(--neon);
}
.history-row-plays-pending .pending-text {
  font-size: 12.5px; color: var(--lavender);
  font-style: italic;
}
.history-row-stats {
  display: flex; gap: 24px; margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.history-row-stat { display: flex; flex-direction: column; gap: 2px; }
.history-row-stat strong {
  font-family: var(--font-display);
  font-size: 22px; font-weight: 900; line-height: 1;
  background: linear-gradient(135deg, var(--neon), var(--mint));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.history-row-stat span {
  font-family: var(--font-utility);
  font-size: 10px; color: var(--lavender);
  letter-spacing: 0.05em;
}

/* Alternate layout: even rows reverse (photo right, text left) for visual rhythm */
.history-row.reverse { grid-template-columns: 1.15fr 0.85fr; }
.history-row.reverse .history-row-photo { order: 2; }
.history-row.reverse .history-row-content { order: 1; }

/* History highlights strip — bottom of page */
.history-highlights {
  margin-top: 32px; padding: 28px 36px;
  background: linear-gradient(135deg, rgba(200,232,92,0.08), rgba(93,173,226,0.06));
  border: 1px solid rgba(200,232,92,0.15);
  border-radius: 18px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  flex-wrap: wrap;
}
.history-highlights-text { flex: 1; min-width: 280px; }
.history-highlights h3 {
  font-family: var(--font-display); font-size: 18px; font-weight: 700;
  color: var(--cream); margin-bottom: 6px;
}
.history-highlights p { font-size: 13px; color: var(--lavender); line-height: 1.7; }
.history-highlights-cta {
  flex-shrink: 0;
}

/* ============================================
   Slide 06 · Clubs
   ============================================ */

.slide--clubs {
  background:
    radial-gradient(ellipse 60% 60% at 75% 25%, rgba(143,217,182,0.16) 0%, transparent 55%),
    radial-gradient(ellipse 50% 55% at 20% 80%, rgba(200,232,92,0.12) 0%, transparent 50%),
    linear-gradient(175deg, #0E1050 0%, #161050 50%, #141248 100%);
}

.clubs-bg-branch {
  top: -40px; left: -50px;
  color: var(--pink);
  animation: float-up 15s ease-in-out infinite;
  filter: drop-shadow(0 0 28px rgba(234,140,200,0.15));
}
.clubs-bg-swallow {
  bottom: -20px; right: -20px;
  color: var(--sky);
  animation: drift 14s ease-in-out 4s infinite;
}
.clubs-bg-wave {
  top: 30%; right: -30px;
  color: var(--neon);
  animation: drift 16s ease-in-out 2s infinite;
}
.clubs-bg-sakura {
  bottom: 18%; left: 4%;
  color: var(--mint);
  animation: float-up 14s ease-in-out 6s infinite;
  filter: drop-shadow(0 0 20px rgba(143,217,182,0.12));
}
.clubs-bg-petal-1 {
  top: 18%; right: 8%;
  color: var(--mint);
  animation: float-down 10s ease-in-out 3s infinite;
}
.clubs-bg-petal-2 {
  bottom: 22%; left: 6%;
  color: var(--pink);
  animation: float-down 11s ease-in-out 6s infinite;
}
.clubs-bg-petal-3 {
  top: 46%; right: 18%;
  color: var(--lemon);
  animation: float-down 12s ease-in-out 8s infinite;
}

.clubs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 24px;
}
.clubs-section-label {
  font-family: var(--font-utility);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lavender);
  opacity: 0.7;
  margin-top: 28px;
  margin-bottom: 4px;
}
.club-card {
  position: relative;
  padding: 18px 18px 16px;
  background: rgba(17,22,84,0.48);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  display: flex; gap: 14px; align-items: flex-start;
  backdrop-filter: blur(10px);
  transition: all 0.3s var(--ease);
}
.club-card:hover {
  border-color: rgba(200,232,92,0.22);
  transform: translateY(-3px);
}
.club-card--featured {
  background:
    linear-gradient(135deg, rgba(200,232,92,0.12) 0%, rgba(143,217,182,0.10) 100%),
    rgba(17,22,84,0.55);
  border-color: rgba(200,232,92,0.28);
}
.club-badge-ribbon {
  position: absolute; top: 10px; right: 10px;
  padding: 3px 9px;
  background: linear-gradient(135deg, var(--neon), var(--mint));
  color: var(--ink);
  font-family: var(--font-utility); font-size: 10px; font-weight: 700;
  border-radius: 999px; letter-spacing: 0.04em;
  box-shadow: 0 4px 12px rgba(200,232,92,0.25);
}
.club-avatar {
  width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 900; font-size: 18px;
  color: var(--ink); flex-shrink: 0;
}
.club-avatar.a1 { background: linear-gradient(135deg, #EA8CC8, #C77DBB); }
.club-avatar.a2 { background: linear-gradient(135deg, #C8E85C, #8FD9B6); }
.club-avatar.a3 { background: linear-gradient(135deg, #F5E6A3, #EA8CC8); }
.club-avatar.a4 { background: linear-gradient(135deg, #5DADE2, #C8E85C); }
.club-avatar.a5 { background: linear-gradient(135deg, #F5B5A3, #C77DBB); }
.club-avatar.a6 { background: linear-gradient(135deg, #8FD9B6, #5DADE2); }
.club-avatar.a7 { background: linear-gradient(135deg, #EA8CC8, #5DADE2); }
.club-avatar.a8 { background: linear-gradient(135deg, #C8E85C, #F5E6A3); }
.club-avatar.a9 { background: linear-gradient(135deg, #C77DBB, #EA8CC8); }
.club-avatar.a10 { background: linear-gradient(135deg, #F5E6A3, #8FD9B6); }
.club-avatar.a11 { background: linear-gradient(135deg, #5DADE2, #F5B5A3); }
.club-info { flex: 1; min-width: 0; }
.club-info h4 { font-size: 14px; font-weight: 700; color: var(--cream); margin-bottom: 3px; line-height: 1.35; }
.club-info p { font-size: 11px; color: var(--lavender); opacity: 0.75; margin-bottom: 8px; line-height: 1.45; }
.club-years {
  display: inline-block;
  padding: 2px 8px;
  background: rgba(200,232,92,0.14);
  color: var(--neon);
  font-family: var(--font-utility); font-size: 10px; font-weight: 600;
  border-radius: 999px; letter-spacing: 0.04em;
}
.club-edition {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  color: var(--lavender);
  opacity: 0.7;
  line-height: 1.5;
}
.club-status {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  color: var(--lavender);
  opacity: 0.7;
  line-height: 1.5;
}
.clubs-note { text-align: center; font-size: 11px; color: var(--lavender); opacity: 0.65; margin-top: 12px; }

/* ===== Cumulative stats banner ===== */
.clubs-cumulative {
  display: flex; align-items: center; justify-content: center;
  gap: 28px;
  padding: 22px 32px;
  margin-top: 24px;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(200,232,92,0.10) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 50%, rgba(234,140,200,0.10) 0%, transparent 60%),
    rgba(17,22,84,0.35);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
  backdrop-filter: blur(10px);
}
.cumulative-item {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  text-align: center;
}
.cumulative-item strong {
  font-family: var(--font-display);
  font-size: 36px; font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  background: linear-gradient(135deg, var(--neon) 0%, var(--mint) 50%, var(--sky) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cumulative-item strong span {
  font-size: 14px; font-weight: 700; margin-left: 1px;
  background: linear-gradient(135deg, var(--neon), var(--sky));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cumulative-item span:not(strong span) {
  font-family: var(--font-utility);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lavender);
  opacity: 0.85;
}
.cumulative-divider {
  width: 1px; height: 36px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.18), transparent);
}

/* ===== Edition pills timeline ===== */
.clubs-editions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 18px;
}
.edition-pill {
  display: flex; flex-direction: column; gap: 4px;
  padding: 14px 16px;
  background: rgba(17,22,84,0.40);
  border: 1px solid rgba(200,232,92,0.16);
  border-radius: 12px;
  position: relative;
  transition: all 0.3s var(--ease);
}
.edition-pill:hover {
  border-color: rgba(200,232,92,0.40);
  transform: translateY(-2px);
}
.edition-pill .edition-num {
  font-family: var(--font-utility); font-size: 10px; font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--neon);
  text-transform: uppercase;
}
.edition-pill .edition-year {
  font-family: var(--font-display);
  font-size: 16px; font-weight: 700;
  color: var(--cream);
}
.edition-pill .edition-venue {
  font-size: 11px;
  color: var(--lavender);
  opacity: 0.85;
  line-height: 1.45;
}
.edition-pill .edition-count {
  margin-top: 4px;
  font-family: var(--font-utility);
  font-size: 10px; font-weight: 600;
  color: var(--mint);
  letter-spacing: 0.06em;
}
.edition-pill .edition-note {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255,255,255,0.10);
  font-size: 9.5px;
  color: var(--lavender);
  opacity: 0.65;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.clubs-note {
  text-align: center; font-size: 11px; color: var(--lavender); opacity: 0.65; margin-top: 12px;
}

/* ============================================
   Slide 07 · Partner
   ============================================ */

.slide--partner {
  background:
    radial-gradient(ellipse 60% 60% at 78% 22%, rgba(234,140,200,0.22) 0%, transparent 55%),
    radial-gradient(ellipse 55% 55% at 18% 78%, rgba(143,217,182,0.18) 0%, transparent 50%),
    radial-gradient(circle 320px at 50% 100%, rgba(245,230,163,0.10) 0%, transparent 70%),
    linear-gradient(160deg, #0C0E3C 0%, #1A0F4A 40%, #1E1048 100%);
  padding: calc(var(--header-h) + 24px) 80px 160px;
}
.slide--partner .current-partners { margin-bottom: 4px; }
.slide--partner .partner-types { margin-bottom: 4px; }

.partner-bg-swallow {
  bottom: -30px; left: -40px;
  color: var(--pink);
  animation: drift 16s ease-in-out infinite;
  filter: drop-shadow(0 0 30px rgba(234,140,200,0.18));
}
.partner-bg-ray {
  top: -20px; right: -30px;
  color: var(--neon);
  animation: drift 15s ease-in-out 3s infinite;
}
.partner-bg-branch {
  top: 40%; left: -30px;
  color: var(--mint);
  animation: float-up 14s ease-in-out 5s infinite;
}
.partner-bg-sakura {
  bottom: 10%; right: 4%;
  color: var(--sky);
  animation: float-up 16s ease-in-out 7s infinite;
  filter: drop-shadow(0 0 24px rgba(93,173,226,0.14));
}
.partner-bg-petal-1 {
  top: 20%; right: 10%;
  color: var(--mint);
  animation: float-down 10s ease-in-out 2s infinite;
}
.partner-bg-petal-2 {
  bottom: 25%; left: 10%;
  color: var(--pink);
  animation: float-down 11s ease-in-out 6s infinite;
}
.partner-bg-petal-3 {
  top: 46%; right: 24%;
  color: var(--lemon);
  animation: float-down 12s ease-in-out 8s infinite;
}
.partner-bg-petal-4 {
  top: 70%; right: 8%;
  color: var(--sky);
  animation: float-up 13s ease-in-out 3s infinite;
}
.partner-bg-petal-5 {
  top: 30%; left: 20%;
  color: var(--neon);
  animation: drift 14s ease-in-out 5s infinite;
}

.partner-section-title {
  text-align: center; font-family: var(--font-display);
  font-size: 16px; font-weight: 700;
  color: var(--cream); margin-bottom: 14px;
}

/* ============================================
   Partner Cards — all-different styles
   ============================================ */

.partner-cards-row {
  display: flex; flex-direction: column; gap: 14px;
  margin-bottom: 0;
}

/* Amber — full-width hero card */
.partner-card--amber {
  width: 100%; border-radius: 20px; overflow: hidden;
  background: #1a1040; position: relative;
  transition: transform 0.35s var(--ease), box-shadow 0.35s;
}
.partner-card--amber:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(200,232,92,0.18);
}
.partner-card--amber .partner-card-inner {
  display: flex; align-items: center; gap: 0;
  padding: 20px 32px; min-height: 100px; position: relative; overflow: hidden;
}
.partner-card-bg-text {
  position: absolute; right: -10px; top: 50%; transform: translateY(-50%);
  font-family: var(--font-display); font-size: 90px; font-weight: 900;
  color: rgba(200,232,92,0.06); letter-spacing: 0.05em;
  pointer-events: none; user-select: none; line-height: 1;
}
.partner-card--amber .partner-card-content {
  display: flex; align-items: center; gap: 20px;
  position: relative; z-index: 1; width: 100%;
}
.partner-badge-top {
  padding: 6px 14px;
  background: rgba(200,232,92,0.15);
  border: 1px solid rgba(200,232,92,0.25);
  border-radius: 999px; font-size: 11px; font-weight: 700;
  color: var(--neon); white-space: nowrap;
}
.partner-logo-wrap {
  width: 160px; flex-shrink: 0;
}
.partner-logo-img {
  max-width: 100%; max-height: 52px; object-fit: contain; display: block;
}
.partner-card--amber .partner-card-info { flex: 1; }
.partner-card--amber .partner-card-info h4 {
  font-family: var(--font-display); font-size: 24px; font-weight: 900;
  color: var(--cream); margin-bottom: 4px;
}
.partner-card--amber .partner-card-info p {
  font-size: 13px; color: rgba(245,242,234,0.5); margin-bottom: 8px;
}
.partner-card-tag {
  display: inline-block;
  padding: 4px 12px; border-radius: 999px;
  background: rgba(200,232,92,0.08);
  border: 1px solid rgba(200,232,92,0.15);
  font-size: 11px; color: var(--neon);
}
.partner-card-glow {
  position: absolute; right: 0; top: 0; width: 50%; height: 100%;
  background: radial-gradient(ellipse at right, rgba(200,232,92,0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* Three mini cards — each a different style */
.partner-three-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}

/* ===== Brand partner cards with real logos ===== */
.partner-card--brand {
  background: rgba(255,255,255,0.95);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  padding: 22px 18px 18px;
  display: flex; flex-direction: column;
  align-items: center; gap: 14px;
  text-align: center;
  transition: all 0.35s var(--ease);
  position: relative;
  overflow: hidden;
}
.partner-card--brand:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(0,0,0,0.35);
  background: rgba(255,255,255,1);
}
.partner-logo-wrap {
  width: 100%;
  display: flex; align-items: center; justify-content: center;
  min-height: 72px;
  padding: 6px 0;
}
.partner-logo-wrap--light {
  background: rgba(255,255,255,0.95);
}
.partner-logo-img {
  max-width: 100%;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.partner-card-info-mini { width: 100%; }
.partner-card-info-mini h4 {
  font-family: var(--font-display); font-size: 14px; font-weight: 700;
  color: var(--cream); margin-bottom: 3px; line-height: 1.3;
}
.partner-card-info-mini p {
  font-size: 11px; color: rgba(245,242,234,0.55); letter-spacing: 0.04em;
}

/* Amber art block */
.partner-amber-art-block {
  width: 120px; height: 56px; border-radius: 12px; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(200,232,92,0.2), rgba(180,215,80,0.08));
  border: 1px solid rgba(200,232,92,0.2);
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.partner-amber-art-block::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(200,232,92,0.15) 0%, transparent 70%);
}
.partner-amber-art-text {
  font-family: var(--font-display); font-size: 28px; font-weight: 900;
  color: var(--neon); letter-spacing: 0.1em; z-index: 1;
  text-shadow: 0 0 18px rgba(200,232,92,0.4);
}

/* Remove old logo card styles */
.partner-logo-grid,
.partner-logo-card,
.partner-logo-card:hover,
.partner-logo-card img,
.partner-logo-card p,
.partner-logo-card--featured,
.partner-tag { display: none; }

.partner-types {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 20px;
}
.partner-type-card {
  padding: 14px 16px;
  background: rgba(17,22,84,0.48); border: 1px solid rgba(255,255,255,0.05);
  border-radius: 14px; transition: all 0.3s; text-align: center;
}
.partner-type-card:hover {
  background: rgba(17,22,84,0.68);
  border-color: rgba(200,232,92,0.18);
}
.partner-type-card h4 { font-size: 15px; font-weight: 700; color: var(--cream); margin-bottom: 4px; }
.partner-type-card p { font-size: 12px; color: var(--lavender); line-height: 1.5; }

.partner-cta-row { text-align: center; padding-top: 32px; padding-bottom: 60px; }

/* ============================================
   Partner Benefits — Why partner with us
   ============================================ */

.partner-benefits { margin-top: 28px; }
.partner-benefits-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.benefit-card {
  padding: 18px 18px;
  background: rgba(17,22,84,0.42);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  transition: all 0.3s var(--ease);
  backdrop-filter: blur(8px);
}
.benefit-card:hover {
  background: rgba(17,22,84,0.7);
  border-color: rgba(200,232,92,0.18);
  transform: translateY(-3px);
}
.benefit-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  background: rgba(200,232,92,0.12);
  border-radius: 10px;
  font-size: 18px;
  margin-bottom: 10px;
}
.benefit-card h5 {
  font-family: var(--font-display);
  font-size: 14px; font-weight: 700; color: var(--cream);
  margin-bottom: 5px;
}
.benefit-card p {
  font-size: 11.5px; color: var(--lavender);
  line-height: 1.6;
}

/* ============================================
   Partner Testimonial — past partner quote
   ============================================ */

.partner-testimonial {
  margin-top: 28px;
  padding: 24px 32px;
  background: linear-gradient(135deg, rgba(234,140,200,0.08), rgba(200,232,92,0.05));
  border-left: 3px solid var(--neon);
  border-radius: 0 14px 14px 0;
}
.testimonial-quote {
  font-family: var(--font-display);
  font-size: 17px; line-height: 1.6; color: var(--cream);
  font-style: italic; font-weight: 400;
  margin-bottom: 10px;
}
.testimonial-author {
  display: flex; align-items: center; gap: 12px;
  font-size: 12px;
}
.testimonial-name { color: var(--neon); font-weight: 600; }
.testimonial-meta { color: var(--lavender); opacity: 0.7; }

/* ============================================
   Slide 08 · Footer
   ============================================ */

.slide--footer {
  background:
    radial-gradient(ellipse 50% 40% at 70% 20%, rgba(234,140,200,0.10) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 20% 80%, rgba(143,217,182,0.08) 0%, transparent 50%),
    linear-gradient(180deg, var(--deepest) 0%, #080b2e 60%, var(--ink) 100%);
}
.footer-bg-branch {
  top: -20px; right: -20px;
  color: var(--pink);
  animation: float-up 18s ease-in-out infinite;
  opacity: 0.7;
}
.footer-bg-swallow {
  bottom: 90px; left: -20px;
  color: var(--sky);
  animation: drift 16s ease-in-out 3s infinite;
  opacity: 0.7;
}
.footer-bg-petal-1 {
  top: 20%; left: 10%;
  color: var(--mint);
  animation: float-down 12s ease-in-out 2s infinite;
  opacity: 0.7;
}
.footer-bg-petal-2 {
  bottom: 25%; right: 12%;
  color: var(--neon);
  animation: float-down 13s ease-in-out 6s infinite;
  opacity: 0.7;
}

.footer-grid {
  display: grid; grid-template-columns: 1.2fr 1.5fr 0.8fr; gap: 60px; margin-bottom: 36px;
}
.footer-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.footer-mark {
  width: 38px; height: 38px; border-radius: 12px;
  background: linear-gradient(135deg, var(--neon) 0%, var(--mint) 45%, var(--sky) 100%);
  color: var(--ink);
  font-family: var(--font-display); font-weight: 900; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(143,217,182,0.35);
}
.footer-logo-text { display: flex; flex-direction: column; gap: 1px; line-height: 1.1; }
.footer-logo-en {
  font-family: var(--font-display); font-weight: 900; font-size: 18px; letter-spacing: 0.06em;
  background: linear-gradient(120deg, #1E3A8A 0%, #6D28D9 30%, #DB2777 60%, #C8E85C 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.footer-logo-cn { font-size: 11px; color: var(--lavender); letter-spacing: 0.32em; font-weight: 500; }
.footer-tagline { font-size: 13px; color: var(--lavender); line-height: 1.8; }
.footer-contact h4, .footer-qr p { font-size: 14px; font-weight: 700; color: var(--cream); margin-bottom: 16px; }
.contact-row { display: flex; gap: 10px; margin-bottom: 10px; font-size: 13px; }
.contact-label { color: var(--mint); min-width: 72px; font-weight: 500; }
.contact-value { color: var(--lavender); }
.qr-box {
  width: 100px; height: 100px; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: var(--lavender); text-align: center; margin-bottom: 10px;
}
.footer-divider { height: 1px; background: rgba(255,255,255,0.08); margin-bottom: 24px; }
.footer-past {
  display: flex; gap: 32px; align-items: center; margin-bottom: 24px; flex-wrap: wrap;
}
.footer-past-title { font-size: 14px; font-weight: 700; color: var(--cream); }
.footer-past a { font-size: 13px; color: var(--lavender); transition: color 0.25s; }
.footer-past a:hover { color: var(--neon); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-utility); font-size: 12px; color: var(--lavender);
}
.footer-links { display: flex; gap: 24px; }
.footer-links a { transition: color 0.25s; }
.footer-links a:hover { color: var(--cream); }

/* ============================================
   Contact Modal
   ============================================ */

.contact-modal {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.3s var(--ease), visibility 0.3s;
}
.contact-modal.is-open {
  opacity: 1; visibility: visible; pointer-events: auto;
}

.contact-modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(6, 9, 36, 0.75);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}

.contact-modal-panel {
  position: relative; z-index: 1;
  background: linear-gradient(160deg, rgba(20,30,74,0.97), rgba(14,22,70,0.98));
  border: 1px solid rgba(200,232,92,0.12);
  border-radius: 24px; padding: 40px 36px 32px;
  max-width: 440px; width: 90%;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  animation: modalIn 0.4s var(--ease);
}

@keyframes modalIn {
  from { opacity: 0; transform: translateY(20px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.contact-modal-close {
  position: absolute; top: 16px; right: 20px;
  font-size: 28px; color: var(--lavender);
  opacity: 0.6; transition: opacity 0.25s;
  line-height: 1;
}
.contact-modal-close:hover { opacity: 1; }

.contact-modal-title {
  font-family: var(--font-display); font-size: 26px; font-weight: 900;
  color: var(--cream); text-align: center; margin-bottom: 6px;
}
.contact-modal-sub {
  font-size: 14px; color: var(--lavender); text-align: center; margin-bottom: 28px;
}

.contact-modal-options {
  display: flex; flex-direction: column; gap: 14px;
}

.contact-option {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  transition: all 0.25s var(--ease);
  text-align: left; width: 100%;
}
.contact-option:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(200,232,92,0.35);
  transform: translateX(4px);
}
.contact-option-icon {
  font-size: 28px; flex-shrink: 0;
}
.contact-option-label {
  font-family: var(--font-display); font-size: 16px; font-weight: 700;
  color: var(--cream);
  display: block;
}
.contact-option-hint {
  font-size: 12px; color: var(--lavender);
  display: block; margin-top: 2px;
}
.contact-option--email .contact-option-hint { color: var(--neon); }
.contact-option--wechat .contact-option-hint { color: var(--lavender); }

.contact-modal-toast {
  text-align: center; font-size: 13px; color: var(--mint);
  min-height: 24px; margin-top: 16px;
  opacity: 0; transition: opacity 0.3s;
}
.contact-modal-toast.show { opacity: 1; }

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 1150px) {
  .hero-motif-1 { width: 140px !important; height: 140px !important; top: 3%; right: 2%; }
  .hero-motif-2 { width: 200px !important; height: 117px !important; }
  .hero-motif-3 { width: 150px !important; height: 115px !important; }
  .hero-ink-shard { width: 240px !important; height: 240px !important; right: 4%; opacity: 0.55; }
  .hero-motif-3 { width: 110px !important; height: 110px !important; bottom: 6%; right: 0; }
  .hero-motif-2 { width: 180px !important; height: 105px !important; top: 28%; right: 8%; }
  .hero-motif-4 { display: none; }
  .hero-glow { width: 260px; height: 260px; }
  .hero-glow-2 { width: 160px; height: 160px; }
  .history-visual { height: 180px; }
  .history-photo { height: 95px; }
  .partner-three-grid { grid-template-columns: repeat(2, 1fr); }
  .clubs-grid { grid-template-columns: repeat(3, 1fr); }
  .clubs-editions { grid-template-columns: 1fr; }
  .clubs-cumulative { flex-wrap: wrap; gap: 18px; padding: 18px 22px; }
  .cumulative-item strong { font-size: 28px; }
  .cumulative-divider { display: none; }
  .club-card--featured { grid-column: span 1; }
}

@media (max-width: 1024px) {
  .header-inner { padding: 0 24px; }
  .nav {
    display: none; position: absolute; top: var(--header-h);
    left: 0; right: 0; background: rgba(6,9,36,0.96);
    backdrop-filter: blur(20px); flex-direction: column; padding: 20px; gap: 6px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .nav.mobile-open { display: flex; }
  .nav-item { padding: 12px 18px; font-size: 15px; }
  .mobile-menu-btn { display: flex; }
  .slide { padding: calc(var(--header-h) + 20px) 32px 90px; }
  .slide-content--split { grid-template-columns: 1fr; gap: 32px; }
  .slide-title { font-size: 32px; }
  .hero-right { order: -1; }
  .hero-left .hero-title { align-items: center; }
  .hero-desc, .hero-actions { justify-content: center; text-align: center; }
  .hero-title-main { font-size: 100px; }
  .hero-title-sub { font-size: 48px; }
  .history-row { grid-template-columns: 1fr; }
  .history-row.reverse { grid-template-columns: 1fr; }
  .history-row.reverse .history-row-photo { order: 0; }
  .history-row.reverse .history-row-content { order: 0; }
  .history-row-photo { min-height: 220px; }
  .history-row-content { padding: 24px 26px; }
  .history-row-stats { flex-wrap: wrap; gap: 16px; }
  .history-highlights { flex-direction: column; align-items: flex-start; padding: 22px 24px; }
  .clubs-grid { grid-template-columns: repeat(2, 1fr); }
  .clubs-editions { grid-template-columns: 1fr; }
  .clubs-cumulative { flex-direction: row; flex-wrap: wrap; }
  .partner-three-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-card--amber .partner-card-inner { padding: 24px 28px; flex-direction: column; align-items: flex-start; }
  .partner-card--amber .partner-card-info h4 { font-size: 20px; }
  .partner-types { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 640px) {
  :root { --header-h: 64px; }
  .slide { padding: calc(var(--header-h) + 16px) 20px 80px; }
  .slide-title { font-size: 26px; }
  .slide-lead { font-size: 14px; }
  .hero-title-main { font-size: 72px; }
  .hero-title-sub { font-size: 36px; }
  .hero-actions { flex-direction: column; align-items: center; }
  .hero-motif-1 { width: 110px !important; height: 110px !important; top: 4%; right: 0; }
  .hero-motif-3 { width: 90px !important; height: 90px !important; bottom: 8%; right: 0; }
  .hero-motif-2 { width: 140px !important; height: 82px !important; top: 30%; right: 5%; }
  .hero-glow { width: 180px; height: 180px; }
  .hero-glow-2 { width: 120px; height: 120px; }
  .hero-petal-1, .hero-petal-2, .hero-petal-3, .hero-petal-4, .hero-petal-5, .hero-petal-6 { display: none; }
  .hero-ink-shard { display: none; }
  .stats-row { gap: 24px; flex-wrap: wrap; }
  .stat strong { font-size: 32px; }
  .recruit-meta { gap: 20px; flex-wrap: wrap; }
  .recruit-poster { max-width: 280px; }
  .recruit-timeline { max-width: 100%; }
  .newsletter-form { flex-direction: column; }
  .newsletter-features { grid-template-columns: 1fr; }
  .newsletter-stats { gap: 14px; padding: 14px 16px; flex-wrap: wrap; justify-content: center; }
  .ns-stat strong { font-size: 20px; }
  .ns-divider { display: none; }
  .newsletter-preview { padding: 18px 16px; }
  .preview-title { font-size: 16px; }
  .preview-meta { gap: 10px; }
  .history-row-photo { min-height: 200px; }
  .history-row-content { padding: 22px; }
  .history-row-stats { gap: 14px; }
  .history-row-stat strong { font-size: 18px; }
  .clubs-grid { grid-template-columns: 1fr; }
  .clubs-editions { grid-template-columns: 1fr; }
  .clubs-cumulative { padding: 16px; gap: 14px; }
  .cumulative-item strong { font-size: 24px; }
  .partner-three-grid { grid-template-columns: 1fr; }
  .partner-benefits-grid { grid-template-columns: 1fr; }
  .partner-card--amber .partner-card-content { flex-direction: column; align-items: flex-start; gap: 14px; }
  .partner-logo-wrap { width: 120px; }
  .footer-past { gap: 16px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .contact-modal-panel { padding: 28px 20px 24px; }
}

/* ============================================
   Reduced motion
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  .slide { transition: opacity 0.3s ease; transform: none !important; }
  .motif { animation: none !important; opacity: 1; }
  .hero-glow, .hero-glow-2 { animation: none !important; }
}

/* ============================================
   全站文字白色统一覆盖
   说明：保留渐变文字效果（background-clip: text 的元素），
   只把原本使用 lavender / smoke / mint / neon / pink / sky / lemon
   作为前景色的文字统一改为纯白。背景渐变、边框 accent 色不变。
   ============================================ */

/* Body 文本类：lavender / smoke */
.slide-lead,
.slide-eyebrow,
.about-poem,
.value-card p,
.stat span,
.meta-item span,
.role-tags span,
.recruit-contact,
.contact-line,
.poster-subtitle,
.poster-date,
.poster-note,
.timeline-text,
.newsletter-feature p,
.ns-stat > span,
.history-row-eyebrow,
.history-row-desc,
.history-row-stat span,
.history-row-plays-pending .pending-text,
.history-highlights p,
.club-info p,
.clubs-note,
.cumulative-item span,
.edition-pill span,
.partner-type-card p,
.partner-card-info p,
.footer-logo-cn,
.footer-tagline,
.footer-past a,
.footer-links a,
.footer-bottom,
.contact-modal-eyebrow,
.contact-modal-desc,
.contact-option-text,
.contact-option-hint,
.logo-text-cn,
.slide-right,
.slide-left {
  color: #FFFFFF !important;
}

/* Accent 文字类：原本是 mint / neon / pink / sky / lemon */
.slide-eyebrow,
.contact-line .contact-label,
.contact-label,
.poster-badge,
.timeline-date,
.newsletter-feature .feature-icon,
.history-row-plays-label,
.history-row-plays-pending .pending-tag,
.history-row-stat strong,
.stat strong,
.club-badge,
.cumulative-item strong,
.partner-card-tag,
.partner-card-tier,
.partner-type-card .type-num,
.footer-past-title,
.contact-modal h2,
.btn-ghost,
.nav-item,
.nav-item.active,
.hero-tag,
.value-card h3,
.value-card .value-icon,
.recruit-timeline h4,
.slide-title {
  color: #FFFFFF !important;
}

/* smoke 透明文字保持稍微透明白，避免太突兀 */
.about-poem,
.footer-links a,
.clubs-note,
.preview-meta,
.partner-card-info p {
  opacity: 0.92;
}
