body.photography-project-page {
  max-width: 72em;
}

.photography-projects {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
  gap: 1.5em;
}

.photography-project {
  width: 100%;
  max-width: 18rem;
  justify-self: center;
}

.photography-project-thumbnail {
  display: block;
  margin-bottom: 0.75em;
}

.photography-project-thumbnail img,
.photography-gallery img {
  display: block;
  width: 100%;
  height: auto;
}

.photography-project-thumbnail img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.photography-description {
  margin-bottom: 2em;
}

.photography-gallery {
  columns: 3 18rem;
  column-gap: 0.75em;
}

.photography-gallery a {
  display: block;
  break-inside: avoid;
  margin-bottom: 0.75em;
}

.photography-gallery a:focus-visible,
.photography-project-thumbnail:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
