main {
  display: grid;
  grid-template-columns: 1fr;
}

.vertical {
  width: 100%;
}

.vertical + .vertical {
  margin-left: 0;
}

main img {
  margin-bottom: 1rem;
}

@media only screen and (min-width: 501px) {
  main {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    grid-gap: 1rem;
  }

  main img {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 881px) {
  main img {
    grid-column: span 2;
  }

  .vertical {
    grid-column: span 1;
  }
}