.cb-component-cmp_team_member_card {
  --team-font: var(--font, 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
  --team-text: var(--navy, #0c2b4f);
  --team-accent: #6f85ff;
  --team-overlay: rgba(111, 92, 246, 0.5);
  --team-surface: #ffffff;
  --team-icon: var(--blue, #3f8ee0);
  --team-radius: 14px;
  --team-media-ratio: 0.86;
  --team-shadow: 0 12px 30px rgba(12, 43, 79, 0.08);
  --team-name-size: clamp(28px, 3vw, 32px);
  --team-role-size: 18px;
  --team-gap: 14px;
  --team-social-size: 46px;
  display: block;
  font-family: var(--team-font);
}

.cb-component-cmp_team_member_card .team-member-card {
  width: 100%;
  max-width: 390px;
  margin: 0 auto;
  text-align: center;
}

.cb-component-cmp_team_member_card .team-member-card__media-wrap {
  margin-bottom: 30px;
}

.cb-component-cmp_team_member_card .team-member-card__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--team-radius);
  aspect-ratio: var(--team-media-ratio);
  background: #ddd;
  box-shadow: var(--team-shadow);
}

.cb-component-cmp_team_member_card .team-member-card__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cb-component-cmp_team_member_card .team-member-card__image--placeholder {
  background: linear-gradient(135deg, #c7d1dc 0%, #e8edf3 100%);
}

.cb-component-cmp_team_member_card .team-member-card__overlay {
  position: absolute;
  inset: 0;
  background: var(--team-overlay);
  opacity: 0;
  transition: opacity .35s ease;
}

.cb-component-cmp_team_member_card .team-member-card__socials {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%) translateY(18px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--team-gap);
  opacity: 0;
  transition: opacity .35s ease, transform .35s ease;
  z-index: 2;
}

.cb-component-cmp_team_member_card .team-member-card__social {
  width: var(--team-social-size);
  height: var(--team-social-size);
  border-radius: 50%;
  background: #ffffff;
  color: var(--team-icon);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(12, 43, 79, 0.18);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}

.cb-component-cmp_team_member_card .team-member-card__social svg {
  width: 18px;
  height: 18px;
  display: block;
}

.cb-component-cmp_team_member_card .team-member-card__media:hover .team-member-card__overlay,
.cb-component-cmp_team_member_card .team-member-card__media:focus-within .team-member-card__overlay {
  opacity: 1;
}

.cb-component-cmp_team_member_card .team-member-card__media:hover .team-member-card__socials,
.cb-component-cmp_team_member_card .team-member-card__media:focus-within .team-member-card__socials {
  opacity: 1;
  transform: translate(-50%, -50%) translateY(0);
}

.cb-component-cmp_team_member_card .team-member-card__social:hover,
.cb-component-cmp_team_member_card .team-member-card__social:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(12, 43, 79, 0.24);
}

.cb-component-cmp_team_member_card .team-member-card__social:focus-visible {
  outline: 2px solid var(--team-text);
  outline-offset: 3px;
}

.cb-component-cmp_team_member_card .team-member-card__content {
  display: grid;
  gap: 8px;
}

.cb-component-cmp_team_member_card .team-member-card__name {
  margin: 0;
  color: var(--team-text);
  font-size: var(--team-name-size);
  line-height: 1.1;
  font-weight: 700;
}

.cb-component-cmp_team_member_card .team-member-card__role {
  color: var(--team-accent);
  font-size: var(--team-role-size);
  line-height: 1.3;
  font-weight: 500;
}

@media (max-width: 767px) {
  .cb-component-cmp_team_member_card .team-member-card {
    max-width: 100%;
  }

  .cb-component-cmp_team_member_card .team-member-card__media-wrap {
    margin-bottom: 24px;
  }

  .cb-component-cmp_team_member_card .team-member-card__socials {
    gap: 12px;
  }

  .cb-component-cmp_team_member_card .team-member-card__social {
    width: 42px;
    height: 42px;
  }
}