.three-column {
    position: relative;
}

.three-column .white_background {
    position: relative;
    background-color: var(--color-white);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: flex-start;
    padding: 50px;
    border-radius: 20px;
    gap: 24px;
}

.three-column .white_background h2 {
    width: 200px;
    max-width: 100%;
    font-size: var(--font-size-32);
    font-weight: 600;
    color: var(--color-black);
    margin: 0;
}

.three-column .white_background p {
    font-size: var(--font-size-16);
    font-weight: 400;
    color: var(--color-black);
    margin: 0;
}

@media (max-width: 767px) {
    .three-column .white_background {
        padding: 32px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
        border-radius: 14px;
    }

    .three-column .white_background h2 {
        font-size: var(--font-size-24);
    }
    .three-column .white_background p {
        font-size: var(--font-size-14);
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    
    .three-column .white_background {
        padding: 32px;
        align-items: flex-start;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }

    .three-column .white_background > *:last-child {
        grid-column: 1 / -1;
    }

    .three-column .white_background h2 {
        font-size: var(--font-size-28);
    }

    .three-column .white_background p {
        font-size: var(--font-size-20);
    }
}

@media (min-width: 1024px) and (max-width: 1279px) {

    .three-column .white_background {
        padding: 32px;
    }

    .three-column .white_background h2 {
        font-size: var(--font-size-24);
    }
    
    .three-column .white_background p {
        font-size: var(--font-size-14);
    }
}