/* Case Study: Numbers */
.agp-csi .numbers-section {
  background: var(--csi-white);
  border-top: 1px solid var(--csi-border);
  border-bottom: 1px solid var(--csi-border);
  padding: 80px 40px;
}
.agp-csi .numbers-inner {
  max-width: 900px;
  margin: 0 auto;
}
.agp-csi .numbers-header {
  margin-bottom: 56px;
}
.agp-csi .numbers-header h2 {
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  max-width: 580px;
}
.agp-csi .numbers-header h2 em {
  color: var(--csi-teal);
  font-style: normal;
}
.agp-csi .numbers-header p {
  color: var(--csi-gray);
  font-size: 15px;
  margin-top: 14px;
  max-width: 480px;
  line-height: 1.7;
}
.agp-csi .numbers-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: var(--csi-border);
  border-radius: 20px;
  overflow: hidden;
}
.agp-csi .number-cell {
  background: var(--csi-white);
  padding: 36px 28px;
  transition: background 0.2s;
}
.agp-csi .number-cell:hover {
  background: var(--csi-teal-light);
}
.agp-csi .number-cell:hover .number-val {
  color: var(--csi-teal-dark);
}
.agp-csi .number-val {
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 800 !important;
  color: var(--csi-teal);
  line-height: 1;
  margin-bottom: 8px;
  transition: color 0.2s;
  font-variant-numeric: tabular-nums;
}
.agp-csi .number-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--csi-navy);
  margin-bottom: 4px;
}
.agp-csi .number-sub {
  font-size: 11px;
  color: var(--csi-gray);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .agp-csi .numbers-section {
    padding-left: 20px;
    padding-right: 20px;
  }
  .agp-csi .numbers-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .agp-csi .numbers-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1px;
  }
  .agp-csi .number-cell {
    padding: 24px 16px;
  }
}