/* Galería — página /galeria */
.gal-hero{
  padding:140px 0 56px;
  background:var(--gray-50);
}
.gal-hero__inner{max-width:720px;}
.gal-hero h1{
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  font-size:clamp(2rem, 4.5vw, 3.1rem);
  color:var(--blue-900);
  margin:8px 0 14px;
  text-wrap:balance;
}
.gal-hero__lead{
  max-width:560px;
  color:var(--ink-soft);
  font-size:1.05rem;
  line-height:1.7;
}

.gal-project{
  padding:28px 0 72px;
  background:var(--gray-50);
}
.gal-project + .gal-project{
  border-top:1px solid var(--gray-200);
  padding-top:64px;
}
.gal-project__head{
  max-width:640px;
  margin-bottom:28px;
}
.gal-project__head h2{
  font-size:clamp(1.35rem, 2.4vw, 1.75rem);
  color:var(--blue-900);
  margin:0 0 10px;
}
.gal-project__head p{
  color:var(--ink-soft);
  line-height:1.65;
  margin:0;
}
.gal-project__grid{
  margin-top:0;
  grid-template-columns:repeat(3, 1fr);
}
.gal-project--pending{
  background:#fff;
  padding-bottom:100px;
}
.gal-project--pending .gal-project__head h2{color:var(--ink);}

/* On light backgrounds, gallery items need dark-friendly shadows */
.gal-project .gallery__item{
  background:var(--gray-100);
  box-shadow:var(--shadow-soft);
}
.gal-project .gallery__item:hover{
  box-shadow:0 18px 36px -18px rgba(11,58,130,.35);
}

@media (max-width:900px){
  .gal-project__grid{grid-template-columns:repeat(2,1fr);gap:14px;}
}
@media (max-width:560px){
  .gal-hero{padding:120px 0 40px;}
  .gal-project__grid{grid-template-columns:1fr;gap:12px;}
  .lightbox{padding:72px 12px 72px;}
  .lightbox__nav{width:44px;height:44px;font-size:1.4rem;}
  .lightbox__nav--prev{left:8px;}
  .lightbox__nav--next{right:8px;}
  .lightbox__close{top:12px;right:12px;}
}

.gal-project--empty{padding:40px 0 120px;background:#fff;}
.gal-project--empty .gal-project__head{max-width:560px;}

/* Video dentro de un bloque de proyecto */
.gal-project__video{border-radius:var(--radius-md);overflow:hidden;background:#000;aspect-ratio:4/3;box-shadow:var(--shadow-soft);}
.gal-project__video video{display:block;width:100%;height:100%;object-fit:contain;background:#000;}
