/* =========================================================
   ONOS — Animations
========================================================= */

@keyframes fadeUp{
  from{ opacity:0; transform: translateY(22px); }
  to{ opacity:1; transform: translateY(0); }
}

.reveal-up{ opacity:0; animation: fadeUp .7s ease forwards; }
.hero-slide.active .reveal-up:nth-child(1){ animation-delay: .05s; }
.hero-slide.active .reveal-up:nth-child(2){ animation-delay: .15s; }
.hero-slide.active .reveal-up:nth-child(3){ animation-delay: .25s; }
.hero-slide.active .reveal-up:nth-child(4){ animation-delay: .35s; }

.reveal-on-scroll{
  opacity:0; transform: translateY(28px);
  transition: opacity .7s ease, transform .7s ease;
  transition-delay: var(--d, 0s);
}
.reveal-on-scroll.in-view{ opacity:1; transform: translateY(0); }

@keyframes pulseDot{
  0%,100%{ box-shadow: 0 0 0 0 rgba(232,163,61,0.5); }
  50%{ box-shadow: 0 0 0 6px rgba(232,163,61,0); }
}

@keyframes ticker-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
.news-ticker-track{
  animation: ticker-scroll 35s linear infinite;
}
.news-ticker-track.paused{ animation-play-state: paused; }

@keyframes spinSlow{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
  .reveal-up, .reveal-on-scroll{ animation: none !important; transition: none !important; opacity:1 !important; transform:none !important; }
  .news-ticker-track{ animation: none !important; }
  html{ scroll-behavior: auto; }
}
