:root {
  --nsp-ink: #0f172a;
  --nsp-text: #334155;
  --nsp-muted: #64748b;
  --nsp-line: rgba(100, 116, 139, 0.18);
  --nsp-card: #ffffff;
  --nsp-bg: #f8fafc;
  --nsp-accent: #2563eb;
  --nsp-orange: #f97316;
  --nsp-soft-blue: #dceaf7;
  --nsp-violet: #7c3aed;
  --nsp-green: #16a34a;
  --nsp-max-width: 1180px;
  --nsp-radius: 18px;
  --nsp-shadow: 0 14px 42px rgba(15, 23, 42, 0.055);
}

.nsp-site,
.nsp-site * {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

.nsp-site {
  width: 100%;
  color: var(--nsp-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  line-height: 1.6;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(100,116,139,.025) 1px, rgba(100,116,139,.025) 2px),
    repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(100,116,139,.025) 1px, rgba(100,116,139,.025) 2px),
    var(--nsp-bg);
  background-size: 22px 22px;
}

.nsp-site a {
  color: inherit;
}

.nsp-container {
  width: min(var(--nsp-max-width), calc(100% - 32px));
  margin-inline: auto;
}

.nsp-section {
  padding-block: 64px;
}

.nsp-card {
  background: var(--nsp-card);
  border: 1px solid var(--nsp-line);
  box-shadow: var(--nsp-shadow);
}

.nsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--nsp-line);
  border-radius: 999px;
  color: var(--nsp-ink);
  background: var(--nsp-card);
  text-decoration: none;
  font-weight: 800;
}

.nsp-btn:hover,
.nsp-btn:focus-visible {
  text-decoration: none;
  transform: translateY(-1px);
}

.nsp-btn--primary {
  color: #fff;
  background: var(--nsp-ink);
  border-color: var(--nsp-ink);
}

.nsp-section-heading {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(280px, 1.25fr);
  gap: 34px;
  align-items: end;
  margin-bottom: 28px;
}

.nsp-eyebrow {
  color: var(--nsp-orange);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .76rem;
  font-weight: 900;
}

.nsp-section-title {
  margin: 9px 0 0;
  font-size: clamp(1.9rem, 4vw, 2.4rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.nsp-section-summary {
  margin: 0;
  color: var(--nsp-text);
  line-height: 1.75;
}

.nsp-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.nsp-metric {
  padding: 21px;
}

.nsp-metric__value {
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1;
  font-weight: 900;
}

.nsp-metric__label {
  margin-top: 9px;
  color: var(--nsp-muted);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.nsp-grid {
  display: grid;
  gap: 14px;
}

.nsp-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nsp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.nsp-stack > * + * { margin-top: 18px; }

.nsp-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.nsp-hidden,
[hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  .nsp-section-heading {
    grid-template-columns: 1fr;
  }

  .nsp-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nsp-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .nsp-section {
    padding-block: 46px;
  }

  .nsp-metrics,
  .nsp-grid--2,
  .nsp-grid--3 {
    grid-template-columns: 1fr;
  }
}

@media print {
  .nsp-site {
    background: #fff;
  }

  .nsp-card {
    box-shadow: none;
  }

  .nsp-no-print {
    display: none !important;
  }
}
