/* ── Scroll reveal (bidirectional) ── */
.reveal {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 0.6s cubic-bezier(.22,.68,0,1.2), transform 0.6s cubic-bezier(.22,.68,0,1.2);
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}
.reveal-up {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}
.reveal-up.visible {
    opacity: 1;
    transform: translateY(0);
}
