.image-viewer--project {
  padding: clamp(18px, 3.5vw, 56px);
}

.image-viewer--project .image-viewer-dialog {
  width: min(96vw, 1480px);
  height: min(92vh, 1180px);
  max-height: 92vh;
  grid-template-columns: 54px minmax(0, 1fr) 54px;
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
}

.project-viewer {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  max-height: 86vh;
  padding: 10px 10px 60px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.45) transparent;
}

.project-viewer::-webkit-scrollbar {
  width: 6px;
}

.project-viewer::-webkit-scrollbar-track {
  background: transparent;
}

.project-viewer::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255,255,255,.4);
}

.project-viewer-header {
  width: min(100%, 1320px);
  margin: 0 auto clamp(34px, 5vw, 72px);
  padding: 6px 0 26px;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.35);
  font-family: var(--font-copy);
  letter-spacing: var(--copy-letter-spacing);
}

.project-viewer-year {
  margin: 0 0 12px;
  color: rgba(255,255,255,.68);
  font-family: var(--font-navigation);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .18em;
}

.project-viewer-header h2 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(30px, 4vw, 62px);
  font-weight: 400;
  line-height: 1.08;
}

.project-viewer-info {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px 28px;
  color: rgba(255,255,255,.82);
  font-size: clamp(13px, 1.2vw, 17px);
  line-height: 1.55;
}

.project-viewer-info p {
  margin: 0;
}

.project-viewer-images {
  width: min(100%, 1320px);
  margin: 0 auto;
  display: grid;
  gap: clamp(12px, 1.5vw, 22px);
}

.project-viewer-images figure {
  margin: 0;
  background: rgba(255,255,255,.04);
}

.project-viewer-images img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.image-viewer--project .image-viewer-arrow {
  align-self: center;
}

.image-viewer--project .image-viewer-caption {
  display: none;
}

@media (max-width: 820px) {
  .image-viewer--project {
    padding: 16px 4px;
  }

  .image-viewer--project .image-viewer-dialog {
    width: 100vw;
    height: 94vh;
    max-height: 94vh;
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 2px;
  }

  .image-viewer--project .image-viewer-close {
    top: 4px;
    right: 34px;
    position: fixed;
  }

  .project-viewer {
    max-height: 92vh;
    padding: 48px 5px 44px;
  }

  .project-viewer-header {
    margin-bottom: 28px;
    padding-bottom: 18px;
  }

  .project-viewer-year {
    margin-bottom: 9px;
    font-size: 10px;
  }

  .project-viewer-header h2 {
    font-size: clamp(25px, 8vw, 42px);
  }

  .project-viewer-info {
    margin-top: 16px;
    gap: 6px 18px;
    font-size: 12px;
  }

  .project-viewer-images {
    gap: 9px;
  }
}
