/* Original 1s reveal, 18px glass and 150ms clearing beat; direction follows entry. */
html body [data-long-page]{position:relative}
html body.buckweb .long-page-frame{border-radius:var(--site-container-radius,20px);overflow:hidden}
/* Keep the observer's frame unmasked so its bottom can enter independently. */
html body [data-long-page].long-page-pending{
 opacity:1!important;translate:none!important;clip-path:none!important;transition:none!important;
}
html body .long-page-pending{--image-reveal-start:inset(0 0 100% 0)}
html body .long-page-pending.long-page-up{--image-reveal-start:inset(100% 0 0 0)}
html body [data-long-page].long-page-pending>img,
html body.about-v24 .mosaic-photo.long-page-pending img{
 clip-path:inset(0 0 100% 0);transition:none!important;
}
html body [data-long-page].long-page-visible>img,
html body.about-v24 .mosaic-photo.long-page-visible img{
 clip-path:inset(0);animation:directional-image-reveal 1s cubic-bezier(.22,1,.36,1);
}
@keyframes directional-image-reveal{from{clip-path:var(--image-reveal-start)}to{clip-path:inset(0)}}
html body [data-long-page]>.long-page-glass{
 position:absolute;inset:0 0 auto;height:min(100%,100svh);z-index:2;
 pointer-events:none;background:#ffffff40;
 backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;
}
html body [data-long-page].long-page-up>.long-page-glass{inset:auto 0 0}
html body [data-long-page].long-page-pending>.long-page-glass{opacity:1;clip-path:inset(0 0 100% 0)}
html body [data-long-page].long-page-visible>.long-page-glass{opacity:0;clip-path:inset(0);animation:directional-image-reveal 1s cubic-bezier(.22,1,.36,1),directional-image-glass 1.15s ease}
@keyframes directional-image-glass{0%,13.043%{opacity:1}100%{opacity:0}}
/* About retains its existing 12px image blur and 1s clearing timing. */
html body.about-v24 .mosaic-photo.long-page-pending img{filter:blur(12px)}
html body.about-v24 .mosaic-photo.long-page-visible img{filter:blur(0);animation:directional-mosaic-reveal 1s cubic-bezier(.22,1,.36,1)}
@keyframes directional-mosaic-reveal{from{clip-path:var(--image-reveal-start);filter:blur(12px)}to{clip-path:inset(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){
 html body [data-long-page].long-page-pending>img,
 html body.about-v24 .mosaic-photo.long-page-pending img{clip-path:none;filter:none;animation:none;transition:none!important}
 html body [data-long-page]>.long-page-glass{display:none}
}

html body [data-long-page].long-page-fallback>img,
html body.about-v24 .mosaic-photo.long-page-fallback img{clip-path:none;filter:none;animation:none;transition:none!important}
