.footer-contrast :where(p,li,span,a,small){--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.footer-contrast a{color:#fff!important}.footer-contrast a:hover{color:#93c5fd!important}.footer-contrast li,.footer-contrast p,.footer-contrast span{color:#fff!important}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pulse-loader{display:inline-block;width:40px;height:40px;background-color:#2563eb;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes bump{0%,to{transform:translateZ(0)}30%{transform:translate3d(0,-6px,0)}50%{transform:translate3d(0,3px,0)}70%{transform:translate3d(0,-2px,0)}}@keyframes card-subtle-shake{0%{transform:translateZ(0) rotate(0deg)}20%{transform:translate3d(-2px,0,0) rotate(-.4deg)}40%{transform:translate3d(2px,0,0) rotate(.4deg)}60%{transform:translate3d(-1.5px,0,0) rotate(-.35deg)}80%{transform:translate3d(1.5px,0,0) rotate(.35deg)}to{transform:translateZ(0) rotate(0deg)}}.card-shake{animation:card-subtle-shake .6s ease-in-out;will-change:transform}@media (prefers-reduced-motion:reduce){.card-shake{animation:none}}@keyframes pulse{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}.dots-loader{display:inline-block;position:relative;width:80px;height:20px}.dots-loader div{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:#2563eb;animation-timing-function:cubic-bezier(0,1,1,0);transform:translateY(-50%)}.dots-loader div:first-child{left:8px;animation:dots1 .6s infinite}.dots-loader div:nth-child(2){left:8px;animation:dots2 .6s infinite}.dots-loader div:nth-child(3){left:32px;animation:dots2 .6s infinite}.dots-loader div:nth-child(4){left:56px;animation:dots3 .6s infinite}@keyframes dots1{0%{transform:translateY(-50%) scale(0)}to{transform:translateY(-50%) scale(1)}}@keyframes dots3{0%{transform:translateY(-50%) scale(1)}to{transform:translateY(-50%) scale(0)}}@keyframes dots2{0%{transform:translateY(-50%) translate(0)}to{transform:translateY(-50%) translate(24px)}}.wave-loader{display:flex;justify-content:space-between;width:60px;height:40px}.wave-loader div{width:8px;height:40px;background:linear-gradient(180deg,#2563eb,#3b82f6);border-radius:4px;animation:wave 1.2s ease-in-out infinite}.wave-loader div:nth-child(2){animation-delay:-1.1s}.wave-loader div:nth-child(3){animation-delay:-1s}.wave-loader div:nth-child(4){animation-delay:-.9s}.wave-loader div:nth-child(5){animation-delay:-.8s}.in-view{opacity:1}.fade-in{opacity:0;transform:translateY(20px)}.fade-in.in-view{animation:fadeIn .6s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-in-left{opacity:0;transform:translateX(-30px)}.slide-in-left.in-view{animation:slideInLeft .8s ease-out forwards}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.slide-in-right{opacity:0;transform:translateX(30px)}.slide-in-right.in-view{animation:slideInRight .8s ease-out forwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001a}.icon-bounce{animation:iconBounce 2s infinite}@keyframes iconBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.icon-draw{animation:draw 2s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}.gradient-border{position:relative;border-radius:12px;padding:2px;background:linear-gradient(45deg,#2563eb,#3b82f6,#06b6d4);background-size:200% 200%;animation:gradientBorder 3s ease infinite}.gradient-border:before{content:"";position:absolute;inset:2px;border-radius:10px;background:#fff;z-index:-1}@keyframes gradientBorder{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.btn-modern{position:relative;overflow:hidden;transition:all .3s ease;transform:perspective(1px) translateZ(0)}.btn-modern:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,#0000,#fff3,#0000);transition:left .6s ease}.btn-modern:hover:before{left:100%}.btn-modern:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.counter{animation:countUp 2s ease-out}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton 1.5s infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stagger-item{opacity:0;animation:staggerIn .6s ease-out forwards}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}@keyframes staggerIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .6s linear;background-color:#fff6;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}@keyframes gradient-pulse{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.gradient-pulse{background:linear-gradient(-45deg,#3b82f6,#8b5cf6,#06b6d4,#3b82f6);background-size:400% 400%;animation:gradient-pulse 3s ease infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}.float-animation{animation:float 6s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc,0 0 30px #3b82f699}}.glow-effect{animation:glow 2s ease-in-out infinite alternate}@keyframes rotate-scale{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(1turn) scale(1)}}.rotate-scale{animation:rotate-scale 4s linear infinite}@keyframes wave{0%,to{transform:translateX(0)}50%{transform:translateX(10px)}}.wave-animation{animation:wave 2s ease-in-out infinite}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .6s ease-out}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#0000,#fff3,#0000);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.bounce-in{animation:bounce-in .8s ease-out}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.delay-900{animation-delay:.9s}.delay-1000{animation-delay:1s}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #3b82f666}.gradient-text{background:linear-gradient(45deg,#3b82f6,#8b5cf6,#06b6d4);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text;animation:gradient-pulse 3s ease infinite}.glass-effect{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fff3}.neumorphism{background:#e0e5ec;box-shadow:9px 9px 16px #a3b1c6,-9px -9px 16px #fff}.neumorphism-inset{background:#e0e5ec;box-shadow:inset 9px 9px 16px #a3b1c6,inset -9px -9px 16px #fff}