
.gallery-page{
  background:#000;
  color:#f5f5f7;
}
.gallery-header{
  position:absolute;
}
.gallery-header .nav-links a.active{
  color:var(--pink);
}
.gallery-hero{
  position:relative;
  min-height:68vh;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.gallery-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.15) 50%,rgba(0,0,0,.45)),
    url("assets/hero-bg.jpg") center/cover no-repeat;
  filter:saturate(1.15);
}
.gallery-hero-content{
  position:relative;
  z-index:2;
  min-height:68vh;
  padding:145px 4.6vw 45px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.gallery-hero-content>p{
  margin:0;
  font-size:11px;
  letter-spacing:.08em;
}
.gallery-hero h1{
  margin:auto 0 30px;
  font-size:clamp(92px,16vw,250px);
  line-height:.78;
  letter-spacing:-.08em;
  font-weight:800;
}
.gallery-hero h1 span{
  color:var(--pink);
}
.gallery-intro{
  display:flex;
  justify-content:space-between;
  gap:30px;
  font-size:12px;
  letter-spacing:.04em;
}
.gallery-grid-section{
  padding:4.6vw;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.gallery-item{
  margin:0;
  grid-column:span 4;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#080808;
  border:1px solid var(--line);
}
.gallery-item:nth-child(4n+2){
  grid-column:span 5;
  aspect-ratio:5/4;
}
.gallery-item:nth-child(4n+3){
  grid-column:span 3;
  aspect-ratio:3/4;
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease, filter .35s ease;
}
.gallery-item:hover img{
  transform:scale(1.025);
  filter:saturate(1.15);
}
.gallery-empty{
  grid-column:1/-1;
  min-height:420px;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:36px;
  background:
    radial-gradient(circle at 75% 35%,rgba(255,59,173,.16),transparent 28%),
    radial-gradient(circle at 55% 55%,rgba(48,104,255,.16),transparent 30%),
    #050505;
}
.gallery-empty span{
  color:var(--pink);
  font-size:11px;
}
.gallery-empty h2{
  margin:18px 0;
  font-size:clamp(48px,8vw,120px);
  line-height:.8;
  letter-spacing:-.065em;
}
.gallery-empty p{
  margin:0;
  opacity:.72;
  font-size:12px;
}
.gallery-empty code{
  color:var(--pink);
}
@media(max-width:800px){
  .gallery-hero{
    min-height:58vh;
  }
  .gallery-hero-content{
    min-height:58vh;
    padding:110px 5vw 35px;
  }
  .gallery-hero h1{
    font-size:25vw;
  }
  .gallery-intro{
    flex-direction:column;
    gap:8px;
  }
  .gallery-grid-section{
    padding:5vw;
  }
  .gallery-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .gallery-item,
  .gallery-item:nth-child(4n+2),
  .gallery-item:nth-child(4n+3){
    grid-column:1;
    aspect-ratio:4/5;
  }
  .gallery-empty{
    grid-column:1;
    min-height:340px;
    padding:24px;
  }
}

.gallery-item{position:relative}
.gallery-item figcaption{
  position:absolute;
  left:12px;
  bottom:10px;
  margin:0;
  padding:6px 8px;
  background:rgba(0,0,0,.65);
  color:#fff;
  font-size:10px;
  letter-spacing:.05em;
  border:1px solid rgba(255,255,255,.16);
}

.gallery-item figcaption{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.gallery-item figcaption span{
  font-size:10px;
  letter-spacing:.05em;
}
.gallery-item figcaption small{
  font-size:8px;
  letter-spacing:.08em;
  color:#ff4db8;
}


/* MATCHED PAGE HEADER — same crop/height as Past Events */
.gallery-hero{
  min-height:55vh!important;
}
.gallery-hero-content{
  min-height:55vh!important;
  padding:145px 4.6vw 45px!important;
  justify-content:flex-end!important;
}
.gallery-hero-content>p{
  position:absolute!important;
  top:145px!important;
  left:4.6vw!important;
}
.gallery-hero h1{
  width:100%!important;
  max-width:100%!important;
  margin:70px 0 0!important;
  font-size:clamp(72px,14vw,210px)!important;
  line-height:.78!important;
  letter-spacing:-.075em!important;
  white-space:nowrap!important;
}
.gallery-intro{
  display:none!important;
}
.gallery-archive-bar{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:15px 4.6vw 22px;
  background:#000;
  border-bottom:1px solid var(--line);
  color:#fff;
  font-size:11px;
  letter-spacing:.08em;
}

@media(max-width:800px){
  .gallery-hero{
    min-height:45vh!important;
  }
  .gallery-hero-content{
    min-height:45vh!important;
    padding:110px 5vw 30px!important;
  }
  .gallery-hero-content>p{
    top:110px!important;
    left:5vw!important;
  }
  .gallery-hero h1{
    font-size:19vw!important;
    margin-top:80px!important;
    letter-spacing:-.07em!important;
  }
  .gallery-archive-bar{
    padding:14px 5vw 18px;
    font-size:10px;
  }
}


/* FINAL CROPPED GALLERY HERO */
.gallery-hero{
  position:relative!important;
  height:460px!important;
  min-height:0!important;
  overflow:hidden!important;
  border-bottom:1px solid var(--line)!important;
  background:#000!important;
}

.gallery-hero-bg{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.14) 52%,rgba(0,0,0,.42)),
    url("assets/hero-bg.jpg") center center/cover no-repeat!important;
  filter:saturate(1.12)!important;
}

.gallery-hero-content{
  position:relative!important;
  z-index:2!important;
  height:100%!important;
  min-height:0!important;
  padding:58px 4.6vw 34px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}

.gallery-hero-content>p{
  position:static!important;
  margin:0!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}

.gallery-hero h1{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  font-size:clamp(66px,12.5vw,180px)!important;
  line-height:.78!important;
  letter-spacing:-.075em!important;
  white-space:nowrap!important;
}

.gallery-archive-bar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:20px!important;
  padding:16px 4.6vw 20px!important;
  background:#000!important;
  border-bottom:1px solid var(--line)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}

@media(max-width:800px){
  .gallery-hero{
    height:330px!important;
  }

  .gallery-hero-content{
    padding:54px 5vw 24px!important;
  }

  .gallery-hero-content>p{
    font-size:10px!important;
  }

  .gallery-hero h1{
    font-size:15.8vw!important;
    letter-spacing:-.07em!important;
  }

  .gallery-archive-bar{
    padding:14px 5vw 17px!important;
    font-size:9px!important;
    gap:12px!important;
  }
}


/* SHORTER HERO — requested crop */
.gallery-hero{
  height:230px!important;
  min-height:0!important;
}
.gallery-hero-bg{
  background:
    linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.14) 52%,rgba(0,0,0,.42)),
    url("assets/hero-bg.jpg") center center/cover no-repeat!important;
}
.gallery-hero-content{
  height:100%!important;
  min-height:0!important;
  padding:28px 5vw 18px!important;
}
.gallery-hero-content>p{
  font-size:9px!important;
}
.gallery-hero h1{
  font-size:12.8vw!important;
  line-height:.82!important;
  margin:0!important;
}

@media(max-width:800px){
  .gallery-hero{
    height:230px!important;
  }
  .gallery-hero-content{
    padding:28px 5vw 18px!important;
  }
  .gallery-hero h1{
    font-size:12.8vw!important;
  }
}
