body {
  font-family: Inter, "Helvetica Neue", Arial, ui-sans-serif, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: -0.006em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .brand b { text-wrap: balance; }

.section h2, .pagehero h1 {
  font-size: clamp(2.25rem, 4vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  font-weight: 760;
}

.pagehero p, .lead {
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.75;
  letter-spacing: -0.01em;
}

.eyebrow {
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.16em;
  font-weight: 800;
}

.links {
  font-size: 0.76rem;
  letter-spacing: 0.045em;
  font-weight: 720;
}

.brand b { font-weight: 820; letter-spacing: 0.055em; }

.card h3, .stack h3 {
  line-height: 1.18;
  letter-spacing: -0.025em;
  font-weight: 740;
}

.card p, .stack p, .footer a { line-height: 1.65; }
.btn, .nav-cta, .arrow { letter-spacing: 0.065em; }

.cta h2 {
  font-size: clamp(2.35rem, 4.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

@media (max-width: 650px) {
  body { line-height: 1.6; }
  .section h2, .pagehero h1 { font-size: clamp(2.15rem, 10vw, 3.1rem); }
  .pagehero p, .lead { font-size: 1rem; line-height: 1.7; }
  .card h3, .stack h3 { font-size: 1.25rem; }
}
