/* Expanded project catalogs retain each photograph's original proportions. */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;align-items:start}
.gallery figure,.gallery figure:last-of-type:nth-child(odd){min-width:0;max-width:none;width:100%;margin:0;grid-column:auto}
.gallery .photo img{width:100%;height:auto;object-fit:contain;background:#e9e7e0}
.gallery figcaption{line-height:1.5}.gallery .credits{grid-column:1/-1}
.catalog-open{overflow:hidden}
#lightbox{width:min(96vw,1600px);max-height:96dvh;padding:18px 24px;overflow:auto;overscroll-behavior:contain}
#lightbox[open]{display:flex;flex-direction:column;gap:10px}
#lightbox .close{margin:0 0 0 auto;flex-shrink:0}
#lightbox figure{position:relative;min-height:120px;min-width:0;display:flex;flex-direction:column;justify-content:center}
#lightbox figure img{width:auto;height:auto;max-width:100%;max-height:calc(96dvh - 280px);object-fit:contain;margin:auto}
#lightbox figcaption{line-height:1.4;padding-top:10px;overflow-wrap:anywhere}
#lightbox .gallery-controls{padding-top:0;flex-shrink:0}
.catalog-status{text-align:center;margin:20px auto;max-width:600px;color:#e2d2ba}
.catalog-status[hidden]{display:none}
.catalog-full{align-self:center;font-size:.8rem;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.catalog-thumbnails{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;padding:6px 3px 12px;min-height:88px;flex-shrink:0;scrollbar-color:#a5947e #282b27}
.catalog-thumbnails button{flex:0 0 96px;min-height:68px;padding:2px;border:2px solid transparent;background:#282b27;color:white}
.catalog-thumbnails button[aria-pressed=true]{border-color:#ddc3a0}
.catalog-thumbnails img{width:88px;height:60px;object-fit:contain;margin:auto}
#lightbox button:focus-visible,#lightbox a:focus-visible{outline:3px solid #ddc3a0;outline-offset:2px}
@media(max-width:1000px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gallery{grid-template-columns:1fr;gap:30px}.gallery figure{margin-bottom:0!important}#lightbox{width:100vw;max-width:100vw;max-height:100dvh;padding:12px}#lightbox figure img{max-height:calc(100dvh - 290px)}#lightbox .gallery-controls{gap:14px}.catalog-thumbnails{gap:8px}}
@media print{.gallery{display:block}.gallery figure{break-inside:avoid;margin-bottom:25px!important}#lightbox{display:none!important}}
.catalog-intro{padding-top:12px;padding-bottom:24px}.catalog-intro p{max-width:760px}.catalog-intro .eyebrow{margin-bottom:12px}
