/* One editorial heading voice; one quiet sans-serif voice for everything else. */
:root { --type-hero: clamp(48px, 4.6vw, 68px); --type-section: 44px; --type-title: 22px; --type-body: 16px; --type-label: 12px; }
body { font-size: var(--type-body); font-weight: 400; }
h1, h2 { font-family: var(--serif); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
.hero-copy h1, .review-hero h1 { font-size: var(--type-hero); }
.section-intro h2, .connection-copy h2, .operating-grid h2, .proof-intro h2, .contact-lede h2, .review-notes h2 { font-size: var(--type-section); }
body h1 em, body h2 em, body .section-intro h2 em, body .connection-copy h2 em, body .operating-grid h2 em, body .proof-intro h2 em, body .contact-lede h2 em { color: inherit !important; font-style: normal; }
h3, .route-question, .explorer-tab b, .company-name, .diagram-node strong, .ledger-row strong, .intent-pill strong, .site-footer p { font-family: var(--sans); font-weight: 400; letter-spacing: 0; line-height: 1.35; }
h3, .operating-list h3, .proof-aside h3, .company-name, .explorer-tab b { font-size: var(--type-title); }
.route-question { font-size: 28px; line-height: 1.3; }
.diagram-node strong { font-size: 16px; line-height: 1.25; }
.ledger-row strong, .intent-pill strong, .site-footer p { font-size: var(--type-body); }
.hero-deck, .section-intro > p, .route-support, .route-details dd, .company-lede, .company-proof p, .operating-list p, .proof-aside p, .ledger-note, .review-lede, .review-card p, .review-note-list p { font-size: var(--type-body); font-weight: 400; line-height: 1.65; }
.eyebrow, .diagram-meta, .hero-index, .opening-switch, .diagram-footnote, .route-panel-top, .route-details dt, .company-role, .company-proof > span, .company-proof small, .aside-index, .ledger-head, .intent-pill span, #conversation-form label span, .footer-meta, .diagram-node > span, .diagram-node small, .diagram-center span, .diagram-center small, .flow-step span, .flow-step b, .flow-step small, .section-footnote, .company-number, .operating-list article > span, .explorer-tab > span:first-child, .ledger-row b { font-size: var(--type-label); font-weight: 400; letter-spacing: .015em; line-height: 1.5; text-transform: none; }
.eyebrow, .opening-switch > span, .diagram-node > span, .company-proof > span, .company-proof small, .aside-index, .intent-pill span, .flow-step span, .flow-step.is-current b, .company-number, .ledger-row b { color: var(--ink-soft); }
.router-section .eyebrow, .operating-section .eyebrow, .route-panel-top, .route-details dt, .section-footnote, .section-footnote span, .operating-list article > span, .explorer-tab > span:first-child { color: #c1c9d5; }
.diagram-center span, .diagram-center small { color: #c1c9d5; }
.diagram-center strong { font-family: var(--sans); font-size: 14px; font-weight: 600; letter-spacing: .04em; }
.desktop-nav, .header-link, .header-cta, .button, .text-link, .inline-link, .route-detail-link, .company-route, .ledger-row a, .contact-choice button, .footer-links, .mobile-nav a, .menu-toggle b, .review-card strong, .review-back { font-family: var(--sans); font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.4; }
.route-details dd strong, .company-proof strong { font-weight: 500; }
.prototype-banner, .prototype-banner span:first-child { font-weight: 400; letter-spacing: .025em; }
.review-card h2 { font-family: var(--sans); font-size: 28px; line-height: 1.25; letter-spacing: 0; }
.review-card > span, .review-note-list b { font-size: 12px; font-weight: 400; letter-spacing: .015em; }
.hero-actions { flex-wrap: wrap; gap: 20px; }
.desktop-nav { gap: 20px; margin-right: 24px; }
.header-actions { gap: 16px; }
.route-panel-top { gap: 16px; }
.diagram-node { width: 160px; }
.diagram-center { width: 170px; }
.diagram-footnote { letter-spacing: 0; font-size: 11px; }
@media (max-width: 700px) {
 :root { --type-hero: 44px; --type-section: 34px; --type-title: 20px; }
 .hero-copy h1 { font-size: var(--type-hero); line-height: 1.08; }
 .route-question { font-size: 24px; }
 .diagram-node { width: 128px; min-width: 0; }
 .diagram-center { width: 128px; }
 .diagram-node strong { font-size: 16px; }
 .diagram-node > span, .diagram-node small { font-size: 11px; }
 .diagram-footnote { font-size: 10px; }
 .opening-switch { gap: 10px 14px; font-size: 12px; }
 .company-role { font-size: 12px; }
}

h1, h2 { text-wrap: balance; }
