.hmv-grid {
  --hmv-gap: 34px;
  --hmv-brand: #004782;
  --hmv-text: #1d2735;
  --hmv-rule: rgba(13, 46, 87, 0.14);
  display: grid;
  gap: var(--hmv-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
}

.hmv-grid.hmv-cols-1 {
  grid-template-columns: minmax(0, 1fr);
}

.hmv-grid.hmv-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hmv-grid.hmv-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hmv-card {
  color: var(--hmv-text);
  text-align: center;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.hmv-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.hmv-image-wrap {
  border-radius: 30px;
  overflow: hidden;
  aspect-ratio: 4 / 4;
  background: #f2f4f7;
  margin-bottom: 18px;
}

.hmv-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hmv-name {
  margin: 0;
  font-size: clamp(1.22rem, 1.6vw, 1.55rem);
  line-height: 1.25;
  color: var(--hmv-brand);
}

.hmv-position,
.hmv-department {
  margin: 8px 0 0;
  font-weight: 600;
  color: #0d2e57;
  line-height: 1.35;
}

.hmv-department {
  font-weight: 500;
  opacity: 0.92;
}

.hmv-excerpt {
  margin: 14px auto 0;
  max-width: 34ch;
  line-height: 1.58;
  font-size: clamp(1rem, 1.2vw, 1.1rem);
}

.hmv-links {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--hmv-rule);
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.hmv-links a {
  color: var(--hmv-brand);
  text-decoration: none;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 0;
  position: relative;
  transition: color 150ms ease, background-color 150ms ease;
}

.hmv-links a:hover,
.hmv-links a:focus {
  color: #0b2747;
  background: rgba(0, 71, 130, 0.09);
  text-decoration: none;
  outline: none;
}

.hmv-links a::before {
  content: "";
  width: 22px;
  height: 22px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.hmv-links .hmv-link-phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23004782' d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24c1.08.36 2.24.56 3.42.56a1 1 0 0 1 1 1V21a1 1 0 0 1-1 1A18 18 0 0 1 2 4a1 1 0 0 1 1-1h4.5a1 1 0 0 1 1 1c0 1.18.2 2.34.56 3.42a1 1 0 0 1-.24 1L6.6 10.8z'/%3E%3C/svg%3E");
}

.hmv-links .hmv-link-mail::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23004782' d='M3 6.75A2.75 2.75 0 0 1 5.75 4h12.5A2.75 2.75 0 0 1 21 6.75v10.5A2.75 2.75 0 0 1 18.25 20H5.75A2.75 2.75 0 0 1 3 17.25V6.75zm2.18-.75 6.82 5.18L18.82 6H5.18zm13.82 2.5-6.4 4.86a1 1 0 0 1-1.2 0L5 8.5v8.75c0 .41.34.75.75.75h12.5c.41 0 .75-.34.75-.75V8.5z'/%3E%3C/svg%3E");
}

.hmv-links .hmv-link-linkedin::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23004782' d='M6.8 8.6a1.8 1.8 0 1 1 0-3.6 1.8 1.8 0 0 1 0 3.6zM5.2 10h3.2v9H5.2zm5.2 0h3v1.23h.04c.42-.8 1.45-1.64 2.98-1.64 3.18 0 3.76 2.1 3.76 4.82V19h-3.2v-4.07c0-.97-.02-2.22-1.35-2.22-1.35 0-1.56 1.05-1.56 2.15V19h-3.2v-9z'/%3E%3C/svg%3E");
}

.hmv-links .hmv-link-xing::before {
  content: none;
}

.hmv-links .hmv-link-xing .fa {
  font-size: 23px;
  line-height: 1;
}

.hmv-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.hmv-links a:focus-visible {
  box-shadow: 0 0 0 2px rgba(0, 71, 130, 0.35);
}

@media (max-width: 1200px) {
  .hmv-grid,
  .hmv-grid.hmv-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .hmv-grid,
  .hmv-grid.hmv-cols-2,
  .hmv-grid.hmv-cols-3,
  .hmv-grid.hmv-cols-4 {
    grid-template-columns: minmax(0, 1fr);
  }

  .hmv-grid {
    --hmv-gap: 24px;
  }
}
