/**
 * Scroll Animations CSS - Companion to scroll-animations.js
 * Provides initial states for animated elements
 */

/* Scroll reveal system */
[data-anim-type] {
    --reveal-delay: 0ms;
}

[data-anim-type].is-anim-ready {
    opacity: .18;
    transition-property: opacity, transform, filter;
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--reveal-delay);
}

/* Separator uses explicit pending -> revealed states to prevent instant flash. */
[data-anim-type="separator"] {
    transition-property: opacity, transform, filter;
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--reveal-delay, 0ms);
}
[data-anim-type="separator"]:not(.is-revealed) {
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(.992);
    filter: blur(2px) brightness(.5) saturate(.88);
}
[data-anim-type="separator"].is-revealed {
    opacity: 1;
    transform: none;
    filter: none;
}

[data-anim-type="about-media"].is-anim-ready,
[data-anim-type="about-copy"].is-anim-ready,
[data-anim-type="testimonial"].is-anim-ready {
    transform: translate3d(0, 26px, 0);
    filter: blur(1px) brightness(.62) saturate(.9);
}

[data-anim-type="apartment-card"].is-anim-ready {
    transform: translate3d(0, 22px, 0) scale(.975);
    filter: brightness(.66) saturate(.92);
}

[data-anim-type="facility"].is-anim-ready {
    transform: translate3d(0, 8px, 0);
    filter: brightness(.58) saturate(.88);
    opacity: .1;
}

[data-anim-type="location-card"].is-anim-ready {
    transform: translate3d(0, 28px, 0) scale(.994);
    filter: blur(1.5px) brightness(.6) saturate(.88);
}

[data-anim-type="location-highlight-item"].is-anim-ready {
    transform: translate3d(0, 18px, 0);
    filter: brightness(.55) saturate(.85);
    opacity: .08;
}

[data-anim-type="location-highlight-item"][data-anim-index="0"] { --reveal-delay: 120ms; }
[data-anim-type="location-highlight-item"][data-anim-index="1"] { --reveal-delay: 260ms; }
[data-anim-type="location-highlight-item"][data-anim-index="2"] { --reveal-delay: 400ms; }

[data-anim-type].is-revealed {
    opacity: 1;
    transform: none;
    filter: none;
}

#home-footer,
#home-footer * {
    transition: none !important;
    animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
    [data-anim-type].is-anim-ready,
    [data-anim-type].is-revealed {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
    }
    [data-anim-type="separator"] {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}
