/* ═══════════════════════════════════════
   GALERIE — Grille uniforme premium
   Toutes les photos = 800x800 = carré
═══════════════════════════════════════ */

.gallery-hero{
  background:var(--c-deep);
  padding:12rem 5vw 5rem;
  position:relative;overflow:hidden;
}
.gallery-hero::after{
  content:"갤러리";
  position:absolute;right:-1rem;top:50%;transform:translateY(-50%);
  font-family:'Noto Serif KR',serif;font-size:18rem;
  color:rgba(196,149,106,.03);line-height:1;pointer-events:none;
}

/* ── Grille uniforme 4 colonnes ── */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  padding:4px 0 8rem;
  background:var(--c-black);
}

/* ── Chaque item = carré parfait ── */
.gi{
  aspect-ratio:1/1;
  overflow:hidden;
  position:relative;
  cursor:none;
  background:var(--c-black);
}

.gi img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .9s cubic-bezier(0.4,0,0.2,1),
             filter .6s ease;
  filter:brightness(.8) saturate(.9);
}

.gi:hover img{
  transform:scale(1.08);
  filter:brightness(1) saturate(1.1);
}

/* Fin overlay doré */
.gi::after{
  content:'';
  position:absolute;inset:0;
  background:rgba(196,149,106,0);
  transition:background .4s;
  pointer-events:none;
}
.gi:hover::after{
  background:rgba(196,149,106,.08);
}

/* ── Responsive ── */
@media(max-width:1200px){
  .gallery-grid{ grid-template-columns:repeat(4,1fr) }
}
@media(max-width:1200px){
  .gallery-hero{ padding:10rem 1.5rem 4rem }
  .gallery-grid{
    grid-template-columns:repeat(3,1fr);
    gap:3px;
    padding:3px 0 6rem;
  }
}
@media(max-width:600px){
  .gallery-grid{
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    padding:2px 0 5rem;
  }
  .gallery-hero .h1{ font-size:clamp(3rem,12vw,5rem) }
}
