/* === Card backgrounds always cover their container (SPARK, 2026-09-09) ===
   Hero and news/listing cards set background-size to fixed percentages via
   per-element Elementor custom CSS (100% base, 120% on hover) so the zoom
   could animate. A percentage sizes the image by card WIDTH only, which
   letterboxes the photo (empty space above/below) whenever the card is taller
   than the scaled image. This ::after layer repaints the same background at
   cover size and moves the hover zoom to a transform, which animates at any
   size. Stacking: the card is isolated, this layer sits at z-index -1 above
   the card's own (now hidden) background, and both gradient overlays
   (Elementor's ::before overlay and the per-element custom ::before gradient)
   keep painting above it, with card content on top. The legacy percentage
   rules still run on the card's own background underneath but are no longer
   visible. Shipped as a standalone file because United unregisters the Hello
   theme style, which silently drops style.css (a dependent stylesheet). */
.image-hover-text {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.image-hover-text::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: inherit;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
    border-radius: inherit;
    pointer-events: none;
    transform: scale(1);
    transition: transform 600ms ease;
}

.image-hover-text:hover::after {
    transform: scale(1.2);
}

@media (prefers-reduced-motion: reduce) {
    .image-hover-text::after {
        transition: none;
    }
}
