/* Reference mechanism: an opaque page/footer scrolls over fixed artwork.
   Boch & Fernsh: .footer_blank_box + .footer_blank_bg. No competing scroll engine.
   Artwork fills the reveal edge to edge (cover): no letterbox bars, and the
   spacer section is exactly as tall as the artwork, so nothing empty is left. */
body:has(.end-reveal){isolation:isolate}
body:has(.end-reveal)>.site-shell{position:relative;z-index:1;background:var(--bg,#070706);box-shadow:0 25px 65px #0009}
.end-reveal{position:relative;height:min(calc(100vw * var(--end-aspect)),100svh);pointer-events:none;isolation:isolate}
.end-reveal__art{position:fixed;left:0;right:0;bottom:0;z-index:-1;height:min(calc(100vw * var(--end-aspect)),100svh);background:#070706;display:flex;align-items:end;justify-content:center;overflow:hidden}
.end-reveal__art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.end-reveal:before{content:'';position:absolute;inset:0 0 auto;height:min(130px,25%);background:linear-gradient(#0009,transparent);z-index:1}
/* On a phone the plate is shown whole: the box is exactly as tall as the
   full-width artwork, so nothing is cropped off the sides and no empty
   strip is left behind either. */
@media(max-width:700px){.end-reveal,.end-reveal__art{height:calc(100vw * var(--end-aspect))}
.end-reveal__art img{object-fit:fill}}
@media(prefers-reduced-motion:reduce){.end-reveal__art{position:absolute;inset:0;height:100%;z-index:0}}
