/* Project gallery lightbox. Separate from main.css so a CSS rebuild cannot clobber it. */
.bray-lb{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;
  background:rgba(16,20,30,.94);opacity:0;transition:opacity .25s ease}
.bray-lb.is-open{display:flex}
.bray-lb.is-visible{opacity:1}
.bray-lb__figure{position:relative;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.bray-lb__img{max-width:92vw;max-height:86vh;width:auto;height:auto;object-fit:contain;
  box-shadow:0 24px 60px rgba(0,0,0,.45);opacity:0;transition:opacity .2s ease}
.bray-lb__img.is-loaded{opacity:1}
.bray-lb__btn{position:absolute;top:50%;transform:translateY(-50%);width:3.25rem;height:3.25rem;border-radius:50%;
  border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease;z-index:2}
.bray-lb__btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.7)}
.bray-lb__btn:focus-visible{outline:2px solid #60b8d6;outline-offset:3px}
.bray-lb__btn svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:2}
.bray-lb__prev{left:2rem}
.bray-lb__next{right:2rem}
.bray-lb__close{position:absolute;top:1.75rem;right:2rem;transform:none}
.bray-lb__count{position:absolute;bottom:1.75rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.85);
  font-size:.875rem;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.bray-lb__btn[hidden]{display:none}
.project-single-gallery__img{cursor:zoom-in}
@media (max-width:767px){
  .bray-lb__btn{width:2.75rem;height:2.75rem}
  .bray-lb__prev{left:.5rem}
  .bray-lb__next{right:.5rem}
  .bray-lb__close{top:.75rem;right:.75rem}
  .bray-lb__img{max-width:96vw;max-height:78vh}
}
@media (prefers-reduced-motion:reduce){
  .bray-lb,.bray-lb__img{transition:none}
}
