/* Painted still-image canopy. All movement stays on composited transforms. */
.leaf-curtain { position: fixed; inset: 0; z-index: 2147483647; overflow: hidden; pointer-events: none; visibility: hidden; isolation: isolate; contain: strict; }
.leaf-curtain.is-active { visibility: visible; pointer-events: auto; touch-action: none; cursor: progress; }
.leaf-curtain__shade { position: absolute; inset: 0; background: #123C32; opacity: 0; }
.leaf-curtain__bough { position: absolute; transform-origin: 50% 100%; will-change: transform; }
.leaf-curtain__bough img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; pointer-events: none; }
.leaf-curtain__bough.is-back img { filter: brightness(.82); }
html.leaf-arrival { background: #123C32; }
html.leaf-arrival::after { content: ''; position: fixed; inset: 0; z-index: 2147483647; background: #123C32; pointer-events: all; }
html.leaf-arrival.leaf-arrival-ready::after { display: none; }
/* Lock the viewport without reparenting sticky artwork to a body scroller. */
html.is-leaf-transitioning { overflow: hidden !important; cursor: progress !important; }
html.is-leaf-transitioning .veluwe-cursor,
html.is-leaf-transitioning .veluwe-cursor-burst,
html.is-leaf-transitioning [data-veluwe-cursor],
html.is-leaf-transitioning .cursor-effect,
html.is-leaf-transitioning #veluwe-cursor { visibility: hidden !important; }
@media (prefers-reduced-motion: reduce) { .leaf-curtain__bough { will-change: auto; } }
