@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;height:0}to{opacity:1;height:auto}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fadeIn{animation:fadeIn .6s ease-out forwards}.animate-fadeInUp{animation:fadeInUp .6s ease-out forwards}.animate-fadeInLeft{animation:fadeInLeft .6s ease-out forwards}.animate-fadeInRight{animation:fadeInRight .6s ease-out forwards}.animate-scaleIn{animation:scaleIn .6s ease-out forwards}.animate-pulse{animation:pulse 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.scroll-animate{opacity:0}.scroll-animate.in-view{opacity:1}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.card-hover{transition:all .3s ease;position:relative;overflow:hidden}.card-hover: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}.card-hover:hover:before{left:100%}.module-gradient-1{background:linear-gradient(135deg,#667eea,#764ba2)}.module-gradient-2{background:linear-gradient(135deg,#f093fb,#f5576c)}.module-gradient-3{background:linear-gradient(135deg,#4facfe,#00f2fe)}.module-gradient-4{background:linear-gradient(135deg,#43e97b,#38f9d7)}.faq-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.faq-content.active{max-height:500px;transition:max-height .3s ease-in}.modal-backdrop{animation:fadeIn .3s ease-out}.modal-content{animation:scaleIn .3s ease-out}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}html{scroll-behavior:smooth}section{position:relative}.section-animate{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.section-animate.visible{opacity:1;transform:translateY(0)}.hero-bg-pattern{background-image:radial-gradient(circle at 20% 50%,rgba(37,99,235,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(124,58,237,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(8,145,178,.1) 0%,transparent 50%)}.floating-shape{position:absolute;animation:float 6s ease-in-out infinite}.floating-shape-1{top:10%;left:10%;animation-delay:0s}.floating-shape-2{top:60%;right:10%;animation-delay:2s}.floating-shape-3{bottom:10%;left:50%;animation-delay:4s}.btn-primary{position:relative;overflow:hidden;transition:all .3s ease}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:before{width:300px;height:300px}.icon-bounce{animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animate{background-size:200% 200%;animation:gradientShift 4s ease infinite}.form-input{transition:all .3s ease}.form-input:focus{transform:translateY(-2px);box-shadow:0 5px 15px #2563eb33}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.checkmark-animate{stroke-dasharray:100;stroke-dashoffset:100;animation:checkmark .5s ease-out forwards}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.error-shake{animation:shake .5s ease}@keyframes typing{0%{width:0}to{width:100%}}.typing-effect{overflow:hidden;white-space:nowrap;animation:typing 3s steps(40,end)}
