.photo-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:0}
.gallery-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border:0;padding:0;background:#cdb7a1;color:#fff;cursor:zoom-in}
.gallery-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:filter .4s ease}
.gallery-photo:nth-child(1) img{object-position:center top}
.gallery-photo:nth-child(2) img{object-position:center 42%}
.gallery-photo:nth-child(4) img{object-position:center 35%}
.gallery-photo:nth-child(6) img,.gallery-photo:nth-child(10) img{object-position:center 36%;transform:scale(1.055)}
.gallery-photo:nth-child(7) img{object-position:center 32%;transform:scale(1.045)}
.gallery-photo:nth-child(8) img{object-position:center 38%}
.gallery-photo:after{content:'';position:absolute;inset:58% 0 0;background:linear-gradient(transparent,#30241966);pointer-events:none;z-index:1}
.gallery-photo span{position:absolute;left:15px;bottom:12px;z-index:2;font-size:10px;letter-spacing:2px}
.gallery-photo:hover img{filter:contrast(1.025) brightness(1.015)}
.gallery-photo:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.photo-lightbox{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:#241b16ed;color:#f5e9d9;overflow:hidden}
.photo-lightbox::backdrop{background:#241b16ed;backdrop-filter:blur(9px)}
.photo-lightbox[open]{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center}
.photo-lightbox figure{margin:0;min-width:0;height:calc(100svh - 48px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.photo-lightbox figure img{display:block;max-width:100%;max-height:calc(100svh - 95px);object-fit:contain;box-shadow:0 18px 55px #0007}
.photo-lightbox figcaption{font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.72}
.lightbox-close,.lightbox-nav{border:0;background:transparent;color:#f5e9d9}
.lightbox-close{position:absolute;right:22px;top:14px;z-index:2;width:44px;height:44px;font-size:32px;font-weight:300}
.lightbox-nav{width:56px;height:70px;font-size:44px;font-weight:300;opacity:.75}
.lightbox-nav:hover,.lightbox-close:hover{opacity:1}
body.lightbox-open{overflow:hidden}
.media-socials{display:flex;align-items:center;justify-content:center;gap:22px;padding:20px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.media-socials p{margin:0;font-size:9px;letter-spacing:1.7px;text-transform:uppercase;opacity:.72}
.media-socials>div{display:flex;align-items:center;gap:13px}
.media-socials a{display:grid;place-items:center;width:28px;height:28px;color:var(--ink);opacity:.72;transition:opacity .2s,transform .2s}
.media-socials a:hover{opacity:1;transform:translateY(-1px)}
.media-socials .social-icon{width:20px;height:20px}
.media-socials .social-icon svg{fill:var(--ink)}
.media-socials .social-icon.instagram svg{fill:none;stroke:var(--ink)}
.media-socials .social-icon.instagram circle:not(.line){fill:var(--ink);stroke:none}
.media-socials .youtube .cut{fill:var(--cream)}
@media(max-width:1000px){.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-lightbox{padding:12px}.photo-lightbox[open]{grid-template-columns:42px minmax(0,1fr) 42px}.photo-lightbox figure{height:calc(100svh - 24px)}.photo-lightbox figure img{max-height:calc(100svh - 72px)}.lightbox-nav{width:40px;font-size:36px}}
@media(max-width:560px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.gallery-photo span{left:10px;bottom:8px}.photo-lightbox[open]{grid-template-columns:34px minmax(0,1fr) 34px}.lightbox-nav{width:32px;font-size:32px}.lightbox-close{right:8px;top:4px}}
@media(max-width:560px){.media-socials{flex-direction:column;gap:8px;padding:17px 5%}.media-socials p{text-align:center;font-size:8px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}

.concert-gallery-title{font-size:22px;font-weight:500;letter-spacing:-.03em;margin:36px 0 18px}.concert-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.concert-gallery .gallery-photo{aspect-ratio:4/3}.concert-gallery .gallery-photo img{object-position:center 75%;transform:none}@media(max-width:650px){.concert-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
