/* Only former background-photo containers crop their images. */
body .zh-media-cover {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
body .zh-media-cover > img.zh-media-cover-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: var(--zh-image-position, center center);
    pointer-events: none;
    z-index: -2;
}
/* The existing hero overlay is at -100 within the hero's stacking context. */
body .full-bg-img.zh-media-cover > img.zh-media-cover-image {
    z-index: -101;
}

/* Retain the legacy homepage tiles' zoom without animating background-size. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.page-template-homepage .homepage-grid .page-link > .zh-media-cover > img.zh-media-cover-image {
        transition: transform 1.5s ease;
    }
    body.page-template-homepage .homepage-grid .page-link:hover > .zh-media-cover > img.zh-media-cover-image,
    body.page-template-homepage .homepage-grid .page-link:focus-visible > .zh-media-cover > img.zh-media-cover-image {
        transform: scale(1.1);
    }
}
