.three_column_blocks {
    & .three_column_blocks_heading {
        display: block;
        font-size: 40px;
        line-height: 1.2;
        font-weight: 400;
        color: #1E1E1E;
        text-align: center;
        margin: 0 0 40px;
    }
    & .three_column_blocks_inner {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
        &.card-count-3 {
            grid-template-columns: repeat(3, 1fr);
        }
        &.card-count-2 {
            grid-template-columns: repeat(2, 1fr);
            max-width: 55%;
            margin-left: auto;
            margin-right: auto;
        }
        & .three_column_block {
            position: relative;
            background: #fff;
            border-radius: 20px;
            overflow: hidden;
            & .image {
                height: 200px;
                & img {
                    width: 100%;
                    height: 100% !important;
                    object-fit: cover;
                    display: block;
                }
            }
            & .content {
                padding: 22px 24px 26px;
                text-align: center;
            }
            & span {
                font-style: normal;
                font-weight: 600;
                font-size: 18px;
                line-height: 1.3;
                text-align: center;
                letter-spacing: 0.02em;
                text-transform: none;
                color: var(--red);
                display: block;
                margin-bottom: 12px;
            }
            & .content_inner {
                & p {
                    font-style: normal;
                    font-weight: 400;
                    font-size: 14px;
                    line-height: 130%;
                    text-align: center;
                    color: #1E1E1E;
                }
            }
        }
    }
    &.is-single-card {
        & .three_column_blocks_inner {
            display: block;
            grid-template-columns: 1fr;
            gap: 0;
        }
        & .three_column_block {
            display: grid;
            grid-template-columns: minmax(0, 37%) minmax(0, 63%);
            align-items: stretch;
            background: #FFFFFF;
            border-radius: 28px;
            box-shadow: none;
            overflow: hidden;
            min-height: 420px;
        }
        & .three_column_block .image {
            height: 100%;
        }
        & .three_column_block .image img {
            width: 100%;
            height: 100% !important;
            object-fit: cover;
            display: block;
        }
        & .three_column_block .content {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            padding: 56px 64px;
            text-align: left;
        }
        & .three_column_block span {
            font-size: clamp(24px, 3vw, 30px);
            line-height: 1.15;
            font-weight: 400;
            text-align: left;
            margin: 0 0 18px;
        }
        & .three_column_block .content_inner p {
            margin: 0;
            font-size: clamp(16px, 1.2vw, 18px);
            text-align: left;
        }
    }
    @media (max-width: 1200px) {
        & .three_column_blocks_inner {
            grid-template-columns: repeat(3, 1fr);
            &.card-count-2 {
                grid-template-columns: repeat(2, 1fr);
                max-width: 65%;
            }
        }
        &.is-single-card {
            & .three_column_block {
                grid-template-columns: minmax(0, 40%) minmax(0, 60%);
                min-height: 380px;
            }
            & .three_column_block .content {
                padding: 44px 40px;
            }
        }
    }
    @media (max-width: 1024px) {
        & .three_column_blocks_inner.card-count-2 {
            max-width: 75%;
        }
        & .three_column_block {
            & .image {
                height: 180px !important;
            }
        }
        &.is-single-card {
            & .three_column_block {
                grid-template-columns: minmax(0, 44%) minmax(0, 56%);
                min-height: 340px;
            }
            & .three_column_block .image {
                height: 100% !important;
            }
        }
    }
    @media (max-width: 991px) {
        &.is-single-card {
            & .three_column_block {
                grid-template-columns: 1fr;
                min-height: 0;
            }
            & .three_column_block .image {
                height: 320px !important;
            }
            & .three_column_block .content {
                padding: 32px 28px 36px;
            }
            & .three_column_block span {
                margin-bottom: 14px;
            }
        }
    }
    @media (max-width: 767px) {
        & .three_column_blocks_heading {
            font-size: 32px;
            font-weight: inherit;
            margin-bottom: 28px;
            
        }
        & .three_column_blocks_inner {
            display: block!important;
            gap: 30px;
            max-width: none;
        }
        & .content span {
            font-size: 18px!important;
        }
        & .three_column_block {
            height: auto!important;
            & .image {
                height: 220px!important;
            }
        }
        &.is-single-card {
            & .three_column_block .content {
                padding: 28px 24px 32px;
            }
            & .three_column_block span {
                font-size: 28px !important;
                text-align: left;
            }
            & .three_column_block .content_inner p {
                font-size: 16px;
                text-align: left;
            }
        }
    }
}