.stats {
    padding: 4rem 0 0 0;
    text-align: center;
    position: relative;

    >.content {
        position: relative;
        z-index: 2;
        padding-bottom: 4rem;

        >.heading {
            font-size: clamp(1.5rem, 3vw, 2.5rem);
            font-weight: 700;
            margin-bottom: 1.5rem;
            letter-spacing: 0.1em;
        }

        >.description {
            font-size: clamp(1.125rem, 2.5vw, 1.5rem);
            font-weight: 400;
            margin-bottom: 3rem;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            line-height: 1.6;
            padding-inline: 1rem;
        }

        >.grid {
            display: grid;
            gap: 3rem;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;

            &.-cols-2 {
                grid-template-columns: repeat(2, 1fr);
            }

            &.-cols-3 {
                grid-template-columns: repeat(1, 1fr);
            }

            >.item {
                padding: 0;
                background: transparent;
                border: none;
                box-shadow: none;
                opacity: 0;
                transform: translateY(30px);
                transition: none;

                >.stat {
                    font-size: clamp(3rem, 6vw, 5rem);
                    font-weight: 900;
                    line-height: 1;
                    display: block;
                    margin-bottom: 0.5rem;
                }

                >.label {
                    font-size: clamp(0.875rem, 2vw, 1rem);
                    font-weight: 400;
                    text-transform: none;
                    letter-spacing: 0.025em;
                    line-height: 1.4;
                    max-width: 200px;
                    margin: 0 auto;
                }

                &.animate-in {
                    animation: slideInUp 0.8s ease forwards;
                }
            }
        }
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 768px) {
    .stats {
        >.content {
            >.grid.-cols-3 {
                grid-template-columns: repeat(3, 1fr);
            }
            >.description {
                padding-inline: 2rem;
            }
        }
    }
}