/* =========================================================
   Animations: keyframes + utility motion classes
   ========================================================= */

@keyframes drift1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(60px, 40px) scale(1.08); }
  66% { transform: translate(-40px, 80px) scale(0.95); }
}

@keyframes drift2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-80px, 60px) scale(1.1); }
}

@keyframes drift3 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  40% { transform: translate(40px, -60px) scale(1.05); }
  80% { transform: translate(-60px, -30px) scale(0.95); }
}

@keyframes orbSpin {
  to { transform: rotate(360deg); }
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes floatUp {
  0% { transform: translateY(0) translateX(0); opacity: 0; }
  10% { opacity: 0.5; }
  90% { opacity: 0.4; }
  100% { transform: translateY(-110vh) translateX(40px); opacity: 0; }
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
}

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

/* Floating chip subtle bob */
@keyframes chipBob {
  0%, 100% { transform: translateY(0) rotate(var(--rot, 0deg)); }
  50% { transform: translateY(-8px) rotate(var(--rot, 0deg)); }
}

/* Splittext-like reveal */
@keyframes wordRise {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Underline grow */
@keyframes lineGrow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

/* Pulse breathing dot — used in dark CTA */
.pulse-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gold);
  animation: pulseDot 2.4s ease-in-out infinite;
  margin-right: 10px;
  vertical-align: middle;
}

/* Hero chip float */
.stat-chip { animation: chipBob 6s ease-in-out infinite; }
.stat-chip.chip-1 { --rot: -4deg; animation-delay: 0s; }
.stat-chip.chip-2 { --rot: 3deg; animation-delay: 1.5s; }
.stat-chip.chip-3 { --rot: -2deg; animation-delay: 3s; }

@media (prefers-reduced-motion: reduce) {
  .stat-chip, .pulse-dot { animation: none; }
}
