.team-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.team-card {
  padding: 28px;
  min-height: 560px;
}
.team-monogram:has(img) {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  margin-bottom: 24px;
  background: #ded8ce;
}
.team-monogram img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #ded8ce;
  transform-origin: center;
  transition:
    transform 0.2s,
    object-position 0.2s;
}
.team-card h2 {
  font-size: clamp(1.75rem, 2.1vw, 2.45rem);
}
.team-role {
  margin-top: 18px;
}
.team-card > p:not(.team-role) {
  font-size: 0.95rem;
}
@media (max-width: 1150px) {
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 650px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}
