.projects-masonry {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  grid-auto-rows: 200px;
}

.projects-title {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  align-self: start;
}

.project-item.span-1 {
  grid-column: span 1;
  grid-row: span 2;
}

.project-item.span-2-tall {
  grid-column: span 2;
  grid-row: span 3;
}
.project-item.span-2-tall-x2 {
  grid-column: span 2;
  grid-row: span 4;
}
.project-item.span-2-tall-x3 {
  grid-column: span 2;
  grid-row: span 5;
}

.project-item.span-2 {
  grid-column: span 2;
  grid-row: span 2;
}

.project-item.span-1-tall {
  grid-column: span 1;
  grid-row: span 3;
}

@media (max-width: 768px) {
  .projects-masonry {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .projects-title {
    grid-column: 1;
    grid-row: auto;
  }

  .project-item.span-1,
  .project-item.span-2-tall,
  .project-item.span-2,
  .project-item.span-1-tall,
  .project-item.span-2-tall-x2,
  .project-item.span-2-tall-x3 {
    margin-bottom: 20px;
    grid-column: 1;
    grid-row: auto;
  }
}
