/* Non-critical animations — loaded async after page render */
main{animation:fadeIn .3s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn-hover-lift{transition:transform .2s ease,box-shadow .2s ease}.btn-hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px rgba(0,0,0,.2)}.btn-hover-lift:active{transform:translateY(0)}.btn-glow{position:relative;overflow:hidden}.btn-glow::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 .5s ease}.btn-glow:hover::before{left:100%}.card-hover{transition:transform .3s ease,box-shadow .3s ease}.card-hover:hover{transform:translateY(-6px);box-shadow:0 20px 40px -15px rgba(0,0,0,.15)}.card-border-glow{position:relative;transition:all .3s ease}.card-border-glow::before{content:'';position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:linear-gradient(135deg,transparent,transparent);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor;opacity:0;transition:opacity .3s ease,background .3s ease}.card-border-glow:hover::before{opacity:1;background:linear-gradient(135deg,#f59e0b,#eab308)}.link-underline{position:relative;text-decoration:none}.link-underline::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:currentColor;transition:width .3s ease}.link-underline:hover::after{width:100%}.icon-hover-spin{transition:transform .3s ease}.icon-hover-spin:hover{transform:rotate(15deg)}.icon-hover-bounce{transition:transform .3s ease}.icon-hover-bounce:hover{animation:iconBounce .5s ease}@keyframes iconBounce{0%,100%{transform:translateY(0)}25%{transform:translateY(-4px)}50%{transform:translateY(0)}75%{transform:translateY(-2px)}}.icon-hover-pulse{transition:transform .2s ease}.icon-hover-pulse:hover{animation:iconPulse .4s ease}@keyframes iconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}.badge-pulse{animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,100%{opacity:1}50%{opacity:.7}}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.text-gradient-animate{background:linear-gradient(90deg,#f59e0b,#ef4444,#8b5cf6,#f59e0b);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02)}.hover-scale-lg:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.tilt-effect{transition:transform .3s ease;transform-style:preserve-3d}.tilt-effect:hover{transform:perspective(1000px) rotateX(2deg) rotateY(-2deg)}.magnetic-btn{transition:transform .2s ease}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(245,158,11,.4)}.ripple{position:relative;overflow:hidden}.ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0}.ripple:active::after{width:200px;height:200px;opacity:1;transition:0s}.stagger-item{opacity:0;transform:translateY(20px);animation:staggerIn .4s ease forwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}@keyframes staggerIn{to{opacity:1;transform:translateY(0)}}.img-zoom{overflow:hidden}.img-zoom img{transition:transform .4s ease}.img-zoom:hover img{transform:scale(1.08)}.tooltip-animated{position:relative}.tooltip-animated::before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(5px);padding:6px 12px;background:#1e293b;color:#fff;font-size:12px;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease}.tooltip-animated:hover::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-5px)}.progress-animate{background:linear-gradient(90deg,#f59e0b,#eab308);animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,100%{opacity:1}50%{opacity:.8}}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}
