/* RESYD ANIMATIONS CSS — works with all current partials */

:root {
    --resyd-anim-fast: 180ms ease;
    --resyd-anim-med: 320ms ease;
    --resyd-anim-slow: 720ms cubic-bezier(.19,1,.22,1);
    --resyd-anim-glow: 0 18px 55px rgba(216,179,106,.28);
}

[data-animate-in],
.resyd-listing-card,
.resyd-highlight-card,
.resyd-market-stat-card,
.resyd-content-card,
.resyd-links-card,
.resyd-faq-item,
.signal-card,
.signals-live-card,
.resyd-market-live-card,
.resyd-market-segment-card,
.resyd-market-breakdown-card,
.how-live-card,
.how-step-card,
.how-intelligence-card,
.segmentation-card {
    animation: resydFadeUp .7s ease both;
}

.resyd-listing-card:nth-child(2),
.resyd-highlight-card:nth-child(2),
.resyd-market-stat-card:nth-child(2),
.resyd-content-card:nth-child(2),
.resyd-links-card:nth-child(2),
.resyd-faq-item:nth-child(2),
.signal-card:nth-child(2) { animation-delay: .05s; }

.resyd-listing-card:nth-child(3),
.resyd-highlight-card:nth-child(3),
.resyd-market-stat-card:nth-child(3),
.resyd-content-card:nth-child(3),
.resyd-links-card:nth-child(3),
.resyd-faq-item:nth-child(3),
.signal-card:nth-child(3) { animation-delay: .1s; }

.resyd-listing-card:nth-child(4),
.resyd-highlight-card:nth-child(4),
.resyd-market-stat-card:nth-child(4),
.resyd-content-card:nth-child(4),
.resyd-links-card:nth-child(4),
.resyd-faq-item:nth-child(4),
.signal-card:nth-child(4) { animation-delay: .15s; }

.resyd-listing-card:hover,
.resyd-property-card:hover,
.resyd-gallery-card:hover,
.resyd-highlight-card:hover,
.resyd-market-stat-card:hover,
.resyd-content-card:hover,
.resyd-links-card:hover,
.resyd-faq-item:hover,
.signal-card:hover,
.signals-live-card:hover,
.resyd-market-live-card:hover,
.how-step-card:hover,
.how-live-card:hover,
.how-intelligence-card:hover {
    transform: translateY(-7px) scale(1.01);
    box-shadow: 0 28px 72px rgba(0,0,0,.12);
    border-color: rgba(216,179,106,.45);
}

.resyd-header-cta,
.resyd-hero-cta,
.resyd-form-btn,
.resyd-highlight-cta,
.resyd-market-cta,
.signals-btn,
.how-btn,
.resyd-listing-cta,
.resyd-hero-search-btn,
#loadMoreListings {
    position: relative;
    overflow: hidden;
}

.resyd-header-cta::before,
.resyd-hero-cta::before,
.resyd-form-btn::before,
.resyd-highlight-cta::before,
.resyd-market-cta::before,
.signals-btn::before,
.how-btn::before,
.resyd-listing-cta::before,
.resyd-hero-search-btn::before,
#loadMoreListings::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent, rgba(255,255,255,.58), transparent);
    transform: translateX(-125%);
    transition: transform .75s ease;
}

.resyd-header-cta:hover::before,
.resyd-hero-cta:hover::before,
.resyd-form-btn:hover::before,
.resyd-highlight-cta:hover::before,
.resyd-market-cta:hover::before,
.signals-btn:hover::before,
.how-btn:hover::before,
.resyd-listing-cta:hover::before,
.resyd-hero-search-btn:hover::before,
#loadMoreListings:hover::before {
    transform: translateX(125%);
}

[data-trust-signal],
[data-fomo-signal],
.resyd-badge,
.resyd-listing-badge,
.resyd-gallery-badge,
.resyd-form-badge,
.resyd-faq-badge,
.resyd-links-badge,
.resyd-content-badge,
.resyd-highlights-badge,
.resyd-market-badge,
.signals-badge,
.how-badge,
.resyd-trust-chip,
.market-trust-chip,
.trust-chip {
    animation: resydSoftPulse 3.2s ease-in-out infinite;
}

.resyd-hero-bg img {
    animation: resydHeroDrift 16s ease-in-out infinite alternate;
}



.resyd-market-meter-fill,
.market-meter-fill,
.resyd-form-progress-bar {
    animation: resydMeterGlow 2.6s ease-in-out infinite;
}

.resyd-zip-suggestions,
.resyd-mobile-nav {
    animation: resydDropIn .24s ease both;
}

.form-step.active,
.form-step.is-active {
    animation: resydStepIn .36s ease both;
}

.is-loading::after,
.loading::after {
    animation: resydSpin .75s linear infinite;
}

@keyframes resydFadeUp {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes resydDropIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes resydStepIn {
    from {
        opacity: 0;
        transform: translateY(14px) scale(.99);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes resydSoftPulse {
    0%, 100% {
        box-shadow: 0 8px 24px rgba(216,179,106,.12);
    }
    50% {
        box-shadow: 0 16px 42px rgba(216,179,106,.30);
    }
}

@keyframes resydHeroDrift {
    from {
        transform: scale(1.04) translate3d(0,0,0);
    }
    to {
        transform: scale(1.1) translate3d(-1.4%,-1%,0);
    }
}

@keyframes resydMediaReveal {
    from {
        opacity: .82;
        transform: scale(1.025);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes resydMeterGlow {
    0%, 100% {
        filter: saturate(1);
        box-shadow: 0 0 18px rgba(216,179,106,.25);
    }
    50% {
        filter: saturate(1.12);
        box-shadow: 0 0 28px rgba(216,179,106,.46);
    }
}

@keyframes resydSpin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}