@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-10px)}70%{transform:translateY(-5px)}90%{transform:translateY(-2px)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .8s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .8s ease-out forwards}.animate-pulse-custom{animation:pulse 2s infinite}.animate-bounce-custom{animation:bounce 2s infinite}.animate-gradient{background-size:200% 200%;animation:gradient 3s ease infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-slide-in-bottom{animation:slideInFromBottom .8s ease-out forwards}.animate-scale-in{animation:scaleIn .6s ease-out forwards}.animation-delay-200{animation-delay:.2s}.animation-delay-400{animation-delay:.4s}.animation-delay-600{animation-delay:.6s}.animation-delay-800{animation-delay:.8s}.animation-delay-1000{animation-delay:1s}.hover-lift{transition:all .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 30px rgba(6,182,212,.3)}.bg-gradient-animated{background:linear-gradient(-45deg,#06b6d4,#0891b2,#0e7490,#155e75);background-size:400% 400%;animation:gradient 15s ease infinite}.glass-effect{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.text-glow{text-shadow:0 0 20px rgba(6,182,212,.5)}.fade-in-on-scroll{opacity:0;transform:translateY(30px);transition:all .8s ease}.fade-in-on-scroll.visible{opacity:1;transform:translateY(0)}.floating-dots:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(6,182,212,.1) 1px,transparent 0);background-size:50px 50px;animation:float 20s linear infinite;pointer-events:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-modern{position:relative;overflow:hidden;transition:all .3s ease}.btn-modern:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-modern:hover:before{left:100%}.card-modern{transition:all .3s ease;position:relative}.card-modern:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(6,182,212,.1),transparent);opacity:0;transition:opacity .3s ease}.card-modern:hover:before{opacity:1}.card-modern:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px rgba(0,0,0,.15)}