/* Comfort-focused typography scale */
html { font-size: 16px; }
body { font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

.brand { font-size: 1.08rem; }
.site-header nav { font-size: .76rem; }
.kicker,.eyebrow,.section-no { font-size: .68rem; line-height: 1.5; letter-spacing: .23em; }

.hero h1 { font-size: clamp(4rem, 6.7vw, 6.25rem); line-height: .88; }
.hero .role { font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.45; }
.hero .lead { max-width: 42rem; font-size: clamp(.98rem, 1.2vw, 1.08rem); line-height: 1.85; }
.button { font-size: .68rem; letter-spacing: .09em; }

.page-hero h1,.contact-hero h1 { font-size: clamp(3.45rem, 5.7vw, 5.25rem); line-height: .96; }
.page-hero>div>p:last-child,.contact-hero>div>p:last-child { max-width: 44rem; font-size: 1.02rem; line-height: 1.8; }

.section-head h2 { font-size: clamp(2.45rem, 4vw, 3.7rem); line-height: 1.13; }
.section-head>p { font-size: .98rem; line-height: 1.82; }
.display { font-size: clamp(2.3rem, 4vw, 3.55rem); line-height: 1.25; }
.manifesto blockquote { font-size: clamp(2.15rem, 4vw, 3.8rem); line-height: 1.36; }
.manifesto-grid>p,.prose { font-size: 1rem; line-height: 1.9; }
.quote-band blockquote { font-size: clamp(2rem, 3.6vw, 3.35rem); line-height: 1.5; }

.path-grid h3 { font-size: 1.72rem; line-height: 1.25; }
.path-grid p { font-size: .91rem; line-height: 1.75; }
.path-grid b { font-size: .62rem; }
.metrics b { font-size: 2.45rem; line-height: 1.1; }
.metrics span { font-size: .76rem; line-height: 1.5; }

.education-feature h2 { font-size: clamp(2.15rem, 3.5vw, 2.75rem); line-height: 1.22; }
.education-feature h2 small { font-size: .92rem; }
.education-feature p { font-size: .98rem; line-height: 1.85; }
.awards li { font-size: .86rem; line-height: 1.55; }
.career-list time { font-size: 1.02rem; }
.career-list h3 { font-size: clamp(2rem, 3vw, 2.45rem); line-height: 1.18; }
.career-list p { font-size: .96rem; line-height: 1.83; }

.company-grid h2 { font-size: clamp(1.9rem, 3vw, 2.3rem); line-height: 1.2; }
.company-grid h2 small { font-size: .8rem; }
.company-grid p,.company-grid li { font-size: .91rem; line-height: 1.78; }
.investment-grid h3 { font-size: 1.58rem; line-height: 1.25; }
.investment-grid p { font-size: .88rem; line-height: 1.75; }

.giving-grid h2 { font-size: clamp(1.5rem, 2.3vw, 1.78rem); line-height: 1.24; }
.giving-grid p { font-size: .91rem; line-height: 1.77; }
.giving-rule p { font-size: 1rem; }
.giving-rule b { font-size: clamp(4.3rem, 7vw, 5.6rem); }
.giving-rule small { font-size: .8rem; }

.contact-details a { font-size: clamp(1.18rem, 2vw, 1.72rem); line-height: 1.35; }
.topic-grid h2 { font-size: clamp(1.45rem, 2.3vw, 1.72rem); line-height: 1.27; }
.topic-grid p { font-size: .91rem; line-height: 1.75; }
.page-next b { font-size: clamp(1.65rem, 2.8vw, 2rem); }
footer,footer p,footer small { font-size: .72rem; line-height: 1.6; }

@media (max-width: 900px) {
  html { font-size: 15.5px; }
  .hero h1 { font-size: clamp(3.8rem, 12vw, 5.2rem); }
  .page-hero h1,.contact-hero h1 { font-size: clamp(3.1rem, 9vw, 4.5rem); }
  .site-header nav a { font-size: .85rem; }
  .timeline b { font-size: 1.06rem; }
  .timeline p { font-size: .82rem; }
}

@media (max-width: 620px) {
  html { font-size: 15px; }
  .hero h1 { font-size: clamp(3.55rem, 18vw, 4.55rem); line-height: .9; }
  .hero .role { font-size: 1rem; }
  .hero .lead { font-size: .96rem; line-height: 1.75; }
  .page-hero h1,.contact-hero h1 { font-size: clamp(2.75rem, 13vw, 3.6rem); line-height: 1; }
  .page-hero>div>p:last-child,.contact-hero>div>p:last-child { font-size: .95rem; }
  .section-head h2,.display { font-size: clamp(2.1rem, 10vw, 2.75rem); }
  .manifesto blockquote { font-size: clamp(1.9rem, 9vw, 2.55rem); line-height: 1.42; }
  .quote-band blockquote { font-size: clamp(1.8rem, 8vw, 2.35rem); }
  .path-grid h3 { font-size: 1.6rem; }
  .career-list h3 { font-size: 1.9rem; }
  .company-grid h2 { font-size: 1.8rem; }
  .giving-grid h2,.topic-grid h2 { font-size: 1.52rem; }
  .contact-details a { font-size: 1.08rem; }
  .page-next b { font-size: 1.48rem; }
  footer p { text-align: center; }
}
