/* This entrance is separate from the slider's reversible metric reveals. */
#demo-section .home-session.is-scroll-ready .home-session__layout > :not(.is-session-visible) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(30px);
    transition: none;
}
#demo-section .home-session.is-scroll-ready .home-session__layout > .is-session-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .8s cubic-bezier(.16, 1, .3, 1),
                transform .8s cubic-bezier(.16, 1, .3, 1);
}

/* The invitation follows the intro reveal, not the independent metric slider. */
#demo-section .home-session.is-scroll-ready .home-session__cta {
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: none;
}
#demo-section .home-session.is-scroll-ready .home-session__intro.is-session-visible .home-session__cta {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity .4s ease 1s, transform .4s ease 1s;
}
#demo-section .home-session.is-scroll-ready .home-session__cta:focus-within,
#demo-section .home-session.is-scroll-ready .home-session__intro.is-session-visible .home-session__cta:focus-within {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition: none;
}
@media (prefers-reduced-motion: reduce) {
    #demo-section .home-session.is-scroll-ready .home-session__layout > * {
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        transition: none;
    }
    #demo-section .home-session.is-scroll-ready .home-session__cta,
    #demo-section .home-session.is-scroll-ready .home-session__intro.is-session-visible .home-session__cta {
        opacity: 1;
        pointer-events: auto;
        transform: none;
        transition: none;
    }
}
