.clientStory {
    position: relative;
}

.clientStory__background {
    position: absolute;
    top: -300px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: calc(100% + 300px);
    opacity: .1;
}

.clientStory__inner {
    position: relative;
    z-index: 2;
    padding-block: 4em 1em;
}

.clientStory__intro p {
    margin-bottom: .75em;
}

.clientStory__image {
    aspect-ratio: 1;
    background-color: var(--cloudy);
    -webkit-mask-image: url(../img/squircle.svg);
    mask-image: url(../img/squircle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 100%;
    width: 100%;
}

.clientStory__card {
    align-self: flex-end;
    width: fit-content;
    margin-inline: auto;
    position: relative;
}

.clientStory__cardInner {
    display: inline-flex;
    gap: 1rem 2rem;
    width: max-content;
    max-width: calc(100vw - 3rem);
    padding: 0 1.5rem;
    border-radius: var(--radius-m);
    background: #fff;
    box-shadow: var(--shadow-m);
    align-items: center;
}

.clientStory__logo {
    max-height: 4em;
    max-width: 8em !important;
    object-fit: contain;
}

.clientStory__cardText {
    line-height: 1;
    padding-block: 1.5rem;
}

.clientStory__name {
    display: block;
    margin-bottom: .1em;
    font: var(--font-bold) 1em var(--fam-headings);
}

@media screen and (max-width: 719px) {
    .clientStory__text {
        order: +1
    }

    .clientStory__title {
        position: absolute;
        left: -999em;
    }

    .clientStory__card {
        margin-top: -100%;
    }

    .clientStory__deco {
        position: absolute;
        height: auto;
        width: 100%;
        max-width: calc(100% - 20px) !important;
        aspect-ratio: 1;
    }
}

@media screen and (min-width: 720px) {
    .clientStory__inner {
        min-height: 400px;
    }

    .clientStory__who {
        position: absolute;
        inset: 0 0 0 auto;
    }

    .clientStory__image,
    .clientStory__deco {
        position: absolute;
        inset: 0 0 0 20px;
        height: auto;
        width: 100%;
        max-width: 480px !important;
        margin: auto;
        aspect-ratio: 1
    }

    .clientStory__card {
        position: relative;
        flex-basis: 50%;
    }
}

@media screen and (min-width: 960px) {
    .clientStory__title {
        font-size: var(--size-h-xlarge);
    }
}
