/* Lightweight scroll polish. It preserves the existing Ekoo colour theme. */
html { scroll-behavior: smooth; scroll-padding-top: 6rem; scrollbar-gutter: stable; }
body { overscroll-behavior-x: none; }
html.lenis, html.lenis body { height: auto; }
html.lenis.lenis-smooth { scroll-behavior: auto; }
html.lenis.lenis-stopped { overflow: clip; }

@media (prefers-reduced-motion: no-preference) {
    .ekoo-home main > section {
        content-visibility: auto;
        contain-intrinsic-size: auto 760px;
    }

    .ekoo-home [data-scroll-animate] {
        opacity: 0.001;
        transform: translate3d(0, 32px, 0);
        transition: opacity 620ms ease, transform 760ms cubic-bezier(.16, 1, .3, 1);
    }

    @media (prefers-reduced-motion: no-preference) {
        .ekoo-home main > section {
            scroll-margin-top: 5.5rem;
        }

        .ekoo-home main > section > div {
            transition: transform 700ms cubic-bezier(.16, 1, .3, 1);
        }

        .ekoo-home main > section:hover > div {
            transform: translateZ(0);
        }
    }

    .ekoo-home [data-scroll-animate].ekoo-scroll-visible {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .ekoo-home main > section,
    .ekoo-home main > section img,
    .ekoo-home main > section video {
        backface-visibility: hidden;
    }

}

@media (prefers-reduced-motion: reduce) {
    .ekoo-home [data-scroll-animate] { opacity: 1; transform: none; }
}
