/* ---------- lightbox (shared: used by sector project-photo strips) ---------- */
.lightbox{
  position:fixed; inset:0; z-index:200;
  background:rgba(18,24,31,.96);
  display:none; align-items:center; justify-content:center;
  padding:64px 90px;
}
.lightbox.open{display:flex;}
.lightbox-img{
  max-width:100%; max-height:100%;
  object-fit:contain;
  border:1px solid rgba(247,248,246,.15);
}
.lightbox-close{
  position:absolute; top:24px; right:28px;
  width:40px; height:40px;
  background:none; border:1px solid rgba(247,248,246,.3);
  color:#fff; font-size:16px;
  cursor:pointer;
  transition:border-color .2s, color .2s;
}
.lightbox-close:hover{border-color:#fff; color:var(--accent);}
.lightbox-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px;
  background:var(--accent); color:#fff; border:0;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background .2s;
}
.lightbox-arrow:hover{background:#fff; color:var(--ink);}
.lightbox-arrow svg{width:20px; height:20px;}
.lightbox-arrow.prev{left:20px;}
.lightbox-arrow.next{right:20px;}
.lightbox-counter{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  font-size:12px; letter-spacing:.08em; color:rgba(247,248,246,.6);
}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .lightbox{padding:56px 24px;}
  .lightbox-arrow{width:40px; height:40px;}
  .lightbox-arrow.prev{left:6px;}
  .lightbox-arrow.next{right:6px;}
}
@media (max-width:560px){
  .lightbox{padding:80px 16px 48px;}
}
