/*
  Typography polish: a native, high-quality system stack with more intentional
  display spacing and comfortable reading rhythm. No remote font dependency.
*/
:root {
  --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  font-family: var(--font-sans);
  font-weight: 450;
  letter-spacing: -.006em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3,
.brand,
.button,
.email-link,
.stat-number {
  font-family: var(--font-display);
}

.hero h1 {
  font-weight: 730;
  letter-spacing: -.044em;
  line-height: 1.035;
}

.split-heading h2,
.solutions h2,
.process h2,
.about h2,
.engagement h2,
.contact h2 {
  font-weight: 720;
  letter-spacing: -.035em;
  line-height: 1.09;
}

.about h2 {
  font-size: clamp(2.2rem, 3.8vw, 3.7rem);
  max-width: 760px;
}

.legal h1 {
  font-weight: 720;
  letter-spacing: -.042em;
  line-height: 1.06;
}

.service-card h3,
.solution-list h3,
.process-grid h3,
.engagement-grid h3,
.legal h2 {
  font-weight: 690;
  letter-spacing: -.018em;
  line-height: 1.18;
}

.lede {
  font-weight: 430;
  letter-spacing: -.012em;
  line-height: 1.62;
}

.section-intro,
.about-copy > p:not(.eyebrow),
.contact-copy > p:not(.eyebrow),
.legal p {
  letter-spacing: -.004em;
  line-height: 1.68;
}

.service-card p,
.solution-list p,
.process-grid p,
.industry-grid p,
.engagement-grid article > p:not(.plan-label),
.form-note {
  letter-spacing: -.002em;
  line-height: 1.62;
}

.nav-links {
  font-weight: 590;
  letter-spacing: .003em;
}

.button {
  font-weight: 720;
  letter-spacing: -.008em;
}

.text-link,
.email-link {
  font-weight: 680;
  letter-spacing: -.008em;
}

.eyebrow,
.plan-label,
.node-heading em,
.telemetry-label,
.telemetry-status {
  letter-spacing: .145em;
}

.contact-form label,
.contact-form legend {
  letter-spacing: .002em;
}

.stat-number {
  font-weight: 730;
  letter-spacing: -.075em;
}

@media (max-width: 680px) {
  .hero h1 { letter-spacing: -.038em; line-height: 1.055; }
  .split-heading h2,
  .solutions h2,
  .process h2,
  .about h2,
  .engagement h2,
  .contact h2 { letter-spacing: -.03em; line-height: 1.11; }
}
