/* Scroll entrances are opt-in: content remains visible without JavaScript. */
.visual-reveal-scope { overflow-x: clip; }
.visual-reveal {
    --reveal-offset: -64px;
    opacity: 0;
    translate: var(--reveal-offset) 14px;
    transition: opacity .8s ease, translate 1.05s cubic-bezier(.22, 1, .36, 1);
}
.visual-from-right { --reveal-offset: 64px; }
.visual-reveal.visual-visible { opacity: 1; translate: 0 0; }
@media (max-width: 767px) {
    .visual-reveal { --reveal-offset: -24px; transition-duration: .65s, .8s; }
    .visual-from-right { --reveal-offset: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .visual-reveal { opacity: 1; translate: none; transition: none; }
}
@media print {
    .visual-reveal { opacity: 1; translate: none; transition: none; }
}
