:root {
  --ink: #241a3d;
  --text: #443a5e;
  --mute: #857a9c;
  --line: #e9e2f4;
  --paper: #faf8fe;
  --white: #ffffff;
  --pri: #6d3ff0;
  --pri-deep: #5426cc;
  --accent: #ff7ac2;
  --soft: #efe9ff;
  --soft-2: #ffe9f4;
}

/* 深紫横幅英雄区 */
.hv-banner .hero { padding: 54px 0 58px; background: linear-gradient(120deg, #35255e 0%, #4a2f7a 58%, #6a3f8f 100%); }
.hv-banner .hero::before { right: -12%; top: -30%; width: 58%; height: 150%; background: radial-gradient(circle at 50% 50%, rgba(168,120,255,.34), rgba(255,140,190,.10) 58%, transparent 74%); }
.hv-banner .hero h1 { color: #ffffff; }
.hv-banner .hero-sub { color: #ffd9ee; }
.hv-banner .hero-desc { color: rgba(255,255,255,.68); }
.hv-banner .eyebrow { background: rgba(255,255,255,.12); color: #ffe0f2; }
.hv-banner .eyebrow i { background: #ff9ad5; }
.hv-banner .hero-points { border-top-color: rgba(255,255,255,.18); }
.hv-banner .hero-points li { color: #ffffff; }
.hv-banner .hero-points small { color: rgba(255,255,255,.55); }
.hv-banner .btn-secondary { background: transparent; color: #ffffff; border-color: rgba(255,255,255,.32); }
.hv-banner .hero-grid { grid-template-columns: 1.02fr .98fr; gap: 50px; }
.hv-banner .hero-visual { min-height: 580px; }
.hv-banner .hero-glow { width: 80%; background: radial-gradient(circle at 50% 45%, rgba(255,154,213,.30), rgba(140,90,240,.14) 58%, transparent 74%); }
.hv-banner .stage-phone { width: min(238px, 50%); padding: 8px; border-radius: 26px; background: #1d1430; rotate: -2deg; animation: none; box-shadow: 0 26px 56px rgba(0,0,0,.38); }
.hv-banner .stage-phone img { border-radius: 19px; }
.hv-banner .hero-badge { left: 0; right: auto; top: 6%; width: 96px; height: 96px; border-radius: 50%; rotate: -6deg; background: #ff9ad5; color: #3d1f42; box-shadow: 0 16px 32px rgba(255,154,213,.28); }
.hv-banner .hero-badge strong { font-size: 28px; }
.hv-banner .hero-strip { left: auto; right: 0; bottom: 2%; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.18); box-shadow: none; }
.hv-banner .hero-strip span { background: rgba(255,255,255,.14); color: #ffe0f2; }
.hv-banner .hero-visual::after { content: ""; position: absolute; right: 2%; top: 2%; width: 44%; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.18); border-radius: 28px; rotate: 6deg; }

/* 特色区左栏吸附 */
.fv-split .feature:nth-child(even) { background: var(--soft); }

@media (max-width: 980px) {
  .hv-banner .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hv-banner .hero-visual { min-height: 560px; }
}
@media (max-width: 640px) {
  .hv-banner .hero { padding: 30px 0 32px; }
  .hv-banner .hero-visual { min-height: 0; display: flex; flex-direction: column; align-items: center; gap: 16px; }
  .hv-banner .stage-phone { width: min(218px, 62%); rotate: 0deg; }
  .hv-banner .hero-strip { position: static; margin: 0; flex-wrap: wrap; justify-content: center; }
  .hv-banner .hero-visual::after { display: none; }
}

