/* =====================================================================
   Holistix — Tilted parallax columns ("Inside Holistix" gallery)
   Ported from the mafaza "Selected Works" effect. Mafaza design tokens.
   ===================================================================== */
.tiltgal-sec{overflow:hidden}
.tiltgal{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;width:100%}
.tiltcol{display:flex;flex-direction:column;gap:10px;will-change:transform}
.tiltcard{position:relative;overflow:hidden;background:var(--bg-2);display:block;aspect-ratio:4/3;width:100%;padding:0;border:0;cursor:pointer}
.tiltcard img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(28%) brightness(.82);transition:transform 1s var(--ease),filter .6s}
.tiltcard:hover img{transform:scale(1.05);filter:grayscale(0) brightness(.98)}
.tiltcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 72%,rgba(17,17,17,.45));z-index:1;opacity:0;transition:opacity .5s}
.tiltcard:hover::after{opacity:1}
.tiltcard__b{position:absolute;left:0;bottom:0;z-index:2;padding:12px;width:100%}
.tiltcard__b .code{font-family:var(--display);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.tiltcard a{position:absolute;inset:0;z-index:3}
@media(max-width:1100px){.tiltgal{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.tiltgal{grid-template-columns:repeat(2,1fr);gap:8px}.tiltcol{transform:none!important}}
@media(prefers-reduced-motion:reduce){.tiltcol{transform:none!important}}

/* ---------- Lightbox (enlarge) ---------- */
.hx-lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(10,10,10,.94);opacity:0;transition:opacity .3s}
.hx-lb.is-open{display:flex;opacity:1}
.hx-lb__fig{margin:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:opacity .26s var(--ease),transform .26s var(--ease)}
.hx-lb__fig.is-leaving{opacity:0;transform:scale(.985)}
.hx-lb__fig img{max-width:92vw;max-height:84vh;width:auto;height:auto;object-fit:contain;
  box-shadow:0 30px 80px rgba(0,0,0,.6)}
.hx-lb.is-open .hx-lb__fig{animation:hx-lb-in .5s var(--ease)}
@keyframes hx-lb-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.hx-lb__cap{margin-top:18px;font-family:var(--display);font-size:12px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--accent);text-align:center}
.hx-lb__close{position:absolute;top:22px;right:26px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;opacity:.8;transition:opacity .3s}
.hx-lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:46px;line-height:1;cursor:pointer;padding:10px 18px;opacity:.7;transition:opacity .3s}
.hx-lb__prev{left:8px}.hx-lb__next{right:8px}
.hx-lb__close:hover,.hx-lb__nav:hover{opacity:1;color:var(--accent)}
@media(max-width:680px){.hx-lb__nav{font-size:34px;padding:8px 10px}.hx-lb__close{top:14px;right:16px}}
