/* =========================================================
   ANIMATIONS
========================================================= */
@keyframes hero-grain {
    0% {
        transform: translate(0, 0);
    }

    25% {
        transform: translate(-1%, 1%);
    }

    50% {
        transform: translate(1%, -1%);
    }

    75% {
        transform: translate(1%, 1%);
    }

    100% {
        transform: translate(0, 0);
    }
}

@keyframes warm-pulse {

    0%,
    100% {
        box-shadow: inset 0 0 60px rgba(198, 124, 78, 0.03);
    }

    50% {
        box-shadow: inset 0 0 80px rgba(198, 124, 78, 0.06);
    }
}

@keyframes shimmer-load {
    0% {
        left: -100%;
    }

    100% {
        left: 200%;
    }
}

@keyframes value-tick {

    0%,
    85%,
    100% {
        opacity: 1;
    }

    90% {
        opacity: 0.6;
    }
}

@keyframes pulse-dot {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

@keyframes typing-bounce {

    0%,
    60%,
    100% {
        transform: translateY(0);
        opacity: 0.4;
    }

    30% {
        transform: translateY(-4px);
        opacity: 1;
    }
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

