.omh-counter {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}

.omh-counter *,
.omh-counter *::before,
.omh-counter *::after {
    box-sizing: border-box;
}

.omh-counter__grid {
    display: grid;
    grid-template-columns: repeat(var(--omh-cols, 4), minmax(0, 1fr));
    gap: var(--omh-gap, 44px);
    width: 100%;
    align-items: start;
}

.omh-counter__item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: var(--omh-flex-align, center);
    justify-content: flex-start;
    text-align: var(--omh-align, center);
    font-family: inherit;
}

.omh-counter__value,
.omh-counter__label {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    font-family: inherit;
    text-transform: none;
    letter-spacing: inherit;
    font-style: inherit;
}

.omh-counter__value {
    color: var(--omh-number-color, #adc5c7);
    font-size: clamp(2.25rem, calc(var(--omh-number-size, 76px) * 0.78 + 1vw), var(--omh-number-size, 76px));
    font-weight: inherit;
    line-height: 0.96;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    will-change: contents;
}

.omh-counter__label {
    margin-top: var(--omh-text-gap, 10px);
    color: var(--omh-label-color, currentColor);
    font-size: var(--omh-label-size, 27px);
    font-weight: inherit;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.omh-counter[data-animated="1"] .omh-counter__item {
    animation: omhCounterItemIn 680ms cubic-bezier(.2,.8,.2,1) both;
    animation-delay: var(--omh-delay, 0ms);
}

@keyframes omhCounterItemIn {
    from { opacity: 0; transform: translate3d(0, 12px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 1024px) {
    .omh-counter__grid {
        grid-template-columns: repeat(var(--omh-tablet-cols, 2), minmax(0, 1fr));
    }

    .omh-counter__value {
        font-size: clamp(2.15rem, 7vw, calc(var(--omh-number-size, 76px) * 0.9));
    }
}

@media (max-width: 600px) {
    .omh-counter__grid {
        grid-template-columns: repeat(var(--omh-mobile-cols, 1), minmax(0, 1fr));
        gap: max(26px, var(--omh-gap, 44px));
    }

    .omh-counter__value {
        font-size: clamp(2.6rem, 15vw, calc(var(--omh-number-size, 76px) * 0.82));
    }

    .omh-counter__label {
        font-size: clamp(1.05rem, 6vw, var(--omh-label-size, 27px));
    }
}

@media (prefers-reduced-motion: reduce) {
    .omh-counter[data-animated="1"] .omh-counter__item {
        animation: none;
    }
}
