/* Ballio shared animations — vanilla, ~150 lines, prefers-reduced-motion safe */

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}
.reveal-delay-4{transition-delay:.32s}
.reveal-delay-5{transition-delay:.4s}

.count-up{font-variant-numeric:tabular-nums}

.parallax{will-change:transform}

.hover-lift{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.hover-lift:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,200,83,.15);border-color:rgba(0,200,83,.35)}

html{scroll-behavior:smooth}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.is-visible{opacity:1;transform:none;transition:none}
  .parallax{transform:none!important}
  .hover-lift{transition:none}
  .hover-lift:hover{transform:none;box-shadow:none}
}
