/* ==========================================================================
   Animations & motion utilities
   ========================================================================== */

@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}
.float-anim { animation: floatY 5s ease-in-out infinite; }

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.shimmer-skeleton {
  background: linear-gradient(90deg, #0A1128 25%, #16224A 37%, #0A1128 63%);
  background-size: 400% 100%;
  animation: shimmer 1.6s ease infinite;
}

@keyframes revIn {
  from { stroke-dashoffset: 220; }
  to { stroke-dashoffset: 40; }
}

.hover-rise { transition: transform .35s cubic-bezier(0.22,1,0.36,1); }
.hover-rise:hover { transform: translateY(-6px); }

.fade-in-section { animation: fadeInUp .8s cubic-bezier(0.22,1,0.36,1) both; }
