.gallery-heading{padding:65px var(--pad) 45px}.gallery-heading h1{font-size:clamp(100px,13vw,220px);margin:25px 0 30px}.gallery-sub{display:flex;align-items:end;justify-content:space-between}.gallery-sub p{font-size:16px}.gallery-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:20px var(--pad);position:sticky;top:0;background:var(--butter);z-index:5;gap:20px}.filters{display:flex;gap:30px}.filters button{background:transparent;padding:4px 0;font-size:12px}.filters button[aria-pressed=true]{border-bottom:2px solid}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 26px;padding:45px var(--pad) 100px}.photo-card{margin:0;align-self:start}.photo-card:nth-child(3n+2){padding-top:65px}.photo-card button,.photo-card a{display:block;background:none;border:0;padding:0;width:100%;text-align:left}.photo-card img{width:100%;height:29vw;object-fit:cover;filter:saturate(.78);transition:filter .4s,transform .5s}.photo-card button:hover img,.photo-card a:hover img{filter:saturate(1);transform:translateY(-6px)}.photo-card figcaption{display:flex;justify-content:space-between;gap:8px;padding-top:12px;font-size:10px}.photo-card figcaption span:last-child{text-align:right;font-size:8px;opacity:.7}.photo-card.portrait img{height:39vw}.gallery-end{padding:40px var(--pad) 85px;background:var(--ink);color:var(--butter);display:flex;align-items:end;justify-content:space-between;gap:30px}.gallery-end p{font-size:10vw}.lightbox{position:fixed;inset:0;border:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#17121d;color:var(--paper);padding:22px 3vw;z-index:50}.lightbox::backdrop{background:#17121d}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;height:40px}.lightbox button{background:transparent;color:var(--paper);font-size:13px;padding:8px 12px}.lightbox-image-wrap{height:calc(100dvh - 160px);position:relative;display:flex;align-items:center;justify-content:center}.lightbox-image-wrap img{max-width:90%;max-height:100%;object-fit:contain}.lightbox-image-wrap .previous,.lightbox-image-wrap .next{position:absolute;top:45%;font-size:30px;background:#17121d77;border:1px solid #f2ede344;width:50px;height:60px}.previous{left:0}.next{right:0}.lightbox-caption{display:flex;justify-content:space-between;align-items:center;padding-top:16px}.lightbox-caption h2{font-size:16px;font-weight:400}.lightbox-caption p{font-size:10px;opacity:.65;margin-top:5px}.lightbox-caption>.mono{font-size:9px}#gallery-error{padding:50px}.gallery-page:has(.lightbox[open]){overflow:hidden}
@media(max-width:600px){.gallery-heading{padding-top:45px}.gallery-heading h1{font-size:24vw}.gallery-sub p{font-size:12px}.gallery-sub>.mono{font-size:7px}.filters{gap:19px}.filters button{font-size:10px}.gallery-toolbar{padding:15px 22px;gap:10px}#photo-count{font-size:7px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:30px 13px;padding:25px 16px 60px}.photo-card:nth-child(3n+2){padding-top:0}.photo-card:nth-child(even){padding-top:35px}.photo-card img{height:52vw}.photo-card.portrait img{height:65vw}.photo-card figcaption{flex-direction:column;font-size:9px}.photo-card figcaption span:last-child{text-align:left;font-size:7px}.gallery-end{display:block}.gallery-end p{font-size:17vw}.gallery-end .underlink{margin-top:25px}.lightbox{padding:12px}.lightbox-image-wrap{height:calc(100dvh - 155px)}.lightbox-image-wrap img{max-width:100%}.lightbox-image-wrap .previous,.lightbox-image-wrap .next{top:auto;bottom:15px;width:44px;height:44px;font-size:22px}.lightbox-caption{padding:10px 0}.lightbox-caption>.mono{display:none}.lightbox-caption h2{font-size:13px}}
/* Preserve the whole composition in the edit; full frames open in the lightbox. */
.photo-card img,.photo-card.portrait img{height:auto;aspect-ratio:auto;filter:none}
.photo-grid{align-items:start;gap:55px 32px}
.photo-card.landscape{padding-top:50px}
.photo-card.landscape img{height:auto}
.lightbox-caption{gap:20px}.lightbox-caption>div{min-width:0}.lightbox-caption h2{line-height:1.3}
@media(max-width:600px){.gallery-toolbar{flex-wrap:wrap}.filters{gap:24px}.filters button{min-height:28px}.gallery-toolbar #photo-count{width:100%}.photo-grid{gap:35px 15px}.photo-card.landscape{padding-top:25px}.photo-card img,.photo-card.portrait img{height:auto}.gallery-page .header>.underlink{font-size:9px;gap:4px}.lightbox-caption{align-items:start}.lightbox-caption>.mono{display:block;max-width:100px;font-size:7px;text-align:right}.lightbox-caption p{font-size:8px}}
