/* ============================================================
   PUSULA Platform - Animations
   ============================================================ */

/* Fade in down */
@keyframes fadeInDown{
  from{ opacity:0; transform:translateY(-15px); }
  to{ opacity:1; transform:translateY(0); }
}
.animate-fadeInDown{ animation:fadeInDown .6s ease both; }

/* Fade in up */
@keyframes fadeInUp{
  from{ opacity:0; transform:translateY(20px); }
  to{ opacity:1; transform:translateY(0); }
}
.animate-fadeInUp{ animation:fadeInUp .7s ease both; }

/* Fade in */
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }
.animate-fadeIn{ animation:fadeIn .5s ease both; }

/* Scale in */
@keyframes scaleIn{ from{opacity:0; transform:scale(.95)} to{opacity:1; transform:scale(1)} }
.animate-scaleIn{ animation:scaleIn .4s ease both; }

/* Slide in left */
@keyframes slideInLeft{ from{opacity:0; transform:translateX(-20px)} to{opacity:1; transform:translateX(0)} }
.animate-slideInLeft{ animation:slideInLeft .5s ease both; }

/* Pulse glow */
@keyframes pulseGlow{
  0%,100%{ box-shadow:0 0 0 0 rgba(37,99,235,.4); }
  50%{ box-shadow:0 0 0 12px rgba(37,99,235,0); }
}
.animate-pulseGlow{ animation:pulseGlow 2s infinite; }

/* Compass needle rotation */
@keyframes rotate{ from{transform:rotate(0)} to{transform:rotate(360deg)} }
.compass-needle{ transform-origin:center; animation:rotate 25s linear infinite; }

/* Stagger delays */
.delay-1{ animation-delay:.1s; }
.delay-2{ animation-delay:.2s; }
.delay-3{ animation-delay:.3s; }
.delay-4{ animation-delay:.4s; }
.delay-5{ animation-delay:.5s; }

/* Hover lift */
.hover-lift{ transition:transform .25s, box-shadow .25s; }
.hover-lift:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.1); }

/* Smooth scroll */
html{ scroll-behavior:smooth; }

/* Number counter (countup via JS) */
.count-up{ font-variant-numeric:tabular-nums; }
