.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .65s ease, transform .65s ease;
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.hero-showcase {
    animation: floatShowcase 6s ease-in-out infinite;
}

.floating-card {
    animation: floatCard 5.5s ease-in-out infinite;
}

.card-b {
    animation-delay: .7s;
}

.card-c {
    animation-delay: 1.2s;
}

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

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