/* Work Intro — sticky photo expand + frosted project panel */

.df-work-intro {
    position: relative;
    height: 100svh;
    min-height: 460px;
    overflow: hidden;
    background: #fff;
    color: #1e1e1e;
}

.df-work-intro__stage {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 460px;
    overflow: hidden;
    background: #fff;
    isolation: isolate;
    container-type: size;
}

.df-work-intro__photo {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    border-radius: 16px;
    background: #eeedeb;
    transform: translate3d(0, 26svh, 0) scale(0.52);
    transform-origin: center;
    will-change: transform, border-radius;
}

.df-work-intro__crop,
.df-work-intro__crop picture,
.df-work-intro__image,
.df-work-intro__shade {
    position: absolute;
    inset: 0;
}

.df-work-intro__crop picture {
    display: block;
}

.df-work-intro__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
}

.df-work-intro__shade {
    background: #000;
    opacity: 0;
    pointer-events: none;
}

.df-work-intro__panel {
    position: absolute;
    z-index: 3;
    inset: 0 auto 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46.197917%;
    border-radius: 0 16px 16px 0;
    background: rgba(255, 255, 255, 0.5);
    transform: translateX(-101%);
    will-change: transform;
}

.df-work-intro__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 64.94%;
    gap: 5.507cqh;
    text-align: center;
    transform: translateY(0.135cqh);
}

.df-work-intro__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4.928cqh;
    width: 100%;
}

.df-work-intro__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.319cqh;
    width: 100%;
}

.df-work-intro__title {
    margin: 0;
    color: #1e1e1e;
    font-family: var(--df-font-display, Poppins, sans-serif);
    font-size: 5.729167cqw;
    font-weight: 300;
    line-height: 5.507cqh;
}

.df-work-intro__category,
.df-work-intro__description {
    margin: 0;
}

.df-work-intro__category {
    color: #3b3b3b;
    font-family: var(--df-font-body, Poppins, sans-serif);
    font-size: 0.625cqw;
    font-weight: 400;
    letter-spacing: 0.05625cqw;
    line-height: 1.5;
    white-space: nowrap;
}

.df-work-intro__description {
    width: 101.215%;
    color: #4b5563;
    font-family: var(--df-font-body, Poppins, sans-serif);
    font-size: 0.9375cqw;
    font-weight: 400;
    line-height: 1.5;
}

.df-work-intro__reveal {
    opacity: 0;
    transform: translateY(22px);
    will-change: transform, opacity;
}

.df-work-intro__title.df-work-intro__reveal {
    transform: translateY(38px);
}

.df-work-intro__link.df-cta-visit-more {
    --df-cta-visit-more-text: #2a2a30;
    --df-cta-visit-more-accent: var(--df-color-accent, #a107c0);
}

.elementor-widget-dreamfarm-work-intro,
.elementor-widget:has(.df-work-intro),
.elementor-widget-dreamfarm-work-intro > .elementor-widget-container {
    overflow: visible;
}

@media (max-width: 700px) {
    .df-work-intro__photo {
        transform: translate3d(0, 22svh, 0) scale(0.78);
    }

    .df-work-intro__image {
        object-position: 64% center;
    }

    .df-work-intro__crop.has-mobile-image .df-work-intro__image {
        object-position: center;
    }

    .df-work-intro__panel {
        inset: auto 0 0;
        width: 100%;
        height: 45%;
        min-height: 290px;
        border-radius: 16px 16px 0 0;
    }

    .df-work-intro__content {
        width: calc(100% - 48px);
        max-width: 430px;
        gap: 26px;
        transform: none;
    }

    .df-work-intro__copy {
        gap: 22px;
    }

    .df-work-intro__heading {
        gap: 20px;
    }

    .df-work-intro__title {
        font-size: 58px;
        line-height: 0.8;
    }

    .df-work-intro__category {
        font-size: 9px;
        letter-spacing: 0.55px;
        white-space: normal;
    }

    .df-work-intro__description {
        width: 100%;
        font-size: 14px;
        line-height: 1.6;
    }
}

.df-work-intro.is-static {
    height: 100svh;
}

.df-work-intro.is-static .df-work-intro__photo {
    border-radius: 0;
    transform: none;
}

.df-work-intro.is-static .df-work-intro__shade {
    opacity: 0.1;
}

.df-work-intro.is-static .df-work-intro__panel,
.df-work-intro.is-static .df-work-intro__reveal {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .df-work-intro__photo {
        border-radius: 0;
        transform: none;
    }

    .df-work-intro__shade {
        opacity: 0.1;
    }

    .df-work-intro__panel,
    .df-work-intro__reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
