.MarketCastClientQuoteStack {
    --client-quote-max-width: 1420px;
    --client-quote-overlap: 74px;
    --client-quote-logo-width: 168px;
    --client-quote-border-color: #4bd8ff;
    --client-quote-accent: #2fc5ff;
    position: relative;
    width: min(100%, var(--client-quote-max-width));
    margin: 0 auto;
    padding: clamp(24px, 4vw, 28px) clamp(18px, 4vw, 42px);
}

.MarketCastClientQuoteStack .client-quote-stack__item {
    --quote-parallax-y: 0px;
    position: relative;
    width: min(76%, calc(var(--client-quote-max-width) - 320px));
    transform: translate3d(0, var(--quote-parallax-y), 0);
    will-change: transform;
}

.MarketCastClientQuoteStack .client-quote-stack__item + .client-quote-stack__item {
    margin-top: calc((var(--client-quote-overlap) * -1) - 18px);
}

.MarketCastClientQuoteStack .client-quote-stack__item--odd {
    margin-right: auto;
    z-index: 1;
}

.MarketCastClientQuoteStack .client-quote-stack__item--even {
    margin-left: auto;
    z-index: 2;
    margin-right: 8%;
}

.MarketCastClientQuoteStack .client-quote-stack__card {
    position: relative;
    min-height: 340px;
    padding: clamp(38px, 4vw, 64px) clamp(28px, 4vw, 64px);
}

.MarketCastClientQuoteStack .client-quote-stack__card::before {
    position: absolute;
    inset: 0;
    border: 1px solid var(--client-quote-border-color);
    content: "";
    pointer-events: none;
}

.MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__card {
    padding-right: clamp(110px, 14vw, 190px);
}

.MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__card::before {
    border-radius: 0 84px 0 0;
}

.MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__card {
    padding-left: clamp(110px, 14vw, 190px);
}

.MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__card::before {
    border-radius: 0 0 0 84px;
}

.MarketCastClientQuoteStack .client-quote-stack__quote {
    position: relative;
    margin: 0;
    color: #1f1f1f;
    font-size: clamp(17px, 1.6vw, 20px);
    font-weight: 300;
    line-height: 1.36;
    letter-spacing: 0.01em;
}

.MarketCastClientQuoteStack .client-quote-stack__quote::before {
    display: inline-block;
    margin-right: 12px;
    color: var(--client-quote-accent);
    font-size: 3em;
    font-style: normal;
    font-weight: 700;
    line-height: 0.4;
    vertical-align: -0.22em;
    content: "\201C";
}

.MarketCastClientQuoteStack .client-quote-stack__attribution {
    margin: 24px 0 0;
    color: #111;
    font-size: clamp(15px, 1.2vw, 18px);
    font-style: italic;
    font-weight: 600;
    line-height: 1.28;
}

.MarketCastClientQuoteStack .client-quote-stack__logo {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: min(100%, calc(var(--client-quote-logo-width) * 0.78));
    transform: translateY(-50%);
}

.MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__logo {
    right: 0;
    transform: translate(50%, -50%);
}

.MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__logo {
    left: 0;
    transform: translate(-50%, -50%);
}

.MarketCastClientQuoteStack .client-quote-stack__logo-image {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 1024px) {
    .MarketCastClientQuoteStack {
        --client-quote-overlap: 36px;
        --client-quote-logo-width: 150px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item {
        width: min(92%, calc(var(--client-quote-max-width) - 48px));
    }

    .MarketCastClientQuoteStack .client-quote-stack__item--even {
        margin-right: 0;
    }

    .MarketCastClientQuoteStack .client-quote-stack__card {
        min-height: 0;
        padding: 34px 26px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__card {
        padding-right: clamp(88px, 12vw, 144px);
    }

    .MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__card {
        padding-left: clamp(88px, 12vw, 144px);
    }

    .MarketCastClientQuoteStack .client-quote-stack__quote {
        font-size: 18px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__attribution {
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .MarketCastClientQuoteStack .client-quote-stack__item {
        transform: none;
    }
}

@media (max-width: 900px) {
    .MarketCastClientQuoteStack {
        --client-quote-overlap: 0px;
        --client-quote-logo-width: 132px;
        padding-right: 18px;
        padding-left: 18px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item {
        width: 100%;
        transform: none;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item + .client-quote-stack__item {
        margin-top: 24px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item--even {
        margin-right: 0;
    }

    .MarketCastClientQuoteStack .client-quote-stack__card,
    .MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__card,
    .MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__card {
        padding: 28px 22px 26px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__card::before,
    .MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__card::before {
        border-right: 1px solid var(--client-quote-border-color);
        border-left: 1px solid var(--client-quote-border-color);
        border-radius: 28px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__logo,
    .MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__logo,
    .MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__logo {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        display: block;
        width: min(128px, 28vw);
        margin: 0 0 16px;
        transform: none;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__logo {
        margin-left: auto;
    }

    .MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__logo {
        margin-right: auto;
    }

    .MarketCastClientQuoteStack .client-quote-stack__quote {
        font-size: 17px;
        line-height: 1.42;
    }

    .MarketCastClientQuoteStack .client-quote-stack__attribution {
        font-size: 15px;
    }
}

@media (max-width: 767px) {
    .MarketCastClientQuoteStack {
        --client-quote-logo-width: 116px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__card,
    .MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__card,
    .MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__card {
        padding: 24px 20px 24px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__logo,
    .MarketCastClientQuoteStack .client-quote-stack__item--odd .client-quote-stack__logo,
    .MarketCastClientQuoteStack .client-quote-stack__item--even .client-quote-stack__logo {
        width: min(112px, 32vw);
        margin-bottom: 14px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__quote {
        font-size: 16px;
    }

    .MarketCastClientQuoteStack .client-quote-stack__quote::before {
        margin-right: 8px;
        font-size: 2.2em;
        vertical-align: -0.18em;
    }
}
