.case-problem-solution {
    position: relative;
}

.case-problem-solution__wrapper {
    color: var(--goals-head-color, var(--black-color, #0d1118));
}

.case-problem-solution__stage {
    position: relative;
    z-index: 0;
}

.case-problem-solution__connector {
    display: block;
    width: 100%;
    height: auto;
    max-width: calc(100% - 130px - 504px);
    padding-top: 24px;
    padding-left: 130px;
    color: var(--case-problem-solution-line-color, var(--solution-label-bg, #4334ce));
    pointer-events: none;
}

.case-problem-solution__connector path {
    vector-effect: non-scaling-stroke;
}

.case-problem-solution__label {
    height: 48px;
    border-radius: 24px;
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0;
    text-transform: uppercase;
    padding-left: 24px;
    padding-right: 24px;
    display: flex;
    align-items: center;
    max-width: fit-content;
    margin-bottom: 24px;
    box-sizing: border-box;
}

.case-problem-solution__label.problem {
    background-color: var(--problem-label-bg, #ff7a45);
    color: var(--problem-label-color, var(--white-color, #fefefe));
}

.case-problem-solution__label.solution {
    background-color: var(--solution-label-bg, #4334ce);
    color: var(--solution-label-color, var(--white-color, #fefefe));
}

.case-problem-solution--has-border .case-problem-solution__label.problem {
    border: 1px solid var(--problem-label-border, var(--problem-label-bg, #ff7a45));
}

.case-problem-solution--has-border .case-problem-solution__label.solution {
    border: 1px solid var(--solution-label-border, var(--solution-label-bg, #4334ce));
}

.case-problem-solution__problem ul,
.case-problem-solution__solution ul {
    list-style: none;
    padding: 0;
}

.case-problem-solution__problem li,
.case-problem-solution__solution li {
    position: relative;
    font-weight: 400;
    padding-left: 18px;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 0;
    color: inherit;
}

.case-problem-solution__problem li::before,
.case-problem-solution__solution li::before {
    content: "–";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 400;
    line-height: 150%;
}

@media screen and (min-width: 1301px) {
    .case-problem-solution__stage {
        --case-ps-stage-height: 0px;
    }

    .case-problem-solution__problem,
    .case-problem-solution__solution {
        position: absolute;
        max-width: 504px;
        z-index: 1;
    }

    .case-problem-solution__problem {
        top: 0;
        left: 0;
    }

    .case-problem-solution__solution {
        top: calc(var(--case-ps-stage-height) - 24px);
        right: 0;
    }
}

@media screen and (max-width: 1300px) {
    .case-problem-solution__connector {
        display: none;
    }

    .case-problem-solution__stage {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
}

@media screen and (min-width: 921px) and (max-width: 1300px) {
    .case-problem-solution__problem,
    .case-problem-solution__solution {
        display: flex;
        gap: 80px;
    }

    .case-problem-solution__label {
        margin-bottom: 0;
    }

    .case-problem-solution__badge {
        min-width: 346px;
    }
}
