*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;overflow-x:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1;font-kerning:normal;line-height:1.6;overflow-x:hidden;width:100%}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#f5f5f5}.dark ::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#4f46e5,#7c3aed);background-clip:padding-box}::selection{background:#6366f14d;color:inherit}.dark ::selection{background:#818cf84d}a,button{transition:all .2s cubic-bezier(.16,1,.3,1)}*:focus-visible{outline:2px solid #6366f1;outline-offset:2px}img{max-width:100%;height:auto;display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1)}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.16,1,.3,1)}.animate-slide-in-left{animation:slideInLeft .8s cubic-bezier(.16,1,.3,1)}.animate-slide-in-right{animation:slideInRight .8s cubic-bezier(.16,1,.3,1)}.animate-scale-in{animation:scaleIn .6s cubic-bezier(.16,1,.3,1)}.gradient-text{background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradient-shift 8s ease infinite}.dark .gradient-text{background:linear-gradient(135deg,#818cf8,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.glass{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3)}.dark .glass{background:#111827cc;border:1px solid rgba(255,255,255,.1)}.glass-card{background:#fff9;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 32px #1f26871a}.dark .glass-card{background:#111827b3;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #0000004d}.hover-lift{transition:all .4s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px -12px #00000026}.dark .hover-lift:hover{box-shadow:0 20px 40px -12px #00000080}@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.animate-blob{animation:blob 20s infinite ease-in-out}.animation-delay-2000{animation-delay:7s}.animation-delay-4000{animation-delay:14s}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 14px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.btn-secondary{background:transparent;border:1.5px solid rgba(99,102,241,.3);transition:all .3s cubic-bezier(.16,1,.3,1)}.btn-secondary:hover{background:#6366f10d;border-color:#6366f180;transform:translateY(-2px)}.dark .btn-secondary{border-color:#818cf84d}.dark .btn-secondary:hover{background:#818cf81a;border-color:#818cf880}.section-divider{width:64px;height:4px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#ec4899);border-radius:2px;margin:0 auto}.text-balance{text-wrap:balance}html{scroll-behavior:smooth;scroll-padding-top:80px}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.16,1,.3,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.scroll-reveal-left{opacity:0;transform:translate(-50px);transition:all .8s cubic-bezier(.16,1,.3,1)}.scroll-reveal-left.revealed{opacity:1;transform:translate(0)}.scroll-reveal-right{opacity:0;transform:translate(50px);transition:all .8s cubic-bezier(.16,1,.3,1)}.scroll-reveal-right.revealed{opacity:1;transform:translate(0)}.scroll-reveal-scale{opacity:0;transform:scale(.9);transition:all .8s cubic-bezier(.16,1,.3,1)}.scroll-reveal-scale.revealed{opacity:1;transform:scale(1)}.btn-primary{position:relative;overflow:hidden}.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}.btn-primary span,.btn-primary i{position:relative;z-index:1}.magnetic-btn{transition:transform .3s cubic-bezier(.23,1,.32,1)}.magnetic-btn:hover{transform:scale(1.05)}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);background-size:1000px 100%;animation:shimmer 3s infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.float-animation{animation:float 6s ease-in-out infinite}.float-animation-delay-1{animation-delay:.5s}.float-animation-delay-2{animation-delay:1s}.float-animation-delay-3{animation-delay:1.5s}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #6366f166}50%{box-shadow:0 0 40px #6366f1cc}}.pulse-glow{animation:pulse-glow 3s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotate-slow{animation:rotate 20s linear infinite}@keyframes gradient-border{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-border{position:relative;background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);background-size:200% 200%;animation:gradient-border 3s ease infinite;padding:2px;border-radius:12px}.gradient-border>*{background:inherit;border-radius:inherit}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}.glitch:hover{animation:glitch .3s infinite}.card-tilt{transition:transform .3s ease}.card-tilt:hover{transform:perspective(1000px) rotateX(5deg) rotateY(5deg) scale(1.02)}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px;animation:ripple .6s}.parallax-container{perspective:1000px;transform-style:preserve-3d}.parallax-element{transition:transform .1s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid rgba(99,102,241,.1);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.fade-in{animation:fadeIn 1s ease-in}.stagger-item{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.16,1,.3,1)}.stagger-item.visible{opacity:1;transform:translateY(0)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 30px #6366f180}@keyframes text-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.text-reveal{animation:text-reveal 1s ease-out}.cursor-follow{position:relative;cursor:pointer}.scale-on-hover{transition:transform .3s cubic-bezier(.16,1,.3,1)}.scale-on-hover:hover{transform:scale(1.05)}.neon-glow{text-shadow:0 0 10px rgba(99,102,241,.8),0 0 20px rgba(99,102,241,.6),0 0 30px rgba(99,102,241,.4)}.slide-up{transition:transform .3s ease}.slide-up:hover{transform:translateY(-5px)}@keyframes gradient-x{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-gradient-x{background-size:200% 200%;animation:gradient-x 3s ease infinite}.image-transition{transition:all .7s cubic-bezier(.4,0,.2,1)}.image-transition-enter{opacity:0;transform:scale(.8) rotate(-5deg)}.image-transition-enter-active,.image-transition-exit{opacity:1;transform:scale(1) rotate(0)}.image-transition-exit-active{opacity:0;transform:scale(.8) rotate(5deg)}.hover-image-container{position:relative;overflow:hidden}.hover-image-overlay{position:absolute;inset:0;opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1);transform:scale(1.1)}.hover-image-container:hover .hover-image-overlay{opacity:1;transform:scale(1)}.hover-image-base{transition:transform .7s cubic-bezier(.4,0,.2,1),opacity .7s}.hover-image-container:hover .hover-image-base{transform:scale(1.1);opacity:.3}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #6366f166,0 0 40px #6366f133}50%{box-shadow:0 0 40px #6366f1cc,0 0 80px #6366f166}}.hover-glow-pulse:hover{animation:glow-pulse 2s ease-in-out infinite}.image-zoom{transition:transform .7s cubic-bezier(.4,0,.2,1)}.image-zoom:hover{transform:scale(1.1) rotate(2deg)}.gradient-shift{background-size:200% 200%;transition:background-position .7s ease}.gradient-shift:hover{background-position:100% 50%}@keyframes icon-bounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-5deg)}75%{transform:translateY(-10px) rotate(5deg)}}.icon-bounce:hover{animation:icon-bounce .6s ease}.text-slide-up{transition:transform .3s ease,opacity .3s ease}.text-slide-up:hover{transform:translateY(-5px);opacity:.9}
