.hover-tilt{transform-style:preserve-3d;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.hover-tilt:hover{transform:perspective(1200px)translateY(-12px)translateZ(20px)scale(1.03);box-shadow:0 25px 50px #0000001f,0 15px 30px #00000014,0 5px 15px #0000000d}.hover-tilt:hover .gradient-to-br{transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform:scale(1.1)translateY(-2px)}.hover-glow{transition:all .4s cubic-bezier(.175,.885,.32,1);position:relative}.hover-glow:before{content:"";border-radius:inherit;opacity:0;z-index:-1;background:linear-gradient(60deg,#3b82f6 0%,#8b5cf6 20%,#ec4899 40%,#f59e0b 60%,#10b981 80%,#3b82f6 100%) 0 0/400% 400%;transition:opacity .4s,filter .3s;animation:6s linear infinite glow-rotate;position:absolute;inset:-3px}.hover-glow:hover:before{opacity:.75;filter:blur(12px);animation:3s linear infinite glow-rotate}@keyframes glow-rotate{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.hover-shimmer{position:relative;overflow:hidden}.hover-shimmer:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff1a 25%,#ffffff4d 50%,#ffffff1a 75%,#0000 100%);width:30%;height:100%;transition:left .8s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:-100%}.hover-shimmer:hover:after{left:120%}.hover-lift{transition:all .35s cubic-bezier(.175,.885,.32,1)}.hover-lift:hover{transform:translateY(-10px)scale(1.025);box-shadow:0 30px 60px #00000026,0 10px 20px #0000001a}.hover-rotate{transition:transform .4s cubic-bezier(.68,-.55,.265,1.55)}.hover-rotate:hover{transform:rotate(1.5deg)scale(1.04)}.magnetic{transition:transform .25s cubic-bezier(.2,.8,.2,1)}@keyframes bounce-in-card{0%{opacity:0;transform:scale(.92)translateY(20px)}60%{opacity:1;transform:scale(1.03)translateY(-5px)}80%{transform:scale(.98)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}.card-appear{animation:.6s cubic-bezier(.68,-.55,.265,1.4) forwards bounce-in-card}@keyframes pulse-breath{0%,to{transform:scale(1);box-shadow:0 8px 16px #0000001a}50%{transform:scale(1.01);box-shadow:0 12px 24px #0000001f}}.card-pulse{animation:3s ease-in-out infinite pulse-breath}.gradient-border{background-clip:padding-box;position:relative}.gradient-border:before{content:"";z-index:-1;border-radius:inherit;-webkit-mask-composite:exclude;opacity:0;background:linear-gradient(135deg,#0000 0%,#3b82f6 25%,#8b5cf6 50%,#ec4899 75%,#0000 100%) 0 0/200% 200%;padding:2px;transition:opacity .4s;animation:3s linear infinite gradient-border-rotate;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.gradient-border:hover:before{opacity:1}@keyframes gradient-border-rotate{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hover-float:hover{animation:2s ease-in-out infinite float-gentle}.interactive-spring{transition:transform .2s cubic-bezier(.68,-.55,.265,1.55)}.interactive-spring:active{transform:scale(.96)}.bg-shift{transition:background-color .4s,transform .3s}.bg-shift:hover{background-color:#ffffff0d}
