.btn-shadow:hover{box-shadow:0 0 22px 6px rgba(61,23,106,0.22);}

@keyframes tilt{0%,100%{transform:rotate(-5deg);}50%{transform:rotate(5deg);}}
.tilt-emoji{display:inline-block;animation:tilt 1s ease-in-out infinite;transform-origin:bottom;}

.hero-title{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  -webkit-background-clip:text;
  font-weight:800;
  letter-spacing:-.04em;
  color:transparent;
  background-clip:text;
  background-image:linear-gradient(135deg,#3D176A 0%,#5B2194 50%,#7C3AED 100%);
  line-height:1.1;
}

@keyframes grid-move{0%{transform:translate(0,0);}100%{transform:translate(50px,50px);}}
@keyframes grid-pulse{0%,100%{opacity:0.08;}50%{opacity:0.25;}}
@keyframes float{0%,100%{transform:translateY(0px);}50%{transform:translateY(-20px);}}
@keyframes float-delay{0%,100%{transform:translateY(0px);}50%{transform:translateY(-14px);}}

.animate-grid-move{animation:grid-move 22s linear infinite;}
.animate-grid-pulse{animation:grid-pulse 3s ease-in-out infinite;}
.animate-float{animation:float 5s ease-in-out infinite;}
.animate-float-delay{animation:float-delay 5s ease-in-out infinite 1.5s;}

.scroll-animate{opacity:0;transform:translateY(30px);transition:all 0.75s cubic-bezier(0.22,1,0.36,1);}
.scroll-animate.animate{opacity:1;transform:translateY(0);}
.slide-in-left{opacity:0;transform:translateX(-48px);transition:all 0.8s cubic-bezier(0.22,1,0.36,1);}
.slide-in-left.animate{opacity:1;transform:translateX(0);}
.slide-in-right{opacity:0;transform:translateX(48px);transition:all 0.8s cubic-bezier(0.22,1,0.36,1);}
.slide-in-right.animate{opacity:1;transform:translateX(0);}
.scale-in{opacity:0;transform:scale(0.9);transition:all 0.6s cubic-bezier(0.22,1,0.36,1);}
.scale-in.animate{opacity:1;transform:scale(1);}