/* Four large photos and four medium singles have independent heights;
   paired columns retain the full gallery height and the original total width. */
#events .gal>.gi,#events .gal>.gi.w{height:var(--card-height,100%);align-self:flex-end;cursor:zoom-in}
#events .gal-pair .gi{cursor:zoom-in}
#events .gi:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px}
#events .gal-pair .meta{padding:12px 18px;background:linear-gradient(transparent,rgba(5,6,13,.92) 65%)}
#events .gal-pair .meta h4{font-size:17px;line-height:1.35}
#events .gal-pair .meta .d{font-size:11px;margin-bottom:4px}
#events .gal-pair .gi img{object-position:center 40%}
#events .gal>.fenxiang{height:auto;background:#0d1030}
#events .gal>.fenxiang img{width:100%;height:auto;aspect-ratio:980/450;object-fit:cover;transform:none}
#events .gal>.fenxiang .meta{position:relative;padding:16px 20px 20px;background:#0d1030}
@media(max-width:759px){
 #events .gal{height:360px}
 #events .gal>.gi,#events .gal>.gi.w{height:auto;background:#0d1020;display:flex;flex-direction:column}
 #events .gal>.gi img{width:100%;height:auto;max-height:260px;object-fit:cover;object-position:center!important;transform:none}
 #events .gal>.gi .meta{position:relative;padding:14px 16px 18px;background:#0d1020}
 #events .gal>.gi .meta h4{font-size:17px;line-height:1.4}
 #events .gal-pair{gap:12px}
 #events .gal-pair .meta h4{font-size:14px}
 #events .gal-pair .meta{padding:9px 12px}
}
.photo-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:40px 24px;border:0;background:rgba(3,5,12,.94);color:#fff;overscroll-behavior:contain;overflow:hidden;z-index:2147483647}
.photo-dialog::backdrop{background:rgba(3,5,12,.8);backdrop-filter:blur(8px)}
.photo-dialog[open]{display:flex;align-items:center;justify-content:center}
.photo-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;height:100%;cursor:zoom-out}
.photo-full{display:block;width:auto;height:auto;max-width:min(92vw,1800px);max-height:calc(100dvh - 130px);object-fit:contain;border-radius:6px;cursor:default}
.photo-caption{max-width:900px;text-align:center;color:#dce1f6;font-size:15px;line-height:1.6;cursor:default}
.photo-close{position:absolute;right:20px;top:16px;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(8,12,24,.75);color:#fff;font:32px/1 system-ui;cursor:pointer;z-index:2}
.photo-close:hover,.photo-close:focus-visible{background:#3b6bff;outline:2px solid white}
@media(max-width:600px){.photo-dialog{padding:64px 12px 24px}.photo-full{max-width:94vw;max-height:calc(100dvh - 150px)}.photo-caption{font-size:13px}.photo-close{right:12px;top:12px}}
