@keyframes floatUp { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes softPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 212, 0, 0.16); } 50% { box-shadow: 0 0 0 18px rgba(255, 212, 0, 0); } }
@keyframes shimmerMove { 0% { background-position: -180% 0; } 100% { background-position: 180% 0; } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
.floaty { animation: floatUp 6s var(--ease) infinite; }
.pulse { animation: softPulse 2.8s infinite; }
.shimmer { background: linear-gradient(120deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.06)); background-size: 220% 100%; animation: shimmerMove 2.5s linear infinite; }
.fade-in-up { animation: fadeInUp 0.75s var(--ease) both; }
