/* Reveal each intact text block once, then release all animated properties. */
@media (prefers-reduced-motion: no-preference) {
    .landing-premium .premium-hero-title[data-hero-reveal] {
        animation: landing-hero-enter 420ms ease-out backwards;
    }

    .landing-premium .premium-hero-lede[data-hero-reveal] {
        animation: landing-hero-copy-enter 360ms ease-out backwards;
    }
}

@keyframes landing-hero-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
        filter: blur(3px);
    }
    to {
        opacity: 1;
        transform: none;
        filter: none;
    }
}

@keyframes landing-hero-copy-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

/* Keep the hero's translucent controls light on touch devices. */
@media (hover: none), (pointer: coarse) {
    :is(.landing-tenant, .landing-owner) .premium-hero [class*="backdrop-blur"] {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

/* Isolate paints inside existing scroll/image clips without changing card effects. */
#city-section-properties-grid {
    contain: layout paint;
}

#city-section-properties-grid > article > div:first-child > div:first-child {
    contain: paint;
}
