.projects-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  /* grid-auto-rows: 300px; */
  gap: 20px;
  container-type: inline-size;
}

.project-card {
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.card-media img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.card-body {
  padding: 1rem;
}

.project-desc {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


.project-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  gap: 20px;
  container-type: inline-size;
}