.photo-book-hero {
  grid-template-columns: 1fr;
  padding-top: 86px;
  padding-bottom: 76px;
  min-height: 430px;
  align-items: center;
}

.photo-book-hero h1 {
  max-width: 980px;
  font-size: clamp(42px, 8.5vw, 116px);
  line-height: .9;
  letter-spacing: .075em;
}

.photo-book-section {
  padding-top: 24px;
}

.photo-book {
  display: grid;
  gap: 16px;
}

.photo-spread {
  margin: 0;
  min-height: 430px;
  border: 1px solid #242424;
  background: #080808;
  overflow: hidden;
}

.photo-spread.full {
  min-height: 640px;
}

.photo-spread img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.04) saturate(.86) brightness(.9);
  transition: filter .35s ease, transform .55s ease;
}

.photo-spread:hover img {
  filter: contrast(1.08) saturate(.92) brightness(.82);
  transform: scale(1.012);
}

.photo-row {
  display: grid;
  gap: 16px;
  align-items: stretch;
}

.photo-row.even {
  grid-template-columns: 1fr 1fr;
}

.photo-row.two-one {
  grid-template-columns: 1.25fr .75fr;
}

.photo-row.one-two {
  grid-template-columns: .8fr 1.2fr;
}

.photo-row .photo-spread {
  min-height: 470px;
}

@media (max-width: 980px) {
  .photo-book-hero {
    min-height: 310px;
    padding-top: 54px;
    padding-bottom: 52px;
  }

  .photo-book-hero h1 {
    font-size: clamp(40px, 13vw, 72px);
    line-height: .98;
  }

  .photo-book {
    gap: 10px;
  }

  .photo-row,
  .photo-row.even,
  .photo-row.two-one,
  .photo-row.one-two {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .photo-spread,
  .photo-spread.full,
  .photo-row .photo-spread {
    min-height: 330px;
  }
}
