/* Lenis 1.3.27 recommended window-scroller rules. No transformed wrapper: fixed
   navigation remains attached to the viewport. The instance is absent on Home. */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto!important}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}

/* Keep existing detail/page reveal observers; unify their spatial rhythm here. */
body[data-view=page] .detail-reveal,body[data-view=page] .site-page-reveal,.page-motion-reveal{transition:opacity 1100ms var(--ease-out,cubic-bezier(.23,1,.32,1)),transform 1100ms var(--ease-out,cubic-bezier(.23,1,.32,1))}
body[data-view=page] .detail-experience[data-reveal=enabled] .detail-reveal:not(.is-visible),body[data-view=page] .site-page[data-reveal=enabled] .site-page-reveal:not(.is-visible),.page-motion-reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
body[data-view=page] .site-page[data-reveal=enabled] .site-about-portrait:not(.is-visible){transform:translateY(22px) rotate(3deg)}
.page-motion-reveal.is-visible{opacity:1;transform:none}
.page-motion-now{transition:none!important}
[data-motion=quiet] .page-motion-reveal,[data-motion=quiet] body[data-view=page] .detail-reveal,[data-motion=quiet] body[data-view=page] .site-page-reveal{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.page-motion-reveal,body[data-view=page] .detail-reveal,body[data-view=page] .site-page-reveal{opacity:1!important;transform:none!important;transition:none!important}}
