/* Original Elementor motion language recreated in lightweight CSS */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .72s cubic-bezier(.2,.65,.25,1),transform .72s cubic-bezier(.2,.65,.25,1)
}
.reveal.visible{
  opacity:1;
  transform:none
}
.delay-1{
  transition-delay:.2s
}
.delay-2{
  transition-delay:.4s
}
.delay-3{
  transition-delay:.6s
}
.delay-4{
  transition-delay:.7s
}
.float{
  animation:float 6s ease-in-out infinite
}
@keyframes float{
  50%{
    transform:translateY(-8px)
  }
}
.pulse-dot{
  animation:pulseDot 2s ease-out infinite
}
@keyframes pulseDot{
  0%,100%{
    box-shadow:0 0 0 0 rgba(255,165,23,.35)
  }
  50%{
    box-shadow:0 0 0 9px rgba(255,165,23,0)
  }
}
.marquee-track{
  display:flex;
  width:max-content;
  animation:marquee 28s linear infinite
}
.logo-marquee:hover .marquee-track{
  animation-play-state:paused
}
@keyframes marquee{
  to{
    transform:translateX(-50%)
  }
}
.play-pulse:after{
  content:'';
  position:absolute;
  inset:-8px;
  border:1px solid rgba(255,165,23,.6);
  border-radius:50%;
  animation:playPulse 2s ease-out infinite
}
@keyframes playPulse{
  to{
    transform:scale(1.55);
    opacity:0
  }
}
.counter-value{
  font-variant-numeric:tabular-nums
}
@media(prefers-reduced-motion:reduce){
  .reveal{
    opacity:1!important;
    transform:none!important
  }
  .marquee-track,.float,.pulse-dot,.play-pulse:after{
    animation:none!important
  }
}
