@keyframes float{0%,to{transform:translateY(0) translateZ(0)}50%{transform:translateY(-8px) translateZ(0)}}@keyframes floatSlow{0%,to{transform:translateY(0) translateZ(0)}50%{transform:translateY(-12px) translateZ(0)}}@keyframes subtlePulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes smoothRotate{0%{transform:rotate(0deg) translateZ(0)}to{transform:rotate(1turn) translateZ(0)}}.animate-float{animation:float 4s ease-in-out infinite;will-change:transform}.animate-float-slow{animation:floatSlow 6s ease-in-out infinite;will-change:transform}.animate-subtle-pulse{animation:subtlePulse 3s ease-in-out infinite;will-change:opacity}.animate-smooth-rotate{animation:smoothRotate 20s linear infinite;will-change:transform}.hover-scale{transition:transform .2s ease;will-change:transform}.hover-scale:hover{transform:scale3d(1.02,1.02,1)}.hover-lift{transition:transform .2s ease;will-change:transform}.hover-lift:hover{transform:translate3d(0,-2px,0)}.fade-in-up{opacity:0;transform:translate3d(0,20px,0);transition:opacity .4s ease,transform .4s ease;will-change:opacity,transform}.fade-in-up.visible{opacity:1;transform:translateZ(0)}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (prefers-reduced-motion:reduce){.animate-float,.animate-float-slow,.animate-smooth-rotate,.animate-subtle-pulse{animation:none}.fade-in-up,.hover-lift:hover,.hover-scale:hover{transform:none}.fade-in-up{opacity:1;transition:none}}