.elementor-487 .elementor-element.elementor-element-07e861f{--display:flex;--min-height:100vh;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-5f24c73 */* {
    box-sizing: border-box;
}


/* =========================================
   MAIN SCROLL SECTION
========================================= */

.cascade-scroll {
    position: relative;

    width: 100%;

    /*
       JS automatically changes this height
       according to number of cards.
    */

    min-height: 100vh;

    background: #f4f3ef;

    overflow: visible !important;

    isolation: isolate;
}


/* =========================================
   PINNED AREA
========================================= */

.cascade-pin {
    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 100vh;

    overflow: hidden;

    display: grid;

    grid-template-columns: 42% 58%;

    align-items: center;

    background: #f4f3ef;

    z-index: 20;

    transition:
        opacity .25s ease;
}


/*
   JS adds this while scrolling through
   the card sequence.
*/

.cascade-pin.is-fixed {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100vh;
}


/*
   At the very end the scene becomes
   absolute so it leaves naturally.
*/

.cascade-pin.is-ended {
    position: absolute;

    top: auto;
    bottom: 0;
}


/* =========================================
   LEFT TEXT
========================================= */

.cascade-text {
    position: relative;

    z-index: 100;

    padding-left: clamp(30px, 7vw, 120px);

    padding-right: 40px;
}


.cascade-label {
    margin-bottom: 25px;

    font-size: 11px;

    letter-spacing: 2px;

    font-weight: 600;

    opacity: .45;
}


.cascade-text h2 {
    margin: 0;

    font-size: clamp(52px, 6vw, 90px);

    line-height: .9;

    letter-spacing: -5px;

    font-weight: 500;
}


.cascade-text h2 span {
    font-style: italic;

    font-weight: 400;
}


.cascade-text p {
    max-width: 390px;

    margin: 30px 0 35px;

    font-size: 15px;

    line-height: 1.7;

    color: #666;
}


/* =========================================
   COUNTER
========================================= */

.cascade-count {
    display: flex;

    align-items: center;

    gap: 14px;

    font-size: 12px;

    font-weight: 600;
}


.cascade-count i {
    position: relative;

    display: block;

    width: 90px;

    height: 1px;

    background: rgba(0,0,0,.18);
}


.cascade-count i::after {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: var(--cascade-progress, 16%);

    height: 1px;

    background: #111;
}


/* =========================================
   CARD STAGE
========================================= */

.cascade-stage {
    position: relative;

    width: 100%;
    height: 100%;

    perspective: 1400px;

    transform-style: preserve-3d;

    overflow: visible;
}


/* =========================================
   CARD
========================================= */

.cascade-card {
    position: absolute;

    left: 50%;
    top: 50%;

    width: min(390px, 48vw);

    aspect-ratio: .72;

    border-radius: 8px;

    overflow: hidden;

    background: #ddd;

    box-shadow:
        0 35px 90px rgba(0,0,0,.20);

    transform-origin: center center;

    will-change:
        transform,
        opacity;

    backface-visibility: hidden;

    transform:
        translate3d(-50%, -50%, 0)
        scale(1);

    opacity: 0;

    transition:
        transform .08s linear,
        opacity .08s linear,
        filter .08s linear;
}


.cascade-card img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    user-select: none;

    pointer-events: none;
}


/* =========================================
   CARD DARK GRADIENT
========================================= */

.cascade-card::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.78) 0%,
            rgba(0,0,0,.15) 45%,
            transparent 65%
        );

    pointer-events: none;
}


/* =========================================
   CARD TEXT
========================================= */

.cascade-info {
    position: absolute;

    left: 24px;
    right: 24px;
    bottom: 24px;

    z-index: 5;

    color: #fff;
}


.cascade-info small {
    display: block;

    margin-bottom: 7px;

    font-size: 9px;

    letter-spacing: 1.5px;

    opacity: .7;
}


.cascade-info strong {
    display: block;

    font-size: 23px;

    font-weight: 500;
}


/* =========================================
   DESKTOP
========================================= */

@media (min-width: 901px) {

    .cascade-stage {
        height: 100vh;
    }

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .cascade-pin {
        grid-template-columns: 1fr;

        display: block;

        height: 100vh;
    }

    .cascade-text {
        position: absolute;

        top: 45px;
        left: 0;

        width: 100%;

        padding: 0 25px;

        text-align: center;
    }

    .cascade-label {
        margin-bottom: 15px;
    }

    .cascade-text h2 {
        font-size: 48px;

        letter-spacing: -3px;
    }

    .cascade-text p {
        margin: 18px auto 20px;

        max-width: 330px;

        font-size: 14px;
    }

    .cascade-count {
        justify-content: center;
    }

    .cascade-stage {
        width: 100%;
        height: 100vh;
    }

    .cascade-card {
        width: 230px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .cascade-text {
        top: 35px;
    }

    .cascade-text h2 {
        font-size: 40px;

        letter-spacing: -2px;
    }

    .cascade-text p {
        margin-top: 15px;
    }

    .cascade-card {
        width: 190px;
    }

    .cascade-info {
        left: 17px;
        right: 17px;
        bottom: 17px;
    }

    .cascade-info strong {
        font-size: 17px;
    }

}/* End custom CSS */