html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: no-preference) {
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes float {
    0%, 100% { transform: translateY(0) rotate(0); }
    50%      { transform: translateY(-10px) rotate(0.5deg); }
  }
  @keyframes pulseRing {
    0%   { transform: scale(0.8); opacity: 0.6; }
    80%  { transform: scale(1.6); opacity: 0; }
    100% { transform: scale(1.6); opacity: 0; }
  }
  @keyframes shimmer {
    0%, 100% { opacity: .55; }
    50%      { opacity: 1; }
  }
  @keyframes logoEntrance {
    0%   { opacity: 0; transform: scale(0.5) rotate(-8deg); filter: blur(8px); }
    60%  { opacity: 1; transform: scale(1.05) rotate(2deg); filter: blur(0); }
    100% { opacity: 1; transform: scale(1) rotate(0); filter: blur(0); }
  }

  .anim-fade-up   { animation: fadeUp .9s ease-out both; }
  .anim-float     { animation: float 6s ease-in-out infinite; }
  .anim-shimmer   { animation: shimmer 2.4s ease-in-out infinite; }
  .anim-pulse-ring{ animation: pulseRing 3s ease-out infinite; }
  .delay-1 { animation-delay: .1s; }
  .delay-2 { animation-delay: .25s; }
  .delay-3 { animation-delay: .4s; }
  .delay-4 { animation-delay: .55s; }
}

.logo-halo {
  background: radial-gradient(circle at center,
    rgba(110, 231, 183, 0.55) 0%,
    rgba(16, 185, 129, 0.25) 35%,
    rgba(16, 185, 129, 0) 70%);
}

.logo-img { transition: transform .5s cubic-bezier(.2,.9,.3,1.2); }
.logo-img:hover { transform: scale(1.04) rotate(-2deg); }
