/*--------------------------------------------------------------
  Team — member cards, avatar photos, social overlay
--------------------------------------------------------------*/

/* Team */
.team-card {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-surface);
  transition: all var(--t);
}

.team-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}

.team-photo {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  position: relative;
}

.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t-slow);
}

/* Avatar variant — for the monogram placeholders. Keeps the same card
   footprint but centres the monogram on a soft wash. */
.team-photo--avatar {
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--color-primary-light), var(--color-surface-2));
  display: flex;
  align-items: center;
  justify-content: center;
}

/* The monogram fills its own viewBox edge to edge, which is right at 40px in a
   testimonial but overwhelms a card this size — at 88% the initials read louder
   than the person's name underneath. Half the card leaves it a portrait. */
.team-photo--avatar img {
  width: 52%;
  height: 52%;
  object-fit: contain;
}

.team-card:hover .team-photo img {
  transform: scale(1.06);
}

.team-social {
  position: absolute;
  right: -60px;
  top: 20px;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  transition: right var(--t);
}

.team-card:hover .team-social {
  right: 20px;
}

.team-social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-white);
  color: var(--color-secondary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all var(--t);
}

.team-social a:hover {
  background: var(--color-primary);
  color: var(--color-white);
}

.team-info {
  padding: var(--space-5);
  text-align: center;
}

.team-info h3 {
  font-size: 1.125rem;
  margin-bottom: 4px;
}

.team-info span {
  color: var(--color-primary);
  font-size: var(--fs-small);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
