.drive-photo-journal {
  box-sizing: border-box;
  padding: clamp(64px, 7vw, 112px) max(24px, calc((100vw - 1280px) / 2));
  background: #121518;
  color: #f5f1eb;
}
.drive-photo-journal * { box-sizing: border-box; }
.drive-photo-journal__head { max-width: 720px; margin-bottom: 32px; }
.drive-photo-journal__head h2 {
  margin: 0;
  font: 700 clamp(32px, 4.4vw, 58px)/1.08 Manrope, sans-serif;
  letter-spacing: -.03em;
  color: inherit;
}
.drive-photo-journal__head p {
  margin: 18px 0 0;
  max-width: 62ch;
  font: 400 16px/1.6 Manrope, sans-serif;
  color: #d9d6d1;
}
.drive-photo-journal__rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.drive-photo-journal figure { min-width: 0; margin: 0; }
.drive-photo-journal figure a { display: block; border-radius: 12px; }
.drive-photo-journal figure a:focus-visible { outline: 3px solid #f2b8be; outline-offset: 4px; }
.drive-photo-journal img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  background: #25282b;
  border-radius: 12px;
}
.drive-photo-journal--impact figure:first-child { grid-column: span 2; }
.drive-photo-journal--impact figure:first-child img { aspect-ratio: 16 / 9; }
.drive-photo-journal figcaption {
  margin-top: 10px;
  font: 600 12px/1.45 Manrope, sans-serif;
  letter-spacing: .02em;
  color: #e4dcd6;
}
@media (max-width: 900px) {
  .drive-photo-journal--desktop { display: none; }
  .drive-photo-journal--mobile {
    padding: 58px 20px 68px;
    overflow: hidden;
  }
  .drive-photo-journal__head { margin-bottom: 24px; }
  .drive-photo-journal__head h2 { font-size: clamp(31px, 9vw, 42px); }
  .drive-photo-journal__head p { font-size: 14px; }
  .drive-photo-journal__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 12px;
  }
  .drive-photo-journal img { aspect-ratio: 4 / 3; }
  .drive-photo-journal figure:first-child { grid-column: span 2; }
  .drive-photo-journal figure:first-child img { aspect-ratio: 16 / 10; }
  .drive-photo-journal figcaption { font-size: 11px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .drive-photo-journal__rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
