body.has-photo-lightbox-open{overflow:hidden;position:fixed;left:0;right:0;width:100%}
body[data-photo-lightbox] main figure img{cursor:zoom-in}
.photo-lightbox[hidden]{display:none}
.photo-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:clamp(48px,7vw,104px) 1fr clamp(48px,7vw,104px);grid-template-rows:1fr;background:#faf9f6;color:#171512;opacity:0;transition:opacity .24s ease}
.photo-lightbox.is-open{opacity:1}
.photo-lightbox__stage{position:relative;grid-column:2;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:clamp(24px,4vw,56px) 0;touch-action:none;user-select:none}
.photo-lightbox__image{display:block;max-width:100%;max-height:calc(100dvh - clamp(48px,8vw,112px));width:auto;height:auto;object-fit:contain;box-shadow:0 18px 60px rgba(23,21,18,.12);opacity:1;transform:scale(1);transition:opacity .18s ease,transform .24s ease}
.photo-lightbox__image.is-changing{opacity:.18;transform:scale(.995)}
.photo-lightbox button{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;font-family:Arial,sans-serif}
.photo-lightbox__close{position:absolute;z-index:2;top:clamp(15px,2.4vw,30px);right:clamp(15px,2.4vw,34px);width:48px;height:48px;font-size:0}
.photo-lightbox__close::before,.photo-lightbox__close::after{content:"";position:absolute;top:23px;left:11px;width:26px;height:1px;background:currentColor}
.photo-lightbox__close::before{transform:rotate(45deg)}
.photo-lightbox__close::after{transform:rotate(-45deg)}
.photo-lightbox__nav{display:flex;align-items:center;justify-content:center;width:100%;font-size:0;opacity:.78;transition:opacity .2s}
.photo-lightbox__nav:hover,.photo-lightbox__nav:focus-visible{opacity:1}
.photo-lightbox__nav::before{content:"";width:18px;height:18px;border-top:1px solid currentColor;border-left:1px solid currentColor}
.photo-lightbox__prev{grid-column:1;grid-row:1}.photo-lightbox__prev::before{transform:rotate(-45deg)}
.photo-lightbox__next{grid-column:3;grid-row:1}.photo-lightbox__next::before{transform:rotate(135deg)}
.photo-lightbox__counter{position:absolute;left:50%;bottom:clamp(15px,2.3vw,30px);transform:translateX(-50%);margin:0;font:9px/1 Arial,sans-serif;letter-spacing:.19em;color:rgba(23,21,18,.62)}
.photo-lightbox button:focus-visible{outline:1px solid rgba(23,21,18,.7);outline-offset:-5px}
@media(max-width:720px){.photo-lightbox{grid-template-columns:52px 1fr 52px}.photo-lightbox__stage{grid-column:1/-1;padding:62px 14px 76px}.photo-lightbox__image{max-height:calc(100dvh - 138px)}.photo-lightbox__nav{position:absolute;z-index:2;bottom:10px;width:52px;height:52px}.photo-lightbox__prev{left:10px}.photo-lightbox__next{right:10px}.photo-lightbox__counter{bottom:31px}.photo-lightbox__close{top:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.photo-lightbox,.photo-lightbox__image{transition:none}}
