:root {
    --ease-soft: cubic-bezier(0.22, 0.61, 0.36, 1);
    --anim-duration: 1.8s;
}

.animate {
    opacity: 0;
    transform: translateY(60px);
    transition:
        opacity var(--anim-duration) var(--ease-soft),
        transform var(--anim-duration) var(--ease-soft);
}

.animate.visible {
    opacity: 1;
    transform: translateY(0);
}

/*-----------------------------------*\
  CONTROL YOUR TIMING HERE
\*-----------------------------------*/

.animate.hero:nth-child(1) {
    transition-delay: 0ms;
}

.animate.hero:nth-child(2) {
    transition-delay: 500ms;
}

.animate.hero:nth-child(3) {
    transition-delay: 250ms;
}

.animate.hero:nth-child(4) {
    transition-delay: 1000ms;
}

.animate.hero:nth-child(5) {
    transition-delay: 1200ms;
}

.animate.hero:nth-child(6) {
    transition-delay: 1000ms;
}