/* Pulsing live dot — CSS animation (only exception to GSAP-only rule) */
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.4; transform: scale(0.7); }
}

/* Reduced motion — disable decorative animations, keep elements visible */
@media (prefers-reduced-motion: reduce) {
  .speed-lines,
  .swoosh-decor,
  .bracket-decor {
    animation: none !important;
    transition: none !important;
  }

  .badge-live::before,
  .live-dot {
    animation: none !important;
  }

  /* Elements that GSAP would animate in — ensure visible without JS */
  .hero__label,
  .hero__title,
  .hero__tagline,
  .hero__cta,
  .navbar,
  .novini-header__title,
  .live-header__title,
  .racers__header,
  .racer-card,
  .news-card,
  .update-entry,
  .novini-article {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* No-JS fallback: all animatable elements visible */
.no-js .hero__label,
.no-js .hero__title,
.no-js .hero__tagline,
.no-js .hero__cta,
.no-js .racer-card,
.no-js .news-card,
.no-js .update-entry,
.no-js .novini-article {
  opacity: 1;
  transform: none;
}
