@font-face {
  font-family: 'Anybody';
  src: url('assets/fonts/anybody-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('assets/fonts/source-sans-3-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
:root {
  --font-body: 'Source Sans 3', 'Segoe UI', sans-serif;
  --font-display: 'Anybody', 'Arial Narrow', sans-serif;
  --font-note: 'Courier New', monospace;
}
body { font-family: var(--font-body); }
.wordmark { font-family: var(--font-display); font-variation-settings: 'wdth' 90; font-weight: 700; letter-spacing: -.075em; }
h1, h2, h3, .statement-strip { font-family: var(--font-display); font-variation-settings: 'wdth' 88; }
h1, h2 { letter-spacing: -.055em; }
.hero h1 { font-weight: 650; font-variation-settings: 'wdth' 78; letter-spacing: -.055em; }
.context-heading h2 em, h2 em { font-family: var(--font-display); font-variation-settings: 'wdth' 100; font-weight: 400; letter-spacing: -.045em; }
.hero-kicker, .section-label, .hero-foot, .eco-index, .eco-role, .pillar-kicker, .feature-tag, .platform-index, .arch-kicker, .paper-top, .question-index, .workbench-eyebrow { font-family: var(--font-note); font-size: .6875rem; letter-spacing: .025em; font-weight: 400; }
.article-header h1 { font-family: var(--font-display); font-weight: 600; }
.article-prose h2 { font-family: var(--font-display); font-variation-settings: 'wdth' 90; font-weight: 550; }
.article-prose { font-size: 1.125rem; }
.article-meta, .docs-breadcrumbs, .nav-group-title, .release-status { font-family: var(--font-note); }
.article-prose details summary { font-weight: 600; }
.site-header nav { font-weight: 600; gap: clamp(12px, 1.4vw, 22px); }
.hero-bottom p { font-size: 1.125rem; }
.pillar h3, .eco-card h3 { font-weight: 550; letter-spacing: -.04em; }
.demo-intro h2 { font-weight: 600; }
.journey-paper h3 { font-weight: 550; }
.statement-strip { font-weight: 600; letter-spacing: -.04em; }
@media (max-width: 700px) {
  .hero h1 { font-size: clamp(4rem, 17.5vw, 7rem); }
  .hero-kicker { line-height: 1.6; }
  .site-header .wordmark { font-size: 1.5rem; }
  .site-header nav { gap: 0; }
  .site-header .nav-entry { padding: 10px 12px; }
}
