@keyframes tercon-fade-up {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tercon-fade-left {
    from {
        opacity: 0;
        transform: translateX(-22px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes tercon-fade-right {
    from {
        opacity: 0;
        transform: translateX(22px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes tercon-pop {
    from {
        opacity: 0;
        transform: scale(0.96) translateY(10px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@keyframes tercon-line {
    from {
        opacity: 0;
        transform: scaleX(0);
    }

    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

.anim-fade-up,
.anim-fade-left,
.anim-fade-right,
.anim-pop,
.anim-line,
.anim-counter {
    opacity: 0;
    will-change: transform, opacity;
}

.anim-fade-up.anim-in {
    animation: tercon-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.anim-fade-left.anim-in {
    animation: tercon-fade-left 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.anim-fade-right.anim-in {
    animation: tercon-fade-right 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.anim-pop.anim-in {
    animation: tercon-pop 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.anim-line {
    transform-origin: left center;
    transform: scaleX(0);
}

.anim-line.anim-in {
    animation: tercon-line 0.6s ease-out both;
}

.anim-delay-1 { animation-delay: 0.08s !important; }
.anim-delay-2 { animation-delay: 0.16s !important; }
.anim-delay-3 { animation-delay: 0.24s !important; }
.anim-delay-4 { animation-delay: 0.32s !important; }
.anim-delay-5 { animation-delay: 0.4s !important; }

@media (prefers-reduced-motion: reduce) {
    .anim-fade-up,
    .anim-fade-left,
    .anim-fade-right,
    .anim-pop,
    .anim-line,
    .anim-counter {
        opacity: 1;
        transform: none;
        animation: none !important;
    }
}