.counter {
    padding: 32px 0;
}

.counter .block-description {
    font-size: calc(2.4rem * var(--font-scale));
    padding-top: 64px;
}

.counter .counter-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 64px;
}

.counter .box-separator {
    font-size: calc(11rem * var(--font-scale));
    font-weight: 800;
    line-height: 1;
    letter-spacing: 5.5px;
}

.counter .box-single {
    position: relative;
}

.counter .box-single::before {
    content: attr(data-subtitle);
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(50%);
    bottom: -32px;
    font-size: calc(4.7rem * var(--font-scale));
    letter-spacing: 2.38px;
    line-height: 1;
    font-weight: 100;
}

.counter .box-title {
    font-size: calc(11rem * var(--font-scale));
    font-weight: 800;
    line-height: 1;
    letter-spacing: 5.5px;
    border: 2px solid #000;
    width: 190px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: background .3s ease, color .3s ease;
}

.counter .box-single:hover .box-title {
    color: #fff;
    background-color: #000;
}

.counter .block-finished {
    text-align: center;
    font-size: calc(2.4rem * var(--font-scale));
}

@media (max-width:1440px) {

    .counter .counter-wrapper {
        gap: 48px;
    }

    .counter .box-separator,
    .counter .box-title {
        font-size: calc(6rem * var(--font-scale));
    }

    .counter .box-title {
        width: 120px;
    }

    .counter .box-single::before {
        font-size: calc(2.4rem * var(--font-scale));
    }
}

@media (max-width:1199px) {
    .counter .counter-wrapper {
        gap: 32px;
    }
}


@media (max-width:991px) {

    .counter .block-finished,
    .counter .block-description {
        font-size: calc(1.6rem * var(--font-scale));
    }

    .counter .counter-wrapper {
        gap: 16px;
    }

    .counter .box-separator,
    .counter .box-title {
        font-size: calc(4.2rem * var(--font-scale));
        letter-spacing: 3px;
    }

}

@media (max-width:768px) {
    .counter .counter-wrapper {
        gap: 8px;
    }

    .counter .box-title {
        width: 60px;
    }

    .counter .box-separator,
    .counter .box-title {
        font-size: calc(3.6rem * var(--font-scale));
        letter-spacing: 1.8px;
    }

    .counter .box-single::before {
        font-size: calc(1.6rem * var(--font-scale));
        bottom: -16px;
    }

    .counter .block-description {
        padding-top: 32px;
    }
}

@media(max-width:479px) {

    .counter .box-separator,
    .counter .box-title {
        font-size: calc(3.2rem * var(--font-scale));
    }
}