/* Consent-gated doctor care gallery: all three images retain their native proportions. */
.doctor-care-gallery.section-shell {
  box-sizing: border-box;
  inline-size: min(100%, 1440px);
  max-inline-size: 1440px;
  margin: 0 auto;
  padding: clamp(72px, 8vw, 116px) clamp(20px, 7.4vw, 106px);
  color: var(--ink);
  background: var(--cream);
}

.doctor-care-gallery *,
.doctor-care-gallery *::before,
.doctor-care-gallery *::after {
  box-sizing: border-box;
}

.doctor-care-gallery__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-block-end: clamp(28px, 3.5vw, 48px);
  text-align: center;
}

.doctor-care-gallery__kicker {
  margin: 0 0 12px;
  color: var(--gold);
  font: 500 9px/1.4 var(--sans);
  letter-spacing: .18em;
}

.doctor-care-gallery h2 {
  max-inline-size: 28ch;
  margin: 0;
  color: var(--ink);
  font: 400 clamp(32px, 3.3vw, 48px)/1.25 var(--display);
  letter-spacing: -.03em;
  text-wrap: balance;
}

.doctor-care-gallery__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.5fr) minmax(0, 1.051479fr);
  gap: clamp(14px, 1.5vw, 24px);
  align-items: start;
  inline-size: 100%;
}

.doctor-care-gallery__item {
  min-inline-size: 0;
  margin: 0;
}

/* Caption precedes the photo in the DOM, mirroring the editorial label in the reference layout. */
.doctor-care-gallery__item figcaption {
  margin-block-end: 10px;
  min-block-size: 2.9em;
  color: var(--gold);
  font: 400 14px/1.45 var(--sans);
  letter-spacing: .08em;
  overflow-wrap: anywhere;
}

.doctor-care-gallery__item img {
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  block-size: auto;
  height: auto;
  object-fit: contain;
  background: var(--cream);
}

/* Preserve the supplied director portrait's crop while anchoring the top of the original image. */
.medical-image img {
  object-position: top center;
}

@media (max-width: 960px) {
  .doctor-care-gallery.section-shell {
    padding-inline: clamp(20px, 5vw, 48px);
  }

  .doctor-care-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .doctor-care-gallery__item--clinical-scene {
    grid-column: 1 / -1;
    inline-size: calc((100% - clamp(14px, 1.5vw, 24px)) / 2);
    justify-self: center;
  }
}

@media (max-width: 640px) {
  .doctor-care-gallery.section-shell {
    padding-block: 64px;
    padding-inline: 20px;
  }

  .doctor-care-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .doctor-care-gallery__item--clinical-scene {
    grid-column: auto;
    inline-size: 100%;
  }

  .doctor-care-gallery__item figcaption {
    font-size: 14px;
  }
}
