.counters { margin-top: -3.2rem; position: relative; z-index: 2; }
.counters__panel { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden; }
.counter { padding: 1.45rem; text-align: center; border-right: 1px solid var(--color-border); transition: transform .28s var(--ease), background .28s var(--ease); }
.counter:last-child { border-right: 0; }
.counter:hover { background: linear-gradient(180deg, #fff, #f4f8fc); transform: translateY(-4px); }
.counter__number { display: block; color: var(--color-primary); font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; letter-spacing: -.04em; line-height: 1; transform-origin: center; }
.counter__label { display: block; margin-top: .45rem; color: var(--color-muted); font-weight: 700; }
.counter.is-counting .counter__number { animation: numberPulse .52s ease-in-out infinite alternate; }
.counter.is-complete .counter__number { animation: numberPop .52s var(--ease) both; }
@keyframes numberPulse { from { transform: translateY(0) scale(1); } to { transform: translateY(-2px) scale(1.035); } }
@keyframes numberPop { 0% { transform: scale(.96); } 55% { transform: scale(1.08); } 100% { transform: scale(1); } }

.counters__panel--three { grid-template-columns: repeat(3, 1fr); }
