/* =========================================================
   Creative Corner — Animations
   ========================================================= */

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes heroZoom {
  from { transform: scale(1); }
  to   { transform: scale(1.08); }
}

@keyframes bob {
  0%, 100% { transform: translate(-50%, 0); }
  50%      { transform: translate(-50%, 10px); }
}

@keyframes scrollDot {
  0%   { top: 8px; opacity: 1; }
  100% { top: 24px; opacity: 0; }
}

@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-14px); }
}

@keyframes pulseRing {
  0%   { transform: scale(1); opacity: .7; }
  100% { transform: scale(1.5); opacity: 0; }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes gentleBounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

/* Utility animation classes */
.animate-fade-up { animation: fadeInUp .8s ease both; }
.animate-float   { animation: floaty 5s ease-in-out infinite; }
.animate-bounce  { animation: gentleBounce 2.5s ease-in-out infinite; }

/* Underline animation for links */
.nav-link, .foot-col a { position: relative; }

/* Hover lift utility */
.hover-lift { transition: transform .4s ease, box-shadow .4s ease; }
.hover-lift:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
