/* ==========================================================================
   EasyAlbum Software Solutions — Animations
   All GPU-accelerated (transform / opacity only)
   ========================================================================== */

@keyframes floatY{
  0%,100%{transform:translateY(0) rotate(var(--tilt,0deg))}
  50%{transform:translateY(-18px) rotate(var(--tilt,0deg))}
}

@keyframes pulseGlow{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:.85;transform:scale(1.08)}
}

@keyframes playPulse{
  0%{box-shadow:0 0 0 0 rgba(249,115,22,.45)}
  70%{box-shadow:0 0 0 22px rgba(249,115,22,0)}
  100%{box-shadow:0 0 0 0 rgba(249,115,22,0)}
}

@keyframes meshDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-2%,2%,0) scale(1.04)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
.hero-mesh{animation:meshDrift 16s ease-in-out infinite}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-copy .eyebrow{animation:fadeUp .7s var(--ease) both}
.hero-copy h1{animation:fadeUp .8s var(--ease) .08s both}
.hero-copy .hero-sub{animation:fadeUp .8s var(--ease) .16s both}
.hero-copy .hero-sub-lines{animation:fadeUp .8s var(--ease) .24s both}
.hero-copy .hero-actions{animation:fadeUp .8s var(--ease) .32s both}
.hero-copy .hero-trustline{animation:fadeUp .8s var(--ease) .4s both}
.hero-visual{animation:fadeUp 1s var(--ease) .3s both}

@keyframes marqueeScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@keyframes spinSlow{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.orb-1{animation:pulseGlow 6s ease-in-out infinite, spinSlow 40s linear infinite}

@keyframes cursorBlink{
  0%,49%{opacity:1}
  50%,100%{opacity:0}
}

@keyframes shimmer{
  0%{background-position:-200% 0}
  100%{background-position:200% 0}
}

@keyframes ripple{
  0%{transform:scale(.9);opacity:.8}
  100%{transform:scale(1.6);opacity:0}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
