/* The photo is independent of the home page. The page remains pinned during
   the curtain travel, then resumes native scrolling. */
body:has(.scroll-reveal) { overflow-x:clip; }
.scroll-reveal { position:fixed; inset:0; z-index:20; height:100vh; height:100dvh; overflow:hidden; background:#faf5eb; transform:translate3d(0,calc(-1 * var(--reveal-travel, 0px)),0); will-change:transform; }
.scroll-reveal__photo { position:absolute; inset:0; display:block; width:100%; height:100%; }
.scroll-reveal__photo img { display:block; width:100%; height:100%; }
.scroll-reveal__photo img { object-fit:cover; object-position:center; }
.scroll-reveal__stage { position:relative; z-index:1; height:200vh; height:200dvh; }
.scroll-reveal__next { position:sticky; top:0; height:100vh; height:100dvh; overflow:visible; }
.scroll-reveal__next.scroll-reveal__next--released { position:relative; top:var(--reveal-height, 100vh); }
.scroll-reveal__tail { height:var(--reveal-tail, 0px); pointer-events:none; }
.scroll-reveal__arrow { position:absolute; bottom:calc(22px + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%); min-width:156px; min-height:66px; padding:8px 14px 7px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; border-radius:999px; background:#221a19cc; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 5px 24px #0008; color:#fff; text-align:center; font:600 11px/1.3 var(--sans); letter-spacing:.11em; text-transform:uppercase; text-shadow:0 1px 3px #000; }
.scroll-reveal__arrow:hover { color:#fff; background:#221a19ee; }
.scroll-reveal__arrow:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.scroll-reveal__arrow svg { width:22px; height:28px; filter:drop-shadow(0 2px 4px #000); animation:scroll-reveal-hint 2s ease-in-out infinite; }
@keyframes scroll-reveal-hint { 0%,100% { transform:translateY(-3px); } 50% { transform:translateY(4px); } }
@media (prefers-reduced-motion:reduce) {
  .scroll-reveal { position:absolute; transform:none; will-change:auto; }
  .scroll-reveal__stage { height:auto; padding-top:100vh; padding-top:100dvh; }
  .scroll-reveal__next,.scroll-reveal__next.scroll-reveal__next--released { position:relative; top:auto; height:auto; }
  .scroll-reveal__tail { display:none; }
  .scroll-reveal__arrow svg { animation:none; }
}
