/* Committed 'landscape' image crop. These role hooks are authored by
   section generation; the build owns their delivered proportions. */
.card-media img { aspect-ratio: 3 / 2 !important; height: auto; }
.card-media-tall img { aspect-ratio: 4 / 3 !important; height: auto; }
.card-media-thumb img { aspect-ratio: 4 / 3 !important; height: auto; }
.feature-media img {
    width: 100%;
    aspect-ratio: 16 / 9 !important;
    height: auto;
    object-fit: cover;
    display: block;
}
/* Flush list rows are the reviewed exception: their text column
   owns row height and the thumbnail stretches to that live box. */
.list-thumb-flush .card-media-thumb img {
    aspect-ratio: auto !important;
    height: 100%;
}
