/* Shared typography contract. Loaded last on every route; layouts own geometry,
   this file owns text roles. Keep navigation geometry in header.css. */
:root {
  --type-family: MRS, Arial, sans-serif;
  --type-display: clamp(36px, 5.6vw, 100px);
  --type-title: clamp(34px, 4vw, 68px);
  --type-card: clamp(22px, 2vw, 32px);
  --type-body: clamp(16px, 1.12vw, 19px);
  --type-control: 15px;
  --type-caption: 13px;
  --type-leading: 1.6;
  --type-heading-leading: 1.16;
  --type-tracking: normal;
  --type-heading-tracking: -.015em;
  --space-text: 1.25em;
  --mrs-title: var(--type-title);
  --mrs-subtitle: var(--type-card);
  --mrs-body: var(--type-body);
  --mrs-button: var(--type-control);
}
body { font-family: var(--type-family); }
button, input, select, textarea { font-family: var(--type-family); }
/* Tracking is invariant across legacy component selectors and page transitions. */
main :is(h1,h2,h3), footer :is(h2,h3) {
  font-family: var(--type-family) !important;
  letter-spacing: var(--type-heading-tracking) !important;
  word-spacing: normal !important;
  font-kerning: normal;
}
main :is(p,li), footer :is(p,address) { letter-spacing: normal !important; word-spacing: normal; }
.home-page .hero h1 {
  font: 400 var(--type-display)/1.16 var(--type-family);
  max-width: 100%;
  margin-block: 32px;
  text-align: left;
  text-wrap: initial;
}
.page-intro h1, .ed-page h1 {
  font: 400 var(--type-title)/var(--type-heading-leading) var(--type-family);
}
.home-page .section-head h2, .page-section .copy > h2 {
  font: 400 var(--type-title)/var(--type-heading-leading) var(--type-family);
}
.ed-page .ed-news-row h2, .home-page .home-news .news-item h3 {
  font: 400 var(--type-card)/1.3 var(--type-family);
}
.copy > p, .ed-body article > p {
  font-size: var(--type-body);
  line-height: var(--type-leading);
  margin-block: 0 var(--space-text);
}
/* Controls share typography, while their fill and position remain contextual. */
:is(.button,.lower-pill,.capacity-link,.ed-select-trigger,.ed-select-options button,.ed-tabs button) {
  font-family: var(--type-family) !important;
  font-size: var(--type-control) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  word-spacing: normal;
}
:is(.button,.lower-pill,.capacity-link,.ed-select-trigger) { gap: 16px; }
@media(max-width:650px) {
  :root { --type-display: clamp(28px, 6.4vw, 42px); --type-control: 14px; }
  .home-page .hero h1 { margin-block: 24px; }
}
