.photo-grid img{cursor:zoom-in}
.photo-grid img:focus-visible{outline:4px solid var(--wood);outline-offset:3px}
.viewer-open{overflow:hidden}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:clamp(1rem,3vw,2.5rem);border:0;background:rgba(8,9,8,.96);color:#fff;overflow:hidden}
.lightbox[open]{display:grid;grid-template-columns:minmax(44px,80px) minmax(0,1fr) minmax(44px,80px);grid-template-rows:minmax(0,1fr) auto;align-items:center}
.lightbox::backdrop{background:#080908}
.lightbox figure{grid-column:2;grid-row:1;margin:0;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem}
.lightbox figure img{width:100%;height:calc(100vh - 7rem);object-fit:contain}
.lightbox figcaption{font-size:.85rem;color:#c7cac7;text-align:center}
.lightbox-close{position:absolute;z-index:2;top:1rem;right:1.2rem;width:48px;height:48px;border:1px solid #777;background:#171917;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.lightbox-nav{width:54px;height:68px;justify-self:center;border:1px solid #666;background:#171917;color:#fff;font-size:2.8rem;line-height:1;cursor:pointer}
.lightbox-prev{grid-column:1;grid-row:1}.lightbox-next{grid-column:3;grid-row:1}
.lightbox-count{grid-column:1/4;grid-row:2;text-align:center;margin:.4rem 0 0;color:#aaa;font-size:.8rem}
@media(max-width:600px){.lightbox{padding:.75rem}.lightbox[open]{grid-template-columns:52px 1fr 52px}.lightbox figure{grid-column:1/4}.lightbox figure img{height:calc(100vh - 8rem)}.lightbox-nav{z-index:2;width:44px;height:56px;background:#111b}.lightbox-close{top:.7rem;right:.7rem}}
