/*
 * Homepage motion direction:
 * editorial reveals, restrained depth and section-specific choreography.
 */

:root {
    --home-motion-ease: cubic-bezier(.16, 1, .3, 1);
    --home-motion-duration: 900ms;
    --motion-premium: cubic-bezier(.16, 1, .3, 1);
}

html.home-motion-ready .home-motion-item {
    opacity: 0;
    transform: translate3d(var(--home-motion-x, 0), var(--home-motion-y, 34px), 0)
        scale(var(--home-motion-scale, .985));
    filter: blur(var(--home-motion-blur, 7px));
    transition:
        opacity var(--home-motion-duration) ease,
        transform var(--home-motion-duration) var(--home-motion-ease),
        filter 740ms ease;
    transition-delay: var(--home-motion-delay, 0ms);
    will-change: opacity, transform, filter;
}

html.home-motion-ready .home-motion-item.home-motion-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

html.home-motion-ready .home-motion-left {
    --home-motion-x: -54px;
    --home-motion-y: 8px;
    --home-motion-scale: .99;
}

html.home-motion-ready .home-motion-right {
    --home-motion-x: 54px;
    --home-motion-y: 8px;
    --home-motion-scale: .99;
}

html.home-motion-ready .home-motion-pop {
    --home-motion-y: 20px;
    --home-motion-scale: .92;
    --home-motion-blur: 3px;
}

html.home-motion-ready .home-motion-card {
    --home-motion-y: 46px;
    --home-motion-scale: .965;
}

html.home-motion-ready .why-lamer-media.home-motion-item {
    clip-path: inset(0 18% 0 0 round 24px);
    transition:
        opacity 1.05s ease,
        transform 1.05s var(--home-motion-ease),
        filter .85s ease,
        clip-path 1.15s var(--home-motion-ease);
}

html.home-motion-ready .why-lamer-media.home-motion-visible {
    clip-path: inset(0 0 0 0 round 24px);
}

html.home-motion-ready .construction-video-section.home-motion-item {
    --home-motion-y: 60px;
    --home-motion-scale: .96;
    --home-motion-blur: 10px;
    transition-duration: 1.15s;
    clip-path: inset(5% 2.5% round 26px);
}

html.home-motion-ready .construction-video-section.home-motion-visible {
    clip-path: inset(0 round 0);
}

.home-motion-ready .home-benefits-inner article.home-motion-visible > span,
.home-motion-ready .why-lamer-grid article.home-motion-visible > span,
.home-motion-ready .home-use-card.home-motion-visible .home-use-icon {
    animation: homeIconLand .75s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 260ms) both;
}

.home-motion-ready .home-use-card.home-motion-visible img,
.home-motion-ready .apartment-card.home-motion-visible img {
    animation: homeImageSettle 1.35s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 120ms) both;
}

.home-use-media,
.home-news-media {
    position: relative;
    isolation: isolate;
}

.home-use-media::before,
.home-news-media::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.2) 46%, transparent 58%);
    transform: translateX(-130%) skewX(-10deg);
    pointer-events: none;
}

.home-use-card:hover .home-use-media::before,
.home-news-card:hover .home-news-media::before {
    animation: homeImageSheen .9s ease;
}

.home-motion-count {
    display: inline-block;
    transform-origin: center bottom;
}

.home-motion-count.is-counting {
    animation: homeCountLand .72s var(--home-motion-ease) both;
}

@keyframes homeIconLand {
    0% { transform: translateY(12px) rotate(-8deg) scale(.78); opacity: 0; }
    62% { transform: translateY(-3px) rotate(3deg) scale(1.08); opacity: 1; }
    100% { transform: translateY(0) rotate(0) scale(1); opacity: 1; }
}

@keyframes homeImageSettle {
    from { transform: scale(1.075); filter: saturate(.82) contrast(.94); }
    to { transform: scale(1); filter: saturate(1) contrast(1); }
}

@keyframes homeImageSheen {
    from { transform: translateX(-130%) skewX(-10deg); }
    to { transform: translateX(135%) skewX(-10deg); }
}

@keyframes homeCountLand {
    0% { transform: translateY(12px) scale(.82); opacity: .2; }
    65% { transform: translateY(-2px) scale(1.06); opacity: 1; }
    100% { transform: translateY(0) scale(1); opacity: 1; }
}

@media (max-width: 767px) {
    html.home-motion-ready .home-motion-item {
        --home-motion-x: 0;
        --home-motion-y: 26px;
        --home-motion-scale: .985;
        --home-motion-blur: 4px;
        --home-motion-duration: 720ms;
    }

    html.home-motion-ready .construction-video-section.home-motion-item {
        clip-path: inset(2% 0 round 18px);
    }
}

@media (prefers-reduced-motion: reduce) {
    html.home-motion-ready .home-motion-item {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        clip-path: none !important;
        transition: none !important;
    }

    .home-motion-ready .home-benefits-inner article > span,
    .home-motion-ready .why-lamer-grid article > span,
    .home-motion-ready .home-use-card .home-use-icon,
    .home-motion-ready .home-use-card img,
    .home-motion-ready .apartment-card img,
    .home-motion-count {
        animation: none !important;
    }

    .home-use-media::before,
    .home-news-media::before {
        display: none;
    }
}

@media (hover: none) {
    .home-use-media::before,
    .home-news-media::before {
        display: none;
    }
}

/* ============================================================
 * Hero Premium Entrance v4 — cinematic, overrides inline heroRise
 * ============================================================ */

/* Ken Burns on hero background — mobile */
.hero img.hero-bg {
    animation: heroBgKenBurns 10s var(--motion-premium) .05s both;
    will-change: transform, opacity;
}

/* Ken Burns desktop variant */
@media (min-width: 981px) {
    .hero img.hero-bg {
        animation: heroBgKenBurnsDesktop 12s var(--motion-premium) .05s both;
    }
}

/* Overlay dark gradient: fade in after bg */
.hero::after {
    animation: heroOverlayIn 1.3s ease .12s both;
}

/* H1 — cinematic: rise + blur dissolve */
.hero-copy > h1,
.hero-copy > *:nth-child(1) {
    animation: heroHeadlineCinematic 1.15s var(--motion-premium) .22s both !important;
}

/* Paragraph — elegant soft rise */
.hero-copy > p,
.hero-copy > *:nth-child(2) {
    animation: heroParagraphIn .95s var(--motion-premium) .5s both !important;
}

/* Hero actions wrapper */
.hero-copy > .hero-actions,
.hero-copy > *:nth-child(3) {
    animation: heroActionsSpring .9s var(--motion-premium) .7s both !important;
}

/* Individual buttons stagger */
.hero-actions > *:nth-child(1) {
    animation: heroBtnIn .8s var(--motion-premium) .74s both !important;
}

.hero-actions > *:nth-child(2) {
    animation: heroBtnIn .8s var(--motion-premium) .9s both !important;
}

/* Gold shimmer sweep on primary CTA after entry */
.hero-actions .btn-primary {
    position: relative;
    overflow: hidden;
}

.hero-actions .btn-primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.32) 50%, transparent 70%);
    transform: translateX(-120%) skewX(-12deg);
    pointer-events: none;
    animation: heroBtnShimmer .95s ease 1.48s both;
}

/* Gold accent line before .hero-copy on desktop */
@media (min-width: 981px) {
    .hero-copy::before {
        content: "";
        display: block;
        width: 48px;
        height: 3px;
        border-radius: 2px;
        background: linear-gradient(90deg, #b79a58, #d9c070, #b79a58);
        background-size: 200% 100%;
        margin-bottom: 22px;
        transform-origin: left center;
        animation:
            heroLineIn .72s var(--motion-premium) .16s both,
            heroLineGold 2.6s ease 1.3s infinite;
    }
}

/* Mobile scroll cue dots — only on mobile */
@media (max-width: 980px) {
    .hero {
        --mobile-hero-glow: rgba(215, 190, 114, .22);
    }

    .hero img.hero-bg {
        animation: heroBgKenBurnsMobile 9s var(--motion-premium) .05s both;
        transform-origin: 52% 48%;
    }

    .mobile-hero-video {
        opacity: 0 !important;
        transform: scale(1.075) translate3d(0, 0, 0) !important;
        filter: saturate(.72) brightness(.78) blur(3px);
        transition:
            opacity 1.15s ease,
            transform 8s var(--motion-premium),
            filter 1.3s ease;
        will-change: opacity, transform, filter;
    }

    .mobile-hero-video.is-playing {
        opacity: .92 !important;
        transform: scale(1.015) translate3d(0, 0, 0) !important;
        filter: saturate(1.05) brightness(.96) blur(0);
    }

    .mobile-hero-video.is-switching {
        opacity: .18 !important;
        transform: scale(1.045) translate3d(0, 6px, 0) !important;
        filter: saturate(.82) brightness(.82) blur(2px);
        transition-duration: .48s;
    }

    .mobile-hero-ambient {
        position: absolute;
        z-index: 1;
        inset: 0;
        overflow: hidden;
        pointer-events: none;
    }

    .mobile-hero-orb {
        position: absolute;
        display: block;
        border-radius: 50%;
        background: radial-gradient(circle, var(--mobile-hero-glow), transparent 68%);
        mix-blend-mode: screen;
        opacity: 0;
        filter: blur(3px);
        will-change: transform, opacity;
    }

    .mobile-hero-orb-one {
        top: 8%;
        right: -32%;
        width: 82vw;
        height: 82vw;
        animation: mobileHeroOrbOne 8s ease-in-out .5s infinite alternate;
    }

    .mobile-hero-orb-two {
        bottom: 10%;
        left: -48%;
        width: 92vw;
        height: 92vw;
        animation: mobileHeroOrbTwo 9s ease-in-out 1s infinite alternate;
    }

    .mobile-hero-horizon {
        position: absolute;
        left: -35%;
        bottom: 25%;
        width: 170%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(215,190,114,.12), rgba(255,255,255,.5), rgba(215,190,114,.12), transparent);
        box-shadow: 0 0 24px rgba(215,190,114,.16);
        transform: rotate(-7deg) scaleX(0);
        animation: mobileHeroHorizon 1.7s var(--motion-premium) 1.05s both;
    }

    .hero-copy {
        position: relative;
        isolation: isolate;
    }

    .hero-copy::before {
        content: "";
        width: 44px;
        height: 2px;
        margin: 0 auto 18px;
        background: linear-gradient(90deg, transparent, #d7be72, transparent);
        box-shadow: 0 0 18px rgba(215,190,114,.42);
        transform-origin: center;
        animation: mobileHeroLineIn .9s var(--motion-premium) .18s both;
    }

    .hero h1 {
        animation: mobileHeroHeadline 1.18s var(--motion-premium) .28s both !important;
    }

    .hero p {
        animation: mobileHeroParagraph .95s var(--motion-premium) .58s both !important;
    }

    .hero-actions {
        animation: mobileHeroActions .95s var(--motion-premium) .78s both !important;
    }

    .hero-actions > * {
        transition: transform .24s var(--motion-premium), box-shadow .24s ease, background-color .24s ease;
    }

    .hero-actions > *:active {
        transform: scale(.965);
    }

    .hero-actions .btn-primary {
        box-shadow: 0 14px 34px rgba(143,116,54,.32);
    }

    .mobile-hero-cue {
        animation: mobileHeroCueIn .8s var(--motion-premium) 1.18s both;
    }

    .mobile-hero-cue span:first-child {
        animation: mobileHeroCueGold 2.4s ease-in-out 1.8s infinite !important;
        transform-origin: center;
    }

    .mobile-hero-cue {
        display: flex !important;
        gap: 6px;
        justify-content: center;
        margin-top: 40px;
    }

    .mobile-hero-cue span {
        display: block;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: rgba(255,255,255,.65);
        animation: heroScrollBounce 1.85s ease infinite;
    }

    .mobile-hero-cue span:nth-child(2) { animation-delay: .22s; }
    .mobile-hero-cue span:nth-child(3) { animation-delay: .44s; }
}

@keyframes heroBgKenBurnsMobile {
    0% { opacity: 0; transform: scale(1.13) translate3d(0, 14px, 0); filter: saturate(.55) brightness(.72) blur(3px); }
    18% { opacity: .9; }
    100% { opacity: .9; transform: scale(1.035) translate3d(0, 0, 0); filter: saturate(1.04) brightness(.98) blur(0); }
}

@keyframes mobileHeroOrbOne {
    0% { opacity: .08; transform: translate3d(12px, -8px, 0) scale(.88); }
    100% { opacity: .5; transform: translate3d(-24px, 20px, 0) scale(1.12); }
}

@keyframes mobileHeroOrbTwo {
    0% { opacity: .06; transform: translate3d(-10px, 20px, 0) scale(.9); }
    100% { opacity: .34; transform: translate3d(28px, -16px, 0) scale(1.08); }
}

@keyframes mobileHeroHorizon {
    from { opacity: 0; transform: rotate(-7deg) scaleX(0); }
    55% { opacity: .8; }
    to { opacity: .35; transform: rotate(-7deg) scaleX(1); }
}

@keyframes mobileHeroLineIn {
    from { opacity: 0; transform: scaleX(0); filter: blur(4px); }
    to { opacity: 1; transform: scaleX(1); filter: blur(0); }
}

@keyframes mobileHeroHeadline {
    0% { opacity: 0; transform: translateY(44px) scale(.92); filter: blur(12px); letter-spacing: -.045em; }
    62% { opacity: 1; transform: translateY(-4px) scale(1.008); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); letter-spacing: 0; }
}

@keyframes mobileHeroParagraph {
    from { opacity: 0; transform: translateY(24px); filter: blur(7px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes mobileHeroActions {
    0% { opacity: 0; transform: translateY(24px) scale(.94); filter: blur(5px); }
    68% { opacity: 1; transform: translateY(-3px) scale(1.01); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes mobileHeroCueIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes mobileHeroCueGold {
    0%, 100% { opacity: .75; transform: scaleX(.8); box-shadow: 0 0 0 rgba(215,190,114,0); }
    50% { opacity: 1; transform: scaleX(1.12); box-shadow: 0 0 18px rgba(215,190,114,.48); }
}

/* Hero glassmorphism card shimmer on desktop */
@media (min-width: 981px) {
    .hero-copy {
        position: relative;
        overflow: hidden;
    }

    .hero-copy::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.07) 50%, transparent 70%);
        animation: heroCopyGloss 2.2s ease .85s both;
        pointer-events: none;
        z-index: 4;
    }
}

/* ── Keyframes ── */

@keyframes heroBgKenBurns {
    0%   { opacity: 0; transform: scale(1.1); filter: saturate(.58) brightness(.8); }
    16%  { opacity: .78; }
    100% { opacity: .78; transform: scale(1.02); filter: saturate(1) brightness(1); }
}

@keyframes heroBgKenBurnsDesktop {
    0%   { opacity: 0; transform: scale(1.07); filter: saturate(.62) brightness(.82); }
    14%  { opacity: .96; }
    100% { opacity: .96; transform: scale(1); filter: saturate(1.05) contrast(1.02); }
}

@keyframes heroOverlayIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes heroHeadlineCinematic {
    0%   { opacity: 0; transform: translateY(54px) scale(.94); filter: blur(14px); }
    52%  { opacity: 1; transform: translateY(-6px) scale(1.007); filter: blur(0); }
    78%  { transform: translateY(2px) scale(.999); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes heroParagraphIn {
    from { opacity: 0; transform: translateY(28px); filter: blur(7px); }
    64%  { opacity: 1; transform: translateY(-3px); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes heroActionsSpring {
    0%   { opacity: 0; transform: translateY(24px) scale(.93); }
    60%  { opacity: 1; transform: translateY(-4px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes heroBtnIn {
    0%   { opacity: 0; transform: translateY(20px) scale(.9); }
    62%  { opacity: 1; transform: translateY(-4px) scale(1.025); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes heroBtnShimmer {
    from { transform: translateX(-120%) skewX(-12deg); }
    to   { transform: translateX(130%) skewX(-12deg); }
}

@keyframes heroCopyGloss {
    from { transform: translateX(-120%) skewX(-14deg); }
    to   { transform: translateX(155%) skewX(-14deg); }
}

@keyframes heroLineIn {
    from { transform: scaleX(0); opacity: 0; }
    55%  { opacity: 1; }
    to   { transform: scaleX(1); opacity: 1; }
}

@keyframes heroLineGold {
    0%, 100% { background-position: 0% 50%; }
    50%       { background-position: 100% 50%; }
}

@keyframes heroScrollBounce {
    0%, 100% { transform: translateY(0); opacity: .5; }
    50%       { transform: translateY(8px); opacity: 1; }
}

/* Reduced motion: disable all hero entrance animations */
@media (prefers-reduced-motion: reduce) {
    .hero img.hero-bg,
    .hero::after,
    .hero-copy > h1,
    .hero-copy > *:nth-child(1),
    .hero-copy > p,
    .hero-copy > *:nth-child(2),
    .hero-copy > .hero-actions,
    .hero-copy > *:nth-child(3),
    .hero-actions > *,
    .hero-copy::before,
    .hero-copy::after,
    .mobile-hero-cue span {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }

    .hero-actions .btn-primary::after { display: none; }
    .mobile-hero-cue span { opacity: .65; }
    .mobile-hero-ambient { display: none !important; }
    .mobile-hero-video { transition: none !important; }
}

/* ============================================================
 * Premium scroll-reveal v3 — animatii semantice per sectiune
 * ============================================================ */

/* Benefits strip: iconuri semantice animate la reveal */

.home-motion-ready .home-benefits-inner article:nth-child(1).home-motion-visible > span svg {
    animation: benefitWave .9s var(--home-motion-ease) 300ms both;
}

.home-motion-ready .home-benefits-inner article:nth-child(2).home-motion-visible > span svg {
    animation: benefitRise .78s var(--home-motion-ease) 375ms both;
}

.home-motion-ready .home-benefits-inner article:nth-child(3).home-motion-visible > span svg {
    animation: benefitPulse .82s var(--home-motion-ease) 450ms both;
}

.home-motion-ready .home-benefits-inner article:nth-child(4).home-motion-visible > span svg {
    animation: benefitPinDrop .92s var(--home-motion-ease) 525ms both;
}

@keyframes benefitWave {
    0%   { transform: rotate(-15deg) scale(.66); opacity: 0; }
    50%  { transform: rotate(8deg) scale(1.15); opacity: 1; }
    75%  { transform: rotate(-3deg) scale(.97); }
    100% { transform: rotate(0) scale(1); opacity: 1; }
}

@keyframes benefitRise {
    0%   { transform: translateY(22px) scale(.68); opacity: 0; }
    55%  { transform: translateY(-6px) scale(1.12); opacity: 1; }
    80%  { transform: translateY(2px) scale(.98); }
    100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes benefitPulse {
    0%   { transform: scale(.58); opacity: 0; }
    45%  { transform: scale(1.2); opacity: 1; }
    72%  { transform: scale(.93); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes benefitPinDrop {
    0%   { transform: translateY(-28px) scale(.75); opacity: 0; }
    55%  { transform: translateY(7px) scale(1.13); opacity: 1; }
    80%  { transform: translateY(-2px) scale(.97); }
    100% { transform: translateY(0) scale(1); opacity: 1; }
}

/* Why Lamer grid: iconuri semantice la reveal */

.home-motion-ready .why-lamer-grid article:nth-child(1).home-motion-visible > span svg {
    animation: benefitPinDrop .92s var(--home-motion-ease) 280ms both;
}

.home-motion-ready .why-lamer-grid article:nth-child(2).home-motion-visible > span svg {
    animation: benefitRise .82s var(--home-motion-ease) 360ms both;
}

.home-motion-ready .why-lamer-grid article:nth-child(3).home-motion-visible > span svg {
    animation: benefitPulse .78s var(--home-motion-ease) 440ms both;
}

.home-motion-ready .why-lamer-grid article:nth-child(4).home-motion-visible > span svg {
    animation: benefitRise .78s var(--home-motion-ease) 520ms both;
}

/* Apartment cards: price overlay & spec items animate la reveal */

html.home-motion-ready .apartment-card.home-motion-item:not(.home-motion-visible) .apartment-image-overlay {
    opacity: 0;
    transform: translateY(14px);
}

html.home-motion-ready .apartment-card.home-motion-visible .apartment-image-overlay {
    animation: priceSlideUp .62s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 340ms) both;
}

html.home-motion-ready .apartment-card.home-motion-item:not(.home-motion-visible) .apartment-mini-spec {
    opacity: 0;
    transform: translateY(12px);
}

html.home-motion-ready .apartment-card.home-motion-visible .apartment-mini-spec:nth-child(1) {
    animation: specReveal .52s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 400ms) both;
}

html.home-motion-ready .apartment-card.home-motion-visible .apartment-mini-spec:nth-child(2) {
    animation: specReveal .52s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 470ms) both;
}

html.home-motion-ready .apartment-card.home-motion-visible .apartment-mini-spec:nth-child(3) {
    animation: specReveal .52s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 540ms) both;
}

html.home-motion-ready .apartment-card.home-motion-visible .apartment-status-badge.status-available {
    animation: statusGlow 2.6s ease calc(var(--home-motion-delay, 0ms) + 720ms) 2;
}

@keyframes priceSlideUp {
    from { transform: translateY(14px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

@keyframes specReveal {
    from { transform: translateY(12px) scale(.92); opacity: 0; filter: blur(4px); }
    to   { transform: translateY(0) scale(1); opacity: 1; filter: blur(0); }
}

@keyframes statusGlow {
    0%, 100% { box-shadow: 0 0 0 0 transparent; }
    40%      { box-shadow: 0 0 0 5px rgba(22, 163, 74, .2), 0 0 16px rgba(22, 163, 74, .14); }
}

/* Use cards: sheen automat pe primul reveal */

html.home-motion-ready .home-use-card.home-motion-visible .home-use-media::before {
    animation: homeImageSheen 1.1s ease .65s both;
}

/* Proof stats: spring dramatic la reveal */

html.home-motion-ready .home-use-proof > div.home-motion-visible strong {
    display: inline-block;
    animation: statSpring .85s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 120ms) both;
}

html.home-motion-ready .construction-video-proof article.home-motion-visible strong {
    display: inline-block;
    animation: statSpring .85s var(--home-motion-ease) calc(var(--home-motion-delay, 0ms) + 120ms) both;
}

@keyframes statSpring {
    0%   { transform: translateY(24px) scale(.62); opacity: 0; }
    55%  { transform: translateY(-6px) scale(1.16); opacity: 1; }
    80%  { transform: translateY(2px) scale(.97); }
    100% { transform: translateY(0) scale(1); opacity: 1; }
}

/* Why Lamer gallery: slide-uri individuale cu stagger */

html.home-motion-ready .why-lamer-media.home-motion-visible .why-lamer-gallery-track > div:nth-child(1) {
    animation: gallerySlideIn .68s var(--home-motion-ease) 80ms both;
}

html.home-motion-ready .why-lamer-media.home-motion-visible .why-lamer-gallery-track > div:nth-child(2) {
    animation: gallerySlideIn .68s var(--home-motion-ease) 155ms both;
}

html.home-motion-ready .why-lamer-media.home-motion-visible .why-lamer-gallery-track > div:nth-child(3) {
    animation: gallerySlideIn .68s var(--home-motion-ease) 230ms both;
}

html.home-motion-ready .why-lamer-media.home-motion-visible .why-lamer-gallery-track > div:nth-child(4) {
    animation: gallerySlideIn .68s var(--home-motion-ease) 305ms both;
}

html.home-motion-ready .why-lamer-media.home-motion-visible .why-lamer-gallery-track > div:nth-child(n+5) {
    animation: gallerySlideIn .68s var(--home-motion-ease) 380ms both;
}

@keyframes gallerySlideIn {
    from { transform: translateX(34px) scale(.94); opacity: 0; filter: blur(7px); }
    to   { transform: translateX(0) scale(1); opacity: 1; filter: blur(0); }
}

/* Final form: campuri cu stagger la reveal */

html.home-motion-ready .home-final-form.home-motion-item:not(.home-motion-visible) .home-final-form-fields label,
html.home-motion-ready .home-final-form.home-motion-item:not(.home-motion-visible) .home-final-submit {
    opacity: 0;
    transform: translateX(20px);
}

html.home-motion-ready .home-final-form.home-motion-visible .home-final-form-fields label:nth-child(1) {
    animation: formFieldIn .54s var(--home-motion-ease) 70ms both;
}

html.home-motion-ready .home-final-form.home-motion-visible .home-final-form-fields label:nth-child(2) {
    animation: formFieldIn .54s var(--home-motion-ease) 140ms both;
}

html.home-motion-ready .home-final-form.home-motion-visible .home-final-form-fields label:nth-child(3) {
    animation: formFieldIn .54s var(--home-motion-ease) 210ms both;
}

html.home-motion-ready .home-final-form.home-motion-visible .home-final-form-fields label:nth-child(4) {
    animation: formFieldIn .54s var(--home-motion-ease) 280ms both;
}

html.home-motion-ready .home-final-form.home-motion-visible .home-final-form-fields label:nth-child(5) {
    animation: formFieldIn .54s var(--home-motion-ease) 350ms both;
}

@keyframes formFieldIn {
    from { transform: translateX(24px); opacity: 0; filter: blur(5px); }
    to   { transform: translateX(0); opacity: 1; filter: blur(0); }
}

/* Construction video: text lines reveal cu stagger */

html.home-motion-ready .construction-video-copy > span.home-motion-visible {
    animation: videoLabelIn .6s var(--home-motion-ease) 80ms both;
}

html.home-motion-ready .construction-video-copy > h2.home-motion-visible {
    animation: videoLabelIn .7s var(--home-motion-ease) 160ms both;
}

html.home-motion-ready .construction-video-copy > p.home-motion-visible {
    animation: videoLabelIn .65s var(--home-motion-ease) 240ms both;
}

html.home-motion-ready .construction-video-actions.home-motion-visible,
html.home-motion-ready .construction-video-copy > .construction-video-actions.home-motion-visible {
    animation: videoLabelIn .62s var(--home-motion-ease) 320ms both;
}

@keyframes videoLabelIn {
    from { transform: translateX(-38px) scale(.97); opacity: 0; filter: blur(6px); }
    to   { transform: translateX(0) scale(1); opacity: 1; filter: blur(0); }
}

/* Reduced motion overrides — v3 */

@media (prefers-reduced-motion: reduce) {
    .home-motion-ready .home-benefits-inner article:nth-child(n).home-motion-visible > span svg,
    .home-motion-ready .why-lamer-grid article:nth-child(n).home-motion-visible > span svg,
    html.home-motion-ready .apartment-card.home-motion-visible .apartment-image-overlay,
    html.home-motion-ready .apartment-card.home-motion-visible .apartment-mini-spec,
    html.home-motion-ready .apartment-card.home-motion-visible .apartment-status-badge,
    html.home-motion-ready .home-use-card.home-motion-visible .home-use-media::before,
    html.home-motion-ready .home-use-proof > div.home-motion-visible strong,
    html.home-motion-ready .construction-video-proof article.home-motion-visible strong,
    html.home-motion-ready .why-lamer-media.home-motion-visible .why-lamer-gallery-track > div,
    html.home-motion-ready .home-final-form.home-motion-visible .home-final-form-fields label,
    html.home-motion-ready .home-final-form.home-motion-visible .home-final-submit,
    html.home-motion-ready .construction-video-copy > span.home-motion-visible,
    html.home-motion-ready .construction-video-copy > h2.home-motion-visible,
    html.home-motion-ready .construction-video-copy > p.home-motion-visible {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }

    html.home-motion-ready .apartment-card.home-motion-item:not(.home-motion-visible) .apartment-image-overlay,
    html.home-motion-ready .apartment-card.home-motion-item:not(.home-motion-visible) .apartment-mini-spec,
    html.home-motion-ready .home-final-form.home-motion-item:not(.home-motion-visible) .home-final-form-fields label,
    html.home-motion-ready .home-final-form.home-motion-item:not(.home-motion-visible) .home-final-submit {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ============================================================
 * Premium v5 — semantic per-section extras
 * Benefits/grid icon hover glow · Label gold sweep · 3D tilt ·
 * Construction progress bar · CTA heartbeat · Stats gold shimmer
 * ============================================================ */

/* Benefits icons — colored semantic glow pe hover */
.home-benefits-inner article > span {
    transition: filter .32s ease,
                transform .28s cubic-bezier(.18,.84,.28,1),
                color .28s ease,
                background-color .28s ease;
}

/* Prima linie la mare — albastru ocean */
.home-benefits-inner article:nth-child(1):hover > span {
    filter: drop-shadow(0 0 10px rgba(56, 189, 248, .65));
}
/* Skybar — auriu */
.home-benefits-inner article:nth-child(2):hover > span {
    filter: drop-shadow(0 0 10px rgba(201, 166, 70, .72));
}
/* Trei piscine — cyan turcoaz */
.home-benefits-inner article:nth-child(3):hover > span {
    filter: drop-shadow(0 0 10px rgba(6, 182, 212, .65));
}
/* Locatie D18 — verde */
.home-benefits-inner article:nth-child(4):hover > span {
    filter: drop-shadow(0 0 10px rgba(34, 197, 94, .65));
}

/* Why Lamer grid icons — colored semantic glow pe hover */
.why-lamer-grid article > span {
    transition: filter .32s ease, transform .28s cubic-bezier(.18,.84,.28,1);
}

/* Prima linie / pin — verde */
.why-lamer-grid article:nth-child(1):hover > span {
    filter: drop-shadow(0 0 9px rgba(34, 197, 94, .60));
}
/* 4 corpuri ansamblu — auriu */
.why-lamer-grid article:nth-child(2):hover > span {
    filter: drop-shadow(0 0 9px rgba(201, 166, 70, .62));
}
/* Planuri compartimentare — indigo */
.why-lamer-grid article:nth-child(3):hover > span {
    filter: drop-shadow(0 0 9px rgba(99, 102, 241, .60));
}
/* Comparatie tipuri / grafic — amber */
.why-lamer-grid article:nth-child(4):hover > span {
    filter: drop-shadow(0 0 9px rgba(245, 158, 11, .62));
}

/* Why Lamer label — shimmer gold sweep la reveal */
html.home-motion-ready .why-lamer-label {
    position: relative;
    overflow: hidden;
}

html.home-motion-ready .why-lamer-label::before {
    content: "";
    position: absolute;
    inset: -3px 0;
    background: linear-gradient(90deg, transparent 12%, rgba(183, 154, 88, .28) 50%, transparent 88%);
    pointer-events: none;
    opacity: 0;
}

html.home-motion-ready .why-lamer-content > .why-lamer-label.home-motion-visible::before {
    animation: labelGoldSweep .9s ease .62s both;
}

@keyframes labelGoldSweep {
    from  { transform: translateX(-115%); opacity: 0; }
    20%   { opacity: 1; }
    to    { transform: translateX(115%); opacity: 0; }
}

/* Apartment card — 3D perspective tilt activat de JS dupa reveal */
.apartment-card[data-tilt-active] {
    transform: perspective(960px) rotateX(var(--ty, 0deg)) rotateY(var(--tx, 0deg)) translateZ(0) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
    will-change: transform;
}

/* Construction progress bar (injectat prin JS) */
.construction-progress-bar-wrap {
    width: 100%;
    max-width: 140px;
    height: 3px;
    background: rgba(255, 255, 255, .18);
    border-radius: 2px;
    margin-top: 10px;
    overflow: hidden;
}

.construction-progress-bar-fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--accent, #c9a646) 0%, rgba(201, 166, 70, .44) 100%);
    border-radius: 2px;
    transition: width 1.8s cubic-bezier(.16, 1, .3, 1);
    will-change: width;
}

/* Submit button — heartbeat auriu repetat cand formularul e in view */
html.home-motion-ready .home-final-form.home-motion-visible .home-final-submit {
    animation: formFieldIn .54s var(--home-motion-ease) 430ms both,
               submitHeartbeat 3.4s ease 2.2s infinite;
}

@keyframes submitHeartbeat {
    0%, 100% { box-shadow: none; }
    45%      { box-shadow: 0 0 0 9px rgba(201, 166, 70, .18), 0 0 24px rgba(201, 166, 70, .10); }
}

/* Stats — shimmer auriu pe numere la reveal */
.home-use-proof > div.home-motion-visible strong,
.construction-video-proof article.home-motion-visible strong {
    position: relative;
    overflow: visible;
}

.home-use-proof > div.home-motion-visible strong::after,
.construction-video-proof article.home-motion-visible strong::after {
    content: "";
    position: absolute;
    inset: -3px -8px;
    background: linear-gradient(100deg, transparent 18%, rgba(201,166,70,.32) 50%, transparent 82%);
    animation: statGoldShimmer 1.0s ease calc(var(--home-motion-delay, 0ms) + 700ms) both;
    pointer-events: none;
    border-radius: 3px;
}

@keyframes statGoldShimmer {
    from { transform: translateX(-135%) skewX(-8deg); opacity: 0; }
    28%  { opacity: 1; }
    to   { transform: translateX(135%) skewX(-8deg); opacity: 0; }
}

/* Reduced motion — dezactivam v5 */
@media (prefers-reduced-motion: reduce) {
    .hero-copy::after { display: none !important; }
    .home-benefits-inner article > span,
    .why-lamer-grid article > span {
        filter: none !important;
        transition: none !important;
    }
    html.home-motion-ready .why-lamer-content > .why-lamer-label.home-motion-visible::before {
        animation: none !important;
        display: none !important;
    }
    .apartment-card[data-tilt-active] { transform: none !important; }
    html.home-motion-ready .home-final-form.home-motion-visible .home-final-submit {
        animation: formFieldIn .54s var(--home-motion-ease) 430ms both !important;
    }
    .home-use-proof > div.home-motion-visible strong::after,
    .construction-video-proof article.home-motion-visible strong::after {
        display: none !important;
    }
}

@media (hover: none) {
    .home-benefits-inner article:nth-child(n):hover > span,
    .why-lamer-grid article:nth-child(n):hover > span { filter: none !important; }
    .apartment-card[data-tilt-active] { transform: none !important; }
}
