@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes progress-bar{0%{width:0%}to{width:100%}}.animate-fade-in-up{animation:.8s cubic-bezier(.22,1,.36,1) forwards fade-in-up}.animate-fade-in{animation:.6s ease-out forwards fade-in}.animate-slide-in-right{animation:.8s cubic-bezier(.22,1,.36,1) forwards slide-in-right}.animate-on-scroll{opacity:0}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float-delayed{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #f00002b3}70%{transform:scale(1);box-shadow:0 0 0 10px #f0000200}to{transform:scale(.95);box-shadow:0 0 #f0000200}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatSlow{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-15px)rotate(3deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fadeInUp{animation:.8s ease-out forwards fadeInUp}.animate-fadeIn{animation:.5s ease-out forwards fadeIn}.animate-float{animation:6s ease-in-out infinite float}.animate-float-slow{animation:8s ease-in-out infinite floatSlow}.animate-pulse-custom{animation:2s ease-in-out infinite pulse}
