/* Progressive scroll entrances: content is readable until JavaScript opts in. */
:root{--scroll-reveal-distance:22px;--scroll-reveal-duration:680ms;--scroll-reveal-ease:cubic-bezier(.22,1,.36,1)}
html.scroll-motion-ready .scroll-reveal:not(.is-scroll-visible){opacity:0;transform:translate3d(0,var(--scroll-reveal-offset,var(--scroll-reveal-distance)),0)}
html.scroll-motion-ready .scroll-reveal{transition:opacity var(--scroll-reveal-duration) var(--scroll-reveal-ease) var(--scroll-reveal-delay,0ms),transform var(--scroll-reveal-duration) var(--scroll-reveal-ease) var(--scroll-reveal-delay,0ms)}
html.scroll-motion-ready .scroll-reveal:not(.is-scroll-visible){will-change:opacity,transform}
html.scroll-motion-ready .scroll-reveal.is-scroll-visible{will-change:auto}
html.scroll-motion-ready .scroll-reveal--media:not(.is-scroll-visible)>img,html.scroll-motion-ready .scroll-reveal--media:not(.is-scroll-visible) img{transform:scale(1.035)}
html.scroll-motion-ready .scroll-reveal--media img{transition:transform 900ms var(--scroll-reveal-ease) var(--scroll-reveal-delay,0ms)}
html.scroll-motion-ready .scroll-reveal:focus-within,html.scroll-motion-ready .scroll-reveal:target{opacity:1;transform:none;transition:none!important}
html.motion-paused .scroll-reveal,html.motion-paused .scroll-reveal--media img{opacity:1!important;transform:none!important;transition:none!important;will-change:auto}
@media(prefers-reduced-motion:reduce){html.scroll-motion-ready .scroll-reveal,html.scroll-motion-ready .scroll-reveal--media img{opacity:1!important;transform:none!important;transition:none!important;will-change:auto}}
@media(max-width:620px){:root{--scroll-reveal-distance:16px;--scroll-reveal-duration:520ms}}
