/* ══════ GALLERY PAGE ══════ */
#gallery-hero {
  min-height: 38vh; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-end;
  padding: 140px 48px 56px; text-align: center;
}
#gallery-grid-section { padding: 0 48px 80px; }
.gallery-filter {
  display: flex; gap: 8px; justify-content: center; flex-wrap: wrap;
  margin-bottom: 48px;
}
.gallery-masonry {
  columns: 3; column-gap: 2px;
  max-width: 1200px; margin: 0 auto;
}
.gallery-item {
  break-inside: avoid; margin-bottom: 2px; position: relative; overflow: hidden;
}
.gallery-img {
  width: 100%; display: flex; align-items: flex-end;
  position: relative;
  overflow: hidden;
}
.gallery-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .45s var(--easing), filter .45s var(--easing);
  filter: saturate(.9) contrast(1.02);
}
.gallery-overlay {
  position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 62%);
  display: flex; align-items: flex-end; padding: 24px;
  transition: background .3s;
}
.gallery-item:hover .gallery-overlay { background: linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,.15) 70%); }
.gallery-item:hover .gallery-img img { transform: scale(1.06); filter: saturate(1.02) contrast(1.08); }
.gallery-overlay span {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
  color: rgba(255,255,255,.1); transition: color .3s;
}
.gallery-item:hover .gallery-overlay span { color: rgba(255,255,255,.9); }

#gallery-cta {
  padding: 80px 48px; text-align: center;
  border-top: 1px solid rgba(255,255,255,.05);
}
.gallery-cta-inner { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.gallery-cta-inner h2 {
  font-family: 'Bebas Neue', sans-serif; font-size: clamp(36px,6vw,72px); letter-spacing: 4px;
}
.gallery-cta-inner p { font-size: 13px; color: rgba(255,255,255,.4); }
.gallery-item.hidden { display: none; }

@media (max-width: 768px) {
  .gallery-masonry { columns: 2; }
  #gallery-grid-section, #gallery-cta { padding: 32px 24px; }
}
@media (max-width: 480px) { .gallery-masonry { columns: 1; } }
