/* ============================================================================
   variants.css — 三个候选版式的差异层
   三版共用 base.css 的色板与组件，只在「版式 / 密度 / 动效强度」上分叉。
   用法：<html data-variant="v1|v2|v3">
   ========================================================================== */

/* ============================ v1 · 克制编辑版 ============================
   排版主导：大字、宽留白、去掉横向钉住与光斑，靠字号和间距建立秩序。 */
[data-variant="v1"] .hero { min-height: auto; padding-top: 168px; padding-bottom: 120px; }
[data-variant="v1"] .hero h1 { font-size: clamp(30px, 4.5vw, 64px); line-height: 1.0; letter-spacing: -.042em; }
[data-variant="v1"] .hero-inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
[data-variant="v1"] .hero h1 .grad {
  background: none; -webkit-text-fill-color: currentColor; color: var(--brand-200);
}
[data-variant="v1"] #heroCanvas { opacity: 0 !important; }
[data-variant="v1"] .hero-veil {
  background: radial-gradient(900px 520px at 80% 20%, rgba(124, 92, 255, .10), transparent 62%);
}
[data-variant="v1"] .hero-stats { border-top-color: var(--line-2); }
[data-variant="v1"] .hero-stats b { font-weight: 500; }
[data-variant="v1"] .glass { box-shadow: none; background: rgba(10, 15, 29, .5); }
[data-variant="v1"] .card { background: transparent; border-color: var(--line); }
[data-variant="v1"] .card:hover { transform: none; box-shadow: none; border-color: var(--brand-300); }
[data-variant="v1"] .card::after { display: none; }
[data-variant="v1"] .pin-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
[data-variant="v1"] .pin-head { grid-column: 1 / -1; max-width: 46ch; margin-bottom: 18px; }
[data-variant="v1"] .pin-card { min-height: 0; }
[data-variant="v1"] .section { padding: clamp(84px, 11vw, 156px) 0; }
[data-variant="v1"] .eyebrow::before { width: 44px; }
[data-variant="v1"] .numbers { background: none; padding: 84px 0; }
[data-variant="v1"] .numbers-grid b { background: none; -webkit-text-fill-color: currentColor; color: var(--fg); font-weight: 500; }
[data-variant="v1"] .ad-card:hover { transform: none; box-shadow: none; border-color: var(--brand-300); }
[data-variant="v1"] .cta::before { display: none; }
[data-variant="v1"] .cta { border-top: 1px solid var(--line); }
[data-variant="v1"] .sound-toggle { display: none; }

/* ============================ v2 · 叙事沉浸版 ============================
   生产版基线：首屏 3D + 钉住横滑 + 视差 + 光斑。这里只做轻度强化。 */
[data-variant="v2"] .hero h1 { font-size: clamp(36px, 4.7vw, 68px); }
[data-variant="v2"] .pin-card { min-height: 300px; }
[data-variant="v2"] .section + .section { border-top-color: rgba(185, 167, 255, .10); }
[data-variant="v2"] .card:hover { box-shadow: 0 32px 70px -34px rgba(124, 92, 255, .85); }

/* ============================ v3 · 动能实验版 ============================
   更重的动效：超大字、字符级入场、跑马灯、全屏钉住 + 更强的光。 */
[data-variant="v3"] .hero { min-height: 100svh; }
[data-variant="v3"] .hero-inner { grid-template-columns: minmax(0, 1.24fr) minmax(0, .76fr); }
[data-variant="v3"] .hero h1 {
  font-size: clamp(30px, 4.3vw, 63px);
  line-height: .98; letter-spacing: -.045em; font-weight: 700;
}
[data-variant="v3"] .hero h1 .grad {
  background: linear-gradient(112deg, #DCD4FF 0%, #9D85FF 38%, #7C5CFF 62%, #35E0C8 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: shift 7s linear infinite;
}
@keyframes shift { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
[data-variant="v3"] .badge { border-color: rgba(34, 211, 238, .45); box-shadow: 0 0 32px -8px rgba(34, 211, 238, .5); }
[data-variant="v3"] .glass { box-shadow: 0 60px 160px -50px rgba(124, 92, 255, .85), var(--shadow-1); }
/* 卡片高度必须跟视口走，否则钉住时上下留白压不下去（实测 900 视口下 66.7%） */
[data-variant="v3"] .pin-card { min-height: clamp(360px, 55svh, 560px); }
[data-variant="v3"] .card:hover { transform: translateY(-6px) scale(1.012); }
[data-variant="v3"] .numbers-grid b { font-size: clamp(34px, 4.6vw, 62px); }

/* v3 跑马灯 */
.marquee { display: none; }
[data-variant="v3"] .marquee {
  display: block; position: relative; overflow: hidden;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 16px 0; background: rgba(124, 92, 255, .05);
}
[data-variant="v3"] .marquee-track {
  display: flex; gap: 44px; width: max-content;
  animation: slide 32s linear infinite;
  font-family: var(--mono); font-size: 12px; letter-spacing: .18em; color: var(--fg-3);
  text-transform: uppercase; white-space: nowrap;
}
@keyframes slide { to { transform: translateX(-50%); } }
[data-variant="v3"] .marquee-track span { display: inline-flex; align-items: center; gap: 10px; }
[data-variant="v3"] .marquee-track i {
  width: 5px; height: 5px; border-radius: 50%; background: var(--brand);
  box-shadow: 0 0 0 4px rgba(124, 92, 255, .16);
}

/* v3 字符级入场用（app 会在 data-split 上切字符） */
[data-variant="v3"] [data-split] .ch { display: inline-block; will-change: transform, opacity; }

@media (prefers-reduced-motion: reduce) {
  [data-variant="v3"] .hero h1 .grad { animation: none; }
  [data-variant="v3"] .marquee-track { animation: none; }
}

@media (max-width: 900px) {
  [data-variant="v1"] .pin-inner { display: block; }
  [data-variant="v1"] .pin-head { margin-bottom: 0; }
  [data-variant="v3"] .hero { min-height: auto; }
  [data-variant="v3"] .hero h1 { font-size: clamp(26px, 8.2vw, 40px); }
}

/* v3 行级遮罩（配合 variants.js 的行拆分） */
[data-variant="v3"] .hero h1 .ln { display: block; overflow: hidden; padding-bottom: .06em; white-space: nowrap; }
[data-variant="v3"] .hero h1 .ln-in { display: block; will-change: transform, opacity; }
