/* VANTA K9 / GALLERY */
.gallery-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery-preview__grid{display:grid;grid-template-columns:1.45fr .8fr .8fr;grid-template-rows:minmax(140px,300px) minmax(100px,180px);gap:1rem}
.gallery-preview__item{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);display:block}
.gallery-preview__item--large{grid-row:1/span 2}.gallery-preview__item--wide{grid-column:2/-1}
.gallery-preview__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.18) saturate(.78);transition:filter .7s var(--ease)}
.gallery-preview__item:hover img,.gallery-preview__item:focus-visible img{filter:grayscale(0) saturate(.92)}
.gallery-preview__item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.72));pointer-events:none}
.gallery-preview__meta{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.gallery-preview__meta small{color:rgba(255,255,255,.62);font-size:.55rem;letter-spacing:.14em}
.gallery-preview__meta b{color:#fff;font-size:.62rem;font-weight:500;letter-spacing:.1em}
.gallery-preview__cta{display:flex;justify-content:flex-end;padding-top:1.25rem}.gallery-preview__cta .text-link{display:inline-flex;gap:.6rem;align-items:center;color:var(--text);font-size:1.65rem;letter-spacing:.13em}.gallery-preview__cta .text-link span{color:var(--accent);transition:transform .3s var(--ease)}.gallery-preview__cta .text-link:hover span{transform:translate(4px,-4px)}

.gallery-page{padding-top:3rem}.gallery-page__hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:clamp(2rem,7vw,8rem);align-items:end;padding-bottom:clamp(3rem,7vw,7rem)}
.gallery-page__hero h1{font:700 clamp(3.5rem,11vw,5rem)/.82 var(--display); line-height:1.05;letter-spacing:-.025em;text-transform:uppercase}.gallery-page__hero h1 i{color:var(--accent);font-style:normal}
.gallery-page__hero-copy{max-width:360px;color:var(--muted);font-size:clamp(0.50rem,4vw,1.10rem)}.gallery-page__hero-copy strong{display:block;margin-bottom:1rem;color:var(--text);font-size:clamp(0.62rem,4vw,0.7em);letter-spacing:.16em;font-weight:500}

/* Equal gallery cells: DOM order is the visual order. No masonry/span rules. */
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.gallery-item{position:relative;overflow:hidden;min-width:0;aspect-ratio:4/3;background:var(--surface);border:1px solid var(--line);cursor:pointer;isolation:isolate;outline:none}
.gallery-item img{display:block;width:100%;height:100%; object-fit:contain;filter:grayscale(.2) saturate(.78);transition:filter .45s var(--ease),transform .45s var(--ease)}
/* Hover never opens or enlarges the image. The actual enlargement happens only in the lightbox after a click. */
.gallery-item:hover img,.gallery-item:focus-visible img{filter:grayscale(0) saturate(.92)}
.gallery-item:focus-visible{border-color:var(--line-strong);box-shadow:0 0 0 1px var(--accent)}
.gallery-item__meta{position:absolute;z-index:2;inset:auto .9rem .85rem;display:flex;justify-content:space-between;align-items:end;gap:1rem;pointer-events:none}
.gallery-item__meta small{color:rgba(255,255,255,.7);font-size:.5rem;letter-spacing:.14em}.gallery-item__meta strong{color:#fff;font-size:.57rem;font-weight:500;letter-spacing:.1em}
.gallery-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.68));opacity:1;pointer-events:none}
.gallery-empty{padding:4rem 0;color:var(--muted);border-bottom:1px solid var(--line)}.gallery-empty[hidden]{display:none}

.gallery-lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:rgba(4,5,5,.97);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease),visibility .3s}.gallery-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.gallery-lightbox__backdrop{position:absolute;inset:0}
.gallery-lightbox__figure{  position: relative;
  z-index: 1;
  width: 90vw;
  height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  overflow: hidden;}.gallery-lightbox__figure img{    display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  margin: auto;
}
.gallery-lightbox__caption{position:absolute;left:0;bottom:-1.8rem;color:var(--muted);font-size:.58rem;letter-spacing:.12em}
.gallery-lightbox__close,.gallery-lightbox__nav{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid var(--line-strong);background:rgba(8,9,9,.8);color:var(--text);cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.gallery-lightbox__close{top:1.25rem;right:1.25rem;width:48px;height:48px;border-radius:50%;font-size:1.4rem}.gallery-lightbox__nav{top:50%;width:52px;height:52px;border-radius:50%;transform:translateY(-50%);font-size:1.2rem}.gallery-lightbox__nav--prev{left:1.25rem}.gallery-lightbox__nav--next{right:1.25rem}
.gallery-lightbox__close:hover,.gallery-lightbox__nav:hover,.gallery-lightbox__close:focus-visible,.gallery-lightbox__nav:focus-visible{background:var(--warm-2);border-color:var(--accent);color:var(--accent-soft);outline:none}.gallery-lightbox__counter{position:absolute;z-index:2;top:1.7rem;left:50%;transform:translateX(-50%);color:var(--muted);font-size:.57rem;letter-spacing:.15em}
.section-note{font-size:clamp(0.5rem, 2.5vw, 1rem); color: var(--text); }
.section-title2{font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: -.035em; font-size: clamp(1.4rem, 1vw, 1rem); line-height: 1;}
@media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){
  .gallery-preview__grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.gallery-preview__item--large{grid-column:1/-1;grid-row:auto}.gallery-preview__item--wide{grid-column:1/-1}
  .gallery-page{padding-top:6.5rem}.gallery-page__hero{grid-template-columns:1fr;gap:2rem}.gallery-page__hero h1{font-size:clamp(2.2rem,1vw,1rem); line-height:.82}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.gallery-item{aspect-ratio:1/1}
  .gallery-lightbox__figure{ 
    
    position:relative;
  z-index:1;
  width:min(80vw,1200px);
  height:min(72vh,720px);
  display:grid;
  place-items:center;
  margin:0;}.gallery-lightbox__nav{width:44px;height:44px}.gallery-lightbox__nav--prev{left:.65rem}.gallery-lightbox__nav--next{right:.65rem}
}
@media(max-width:560px){
  .gallery-preview__grid{grid-template-columns:1fr;grid-template-rows:repeat(4,280px)}.gallery-preview__item,.gallery-preview__item--large,.gallery-preview__item--wide{grid-column:1;grid-row:auto}
  .gallery-page__hero{padding-bottom:3rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.gallery-item{aspect-ratio:1/1}.gallery-item__meta{inset:auto .65rem .6rem;display:block}.gallery-item__meta strong{display:block;margin-top:.25rem}
  .gallery-lightbox{padding:.75rem}.gallery-lightbox__figure{height:72vh}.gallery-lightbox__caption{bottom:-1.3rem;font-size:.5rem}.gallery-lightbox__counter{top:1rem}.gallery-lightbox__close{top:.75rem;right:.75rem;width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.gallery-preview__item img,.gallery-item img,.gallery-lightbox{transition:none}}

.footer-gallery{color:var(--muted);font-size:.6rem;letter-spacing:.13em;display:flex;gap:.65rem;align-items:center;justify-content:center;transition:color .3s var(--ease)}.footer-gallery span{color:var(--accent);font-size:1rem}.footer-gallery:hover{color:var(--text)}
@media(max-width:820px){.footer-top{grid-template-columns:1fr auto auto}.footer-top>p{display:none}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr auto}.footer-gallery{justify-content:flex-end}}
