@keyframes floatY { 0% { transform: translateY(0); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0); } }
.animate-float { animation: floatY 6s ease-in-out infinite; }
.animate-float-delayed { animation: floatY 6s ease-in-out 3s infinite; }
.pulse-ring { position: relative; }
.pulse-ring::before { content: ''; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid var(--accent); animation: pulse 2s linear infinite; }
@keyframes pulse { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
