/* Home page scroll-reveal & micro-interactions */

@media (prefers-reduced-motion: no-preference) {
    .home-reveal {
        opacity: 0;
        transform: translateY(36px);
        transition:
            opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, transform;
    }

    .home-reveal--left {
        transform: translateX(-48px);
    }

    .home-reveal--right {
        transform: translateX(48px);
    }

    .home-reveal--scale {
        transform: scale(0.94);
    }

    .home-reveal--fade {
        transform: none;
    }

    .home-reveal.is-visible {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }

    .home-reveal[data-reveal-delay="1"] { transition-delay: 0.1s; }
    .home-reveal[data-reveal-delay="2"] { transition-delay: 0.2s; }
    .home-reveal[data-reveal-delay="3"] { transition-delay: 0.3s; }
    .home-reveal[data-reveal-delay="4"] { transition-delay: 0.4s; }
    .home-reveal[data-reveal-delay="5"] { transition-delay: 0.5s; }
    .home-reveal[data-reveal-delay="6"] { transition-delay: 0.6s; }

    /* Staggered text fly-reveal */
    .home-text-reveal {
        overflow: hidden;
    }

    .home-text-reveal__word {
        display: inline-block;
        opacity: 0;
        transform: translateY(110%);
        transition:
            opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
        transition-delay: var(--word-delay, 0s);
        will-change: opacity, transform;
    }

    .home-text-reveal.is-visible .home-text-reveal__word {
        opacity: 1;
        transform: translateY(0);
    }

    /* Section badge shimmer */
    .home-section-badge {
        position: relative;
        overflow: hidden;
    }

    .home-section-badge::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            105deg,
            transparent 40%,
            rgba(255, 255, 255, 0.45) 50%,
            transparent 60%
        );
        transform: translateX(-120%);
        animation: home-badge-shimmer 4s ease-in-out infinite;
    }

    @keyframes home-badge-shimmer {
        0%, 70%, 100% { transform: translateX(-120%); }
        85% { transform: translateX(120%); }
    }

    /* Chairman photo frame */
    .home-about-photo {
        transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
    }

    .home-about-photo.is-visible:hover {
        transform: translateY(-6px) scale(1.01);
        box-shadow: 0 24px 48px rgba(7, 17, 33, 0.12);
    }

    .home-about-accent {
        animation: home-accent-pulse 3s ease-in-out infinite;
    }

    @keyframes home-accent-pulse {
        0%, 100% { opacity: 1; transform: scaleY(1); }
        50% { opacity: 0.7; transform: scaleY(0.96); }
    }

    /* Counter items */
    .home-counter-item .text-65px {
        transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .home-counter-item.is-visible .text-65px {
        animation: home-icon-pop 0.65s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    }

    @keyframes home-icon-pop {
        0% { transform: scale(0.5) rotate(-8deg); opacity: 0; }
        100% { transform: scale(1) rotate(0); opacity: 1; }
    }

    /* Property cards */
    .home-property-card {
        transition:
            transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.4s ease;
    }

    .home-property-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 40px rgba(7, 17, 33, 0.12);
    }

    .home-property-card .home-inquire-btn {
        position: relative;
        overflow: hidden;
    }

    .home-property-card .home-inquire-btn::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
        transform: translateX(-100%);
        transition: transform 0.5s ease;
    }

    .home-property-card:hover .home-inquire-btn::after {
        transform: translateX(100%);
    }

    /* Testimonial cards */
    .home-testimonial-card {
        transition:
            transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.35s ease;
    }

    .home-testimonial-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 32px rgba(7, 17, 33, 0.1);
    }

    .home-testimonial-card .flaticon-left-quote-1 {
        display: inline-block;
        transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .home-testimonial-card:hover .flaticon-left-quote-1 {
        transform: translateY(2px) scale(1.15) rotate(-4deg);
    }

    /* Share buttons */
    .home-share-btn {
        transition:
            background-color 0.3s ease,
            transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.3s ease;
    }

    .home-share-btn:hover {
        transform: translateY(-4px) scale(1.03);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    }

    /* Notice modal entrance */
    .notice-modal-backdrop:not(.notice-modal--hidden) {
        animation: home-modal-fade-in 0.35s ease forwards;
    }

    .notice-modal-backdrop:not(.notice-modal--hidden) .notice-modal {
        animation: home-modal-scale-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    }

    @keyframes home-modal-fade-in {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    @keyframes home-modal-scale-in {
        from {
            opacity: 0;
            transform: scale(0.88) translateY(20px);
        }
        to {
            opacity: 1;
            transform: scale(1) translateY(0);
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-reveal,
    .home-text-reveal__word {
        opacity: 1;
        transform: none;
    }
}
