/* Shared visual hierarchy. Loaded last to replace historical per-page
   heading overrides; colours, logos, layouts and body-copy sizes stay local. */
:root {
  --site-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --site-title-size: clamp(2.2rem, 4.25vw, 3.5rem);
  --site-section-size: clamp(1.75rem, 2.9vw, 2.5rem);
  --site-card-size: clamp(1.2rem, 1.7vw, 1.375rem);
  --site-document-size: clamp(1.3rem, 2vw, 1.5rem);
  --site-interface-size: 1.25rem;
  --site-heading-weight: 500;
}
body.site-typography { font-family: var(--site-font); }
.site-typography :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--site-font) !important;
  font-weight: var(--site-heading-weight) !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
}
.site-typography h1 { font-size: var(--site-title-size) !important; }
.site-typography h2 { font-size: var(--site-section-size) !important; }
.site-typography h3 { font-size: var(--site-card-size) !important; line-height: 1.3 !important; }
.site-typography :is(h4,h5,h6) { font-size: 1rem !important; line-height: 1.4 !important; }
.site-typography :is(h1,h2,h3,h4,h5,h6) :is(span,strong,em) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.site-typography .type-document-heading { font-size: var(--site-document-size) !important; line-height: 1.35 !important; }
.site-typography .type-interface-heading { font-size: var(--site-interface-size) !important; line-height: 1.3 !important; }
.site-typography #portals { scroll-margin-top: 110px; }
