/* ================================================
   HORIZONTAL GALLERY
================================================ */
#gallery {
  background:var(--ink3);
  padding:clamp(5rem, 10vw, 9rem) 0;
  overflow:hidden;
}
.gallery-head { padding:0 5%; margin-bottom:3.5rem; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:2rem; }
.hscroll-wrap {
  overflow:hidden; padding:1.5rem 0;
  cursor:grab; user-select:none;
}
.hscroll-wrap.dragging { cursor:grabbing; }
.hscroll-track {
  display:flex; gap:1.2rem;
  width:max-content; padding:0 5%;
  transition:transform .1s linear;
}
.gal-item {
  flex-shrink:0;
  position:relative; overflow:hidden; border-radius:4px;
  width:clamp(280px, 30vw, 420px);
  aspect-ratio:3/4;
  background:var(--ink4);
}
.gal-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s var(--ease), filter .5s;
  filter:brightness(.7) saturate(.8);
}
.gal-item:hover img { transform:scale(1.06); filter:brightness(.9) saturate(1); }
.gal-label {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(5,5,7,.9), transparent);
  padding:2rem 1.6rem .8rem;
  opacity:0; transition:opacity .4s;
}
.gal-item:hover .gal-label { opacity:1; }
.gal-label span { font-size:.78rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--white); }
/* Drag hint */
.drag-hint {
  display:flex; align-items:center; gap:.8rem;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--w40);
}
.drag-hint::before { content:''; display:block; width:24px; height:1px; background:var(--w40); }
