.number-cards .nc-head {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.number-cards .nc-carousel {
    display: flex;
    flex-direction: column;
    gap: var(--spacer-arrow);
    margin-right: calc(-1 * var(--gutter));
}

.number-cards .nc-viewport {
    overflow: hidden;
    width: 100%;
}

.number-cards .nc-track {
    display: flex;
    gap: 16px; /* desktop: cards flush (divisor entre eles) */
    transition: transform 0.55s var(--ease);
    will-change: transform;
}

.number-cards .nc-action {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    height: 56px;
}

    .number-cards .nc-action.is-hidden {
        display: none;
    }

    .number-cards .nc-action .kpi-btn {
        box-shadow: none;
    }

    .number-cards .nc-action .kpi-btn--back {
        background: var(--bg-neutral-subtle);
        color: var(--icon-default);
    }

    .number-cards .nc-action .kpi-btn--fwd {
        background: var(--bg-primary-strong);
        color: var(--icon-inverse);
    }

.number-cards .nc-card {
    position: relative;
    flex: 1 0 305px; /* ≥305: cresce p/ preencher quando cabem; travam e paginam quando não */
    height: 384px;
    padding: 24px;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    gap: 50px;
    background: #ECE8FF; /* desktop: branco (funde na section; divisor separa) */
    cursor: pointer;
    text-decoration: none; /* o card é um <a> */
}

.number-cards .nc-card__fill {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--bg-primary-strong);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--t-base) var(--ease);
}

.number-cards .nc-card:hover .nc-card__fill,
.number-cards .nc-card:focus-within .nc-card__fill {
    transform: scaleX(1);
}

.number-cards .nc-card__top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 8px;
}

.number-cards .nc-card__more {
    font-family: var(--font-tpSans-light);
    font-weight: var(--fw-light); /* 300 */
    /*font-size: var(--fs-24);
    line-height: var(--lh-32);
    letter-spacing: var(--letter-spacing);*/
    white-space: nowrap;
    color: var(--title-neutral); /* #8b9eb3 */
    transition: color var(--t-base) var(--ease);
}

.number-cards .nc-card__arrow {
    flex: none;
    width: 33px;
    height: 33px;
    color: var(--icon-brand-strong); /* #5318bf */
    transition: color var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}

    .number-cards .nc-card__arrow svg {
        display: block;
        width: 100%;
        height: 100%;
    }

.number-cards .nc-card__body {
    position: relative;
    z-index: 2;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
}

.number-cards .nc-card__num {
    margin: 0;
    font-family: var(--font-tpSans-exLight);
    font-weight: var(--fw-extralight); /* 275 */
    /*font-size: var(--fs-120);
    line-height: 120px;
    letter-spacing: var(--letter-spacing);*/
    background: linear-gradient(to left, var(--bg-primary-strong), var(--bg-secondary-strong));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    transition: color var(--t-base) var(--ease);
}

.number-cards .nc-card__desc {
    margin: 0;
    font-family: var(--font-tpSans-light);
    font-weight: var(--fw-light); /* 300 */
    /*font-size: var(--fs-24);
    line-height: var(--lh-32);
    letter-spacing: var(--letter-spacing);*/
    color: var(--body-default); /* #3e4854 */
    transition: color var(--t-base) var(--ease);
}

.number-cards .nc-card:hover .nc-card__more,
.number-cards .nc-card:focus-within .nc-card__more,
.number-cards .nc-card:hover .nc-card__desc,
.number-cards .nc-card:focus-within .nc-card__desc {
    color: var(--title-inverse);
}

.number-cards .nc-card:hover .nc-card__arrow,
.number-cards .nc-card:focus-within .nc-card__arrow {
    color: var(--icon-inverse);
    transform: rotate(-45deg);
}

.number-cards .nc-card:hover .nc-card__num,
.number-cards .nc-card:focus-within .nc-card__num {
    background: none;
    -webkit-text-fill-color: var(--title-inverse);
    color: var(--title-inverse);
}

@media (max-width: 992px) {

    .number-cards .nc-track {
        gap: 24px;
    }

    .number-cards .nc-card {
        background: var(--bg-primary-subtle);
        height: 300px;
    }

    /*.number-cards .nc-carousel.is-grid .nc-track {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        transform: none !important;
    }*/

    /*.number-cards .nc-carousel.is-grid .nc-card {
        flex: none;
    }*/
}

/*@media (max-width: 767px) {
    .number-cards .nc-card__more,
    .number-cards .nc-card__desc {
        font-size: var(--fs-18);
        line-height: var(--lh-24);
    }
}*/

@media (prefers-reduced-motion: reduce) {
    .number-cards .nc-track,
    .number-cards .nc-card__fill,
    .number-cards .nc-card__more,
    .number-cards .nc-card__desc,
    .number-cards .nc-card__arrow,
    .number-cards .nc-card__num,
    .number-cards .nc-progress__fill {
        transition: none;
    }
}
