/* Micro-animations & motion utilities */
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes pulseGlow { 0%,100%{opacity:.55;transform:scale(1)} 50%{opacity:.9;transform:scale(1.06)} }
@keyframes rotateSlow { to{transform:rotate(360deg)} }
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes particleFly {
    0%{transform:translate(0,0) scale(1);opacity:1}
    100%{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}
}

.hs-hero-product{animation:floatY 6s ease-in-out infinite}
.hs-hero-flame{animation:pulseGlow 4s ease-in-out infinite}
.hs-hero-ribbon svg .energy-ring{animation:rotateSlow 40s linear infinite;transform-origin:center}

.hs-particle{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--hs-red);box-shadow:0 0 8px var(--hs-red);opacity:0;animation:particleFly 6s linear infinite}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
    .hs-hero-product,.hs-hero-flame,.hs-hero-ribbon svg .energy-ring{animation:none !important}
    .reveal-up,.reveal-line span{opacity:1 !important;transform:none !important}
}