/* Typography scale overrides. Loaded after main.css; scoped to text, not layout or brand assets. */
:root { --type-body: 16px; }
body { font-size: 16px; line-height: 1.55; }
/* Primary page and article titles */
.hero h1, .page-intro h1, .inquiry-intro h1, .legal-header h1,
.collection-hero h1, .article-header h1, .not-found h1 {
  font-size: 40px !important; line-height: 1.15; letter-spacing: -.025em;
}
.hero .lede, .page-intro .lede, .inquiry-intro .lede, .legal-header .lede,
.collection-hero .lede, .not-found .lede, .article-deck { font-size: 20px !important; line-height: 1.3; }
/* All section headings remain within twice body copy; subheads are consistent. */
main h2, .section-heading h2, .editorial-intro h2, .story-copy h2,
.offers-band h2, .closing-cta h2, .legal-content h2, .address-panel h2,
.location-note h2 { font-size: 32px !important; line-height: 1.15; }
main h3, .principle-list h3, .offer-steps h3 { font-size: 24px !important; line-height: 1.2; }
/* Card, catalog, journal and role headings paired with description copy. */
.concept-card h3, .journal-card h2, .journal-card h3, .catalog-card h2,
.role-list h3, .role-list strong { font-size: 20px !important; line-height: 1.2; }
.concept-card p, .journal-card p, .catalog-card p, .role-list p,
.principle-list p, .offer-steps p, .intro-columns p:not(.lede),
.article-body, .legal-content, .location-note p { font-size: 16px !important; line-height: 1.55; }
.story-copy > p:not(.eyebrow), .closing-cta > p:not(.eyebrow),
.roles-layout > div > p:not(.eyebrow), .offers-band p:not(.eyebrow),
.editorial-intro p:not(.eyebrow):not(.microcopy) { font-size: 16px !important; }
/* Display numbers and labels are title-like, not oversized display typography. */
.role-list span { font-size: 16px !important; line-height: 1.3; }
.address-number { font-size: 32px !important; line-height: 1.15; }
/* Reduce excessive blank space around page/article introductions, not the banner. */
.page-intro, .page-intro.wrap, .article-header { padding-top: 64px; padding-bottom: 24px; }
.page-intro h1, .article-header h1 { margin-bottom: 12px; }
.page-intro .intro-columns, .article-header .article-deck { margin-top: 0; }
@media (max-width: 640px) {
  .hero h1, .page-intro h1, .inquiry-intro h1, .legal-header h1,
  .collection-hero h1, .article-header h1, .not-found h1 { font-size: 36px !important; line-height: 1.15; }
  .hero .lede, .page-intro .lede, .inquiry-intro .lede, .legal-header .lede,
  .collection-hero .lede, .not-found .lede, .article-deck { font-size: 18px !important; line-height: 1.3; }
  .page-intro, .page-intro.wrap, .article-header { padding-top: 40px; padding-bottom: 20px; }
}
