/* ========================================
   TEXT 2 COLUMNS
======================================== */

.b-text-2-columns {
    width: 100%;
    padding: clamp(80px, 9vw, 150px) 0;
}

/* ========================================
   COLUMNS
======================================== */

.b-text-2-columns .columns {
    display: flex;
    align-items: flex-start;
    gap: clamp(40px, 6vw, 100px);
}

.b-text-2-columns .columns.is-reversed {
    flex-direction: row-reverse;
}

.b-text-2-columns .heading,
.b-text-2-columns .paragraph {
    flex: 1 1 0;
    min-width: 0;
}

/* ========================================
   HEADING
======================================== */

.b-text-2-columns .suptitle {
    margin-bottom: 12px;
    font-family: var(--font-primary);
    font-size: clamp(14px, 1.3vw, 20px);
    font-weight: 300;
    line-height: 1.4;
    text-transform: uppercase;
}

.b-text-2-columns .title {
    margin: 0;
    font-family: var(--font-secondary);
    font-size: clamp(32px, 3.5vw, 52px);
    font-weight: 700;
    line-height: 1.08;
}

.b-text-2-columns .subtitle {
    margin-top: 20px;
    font-family: var(--font-primary);
    font-size: clamp(15px, 1.3vw, 19px);
    font-weight: 400;
    line-height: 1.5;
}

/* ========================================
   PARAGRAPH
======================================== */

.b-text-2-columns .paragraph {
    font-family: var(--font-primary);
    font-size: clamp(14px, 1.1vw, 18px);
    font-weight: 400;
    line-height: 1.55;
}

.b-text-2-columns .paragraph p {
    margin: 0;
}

.b-text-2-columns .paragraph p + p {
    margin-top: 20px;
}

.b-text-2-columns .paragraph a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ========================================
   TABLET
======================================== */

@media (max-width: 991px) {
    .b-text-2-columns {
        padding: 75px 0;
    }

    .b-text-2-columns .columns {
        gap: 40px;
    }

    .b-text-2-columns .title {
        font-size: clamp(30px, 4vw, 42px);
    }
}

/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {
    .b-text-2-columns {
        padding: 60px 0;
    }

    .b-text-2-columns .columns,
    .b-text-2-columns .columns.is-reversed {
        flex-direction: column;
        gap: 30px;
    }

    .b-text-2-columns .heading,
    .b-text-2-columns .paragraph {
        flex: none;
        width: 100%;
    }

    .b-text-2-columns .title {
        font-size: clamp(30px, 7vw, 42px);
    }

    .b-text-2-columns .paragraph {
        font-size: 15px;
        line-height: 1.6;
    }
}
