/* One type family, with optical spacing for display and reading sizes. */
body {
  font-synthesis: none;
  font-kerning: normal;
  font-optical-sizing: auto;
}

h2,
.companies-heading h2 {
  font-family: var(--display);
  font-size: clamp(2.4rem, 4.9vw, 4.75rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.05em;
  text-transform: none;
}

.site-header nav {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 500;
  letter-spacing: -.015em;
  gap: clamp(20px, 3.2vw, 48px);
}
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; }

.section-label .eyebrow,
.companies-heading h2 > span,
.founder-role {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .025em;
}

.sector-title {
  font-size: clamp(1.25rem, 2.1vw, 2rem);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.025em;
  text-transform: none;
}

.company h4,
.company:has(.company-logo) h4 {
  font-size: clamp(1.25rem, 1.8vw, 1.625rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-transform: none;
}

.company-desc,
.founder-copy p {
  font-size: 1.0625rem;
  line-height: 1.65;
  letter-spacing: -.01em;
}

.founder h2 { font-size: clamp(2.7rem, 4.6vw, 4.75rem); }
.contact h2 {
  font-size: clamp(3rem, 6.3vw, 5.5rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.055em;
}

.text-link,
.contact-button,
.sector-filter {
  font-size: .9375rem;
  font-weight: 500;
  letter-spacing: -.01em;
}

.contact-links {
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -.01em;
}

footer { font-size: .875rem; letter-spacing: -.01em; }
