/* Stable masonry: existing items never rebalance when a new batch arrives. */
.grain,.cursor{display:none!important}
.nav{backdrop-filter:none!important}
.toolbar{backdrop-filter:none!important;background:rgba(247,243,237,.98)!important}
.hero::before{transform:scale(1.08)!important}
.hero::after{transform:scale(.985)!important;transition:none!important}
.intro,.download-section{content-visibility:auto;contain-intrinsic-size:900px}
.gallery{display:grid!important;grid-template-columns:repeat(var(--columns,4),minmax(0,1fr))!important;gap:10px!important;columns:auto!important;align-items:start;transition:opacity .18s ease}
.gallery.is-changing{opacity:0}
.masonry-column{display:flex;min-width:0;flex-direction:column;gap:10px}
.photo,.photo.wide,.photo.tall,.photo.standard,.photo.feature{display:block!important;position:relative;width:100%!important;margin:0!important;aspect-ratio:var(--photo-ratio)!important;overflow:hidden;background:#e8e1d8;cursor:zoom-in!important;transform:translateZ(0)}
.photo img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:var(--photo-ratio)!important;object-fit:cover!important;transform:none!important;transition:filter .3s ease!important}
.photo:hover img{transform:none!important;filter:saturate(1) brightness(.94)!important}
.photo:after{display:none!important}
.photo__index{opacity:0!important}
.reveal-photo{opacity:0;transform:translateY(10px)!important;transition:opacity .4s ease,transform .5s ease!important}
.reveal-photo.is-visible,.photo.is-visible{opacity:1;transform:translateZ(0)!important}
.download-all{backdrop-filter:none!important}
@media(max-width:600px){.gallery{gap:6px!important}.masonry-column{gap:6px}}
@media(prefers-reduced-motion:reduce){.reveal-photo{opacity:1;transform:none!important}}
