/* Slow, subtle motion for the hero light image (kept exact; only drifts). */
@keyframes hero-drift{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.09) translate3d(-1.6%,-1.2%,0)}}
@keyframes hero-sheen{0%{transform:translateX(-60%)}100%{transform:translateX(160%)}}
.hero-image{animation:hero-reveal 1.3s ease-out both,hero-drift 38s 1.3s ease-in-out infinite alternate;transform-origin:70% 50%}
.energy-hero-image{animation:hero-drift 38s ease-in-out infinite alternate;transform-origin:70% 50%}
.hero::after,.energy-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent 30%,rgba(140,205,255,.10) 45%,rgba(200,235,255,.16) 50%,rgba(140,205,255,.10) 55%,transparent 70%);
  mix-blend-mode:screen;animation:hero-sheen 11s 2s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.hero-image,.energy-hero-image,.hero::after,.energy-hero::after{animation:none}}
