.anim-item {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .5s ease, transform .5s ease;
}
.anim-item.anim-visible {
    opacity: 1;
    transform: translateY(0);
}
.fade-in {
    animation: fadeIn .6s ease forwards;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}
.hero-content > * {
    animation: fadeIn .7s ease forwards;
}
.hero-content > *:nth-child(1) { animation-delay: .1s; opacity: 0; }
.hero-content > *:nth-child(2) { animation-delay: .25s; opacity: 0; }
.hero-content > *:nth-child(3) { animation-delay: .4s; opacity: 0; }
.hero-content > *:nth-child(4) { animation-delay: .55s; opacity: 0; }
