/* Crop listing cards from the saved selection; keep source images untouched. */
.case-demo-main .case-showcase-photo { position: relative; overflow: hidden; }
.case-demo-main .case-showcase-photo img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  transform: none;
}

/* Detail photos stay vertically stacked and show the full source proportion. */
.case-detail-gallery figure,
.case-detail-gallery figure:first-child {
  aspect-ratio: auto;
  display: block;
  overflow: visible;
}

.case-detail-gallery img {
  width: 100%;
  height: auto;
  max-height: none;
  display: block;
  object-fit: contain;
}
