@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInScale{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.animated{animation-duration:0.8s;animation-fill-mode:both;animation-timing-function:ease-out}.fadeIn{animation-name:fadeIn}.fadeInDown{animation-name:fadeInDown}.fadeInUp{animation-name:fadeInUp}.fadeInLeft{animation-name:fadeInLeft}.fadeInRight{animation-name:fadeInRight}.fadeInScale{animation-name:fadeInScale}.delay-1{animation-delay:0.2s}.delay-2{animation-delay:0.4s}.delay-3{animation-delay:0.6s}.delay-4{animation-delay:0.8s}.delay-5{animation-delay:1s}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all 0.6s ease}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}.hover-lift{transition:transform 0.3s ease}.hover-lift:hover{transform:translateY(-5px)}.hover-scale{transition:transform 0.3s ease}.hover-scale:hover{transform:scale(1.05)}@keyframes countUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.counter-animate{animation:countUp 0.8s ease-out}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.pulse{animation:pulse 2s infinite}@keyframes slideInLeft{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.slideInLeft{animation-name:slideInLeft}.slideInRight{animation-name:slideInRight}@keyframes bounce{0%,20%,53%,80%,100%{transform:translateY(0)}40%,43%{transform:translateY(-15px)}70%{transform:translateY(-7px)}90%{transform:translateY(-3px)}}.bounce{animation-name:bounce;animation-duration:1s}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.shake{animation-name:shake;animation-duration:0.5s}@keyframes glow{0%{box-shadow:0 0 5px var(--noxfolio-primary-color)}50%{box-shadow:0 0 20px var(--noxfolio-primary-color),0 0 30px var(--noxfolio-primary-color)}100%{box-shadow:0 0 5px var(--noxfolio-primary-color)}}.glow{animation:glow 2s ease-in-out infinite}@keyframes typewriter{from{width:0}to{width:100%}}.typewriter{overflow:hidden;white-space:nowrap;animation:typewriter 3s steps(40,end)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}.float{animation:float 3s ease-in-out infinite}@keyframes progressBar{from{width:0%}to{width:var(--progress-width,100%)}}.progress-animate{animation:progressBar 2s ease-out}.stagger-animate > *{opacity:0;transform:translateY(20px);animation:fadeInUp 0.6s ease forwards}.stagger-animate > *:nth-child(1){animation-delay:0.1s}.stagger-animate > *:nth-child(2){animation-delay:0.2s}.stagger-animate > *:nth-child(3){animation-delay:0.3s}.stagger-animate > *:nth-child(4){animation-delay:0.4s}.stagger-animate > *:nth-child(5){animation-delay:0.5s}.stagger-animate > *:nth-child(6){animation-delay:0.6s}.stagger-animate > *:nth-child(7){animation-delay:0.7s}.stagger-animate > *:nth-child(8){animation-delay:0.8s}.stagger-animate > *:nth-child(9){animation-delay:0.9s}.stagger-animate > *:nth-child(10){animation-delay:1s}.fade-in-on-scroll{opacity:0;transform:translateY(50px);transition:opacity 0.8s ease,transform 0.8s ease}.fade-in-on-scroll.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}.animated{animation:none !important}.animate-on-scroll{opacity:1;transform:none}}