body.page--gallery-open { overflow: hidden; }
.works-lightbox { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1400; display: grid; place-items: center; box-sizing: border-box; padding: 22px; background: rgba(15,16,32,.82); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .22s ease, visibility .22s ease; }
.works-lightbox[hidden], .works-lightbox__nav[hidden] { display: none; }
.works-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.works-lightbox__backdrop { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: default; }
.works-lightbox__dialog { position: relative; z-index: 1; width: 100%; max-width: 1080px; transform: translateY(10px) scale(.985); transition: transform .22s ease; }
.works-lightbox.is-open .works-lightbox__dialog { transform: translateY(0) scale(1); }
.works-lightbox__stage { padding: 24px 18px 16px; }
.works-lightbox__media { position: relative; width: 100%; height: 78vh; max-height: 760px; border-radius: 20px; overflow: hidden; background: transparent; }
.works-lightbox__media::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: rgba(7,11,27,.08); pointer-events: none; }
.works-lightbox__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.works-lightbox__close { position: absolute; top: 14px; right: 14px; z-index: 4; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; }
.works-lightbox__close svg { display: block; stroke: currentColor; stroke-width: 3.2; stroke-linecap: square; }
.works-lightbox__nav { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 56px; height: 56px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; line-height: 1; cursor: pointer; transform: translateY(-50%); transition: background .22s ease, transform .22s ease; }
.works-lightbox__nav:hover { background: rgba(255,255,255,.18); transform: translateY(calc(-50% - 1px)); }
.works-lightbox__nav svg { display: block; width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.works-lightbox__nav--prev { left: 30px; }
.works-lightbox__nav--next { right: 30px; }
.works-lightbox button:focus { outline: 2px solid #b7a3f0; outline-offset: 3px; }
@media (max-width: 770px) {
  .works-lightbox { padding: 10px; }
  .works-lightbox__stage { padding: 14px 0 10px; }
  .works-lightbox__media { height: 62vh; max-height: 420px; border-radius: 16px; }
  .works-lightbox__nav { width: 40px; height: 40px; }
  .works-lightbox__nav--prev { left: 6px; }
  .works-lightbox__nav--next { right: 6px; }
  .works-lightbox__close { top: 10px; right: 10px; width: 38px; height: 38px; }
}
@media (prefers-reduced-motion: reduce) { .works-lightbox, .works-lightbox__dialog, .works-lightbox__nav { transition: none; } }
