html{scroll-behavior:smooth}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-float{animation:float 5s ease-in-out infinite}.animation-delay-300{animation-delay:.3s}.animation-delay-600{animation-delay:.6s}@keyframes bounce-slow{0%,to{transform:translateY(-5%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce-slow{animation:bounce-slow 3s infinite}@keyframes shine{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.bg-shine{background-size:200% 200%;animation:shine 8s ease infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.85}}.animate-pulse-subtle{animation:pulse-subtle 3s cubic-bezier(.4,0,.6,1) infinite}@keyframes grow-underline{0%{width:0}to{width:100%}}.hover-underline-animation{position:relative;display:inline-block}.hover-underline-animation:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:0;background:linear-gradient(90deg,#4f46e5,#9333ea);transition:width .3s ease}.hover-underline-animation:hover:after{width:100%}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.bg-blur{backdrop-filter:blur(8px)}.bg-gradient-animate{background-size:400% 400%;animation:gradient-shift 15s ease infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}