.hover-lift{transition:all .3s ease-out}.hover-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #00ffff4d}.hover-button{position:relative;overflow:hidden;transition:all .3s ease}.hover-button:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 0 25px #0ffc}.hover-button:active{transform:scale(.95)}.hover-shimmer{position:relative;overflow:hidden}.hover-shimmer: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 .7s ease}.hover-shimmer:hover:before{left:100%}.hover-glow-cyan:hover{box-shadow:0 0 30px #0ff9}.hover-glow-gold:hover{box-shadow:0 0 30px #ffd70099}.hover-icon{transition:all .3s ease}.hover-icon:hover{transform:scale(1.15) rotate(5deg);filter:drop-shadow(0 0 8px rgba(0,255,255,.8))}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #00ffff80}50%{box-shadow:0 0 20px #0ffc}}.hover-pulse:hover{animation:pulse-glow 2s ease-in-out infinite}.hover-border-glow{position:relative;transition:all .3s ease}.hover-border-glow:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:linear-gradient(45deg,#00d4ff,#7000ff,#ff00ea,#00d4ff);background-size:300% 300%;opacity:0;z-index:-1;transition:opacity .3s ease;animation:gradient-rotate 3s linear infinite}.hover-border-glow:hover:after{opacity:1}@keyframes gradient-rotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hover-tilt{transition:transform .3s ease;transform-style:preserve-3d}.hover-tilt:hover{transform:perspective(1000px) rotateX(5deg) rotateY(-5deg)}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.hover-ripple{position:relative;overflow:hidden}.hover-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}.hover-ripple:hover:after{width:300px;height:300px;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-fade-in{opacity:0;animation:fadeInUp .8s ease-out forwards}.scroll-fade-in:nth-child(1){animation-delay:.1s}.scroll-fade-in:nth-child(2){animation-delay:.2s}.scroll-fade-in:nth-child(3){animation-delay:.3s}.scroll-fade-in:nth-child(4){animation-delay:.4s}.scroll-fade-in:nth-child(5){animation-delay:.5s}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.scroll-slide-left{opacity:0;animation:slideInLeft .8s ease-out forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.scroll-slide-right{opacity:0;animation:slideInRight .8s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.scroll-scale-in{opacity:0;animation:scaleIn .6s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.page-fade-enter{animation:fadeIn .4s ease-out forwards}.page-fade-exit{animation:fadeOut .3s ease-in forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.page-slide-right-enter{animation:slideInRight .4s ease-out forwards}.page-slide-right-exit{animation:slideOutLeft .3s ease-in forwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.page-slide-left-enter{animation:slideInLeft .4s ease-out forwards}.page-slide-left-exit{animation:slideOutRight .3s ease-in forwards}@keyframes scaleInFade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOutFade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.page-scale-enter{animation:scaleInFade .4s ease-out forwards}.page-scale-exit{animation:scaleOutFade .3s ease-in forwards}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}.page-slide-up-enter{animation:slideInUp .4s ease-out forwards}.page-slide-up-exit{animation:slideOutUp .3s ease-in forwards}@keyframes glitchIn{0%{opacity:0;transform:translate(-10px);filter:blur(5px)}20%{transform:translate(5px)}40%{transform:translate(-3px)}60%{transform:translate(2px)}80%{transform:translate(-1px)}to{opacity:1;transform:translate(0);filter:blur(0)}}.page-glitch-enter{animation:glitchIn .5s ease-out forwards}.page-transition{animation:fadeIn .4s ease-out forwards}
