@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes zoomIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes shimmer{0%{background-position:0%}100%{background-position:200%}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes countUp{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@keyframes glow{0%,100%{box-shadow:0 0 10px rgba(7,185,232,.3)}50%{box-shadow:0 0 24px rgba(7,185,232,.65)}}
@keyframes borderPulse{0%,100%{border-color:rgba(7,185,232,.3)}50%{border-color:rgba(7,185,232,.85)}}
@keyframes heroLine{0%{background-position:0%}100%{background-position:200%}}
@keyframes timerTick{0%{transform:scale(1)}50%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}
@keyframes bounceIn{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.05);opacity:1}80%{transform:scale(.97)}100%{transform:scale(1);opacity:1}}

.anim-fade-in{animation:fadeIn .5s ease both}
.anim-fade-in-up{animation:fadeInUp .55s ease both}
.anim-fade-in-down{animation:fadeInDown .45s ease both}
.anim-slide-left{animation:slideInLeft .5s ease both}
.anim-slide-right{animation:slideInRight .5s ease both}
.anim-zoom-in{animation:zoomIn .45s ease both}
.anim-float{animation:float 3s ease-in-out infinite}
.anim-pulse{animation:pulse 2s ease-in-out infinite}
.anim-glow{animation:glow 2.5s ease-in-out infinite}
.anim-border-pulse{animation:borderPulse 2.5s ease-in-out infinite}
.anim-timer-tick{animation:timerTick .5s ease}
.anim-bounce-in{animation:bounceIn .6s cubic-bezier(.36,.07,.19,.97) both}

.anim-delay-1{animation-delay:.1s}
.anim-delay-2{animation-delay:.2s}
.anim-delay-3{animation-delay:.35s}
.anim-delay-4{animation-delay:.5s}
.anim-delay-5{animation-delay:.65s}

.shimmer-bg{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);background-size:200%;animation:shimmer 2s infinite}
.hover-lift{transition:transform .25s,box-shadow .25s}
.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.hover-glow:hover{box-shadow:0 0 18px rgba(7,185,232,.35)}
