/*
  ========================================
  Animations & Keyframes
  ========================================
*/

@keyframes float {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(30px, -30px) rotate(5deg); }
    50% { transform: translate(-20px, 20px) rotate(-5deg); }
    75% { transform: translate(20px, 30px) rotate(3deg); }
}

@keyframes cascadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse {
    0%, 100% { box-shadow: 0 0 20px rgba(58, 127, 106, 0.2); }
    50% { box-shadow: 0 0 40px rgba(58, 127, 106, 0.4); }
}

.pulse {
    animation: pulse 2s infinite;
}

@keyframes floatPulse {
    0%, 100% { 
        transform: translateY(0);
    }
    50% { 
        transform: translateY(-8px);
    }
}

@keyframes iconFloat {
    0%, 100% { 
        transform: translateY(0) rotate(0deg);
    }
    50% { 
        transform: translateY(-8px) rotate(2deg);
    }
}

@keyframes iconHover {
    0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    25% { transform: translateY(-4px) rotate(-5deg) scale(1.1); }
    75% { transform: translateY(-2px) rotate(5deg) scale(1.05); }
}

@keyframes iconBounce {
    0%, 100% { transform: scale(1.15) rotate(-5deg); }
    50% { transform: scale(1.25) rotate(5deg); }
}

@keyframes arrowSlide {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(4px); }
}