.section__header {
    max-width: 680px;
}

.section__header--center {
    margin: 0 auto;
    text-align: center;
}

.section__header-undertitle {
    font-family: var(--fm);
    font-weight: 500;
    font-size: 10.5px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--teal);
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.section__header-undertitle::before {
    content: "";
    width: 24px;
    height: 2px;
    background: currentColor;
    opacity: .7;
}

.section__header--center .section__header-undertitle {
    justify-content: center;
}

.section__header-title {
    font-family: var(--fd);
    font-weight: 600;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.08;
    letter-spacing: -.02em;
    margin: 16px 0 0;
    color: var(--ink);
}

.section__header-title--xl {
    font-size: clamp(32px, 4.4vw, 54px);
    line-height: 1.05;
}

.section__header-subtitle {
    font-size: 17.5px;
    margin-top: 16px;
    line-height: 1.6;
}

.section__header--dark .section__header-undertitle {
    color: #8DA0B6;
}

.section__header--dark .section__header-title {
    color: var(--d-tx);
}

.section__header--dark .section__header-subtitle {
    color: var(--d-tx2);
}

.section__header-undertitle--badge {
    gap: 8px;
    color: var(--coral);
    background: rgba(240, 133, 123, .1);
    border: 1px solid rgba(240, 133, 123, .32);
    padding: 8px 12px;
    border-radius: 999px;
}

.section__header-undertitle--badge::before {
    display: none;
}

.section__header--dark .section__header-undertitle--badge {
    color: var(--coral);
}

.section__header-undertitle--numbered::before {
    display: none;
}

.section__header-number {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--teal-mist);
    border-radius: 50%;
    background: var(--teal-frost);
    font-family: var(--fs);
    font-size: 15px;
    letter-spacing: 0;
    color: var(--teal-deep);
}
