/* =========================================================
   VELTRO — animations.css
   ========================================================= */

@keyframes heroFadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes lineReveal { to { transform: translateY(0); opacity: 1; } }
@keyframes marqueeLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes marqueeRight { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }

.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.marquee-left { animation: marqueeLeft 35s linear infinite; }
.marquee-right { animation: marqueeRight 35s linear infinite; }
.marquee-wrapper:hover .marquee-track { animation-play-state: paused; }

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

/* =========================================================
   HERO VISIBILITY OVERRIDES (force entrance content visible)
   ========================================================= */
.hero-line-inner {
  display: block;
  transform: translateY(0) !important;
  opacity: 1 !important;
  animation: none !important;
}
.hero-reveal {
  opacity: 1 !important;
  transform: translateY(0) !important;
  animation: none !important;
}
.hero-fade-in {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
