.photo-section{background:linear-gradient(180deg,#101319,#090b0e);border-block:1px solid #d6a84b35}
.photo-section .section-head{gap:36px;margin-bottom:30px;grid-template-columns:1fr 1fr;align-items:end}
.photo-section .section-head p{font-size:.95rem;line-height:1.7;color:#aeb7c5}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.photo-card{padding:0;margin:0;background:#101419;border:1.5px solid var(--gold);border-radius:19px;overflow:hidden}
.photo-card:first-child{grid-column:auto}
.photo-open{position:relative;display:block;width:100%;padding:0;border:0;border-radius:0;background:#161a20;cursor:zoom-in;color:white;overflow:hidden}
.photo-open img{width:100%;height:230px;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.25,1)}
.photo-card:first-child .photo-open img{object-fit:cover;object-position:center;height:230px}
.photo-open:after{content:'↗';position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:33px;height:33px;border:1px solid #e7c57c90;border-radius:50%;background:#0c1015ca;color:#f0d28c;font-size:18px;transition:background .2s,transform .2s}
.photo-open:hover img{transform:scale(1.045)}.photo-open:hover:after{background:#d6a84b;color:#08090b;transform:rotate(5deg)}
.photo-card figcaption{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:15px 18px;font-size:.83rem;font-weight:600}
.photo-card figcaption span{font-size:.61rem;letter-spacing:.12em;color:#d6a84b;font-weight:500;text-transform:uppercase}
.photo-section .source-note{margin:17px 0 0;line-height:1.6}
.photo-dialog{border:1.5px solid #d6a84b;border-radius:18px;color:#fffdf8;background:#0c1015;padding:0;width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 30px 120px #000b}
.photo-dialog::backdrop{background:#030507e8;backdrop-filter:blur(8px)}
.photo-dialog .photo-dialog-image{display:block;width:100%;height:min(68dvh,730px);object-fit:contain;background:#080a0d}
.photo-dialog-header,.photo-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px}
.photo-dialog-header span{font-size:.66rem;color:#d6a84b;letter-spacing:.12em;text-transform:uppercase}
.photo-dialog button{border:1px solid #d6a84b80;background:#171b20;color:#f0d28c;border-radius:24px;cursor:pointer;padding:9px 17px;font-size:.8rem}
.photo-dialog-footer p{margin:0;font-size:.86rem}.photo-dialog-nav{display:flex;gap:8px}
.venue-photo-stack{display:grid;gap:20px;align-self:start}
.venue-photo-stack .image-panel{margin:0;aspect-ratio:3/2;align-self:start}
.venue-photo-stack .image-panel img{object-position:50% 50%}
.venue-photo-small{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1.5px solid var(--gold);border-radius:17px;overflow:hidden;margin:0;background:#101419}
.venue-photo-small img{width:100%;height:150px;object-fit:cover}.venue-photo-small figcaption{display:flex;flex-direction:column;gap:8px;justify-content:center;padding:18px;font-size:.85rem;line-height:1.5}.venue-photo-small figcaption span{font-size:.7rem;color:#acb5c1}
@media(max-width:800px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-section .section-head{grid-template-columns:1fr;gap:18px}.photo-open img,.photo-card:first-child .photo-open img{height:210px}}
@media(max-width:520px){.photo-grid{grid-template-columns:1fr}.photo-card:first-child{grid-column:auto}.photo-open img,.photo-card:first-child .photo-open img{height:auto;max-height:300px;object-fit:contain}.photo-dialog-header,.photo-dialog-footer{padding:12px}.photo-dialog-footer{flex-wrap:wrap}.venue-photo-small{grid-template-columns:1fr 1fr}.venue-photo-small img{height:135px}.venue-photo-small figcaption{padding:13px}}
.photo-open{aspect-ratio:16/10}
.photo-open img,.photo-card:first-child .photo-open img{position:absolute;inset:0;height:100%;max-height:none}
@media(prefers-reduced-motion:reduce){.photo-open img,.photo-open:after{transition:none}}
