/* Canonical typography layer — loaded after page-specific layout styles. */
body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: var(--color-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3 {
  margin-top: 0;
  font-family: var(--font-display);
  font-style: normal;
  text-wrap: balance;
}
/* Primary page titles */
.hero h1,
.portfolio-page .page-content > h1,
.page-about h1,
.page-contact h1 {
  font-size: var(--text-display);
  font-weight: 750;
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
}
/* Major section titles */
.section-head h2,
.section-heading h2,
.conversation-section .section-heading h2,
.contact-section h2 {
  font-size: var(--text-h2);
  font-weight: 700;
  line-height: var(--leading-h2);
  letter-spacing: var(--tracking-h2);
}
/* Card and content titles */
.project-board h3,
.conversation-grid h3,
.contribution h3,
.thinking-panel h3 {
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: var(--leading-h3);
  letter-spacing: var(--tracking-h3);
}
p, li, dd { font-family: var(--font-body); }
@media (max-width: 700px) {
  .hero h1,
.portfolio-page .page-content > h1,
.page-about h1,
.page-contact h1 {
    font-size: clamp(2.75rem, 11vw, 4rem);
    letter-spacing: -.035em;
  }
}
