.tla-works__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  flex-wrap: wrap;
  gap: 20px;
}

.tla-works__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 20px;
}

.tla-works__cell {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  display: block;
  background: #333;
}
.tla-works__cell--big {
  grid-column: span 1;
  grid-row: span 2;
  /* in JSX it spans 2 rows on the left */
}

.tla-works__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--dur-slow) var(--ease);
}
.tla-works__cell:hover .tla-works__img { transform: scale(1.04); }

.tla-works__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, transparent 50%);
}

.tla-works__caption {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tla-works__title {
  font: 700 20px var(--font-display);
  color: #fff;
}

@media (max-width: 960px) {
  .tla-works__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .tla-works__cell { aspect-ratio: 4 / 3; height: auto; }
  .tla-works__cell--big { grid-row: auto; }
}
