.benefits {
    padding: 0 0 var(--spacing-mega) 0;
    display: flex;
    flex-direction: column;
    background-color: var(--color-primary-light);
}

.benefits>* {
    padding: var(--spacing-lg) var(--spacing-md) var(--spacing-mega);
}

.benefits-text {
    position: relative;
    padding-left: 0;
}

.benefits-heading {
    line-height: 2.4rem;
    margin: 0 0 var(--spacing-md-lg) var(--spacing-md);
}

.benefits-flex {
    flex-direction: column;
    display: flex;
    height: 100%;
    position: relative;
    gap: var(--spacing-md);
}

.benefit-card {
    background-color: white;
    border-radius: 0 20px 20px 0;
    padding: var(--spacing-md);
    position: relative;
}

.benefit-card>.svg-corner {
    display: none;
    top: -24px;
    left: 0;
}

.benefits-flex .cta {
    margin-left: var(--spacing-md);
}

.benefits-image {
    padding-right: 0;
    background-color: black;
    border-radius: 0 0 0 200px;
}

.benefits-image-wrapper {
    position: relative;
}


.benefits-image-wrapper img {
    margin-left: auto;
    max-width: 100%;
    border-radius: 20px 0 0 20px;
}

.benefits-image-caption {
    padding: var(--spacing-md);
    background-color: rgb(237, 37, 78, 0.75);
    color: white;
    position: absolute;
    max-width: calc(100% - var(--spacing-md));
    top: 50%;
    right: 0;
    border-radius: 20px 0 0 20px;
}

@media screen and (min-width: 800px) {

    .benefits {
        flex-direction: row;
    }

    .benefits>* {
        width: 50%;
        padding: var(--spacing-mega) var(--spacing-md) var(--spacing-section);
    }

    .benefits-text {
        padding-left: 0;
    }

}

@media screen and (min-width: 1200px) {

    .benefits-image {
        padding-right: var(--spacing-md);
    }

    .benefits-image-wrapper img {
        max-width: 400px;
        margin-left: auto;
        border-radius: var(--border-radius-box);
    }

    .benefits-image-caption {
        top: 100px;
        left: 0;
        right: auto;
        max-width: 300px;
    }

    .benefits-heading {
        position: absolute;
        line-height: 3rem;
        top: 120px;
        right: var(--spacing-md);
        margin: 0;
    }

    .benefits-flex {
        flex-direction: row;
        gap: 0;
    }

    .benefit-card {
        border-radius: 0 20px 0 0;
    }

    .benefit-card:nth-child(2) {
        align-self: flex-end;
        height: calc(100% - 100px);
        padding-left: 0;
    }

    .benefit-card:nth-child(3) {
        align-self: flex-end;
        height: calc(100% - 200px);
        border-radius: 0 20px 20px 0;
        padding-left: 0;
    }

    .benefit-card>.svg-corner {
        display: block;
    }

    .benefits-flex .cta {
        position: absolute;
        bottom: var(--spacing-md);
        left: var(--spacing-md);
        margin-left: 0;
    }

}