.np-factory-stats {
  --np-stats-navy: #102d3b;
  --np-stats-teal: #087d75;
  --np-stats-border: #d7e7e3;
  box-sizing: border-box;
  width: 100%;
  color: var(--np-stats-navy);
  font-family: inherit;
}

.np-factory-stats-container, .np-factory-stats-container > .e-con-inner, .np-factory-stats-container .elementor-widget-shortcode, .np-factory-stats-container .elementor-widget-container { width: 100%; max-width: none; margin: 0; padding: 0; }

.np-factory-stats *, .np-factory-stats *::before, .np-factory-stats *::after { box-sizing: inherit; }
.np-factory-stats__inner { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.np-factory-stats__grid { display: grid; gap: 18px; padding: 0; margin: 0; list-style: none; }
.np-factory-stats__grid--home, .np-factory-stats__grid--facilities { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.np-factory-stats--home { position: relative; z-index: 2; margin-top: -32px; padding-bottom: 32px; }
.np-factory-stats--home .np-factory-stat { box-shadow: 0 14px 32px rgba(16, 45, 59, .12); }
.np-factory-stats--facilities { padding: 44px 0 72px; background: linear-gradient(180deg, #f4faf8, #fff 86%); }
.np-factory-stats__intro { max-width: 790px; margin: 0 auto 34px; text-align: center; }
.np-factory-stats__eyebrow { display: inline-block; padding: 6px 13px; border-radius: 999px; background: #e0f4ec; color: #09695d; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.np-factory-stats__intro h2 { margin: 18px 0 14px; color: var(--np-stats-navy); font-size: clamp(28px, 3vw, 42px); line-height: 1.18; }
.np-factory-stats__intro p { margin: 0; color: #405761; font-size: 16px; line-height: 1.7; }

.np-factory-stat { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 142px; padding: 21px 16px; overflow: hidden; border: 1px solid var(--np-stats-border); border-radius: 16px; background: #fff; text-align: center; }
.np-factory-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--np-stats-teal); }
.np-factory-stat__number { display: block; max-width: 100%; color: var(--np-stats-navy); font-size: clamp(34px, 3.5vw, 48px); font-weight: 800; line-height: 1.1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.np-factory-stat__number small { display: block; margin-top: 4px; color: var(--np-stats-teal); font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; white-space: normal; }
.np-factory-stat__label { display: block; margin-top: 11px; color: #45616a; font-size: 14px; font-weight: 600; line-height: 1.35; }
.np-factory-stats--facilities .np-factory-stat { min-height: 165px; }

@media (max-width: 1023px) {
  .np-factory-stats__grid--home, .np-factory-stats__grid--facilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .np-factory-stats__inner { width: min(100% - 28px, 520px); }
  .np-factory-stats__grid { gap: 10px; }
  .np-factory-stats--home { margin-top: -18px; padding-bottom: 22px; }
  .np-factory-stats--facilities { padding: 36px 0 48px; }
  .np-factory-stats__intro { margin-bottom: 25px; }
  .np-factory-stat { min-height: 128px; padding: 16px 10px; border-radius: 12px; }
  .np-factory-stats--facilities .np-factory-stat { min-height: 145px; }
  .np-factory-stat__number { font-size: clamp(29px, 8vw, 38px); }
  .np-factory-stat__number small { font-size: 11px; }
  .np-factory-stat__label { font-size: 12px; }
}
