.arc-gallery { padding: var(--arc-section) 0 clamp(96px, 8.3vw, 160px); }
.arc-gallery__head { display: flex; flex-direction: column; gap: 13px; margin-bottom: clamp(56px, 5.6vw, 108px); }
.arc-gallery__heading { margin: 0; font-family: var(--arc-font-serif); font-weight: 300; font-size: clamp(40px, 3.75vw, 72px); line-height: 1.02; letter-spacing: 0; color: #000; }
.arc-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 0 var(--arc-gutter); }
.arc-gallery__item { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: var(--arc-warm); aspect-ratio: 4 / 5; overflow: hidden; cursor: zoom-in; }
.arc-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05); }
.arc-gallery__item:hover img { filter: contrast(1.05) brightness(.94); }
.arc-gallery__item:focus-visible { outline: 2px solid #000; outline-offset: 2px; }

.arc-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 40px; background: #000; color: #fff; cursor: zoom-out; animation: adsFade .35s ease both; }
.arc-lightbox[hidden] { display: none; }
.arc-lightbox__figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 100%; max-height: 100%; }
.arc-lightbox__img { display: block; max-width: 100%; max-height: calc(100vh - 140px); max-height: calc(100svh - 140px); object-fit: contain; cursor: default; filter: contrast(1.05); }
.arc-lightbox__img.is-in { animation: arcMask .7s cubic-bezier(.65, 0, .35, 1) both; }
.arc-lightbox__count { font-family: var(--arc-font-sans); font-size: 11px; line-height: 1; letter-spacing: .18em; color: rgba(255, 255, 255, .5); }
.arc-lightbox__close { position: absolute; top: 28px; right: var(--arc-gutter); padding: 8px 0; border: 0; background: none; color: #fff; font-family: var(--arc-font-sans); font-size: 13px; line-height: 1; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.arc-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; padding: 0; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .08); color: #fff; font-size: 16px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .3s ease; }
.arc-lightbox__nav:hover { background: rgba(255, 255, 255, .2); }
.arc-lightbox__nav--prev { left: clamp(8px, 1.5vw, 28px); }
.arc-lightbox__nav--next { right: clamp(8px, 1.5vw, 28px); }
body.arc-lightbox-open { overflow: hidden; }
@keyframes adsFade { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 767.98px) {
  .arc-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arc-lightbox { padding: 72px 16px 56px; }
  .arc-lightbox__nav { width: 40px; height: 40px; top: auto; bottom: 12px; transform: none; }
}
.arc-lightbox__close:focus-visible, .arc-lightbox__nav:focus-visible { outline: 1px solid rgba(255, 255, 255, .6); outline-offset: 6px; }
