/* ═══ GIFTS · SECTION 5 — SELECTED PIECES (gallery) ═══ */
.gal{position:relative;padding:clamp(74px,12vh,150px) var(--gut);border-top:1px solid var(--border)}
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  padding-bottom:clamp(30px,5vh,54px)}
.gal-head h2{margin-top:20px;font-size:clamp(1.6rem,4.2vw,3.3rem);line-height:1;max-width:15ch}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px)}
@media(max-width:900px){.gal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.gal-grid{grid-template-columns:1fr}}
.gi{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--surface-alt);
  opacity:0;transform:translateY(22px);
  transition:opacity .7s ease,transform .75s cubic-bezier(.16,1,.3,1)}
.gi.is-in{opacity:1;transform:none}
.gi.wide{aspect-ratio:16/10}
@media(min-width:901px){.gi.wide{grid-column:span 2}}
.gi .inner{position:absolute;inset:-7% 0;will-change:transform}
.gi img{width:100%;height:100%;object-fit:cover;filter:grayscale(.22) brightness(.88);
  transition:filter .5s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.gi:hover img{filter:grayscale(0) brightness(1);transform:scale(1.04)}
.gi .ph{position:absolute;inset:0;display:grid;place-items:center;
  background:repeating-linear-gradient(36.5deg,#161616 0 14px,#111 14px 28px)}
.gi .ph i{font-style:normal;font-size:10.5px;letter-spacing:.16em;font-weight:600;color:var(--dim)}
.gi .lbl{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:40px 16px 14px;
  background:linear-gradient(to top,rgba(8,8,8,.9),transparent);
  font-size:10.5px;letter-spacing:.14em;font-weight:600;color:var(--text);
  opacity:0;transform:translateY(8px);
  transition:opacity .4s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.gi:hover .lbl{opacity:1;transform:none}
.gi .flag{position:absolute;right:11px;top:11px;z-index:4;font-size:9.5px;letter-spacing:.14em;
  font-weight:700;color:#0A0A0A;background:var(--cut);padding:5px 8px}

@media(prefers-reduced-motion:reduce){
  .gi{opacity:1;transform:none}
  .gi .inner{transform:none!important;inset:0}
  .gi .lbl{opacity:1;transform:none}
}
