:root {
  --ink: #2a1a22;
  --text: #4e3a44;
  --mute: #8d7480;
  --line: #f0e3e9;
  --paper: #fdf8fa;
  --white: #ffffff;
  --pri: #e05c8c;
  --pri-deep: #c04472;
  --accent: #f0a04b;
  --soft: #fce8f0;
  --soft-2: #fff0e4;
}

/* 弧形光带英雄区：左侧竖线文案 + 白框手机 */
.hv-arc .hero { padding: 46px 0 50px; }
.hv-arc .hero::before { right: -16%; top: -30%; width: 56%; height: 150%; background: radial-gradient(circle at 50% 50%, rgba(224,92,140,.18), rgba(240,160,75,.08) 55%, transparent 72%); }
.hv-arc .hero-copy { padding-left: 26px; border-left: 4px solid var(--pri); }
.hv-arc .hero-grid { grid-template-columns: 1.08fr .92fr; gap: 54px; }
.hv-arc .hero-visual { min-height: 584px; }
.hv-arc .hero-glow { width: 78%; }
.hv-arc .stage-phone { width: min(246px, 52%); padding: 10px; border-radius: 28px; background: #ffffff; border: 1px solid #f6dde8; rotate: -3deg; animation: none; box-shadow: 0 22px 48px rgba(150,50,90,.20); }
.hv-arc .stage-phone img { border-radius: 20px; }
.hv-arc .hero-badge { left: 4%; right: auto; top: 8%; width: 100px; height: 100px; border-radius: 28px; rotate: -5deg; background: var(--accent); color: #4a2a12; box-shadow: 0 16px 32px rgba(240,160,75,.30); }
.hv-arc .hero-badge strong { font-size: 28px; }
.hv-arc .hero-strip { left: auto; right: 0; top: 0; bottom: auto; }
.hv-arc .hero-visual::after { content: ""; position: absolute; right: 4%; bottom: 1%; width: 46%; aspect-ratio: 1; border: 2px dashed rgba(224,92,140,.32); border-radius: 50%; }

/* 特色区时间轴式行 */
.fv-rows .feature em { color: var(--pri); }

@media (max-width: 980px) {
  .hv-arc .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hv-arc .hero-visual { min-height: 560px; }
  .hv-arc .stage-phone { width: min(232px, 54%); }
}
@media (max-width: 640px) {
  .hv-arc .hero { padding: 26px 0 28px; }
  .hv-arc .hero-copy { padding-left: 16px; border-left-width: 3px; }
  .hv-arc .hero-visual { min-height: 0; display: flex; flex-direction: column; align-items: center; gap: 16px; }
  .hv-arc .stage-phone { width: min(218px, 62%); rotate: 0deg; }
  .hv-arc .hero-strip { position: static; margin: 0; flex-wrap: wrap; justify-content: center; }
  .hv-arc .hero-visual::after { display: none; }
}

