.anime-fade-in,.anime-item{opacity:0}.anime-scale-in{opacity:0;transform:scale(.9)}.anime-slide-up{opacity:0;transform:translateY(30px)}.anime-slide-right{opacity:0;transform:translateX(-30px)}.anime-slide-left{opacity:0;transform:translateX(30px)}.card-3d{transition:all .5s cubic-bezier(.23,1,.32,1);transform-style:preserve-3d;perspective:1000px;will-change:transform}.card-3d:hover{transform:translateY(-10px) rotateX(4deg) rotateY(10deg);box-shadow:-20px 20px 30px -10px rgba(0,0,0,.1),20px 20px 30px -10px rgba(0,0,0,.05),0 30px 30px -10px rgba(0,0,0,.1)}.service-card{position:relative;overflow:hidden;transition:all .5s cubic-bezier(.23,1,.32,1);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);background:rgba(255,255,255,.05);box-shadow:0 10px 30px -5px rgba(0,0,0,.1)}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(79,70,229,.2),rgba(139,92,246,.2));border-radius:inherit;opacity:0;z-index:-1;transition:opacity .5s cubic-bezier(.23,1,.32,1)}.service-card:hover{transform:translateY(-15px) scale(1.03);box-shadow:0 20px 40px -5px rgba(79,70,229,.2);border:1px solid rgba(79,70,229,.2)}.service-card:hover:before{opacity:1}.service-card .service-icon{transition:all .7s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 0 8px rgba(79,70,229,.2))}.service-card:hover .service-icon{transform:scale(1.2) rotate(10deg);filter:drop-shadow(0 0 12px rgba(79,70,229,.5))}.feature-card{position:relative;transition:all .6s cubic-bezier(.34,1.56,.64,1);background:rgba(255,255,255,.02);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px -5px rgba(0,0,0,.08);overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:0;background:linear-gradient(180deg,#4f46e5,#8b5cf6);transition:height .5s cubic-bezier(.34,1.56,.64,1)}.feature-card:hover:before{height:100%}.feature-card:after{content:"";position:absolute;bottom:0;right:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(79,70,229,.1),rgba(139,92,246,.1));clip-path:circle(0 at bottom right);transition:clip-path .6s cubic-bezier(.34,1.56,.64,1);z-index:-1}.feature-card:hover:after{clip-path:circle(150% at bottom right)}.feature-card:hover{transform:translateX(10px) translateY(-5px);box-shadow:-10px 10px 30px rgba(79,70,229,.15)}.icon-container{position:relative;z-index:1}.icon-container:before{content:"";position:absolute;inset:-5px;background:linear-gradient(135deg,rgba(79,70,229,.2),rgba(139,92,246,.2));border-radius:50%;z-index:-1;transform:scale(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.feature-card:hover .icon-container:before{transform:scale(1.5)}.calculator-display{font-family:JetBrains Mono,monospace;letter-spacing:.05em}.bg-grid-pattern{background-image:linear-gradient(90deg,rgba(79,70,229,.05) 1px,transparent 0),linear-gradient(180deg,rgba(79,70,229,.05) 1px,transparent 0);background-size:20px 20px;animation:gridMove 50s linear infinite}@keyframes gridMove{0%{background-position:0 0}to{background-position:100px 100px}}.service-card-enhanced{position:relative;overflow:hidden;transition:all .6s cubic-bezier(.23,1,.32,1);background:rgba(255,255,255,.02);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px -5px rgba(0,0,0,.08)}.service-card-enhanced:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(79,70,229,.1),rgba(139,92,246,.1));clip-path:circle(0 at bottom right);transition:clip-path .6s cubic-bezier(.34,1.56,.64,1);z-index:-1}.service-card-enhanced:hover:before{clip-path:circle(150% at bottom right)}.service-card-enhanced:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 40px -5px rgba(79,70,229,.2)}.animate-gradient{background-size:400% 400%;animation:gradientAnimation 8s ease infinite}.btn-interactive{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.23,1,.32,1)}.btn-interactive: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-interactive:hover:before{left:100%}.float-animation,.float-animation-delayed{animation:floatUpDown 6s ease-in-out infinite}.float-animation-delayed{animation-delay:2s}@keyframes floatUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite alternate}@keyframes pulseGlow{0%{box-shadow:0 0 20px rgba(79,70,229,.3)}to{box-shadow:0 0 30px rgba(79,70,229,.6)}}.counter{display:inline-block;font-variant-numeric:tabular-nums;position:relative;padding:.25rem .5rem;background:linear-gradient(135deg,rgba(79,70,229,.1),rgba(139,92,246,.1));border-radius:4px}.counter:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(79,70,229,.3),rgba(139,92,246,.3));border-radius:inherit;z-index:-1;filter:blur(8px);opacity:0;transition:opacity .3s ease}.counter:hover:before{opacity:1}.cta-button{position:relative;overflow:hidden;transition:all .5s cubic-bezier(.23,1,.32,1);background:linear-gradient(45deg,#4338ca,#6d28d9 50%,#4338ca);background-size:200% 200%;animation:gradientMove 3s ease infinite;border:none;box-shadow:0 10px 20px -5px rgba(67,56,202,.3),0 2px 5px -2px rgba(67,56,202,.1)}@keyframes gradientMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.cta-button:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0,transparent 70%);opacity:0;transform:scale(.5);transition:all .5s cubic-bezier(.23,1,.32,1)}.cta-button:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 15px 30px -5px rgba(67,56,202,.4),0 5px 10px -2px rgba(67,56,202,.2)}.cta-button:hover:after{opacity:.8;transform:scale(1)}.cta-button:active{transform:scale(.98)}.anime-cursor{display:inline-block;width:2px;height:1em;background-color:currentColor;margin-left:2px;vertical-align:middle;animation:blink .8s steps(2) infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.floating-icon{animation:float 6s ease-in-out infinite;filter:drop-shadow(0 5px 15px rgba(0,0,0,.1))}.floating-icon:nth-child(odd){animation-delay:1s}.floating-icon:nth-child(3n){animation-delay:2s}.floating-icon:nth-child(3n+1){animation-delay:3s}@keyframes float{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(2deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(10px) rotate(-2deg)}to{transform:translateY(0) rotate(0deg)}}@keyframes gradientAnimation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:300% 300%;animation:gradientAnimation 15s ease infinite}@keyframes float-maple{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(5deg)}to{transform:translateY(0) rotate(0deg)}}@keyframes float-maple-slow{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(-5deg)}to{transform:translateY(0) rotate(0deg)}}.maple-leaf{animation:float-maple 6s ease-in-out infinite}.maple-leaf-slow{animation:float-maple-slow 8s ease-in-out infinite}.canadian-gradient-bg{background:linear-gradient(135deg,rgba(239,68,68,.1),rgba(59,130,246,.1) 50%,rgba(239,68,68,.1));background-size:200% 200%;animation:canadianGradient 15s ease infinite}@keyframes canadianGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-pulse-slow{animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-slower{animation:pulse 5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-delayed{animation:float 3s ease-in-out 1s infinite}.animate-float-slower{animation:float 5s ease-in-out .5s infinite}.animate-bounce-slow{animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(-10%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}