/* ── SVG bar animations (retained for proof cards) ── */
.viz-bar-h {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.8s cubic-bezier(0.22,1,0.36,1);
}

.viz-bar-h.animated { transform: scaleX(1); }

.viz-bar-v {
  transform: scaleY(0);
  transform-origin: bottom center;
  transition: transform 0.8s cubic-bezier(0.22,1,0.36,1);
}

.viz-bar-v.animated { transform: scaleY(1); }

/* Gauge fill (SVG stroke-dashoffset) */
.gauge-fill {
  transition: stroke-dashoffset 1.2s cubic-bezier(0.22,1,0.36,1);
}

/* Timeline polyline (SVG stroke-dashoffset) */
.timeline-line {
  stroke-dashoffset: 400;
  transition: stroke-dashoffset 1.4s cubic-bezier(0.22,1,0.36,1);
}

.timeline-line.animated { stroke-dashoffset: 0; }

/* Counter number pop */
@keyframes count-pop {
  0%   { transform: scale(0.92); opacity: 0; }
  60%  { transform: scale(1.04); }
  100% { transform: scale(1);    opacity: 1; }
}

.counter-pop { animation: count-pop 0.45s var(--ease) forwards; }

/* Layout */
.container {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 40px;
}

@media (max-width: 768px) {
  .container { padding-inline: 24px; }
}

/* ── Staggered card reveal ───────────────────────── */
.stagger-1 { transition-delay: 0s !important; }
.stagger-2 { transition-delay: 0.08s !important; }
.stagger-3 { transition-delay: 0.16s !important; }
.stagger-4 { transition-delay: 0.24s !important; }
.stagger-5 { transition-delay: 0.32s !important; }
