.mg-team-grid {
  --mg-team-columns: 4;
  display: grid;
  grid-template-columns: repeat(var(--mg-team-columns), minmax(0, 1fr));
  gap: 24px;
}

.mg-team-card {
  height: 100%;
}

.mg-team-image {
  position: relative;
  overflow: hidden;
}

.mg-team-image img {
  display: block;
  width: 100%;
  height: auto;
}

.mg-team-image-default,
.mg-team-image-hover {
  transition: opacity .35s ease, visibility .35s ease;
}

.mg-team-image-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
}

.mg-team-card:hover .mg-team-image-hover,
.mg-team-card:focus-within .mg-team-image-hover {
  opacity: 1;
  visibility: visible;
}

.mg-team-card:hover .mg-team-image-default,
.mg-team-card:focus-within .mg-team-image-default {
  opacity: 0;
  visibility: hidden;
}

.mg-team-content {
  padding-top: 12px;
}

.mg-team-name {
  margin: 0 0 6px;
}

.mg-team-position {
  line-height: 1.4;
}

.mg-team-image-placeholder {
  width: 100%;
  padding-top: 100%;
  background: #f2f2f2;
}

@media (max-width: 1024px) {
  .mg-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .mg-team-grid {
    grid-template-columns: 1fr;
  }
}
