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

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

.float-soft { animation: floatSoft 6s ease-in-out infinite; }
.float-soft-alt { animation: floatSoft 7.5s ease-in-out infinite reverse; }

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