/* Especialistas — composição editorial da Clínica Hartmann */
#equipe {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5rem, 8vw, 7.5rem);
  background:
    radial-gradient(circle at 92% 18%, rgba(219, 188, 104, .16) 0 4.5rem, transparent 4.6rem),
    radial-gradient(circle at 7% 84%, rgba(97, 122, 128, .10) 0 7rem, transparent 7.1rem),
    linear-gradient(115deg, #f8f7f4 0%, #ffffff 45%, #f2f6f5 100%);
}

#equipe::before,
#equipe::after {
  content: '';
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

#equipe::before {
  top: 6.2rem;
  right: 7.5%;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid rgba(23, 62, 93, .18);
}

#equipe::after {
  right: -4rem;
  bottom: 5rem;
  width: 13rem;
  height: 13rem;
  border: 1px solid rgba(219, 188, 104, .42);
}

#equipe .container { position: relative; }

#equipe .section-heading {
  max-width: 42rem;
  margin: 0 0 clamp(2.6rem, 5vw, 4.25rem);
}

#equipe .section-heading .eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .9rem;
  color: #9d7a2f;
  font-size: .69rem;
  letter-spacing: .22em;
}

#equipe .section-heading .eyebrow::before {
  content: '';
  display: block;
  width: 2.2rem;
  height: 1px;
  background: currentColor;
}

#equipe .section-heading h2 {
  margin: 0;
  color: #173e5d;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}

#equipe .team-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(.65rem, 1vw, 1rem);
  max-width: 1320px;
  margin: 0 auto;
}

#equipe .team-card,
#equipe .team-card:nth-child(n) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(23, 62, 93, .12);
  border-radius: 2px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 15px 35px rgba(25, 54, 67, .07);
  text-align: left;
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease;
}

#equipe .team-card::before {
  content: '';
  display: block;
  order: -1;
  height: 3px;
  background: linear-gradient(90deg, #b38a37, #e2c879 65%, #b38a37);
}

#equipe .team-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 44px rgba(25, 54, 67, .14);
}

#equipe .team-card__photo {
  display: block;
  width: 100%;
  height: 220px;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  background: #edf2f2;
  filter: saturate(.88) contrast(1.02);
  transition: filter .4s ease, transform .55s ease;
}

/* Mantém o rosto inteiro visível no retrato vertical da Flávia. */
#equipe .team-card:last-child .team-card__photo {
  object-position: center top;
}

#equipe .team-card:hover .team-card__photo {
  filter: saturate(1) contrast(1);
  transform: scale(1.035);
}

#equipe .team-card__photo--fallback {
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #eef3f3, #dbe5e5);
  color: #617a80;
  font: 2.5rem var(--font-display);
  letter-spacing: .08em;
}

#equipe .team-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: .85rem .7rem 1rem;
  text-align: center;
  background: rgba(255, 255, 255, .95);
}

#equipe .team-card__mark { display: none; }

#equipe .team-card h3 {
  margin: 0 0 .35rem;
  color: #173e5d;
  font-family: var(--font-display);
  font-size: clamp(.78rem, 1.05vw, 1rem);
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
}

#equipe .team-card h3::after {
  content: '';
  display: none;
  width: 1.8rem;
  height: 1px;
  margin-top: .8rem;
  background: #c9a958;
}

#equipe .team-card__meta {
  margin: 0 0 .55rem;
  color: #546a70;
  font-size: .67rem;
  line-height: 1.4;
}

#equipe .team-card__details {
  margin: 0;
  color: #546a70;
  font-size: .64rem;
  line-height: 1.48;
}

@media (max-width: 1050px) {
  #equipe .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 900px; }
  #equipe .team-card h3 { font-size: 1rem; }
}

@media (max-width: 720px) {
  #equipe { padding-block: 4.25rem; }
  #equipe .section-heading h2 { font-size: clamp(2.5rem, 11vw, 3.5rem); }
  #equipe .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
  #equipe::before { top: 4.3rem; right: 1rem; }
  #equipe .section-heading { margin-bottom: 2.25rem; }
  #equipe .team-card__body { padding: 1.1rem 1rem 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  #equipe .team-card, #equipe .team-card__photo { transition: none; }
}
