.photo-gallery{--gallery-radius:12px;--gallery-gap:12px;--gallery-overlay:var(--color-overlay-dark);--gallery-white:var(--background);--gallery-dark:var(--color-brand-navy-950);width:100%;min-width:0}.photo-gallery button{cursor:pointer}.photo-gallery button:focus-visible,.photo-lightbox button:focus-visible{outline:2px solid var(--color-brand-yellow-500);outline-offset:4px}.photo-gallery-cover{border-radius:var(--gallery-radius);background:var(--color-brand-navy-50);width:100%;display:block;position:relative;overflow:hidden}.photo-gallery-cover>img{aspect-ratio:16/9;object-fit:cover;width:100%}.photo-gallery-cover>span{background:var(--gallery-dark);color:var(--gallery-white);border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex;position:absolute;bottom:16px;right:16px}.photo-gallery-grid{gap:var(--gallery-gap);margin-top:var(--gallery-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.photo-gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.photo-gallery-grid button{width:100%}.photo-gallery figcaption{color:var(--color-text-muted);margin-top:8px;font-size:12px;line-height:1.5}.photo-lightbox{z-index:10010;background:var(--color-brand-navy-950);color:var(--background);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.photo-lightbox-content{outline:none;flex-direction:column;width:100%;max-width:1200px;max-height:96svh;display:flex}.photo-lightbox-top,.photo-lightbox-bottom{justify-content:space-between;align-items:center;gap:20px;padding:12px 0;font-size:13px;display:flex}.photo-lightbox-content>img{object-fit:contain;flex:1;min-height:0;max-height:78svh}.photo-lightbox button{cursor:pointer;border:1px solid var(--color-border-translucent);min-width:44px;min-height:44px;color:inherit;border-radius:8px;place-items:center;display:grid}.photo-lightbox button:disabled{opacity:.35}.photo-lightbox-bottom p{text-align:center;overflow-wrap:anywhere;font-size:13px;line-height:1.6}@media (width<=639px){.photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-lightbox{padding:12px}.photo-gallery-cover>span{font-size:11px;bottom:10px;right:10px}}
