/* Keep editorial imagery subordinate to the viewport; the opening banner is excluded. */
main > section:not(.opening) img {
  max-height: 60vh;
  max-height: 60svh;
}

.brand-collage,
.capability-media,
.investment-feature-media {
  max-height: 60vh;
  max-height: 60svh;
}

.brand-collage-image img,
.capability-slide,
.investment-feature-media img,
.project-card > img,
.news-feature img,
.news-list img,
.news-mobile-card > img {
  transform: none !important;
}

/* Logo marquees use a fixed shared frame; they must not inherit the 60vh media cap. */
main > section#ecosystem .partner-logo-set img,
main > section#ecosystem .ecosystem-logo-set img {
  width: 100%;
  height: 62px;
  max-width: 178px;
  max-height: 62px;
  object-fit: contain;
}

/* Keep the partner frame unchanged while giving its logos the same visual weight as the ecosystem row. */
main > section#ecosystem .partner-logo-set img {
  max-width: 104px;
  max-height: 40px;
}

@media (max-width: 620px) {
  main > section#ecosystem .partner-logo-set img,
  main > section#ecosystem .ecosystem-logo-set img {
    height: 53px;
    max-width: 139px;
    max-height: 53px;
  }

  main > section#ecosystem .partner-logo-set img {
    max-width: 80px;
    max-height: 34px;
  }
}

@media (min-width: 621px) {
  .investment-feature {
    max-height: 60vh;
    max-height: 60svh;
  }
}

/* Desktop media may occupy at most 65% of the visible page height. */
@media (min-width: 981px) {
  main > section:not(.opening) img,
  .brand-collage,
  .capability-media,
  .investment-feature-media,
  .investment-feature {
    max-height: 65vh;
    max-height: 65svh;
  }

  .opening,
  .opening-inner {
    min-height: max(65vh, 560px) !important;
    min-height: max(65svh, 560px) !important;
    height: auto !important;
  }

  .opening-media {
    min-height: 0 !important;
    height: 65vh !important;
    height: 65svh !important;
    max-height: 65vh;
    max-height: 65svh;
  }

  .opening-image {
    height: 65vh;
    height: 65svh;
    max-height: 65vh;
    max-height: 65svh;
  }
}

/* News uses one square lead image with two square supporting images stacked beside it. */
main > section#news .news-feature img,
main > section#news .news-list img,
main > section#news .news-mobile-card > img,
main > section#news .news-mobile-card > a:first-child > img {
  max-height: none;
}

@media (min-width: 981px) {
  main > section#news .news-feature img,
  main > section#news .news-list img {
    aspect-ratio: 1 / 1;
    height: auto;
  }

  main > section#news .news-list.news-stack-aligned {
    row-gap: 12px;
  }

  main > section#news .news-list.news-stack-aligned article,
  main > section#news .news-list.news-stack-aligned article + article {
    min-height: 0;
    padding-top: 0;
  }
}

@media (max-width: 980px) {
  main > section#news .news-mobile-card > img,
  main > section#news .news-mobile-card > a:first-child > img {
    aspect-ratio: 1 / 1;
    height: auto;
  }
}
