.grid {
  display: grid;
  --repeat: 3;
  grid-template-columns: repeat(var(--repeat), minmax(0, 1fr));
  justify-content: center;
  align-items: flex-start;
  gap: clamp(22px, 3vw, 40px);
  margin: 48px 0;
}

.grid > * {
  min-width: 0;
  min-height: 0;
  width: 100%;
  margin: 0 !important;
}

.grid:has(> .figure) {
  --gap: clamp(22px, 3vw, 40px);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}

.grid:has(> .figure) > * {
  width: calc((100% - (var(--repeat) - 1) * var(--gap)) / var(--repeat) - 0.1px);
}

.grid > .figure > .figure-image {
  width: 100%;
}

.grid > .figure > .figure-image > img {
  width: 100%;
}

@media (max-width: 750px) {
  .grid {
    --repeat: 2;
  }
}
@media (max-width: 500px) {
  .grid {
    --repeat: 1;
  }
}
.grid[data-style=square] {
  align-items: center;
}
.grid[data-style=square] > * {
  aspect-ratio: 1/1;
}
.grid[data-style=square] img {
  aspect-ratio: 1/1;
  object-fit: cover;
  max-width: unset;
  max-height: unset;
}

.grid > :where(h1, h2, h3, h4, h5, h6) {
  display: none;
}

/*# sourceMappingURL=grid.css.map */