/* Site-wide scroll reveal: text rises from below */
@media (prefers-reduced-motion: no-preference) {
    .reveal-text {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
        transition:
            opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
        transition-delay: var(--reveal-delay, 0ms);
        will-change: opacity, transform;
    }

    .reveal-text.is-revealed {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-text {
        opacity: 1;
        transform: none;
    }
}
