.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0 12px;clear:both}.gallery-item{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#eeebe5;border:1px solid var(--line);cursor:zoom-in}.gallery-item img,.prose .gallery-item img,.news-card .gallery-item img{display:block;width:100%;height:100%;max-height:none;max-width:none;object-fit:cover;object-position:center 40%;margin:0;transition:transform .2s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.gallery-page.prose{max-width:1100px}.prose:has(.archive-report){max-width:1100px}.archive-report{padding-bottom:42px;margin-bottom:44px;border-bottom:1px solid var(--line);scroll-margin-top:125px}.archive-report:last-child{border:0;margin-bottom:0}.archive-report>p,.archive-report>div:not(.gallery-grid),.archive-report>h3{max-width:860px}.archive-report>h3{font-size:32px;line-height:1.25;margin-top:0}.archive-report .gallery-grid{max-width:none}.news-grid:has(.gallery-grid){grid-template-columns:1fr;gap:32px}.news-card:has(.gallery-grid){padding:32px}.news-card:has(.gallery-grid) .news-content{padding:0}.news-card:has(.gallery-grid) h2{font-size:32px;margin-bottom:20px;max-width:860px}.news-card:has(.gallery-grid) .news-content>p,.news-card:has(.gallery-grid) .occasion-text,.news-card:has(.gallery-grid) .article-text{max-width:860px}.news-card:has(.gallery-grid) .news-content p,.news-card:has(.gallery-grid) .occasion-text{font-size:16px;line-height:1.8}.news-card:has(.gallery-grid) details{font-size:15px}.lightbox-open{overflow:hidden}.photo-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:24px;margin:0;color:#fff;background:rgba(11,17,26,.97);overflow:auto}.photo-lightbox::backdrop{background:rgba(11,17,26,.8)}.lightbox-panel{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100%;max-width:1440px;margin:auto}.lightbox-close,.lightbox-prev,.lightbox-next{border:1px solid rgba(255,255,255,.35);background:rgba(24,38,56,.9);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:3px;z-index:2}.lightbox-close{position:absolute;right:0;top:0;width:46px;height:46px;font-size:32px;line-height:1}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:180px;padding:52px 68px 0}.lightbox-image{display:block;max-width:100%;max-height:calc(100dvh - 180px);width:auto;height:auto;object-fit:contain;margin:auto;touch-action:pan-y}.lightbox-image.loading{opacity:.3}.lightbox-prev,.lightbox-next{position:absolute;top:50%;width:48px;height:56px;font-size:42px;line-height:1;transform:translateY(-50%)}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;font-size:14px}.lightbox-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 68px 0}.lightbox-caption{font-size:15px;line-height:1.6;margin:0;max-width:950px;color:#f7f4ee}.lightbox-counter{font-size:13px;color:#c4ad79;white-space:nowrap;margin:0 0 0 auto}.photo-lightbox [hidden]{display:none!important}.photo-lightbox button:hover{background:#8c2638}.photo-lightbox button:focus-visible{outline:3px solid #c4ad79;outline-offset:3px}@media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.news-card:has(.gallery-grid){padding:23px}.archive-report>h3,.news-card:has(.gallery-grid) h2{font-size:27px}.photo-lightbox{padding:12px}.lightbox-stage{padding:58px 0 0}.lightbox-image{max-height:calc(100dvh - 200px)}.lightbox-prev,.lightbox-next{width:40px;height:46px;font-size:34px;top:auto;bottom:-55px;transform:none}.lightbox-meta{padding:66px 4px 0;gap:12px}.lightbox-caption{font-size:13px}.lightbox-counter{font-size:12px}.lightbox-close{width:44px;height:44px}.archive-report{margin-bottom:32px;padding-bottom:32px}}@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}

/* Preserve complete portrait photographs inside uniform preview rectangles. */
.gallery-item img.portrait-preview,.prose .gallery-item img.portrait-preview,.news-card .gallery-item img.portrait-preview{object-fit:contain;object-position:center}
.lightbox-meta{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.lightbox-caption{grid-row:1;width:100%;max-width:950px;text-align:center}.lightbox-counter{grid-row:2;margin:0;text-align:center}.archive-occasions{margin-top:54px;padding-top:32px;border-top:2px solid var(--line)}.archive-occasions>h2{margin-bottom:40px}.archive-report>.occasion-text{font-size:16px;line-height:1.8}
