/* DOAI Stats — impact counters */
.doai-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 16px 38px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 16px 12px;
    text-align: center;
}

.doai-stat {
    flex: 0 1 auto;
    min-width: 110px;
    padding: 0 6px;
}

.doai-stat-num {
    font-weight: 800;
    line-height: 1.05;
    color: #3F6DB5;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;               /* keep 228.594 on one line */
}

.doai-stat-label {
    margin-top: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* --- density --- */
.doai-stats--compact { gap: 12px 26px; padding: 12px; }
.doai-stats--compact .doai-stat-num   { font-size: clamp(1.5rem, 3vw, 2.2rem); }
.doai-stats--compact .doai-stat-label { font-size: 0.72rem; margin-top: 4px; }

.doai-stats--normal  .doai-stat-num   { font-size: clamp(2rem, 4.2vw, 3rem); }

.doai-stats--large   { gap: 22px 52px; }
.doai-stats--large   .doai-stat-num   { font-size: clamp(2.4rem, 5vw, 3.6rem); }
.doai-stats--large   .doai-stat-label { font-size: 0.9rem; }

/* --- reveal animations (only active once JS marks the wall ready, so the
       numbers are never hidden if JS is off) --- */
.doai-stats.doai-anim-ready[data-anim="countup_fade"] .doai-stat,
.doai-stats.doai-anim-ready[data-anim="fade"] .doai-stat,
.doai-stats.doai-anim-ready[data-anim="slide"] .doai-stat,
.doai-stats.doai-anim-ready[data-anim="pop"] .doai-stat {
    opacity: 0;
    will-change: opacity, transform;
}
.doai-stats.doai-anim-ready[data-anim="slide"] .doai-stat { transform: translateY(16px); }
.doai-stats.doai-anim-ready[data-anim="pop"] .doai-stat   { transform: scale(0.8); }

.doai-stat.is-in {
    opacity: 1;
    transform: none;
    transition: opacity 0.55s ease, transform 0.6s cubic-bezier(0.2, 0.75, 0.3, 1.25);
}

@media (max-width: 600px) {
    .doai-stats { gap: 12px 18px; }
    .doai-stat  { min-width: 42%; }
    .doai-stat-label { font-size: 0.7rem; }
}
