.reveal{opacity:0;transform:translateY(80px);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-up{opacity:0;transform:translateY(100px) scale(.95);transition:all 1.2s cubic-bezier(.16,1,.3,1)}.reveal-up.active{opacity:1;transform:translateY(0) scale(1)}.reveal-scale{opacity:0;transform:scale(.85);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal-scale.active{opacity:1;transform:scale(1)}.reveal-left{opacity:0;transform:translateX(-100px) rotate(-5deg);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal-left.active{opacity:1;transform:translateX(0) rotate(0)}.reveal-right{opacity:0;transform:translateX(100px) rotate(5deg);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal-right.active{opacity:1;transform:translateX(0) rotate(0)}.reveal-rotate{opacity:0;transform:rotate(15deg) scale(.8);transition:all 1.2s cubic-bezier(.34,1.56,.64,1)}.reveal-rotate.active{opacity:1;transform:rotate(0) scale(1)}.delay-100{transition-delay:0.1s}.delay-200{transition-delay:0.2s}.delay-300{transition-delay:0.3s}.delay-400{transition-delay:0.4s}.delay-500{transition-delay:0.5s}.delay-600{transition-delay:0.6s}.delay-700{transition-delay:0.7s}.delay-800{transition-delay:0.8s}.text-reveal{overflow:hidden}.text-reveal .char{display:inline-block;opacity:0;transform:translateY(100%);transition:all 0.6s cubic-bezier(.16,1,.3,1)}.text-reveal.active .char{opacity:1;transform:translateY(0)}.word-reveal .word{display:inline-block;overflow:hidden}.word-reveal .word-inner{display:inline-block;transform:translateY(120%);transition:transform 0.8s cubic-bezier(.16,1,.3,1)}.word-reveal.active .word-inner{transform:translateY(0)}.glitch{position:relative}.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.glitch:hover::before{animation:glitch-1 0.3s linear infinite;color:#f0f;left:2px;text-shadow:-2px 0 cyan;opacity:.8}.glitch:hover::after{animation:glitch-2 0.3s linear infinite;color:cyan;left:-2px;text-shadow:2px 0 #f0f;opacity:.8}@keyframes glitch-1{0%,100%{clip-path:inset(20% 0 40% 0)}25%{clip-path:inset(60% 0 10% 0)}50%{clip-path:inset(10% 0 70% 0)}75%{clip-path:inset(80% 0 5% 0)}}@keyframes glitch-2{0%,100%{clip-path:inset(70% 0 10% 0)}25%{clip-path:inset(15% 0 60% 0)}50%{clip-path:inset(45% 0 30% 0)}75%{clip-path:inset(25% 0 50% 0)}}.morph{animation:morphShape 8s ease-in-out infinite}@keyframes morphShape{0%,100%{border-radius:60% 40% 30% 70% / 60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40% / 50% 60% 30% 60%}50%{border-radius:50% 60% 30% 60% / 30% 60% 70% 40%}75%{border-radius:60% 40% 60% 30% / 70% 30% 50% 60%}}.magnetic-btn{position:relative;display:inline-block;transition:transform 0.3s cubic-bezier(.34,1.56,.64,1)}.magnetic-btn:hover{transform:translate(var(--x,0),var(--y,0))}.parallax-container{position:relative;overflow:hidden}.parallax-layer{position:absolute;will-change:transform}.cursor-follower{position:fixed;width:20px;height:20px;background:rgb(168 85 247 / .5);border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:transform 0.2s ease,width 0.3s,height 0.3s}.cursor-follower.expanded{width:60px;height:60px;background:rgb(168 85 247 / .3)}.cursor-dot{position:fixed;width:8px;height:8px;background:#fff;border-radius:50%;pointer-events:none;z-index:10000}.shimmer{position:relative;overflow:hidden}.shimmer::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .1),transparent);animation:shimmerEffect 3s infinite}@keyframes shimmerEffect{0%{left:-100%}100%{left:200%}}.neon-pulse{animation:neonPulse 2s ease-in-out infinite}@keyframes neonPulse{0%,100%{box-shadow:0 0 10px rgb(168 85 247 / .5),0 0 20px rgb(168 85 247 / .3),0 0 40px rgb(168 85 247 / .2)}50%{box-shadow:0 0 20px rgb(168 85 247 / .8),0 0 40px rgb(168 85 247 / .5),0 0 80px rgb(168 85 247 / .3)}}.text-neon{animation:textNeon 1.5s ease-in-out infinite alternate}@keyframes textNeon{from{text-shadow:0 0 5px rgb(168 85 247 / .5),0 0 10px rgb(168 85 247 / .4),0 0 20px rgb(168 85 247 / .3)}to{text-shadow:0 0 10px rgb(236 72 153 / .6),0 0 20px rgb(236 72 153 / .5),0 0 40px rgb(236 72 153 / .4)}}.float{animation:floatAnimation 6s ease-in-out infinite}@keyframes floatAnimation{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-15px) rotate(2deg)}75%{transform:translateY(10px) rotate(-2deg)}}.float-slow{animation:floatAnimation 10s ease-in-out infinite}.float-delay-1{animation-delay:-2s}.float-delay-2{animation-delay:-4s}.float-delay-3{animation-delay:-6s}.gradient-border{position:relative;background:var(--bg-darker)}.gradient-border::before{content:'';position:absolute;inset:0;padding:2px;background:var(--gradient-aurora);background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;border-radius:inherit;animation:gradientBorderFlow 4s ease infinite}@keyframes gradientBorderFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.ripple{position:relative;overflow:hidden}.ripple::after{content:'';position:absolute;width:0;height:0;background:rgb(255 255 255 / .3);border-radius:50%;transform:translate(-50%,-50%);animation:rippleEffect 0.6s ease-out;pointer-events:none}@keyframes rippleEffect{to{width:400px;height:400px;opacity:0}}.rotate-scroll{animation:rotateScroll linear both;animation-timeline:scroll();animation-range:entry exit}@keyframes rotateScroll{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.scale-line{height:2px;background:var(--gradient-aurora);background-size:200% 100%;transform:scaleX(0);transform-origin:left;animation:scaleLine 1.5s ease forwards}@keyframes scaleLine{to{transform:scaleX(1)}}.typewriter{overflow:hidden;border-right:3px solid var(--neon-purple);white-space:nowrap;animation:typing 3.5s steps(40,end),blink-caret 0.75s step-end infinite}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink-caret{from,to{border-color:#fff0}50%{border-color:var(--neon-purple)}}.tilt-card{transform-style:preserve-3d;perspective:1000px;transition:transform 0.6s cubic-bezier(.23,1,.32,1)}.tilt-card:hover{transform:rotateY(var(--rotateY,0deg)) rotateX(var(--rotateX,0deg))}.tilt-card .card-content{transform:translateZ(40px)}.hover-glow{transition:all 0.4s ease}.hover-glow:hover{box-shadow:0 0 30px rgb(168 85 247 / .5),0 0 60px rgb(168 85 247 / .3);transform:translateY(-5px)}.counter{font-variant-numeric:tabular-nums}.stagger-container>*{--stagger:0;animation-delay:calc(var(--stagger) * 0.1s)}.stagger-container>*:nth-child(1){--stagger:1}.stagger-container>*:nth-child(2){--stagger:2}.stagger-container>*:nth-child(3){--stagger:3}.stagger-container>*:nth-child(4){--stagger:4}.stagger-container>*:nth-child(5){--stagger:5}.stagger-container>*:nth-child(6){--stagger:6}.stagger-container>*:nth-child(7){--stagger:7}.stagger-container>*:nth-child(8){--stagger:8}.stagger-container>*:nth-child(9){--stagger:9}.stagger-container>*:nth-child(10){--stagger:10}.skeleton{background:linear-gradient(90deg,rgb(255 255 255 / .05) 25%,rgb(255 255 255 / .1) 50%,rgb(255 255 255 / .05) 75%);background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}