/*
 * Reveal-on-scroll, armed only by animations.js: without the "motion-ready" class every element
 * below stays at its finished state, so no-JS and reduce-motion visitors never see hidden content.
 */
body.public-site.motion-ready .motion-reveal {
    opacity: 0;
    transition: opacity 520ms ease, transform 520ms ease;
}

body.public-site.motion-ready .motion-reveal--section {
    transform: translateY(14px);
}

body.public-site.motion-ready .motion-reveal--card {
    transform: translateY(8px) scale(0.99);
}

body.public-site.motion-ready .motion-reveal--in {
    opacity: 1;
    transform: none;
}

/* Press feedback: a button should acknowledge the click it just took. */
body.public-site .btn {
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease,
        color 160ms ease, transform 120ms ease;
}

body.public-site .btn:active {
    transform: translateY(0) scale(0.985);
}

@media (prefers-reduced-motion: reduce) {
    body.public-site *,
    body.public-site *::before,
    body.public-site *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}
