/**
 * EAS Scroll Reveal — progressive enhancement
 * No JS: content visible (html:not(.eas-js) override beats inline pillar opacity:0).
 * With JS: eas-reveal.js adds html.eas-js, then IntersectionObserver reveals elements.
 */

html:not(.eas-js) .reveal,
html:not(.eas-js) .eas-reveal,
html:not(.eas-js) .eas-reveal-left {
    opacity: 1 !important;
    transform: none !important;
}

html.eas-js .reveal:not(.visible),
html.eas-js .eas-reveal:not(.in) {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
                transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

html.eas-js .eas-reveal-left:not(.visible) {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

html.eas-js .reveal.visible,
html.eas-js .eas-reveal.in,
html.eas-js .eas-reveal-left.visible {
    opacity: 1;
    transform: translateY(0);
}

html.eas-js .eas-reveal-left.visible {
    transform: translateX(0);
}
