.team-title {
  font: 400 clamp(40px, 4vw, 58px) / 1.04 var(--serif);
  letter-spacing: -1.5px;
  margin: 0 0 45px;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.team-card {
  padding: 0 0 30px;
  border-bottom: 1px solid var(--line);
}

.team-portrait {
  width: 100%;
  height: 310px;
  margin-bottom: 25px;
  object-fit: cover;
  object-position: center 28%;
  filter: saturate(.7);
}

.team-card h3 {
  font: 400 32px / 1.05 var(--serif);
  margin: 0 0 16px;
}

.team-card > p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.6;
  color: #625d55;
}

.team-card .eyebrow {
  margin-bottom: 10px;
}

/* Encuadres deliberados: preservan el rostro completo en todas las pantallas. */
.team-card:first-child .team-portrait {
  object-position: center top !important;
}

.team-card:nth-child(3) .team-portrait {
  object-position: center 20% !important;
}

.team-card:nth-child(2) .team-portrait {
  object-fit: cover !important;
  object-position: center 20% !important;
  background: transparent !important;
}

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

  .team-card:last-child {
    grid-column: 1 / 3;
    max-width: 50%;
  }
}

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

  .team-card:last-child {
    grid-column: auto;
    max-width: none;
  }

  .team-portrait {
    height: 355px;
  }
}
