/* Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: none;
}

.float-card { animation: floatY 6s ease-in-out infinite; }
.fc-2 { animation-delay: -1.5s; }
.fc-3 { animation-delay: -3s; }
.fc-4 { animation-delay: -4.5s; }

@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.eco-center { animation: pulseGlow 4s ease-in-out infinite; }
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 30px rgba(212,175,55,0.25); }
  50% { box-shadow: 0 0 48px rgba(212,175,55,0.45); }
}

.gradient-shift {
  background-size: 200% 200%;
  animation: gradMove 12s ease infinite;
}
@keyframes gradMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
