/* ================================================================
 * CAPPES AI — Animations (Creator + Hero · Energetic Motion)
 * ================================================================ */

@keyframes orbFloat1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25%  { transform: translate(60px, -40px) scale(1.1); }
  50%  { transform: translate(-30px, 20px) scale(0.95); }
  75%  { transform: translate(40px, 50px) scale(1.05); }
}
@keyframes orbFloat2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(-60px, -50px) scale(1.12); }
  66%  { transform: translate(40px, 30px) scale(0.92); }
}
@keyframes orbFloat3 {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  25%  { transform: translate(40px, 30px) rotate(2deg); }
  50%  { transform: translate(-40px, -20px) rotate(-2deg); }
  75%  { transform: translate(30px, -30px) rotate(1deg); }
}
@keyframes energyPulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 8px var(--color-primary-400); }
  50% { opacity: 0.5; box-shadow: 0 0 16px var(--color-primary-400); }
}
@keyframes kineticFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes statusFade {
  0%, 85%, 100% { opacity: 0; transform: translateY(4px); }
  15%, 70% { opacity: 1; transform: translateY(0); }
}
@keyframes slideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
@keyframes ctaShimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

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