/* 首屏鼠标跟随视频（融合实验页 index-mouse.html 专用） */
.heroVideoL, .heroVideoR {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 70% center;
  z-index: -2;
}
/* 激活层升到 -1，仍处于 ::after 压暗渐变(z0) 与文案(z1) 之下 */
.heroVideoL.active, .heroVideoR.active { z-index: -1; }
.heroVideoL.sharpen, .heroVideoR.sharpen { filter: url(#sharpen); }
/* 曝光呼吸层是静态肖像的效果，视频模式下隐藏（节点保留，cinema.js 需要它存在） */
.hero .heroExposure { display: none; }
/* 文案与底栏提到压暗渐变之上 */
.hero .heroContent { z-index: 1; }
.hero .heroBottom { z-index: 1; }
.expBadge {
  position: fixed; left: 14px; bottom: 14px; z-index: 30;
  background: rgba(0,0,0,.45); color: #fff;
  border: 1px solid rgba(255,255,255,.4); border-radius: 999px;
  padding: 6px 14px; font-size: 12px;
}

/* ── 数字分身 mood 层（hero-mood.js 配套）── */
.heroMoodNeutral, .heroMood {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 70% center;
}
.heroMoodNeutral { z-index: -2; animation: hmBreathe 6s ease-in-out infinite alternate; }
.heroMood { z-index: -1; opacity: 0; transition: opacity .28s ease; pointer-events: none; }
.heroMood.on { opacity: 1; }
@keyframes hmBreathe { from { transform: scale(1); } to { transform: scale(1.014); } }
@media (prefers-reduced-motion: reduce) { .heroMoodNeutral { animation: none; } .heroMood { display: none; } }
