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 {
  max-width: 18rem;
}

.photography-project a:link,
.photography-project a:visited {
  color: #666;
  text-decoration: none;
}

.photography-project a:hover {
  text-decoration: underline;
}

.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-project h2 {
  font-size: 1.1em;
  margin: 0 0 0.25em;
}

.photography-project p {
  margin: 0;
}

.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 a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
