/* Shared roles across the marketing pages. Detail titles remain smaller so long
   agent names stay readable; card truncation is owned by agent-directory.css. */
:root {
  --type-display: clamp(2.6rem, 7vw, 5.2rem);
  --type-section: clamp(1.9rem, 4vw, 3rem);
  --type-card: clamp(1.5rem, 2.5vw, 2.1rem);
  --type-detail: clamp(2rem, 4vw, 3rem);
  --type-lead: clamp(1rem, 1.2vw, 1.08rem);
  --type-body: 1rem;
  --type-small: .875rem;
  --type-label: .75rem;
}
body { font-size: var(--type-body); line-height: 1.7; }
.hero h1, .doc-hero h1, .blog-hero h1, .store-hero h1 {
  font-size: var(--type-display); line-height: 1.05;
}
.hero .lead, .doc-hero p, .blog-hero p, .store-hero .lead, .pack-hero .lead {
  font-size: var(--type-lead); line-height: 1.7;
}
.section-head h2, .center h2, .split h2, .uses-intro h2,
.doc-content h2, .doc-cta h2, .band > .shell > h2, .closer h2 {
  font-size: var(--type-section); line-height: 1.1;
}
.pillar h3, .post-card h2, .pack-card h3 { font-size: var(--type-card); }
.pillar p, .post-card p, .pack-card p, .doc-content p, .doc-content ul,
.center p, .uses-intro p, .split p {
  font-size: var(--type-body); line-height: 1.7;
}
.nav-links a, .eyebrow { font-size: var(--type-label); }
.btn, .button, .footer-links a { font-size: var(--type-small); }
.directory-detail h1 { font-size: var(--type-detail); line-height: 1.2; }
