/* Authoritative site-wide type scale. The app preview keeps its own compact UI scale. */
:root {
  --type-display: clamp(3.25rem, 7vw, 5.75rem);
  --type-section: clamp(2.25rem, 4.5vw, 3.6rem);
  --type-statement: clamp(2rem, 3.2vw, 2.85rem);
  --type-card-title: clamp(1.45rem, 2.1vw, 1.8rem);
  --type-offer-title: clamp(1.65rem, 2.25vw, 2.15rem);
  --type-lead: clamp(1.04rem, 1.25vw, 1.125rem);
  --type-body: 1rem;
  --type-small: .875rem;
  --type-label: .6875rem;
}

body {
  font-size: var(--type-body);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main h1,
main h2,
main h3 {
  text-wrap: balance;
}

main > section p {
  text-wrap: pretty;
}

.nav-links,
.btn {
  font-size: .8125rem;
  line-height: 1.2;
}

.eyebrow,
.kicker,
.pathway-label,
.card .num {
  font-size: var(--type-label);
  font-weight: 750;
  letter-spacing: .11em;
  line-height: 1.35;
}

.hero h1 {
  max-width: 56rem;
  font-size: var(--type-display);
  font-weight: 700;
  letter-spacing: -.052em;
  line-height: .96;
}

.hero-copy {
  max-width: 45rem;
  font-size: clamp(1.0625rem, 1.35vw, 1.2rem);
  line-height: 1.62;
}

.hero-delivery h3 {
  margin-top: .65rem;
  font-size: 1.25rem;
  letter-spacing: -.025em;
  line-height: 1.25;
}

.hero-delivery p {
  max-width: 43rem;
  font-size: var(--type-small);
  line-height: 1.62;
}

.hero-delivery-flow em {
  font-size: .625rem;
  line-height: 1.2;
}

.hero-reference-note {
  font-size: .8125rem;
  line-height: 1.55;
}

.section-head h2,
.about-copy h2 {
  max-width: 62rem;
  font-size: var(--type-section);
  font-weight: 700;
  letter-spacing: -.042em;
  line-height: 1.04;
}

.section-head .lead {
  max-width: 46rem;
  font-size: var(--type-lead);
  line-height: 1.65;
}

.pathway-card h3 {
  font-size: var(--type-card-title);
  letter-spacing: -.025em;
  line-height: 1.12;
}

.pathway-card p,
.pathway-card li {
  font-size: .9375rem;
  line-height: 1.62;
}

.continuum-stage b {
  font-size: 1rem;
  line-height: 1.3;
}

.continuum-stage span {
  font-size: .75rem;
  line-height: 1.45;
}

.pathway-demo-cta p {
  font-size: .875rem;
  line-height: 1.55;
}

.scope-note {
  font-size: .84375rem;
  line-height: 1.65;
}

.process-step h3,
.process-fifth .process-step h3 {
  font-size: 1.1875rem;
  letter-spacing: -.015em;
  line-height: 1.25;
}

.process-step p,
.process-fifth .process-step p {
  font-size: .90625rem;
  line-height: 1.68;
}

.statement h3 {
  font-size: var(--type-statement);
  letter-spacing: -.038em;
  line-height: 1.04;
}

.statement p {
  font-size: .96875rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.7;
}

.offer-box h3 {
  font-size: var(--type-offer-title);
  letter-spacing: -.03em;
  line-height: 1.12;
}

.price {
  font-size: .84375rem;
  line-height: 1.45;
}

.offer-list li {
  font-size: .9375rem;
  line-height: 1.55;
}

.case strong {
  font-size: 1.125rem;
  line-height: 1.35;
}

.case p {
  font-size: .96875rem;
  line-height: 1.65;
}

.case .status {
  font-size: .6875rem;
  line-height: 1.45;
}

.about-copy p {
  max-width: 43rem;
  font-size: 1.03125rem;
  line-height: 1.72;
}

.cred {
  font-size: .84375rem;
  line-height: 1.55;
}

.cred b {
  font-size: .90625rem;
  line-height: 1.35;
}

.cta h2 {
  max-width: 54rem;
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  letter-spacing: -.042em;
  line-height: 1.04;
}

.cta p {
  font-size: 1rem;
  line-height: 1.65;
}

.modal h3 {
  font-size: 1.875rem;
  line-height: 1.15;
}

.field label {
  font-size: .6875rem;
  line-height: 1.35;
}

.form-note {
  font-size: .75rem;
  line-height: 1.55;
}

footer {
  font-size: .75rem;
  line-height: 1.55;
}

@media (max-width: 600px) {
  body {
    font-size: .9375rem;
  }

  .hero-copy {
    font-size: 1.0625rem;
  }

  .section-head .lead,
  .about-copy p {
    font-size: 1rem;
  }

  .pathway-card p,
  .pathway-card li,
  .offer-list li,
  .case p {
    font-size: .90625rem;
  }
}
