/* Display the existing original images through reviewed content bounds.
   No pixels, proportions or brand details in the source files are changed. */
.partner-card__media {
  --partner-media-height: 190px;
  --logo-display-height: 158px;
  display: grid;
  place-items: center;
  padding: 16px;
}
.partner-image-frame {
  position: relative;
  flex: none;
  width: min(100%, calc(var(--logo-display-height, 158px) * var(--logo-aspect, 1)), var(--logo-native-width, 1200px));
  aspect-ratio: var(--logo-aspect, 1);
  margin: 0 auto;
  overflow: hidden;
}
.partner-image-frame img {
  position: absolute;
  left: var(--image-left, 0);
  top: var(--image-top, 0);
  width: var(--image-width, 100%);
  height: var(--image-height, 100%);
  max-width: none;
  max-height: none;
  margin: 0;
  border-radius: 0;
  object-fit: fill;
  display: block;
  transform: none;
  box-shadow: none;
}
.partner-image-frame:not(.has-layout) img { object-fit: contain; }
.partner-card__media.has-photo { padding: 0; }
.partner-card__media .partner-image-frame.is-photo {
  width: 100%; height: 100%; aspect-ratio: auto;
}
.partner-card__media .partner-image-frame.is-photo img {
  width: 100%; height: 100%; left: 0; top: 0; object-fit: cover;
}
.partner-image-stage { display: grid; place-items: center; width: 100%; }
.partner-image-stage--focus { height: 310px; --logo-display-height: 280px; }
.partner-image-stage--dialog { min-height: 220px; padding: 12px 0 24px; --logo-display-height: 200px; }
.partner-image-stage .partner-image-frame img { width: var(--image-width, 100%); height: var(--image-height, 100%); }
.partner-image-stage.has-photo .partner-image-frame { max-width: 100%; }

@media (max-width: 760px) {
  .partner-image-stage--focus { height: 230px; --logo-display-height: 210px; }
  .partner-image-stage--dialog { min-height: 190px; --logo-display-height: 170px; }
}
