/* Photo frames follow the source image: no forced crop, zoom or text-height stretch. */
body .hero-visual,
body .hero-visual.desk-scene {
  display: block;
  align-self: center;
  height: auto;
  min-height: 0;
  padding: clamp(16px, 2vw, 24px);
}
body .hero-visual img,
body .hero-visual img.self-worth-photo,
body .hero-visual.desk-scene img {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  transform: none;
}
body .hero-photo,
body .resources-photo,
body .portrait-placeholder,
body .contact-photo.office-photo {
  align-self: center;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
}
body .hero-photo img,
body .resources-photo img,
body .portrait-placeholder img,
body .contact-photo.office-photo img,
body img.profile-photo {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  transform: none;
}
body img.profile-photo { max-width: 180px; }
