/* Shared content typography. Load after page styles so legacy utilities cannot
   assign different sizes to the same content role. Colour and spacing stay local. */
:root {
  --aripa-type-font: Inter, sans-serif;
  --aripa-type-body: 1rem;
  --aripa-type-lead: 1.125rem;
  --aripa-type-h1: 2.5rem;
  --aripa-type-h2: 2rem;
  --aripa-type-h3: 1.375rem;
  --aripa-type-h4: 1.25rem;
  --aripa-type-h5: 1.125rem;
  --aripa-type-h6: 1rem;
}
@media (min-width:768px) {
  :root { --aripa-type-body:1.125rem; --aripa-type-lead:1.25rem; --aripa-type-h1:3.5rem; --aripa-type-h2:2.25rem; --aripa-type-h3:1.5rem; }
}
@media (min-width:1024px) {
  :root { --aripa-type-h1:4rem; --aripa-type-h2:2.5rem; }
}

/* Important is limited to typography to supersede legacy page-level important
   rules. New components should consume these tokens rather than override them. */
main :is(h1,h2,h3,h4,h5,h6) {
  font-family:var(--aripa-type-font) !important;
  font-style:normal !important;
  text-transform:none !important;
  overflow-wrap:break-word;
}
main h1 { font-size:var(--aripa-type-h1) !important; font-weight:800 !important; line-height:1.08 !important; letter-spacing:-.04em !important; }
main h2 { font-size:var(--aripa-type-h2) !important; font-weight:800 !important; line-height:1.15 !important; letter-spacing:-.035em !important; }
main h3 { font-size:var(--aripa-type-h3) !important; font-weight:700 !important; line-height:1.3 !important; letter-spacing:-.02em !important; }
main h4 { font-size:var(--aripa-type-h4) !important; font-weight:700 !important; line-height:1.35 !important; letter-spacing:-.01em !important; }
main h5 { font-size:var(--aripa-type-h5) !important; font-weight:700 !important; line-height:1.4 !important; letter-spacing:normal !important; }
main h6 { font-size:var(--aripa-type-h6) !important; font-weight:700 !important; line-height:1.4 !important; letter-spacing:normal !important; }

main p:where(:not(.phase1-eyebrow):not(.eyebrow):not(.av6-kicker):not(.home-case-label):not(.diagnostic-panel-question):not(.uppercase)),
main .article-body li,
main .case-detail-copy li,
main .section-wrap dd,
main .pill>span,
main .editorial-links em,
main nav[aria-label="Temas de Insights"] a>span:last-child {
  font-family:var(--aripa-type-font) !important;
  font-size:var(--aripa-type-body) !important;
  font-weight:400 !important;
  line-height:1.65 !important;
  letter-spacing:normal !important;
}
/* A lead introduces the page itself; section introductions use the body size. */
main h1+p,
main p.av6-sub { font-size:var(--aripa-type-lead) !important; line-height:1.6 !important; }
main :is(.phase1-eyebrow,.eyebrow,.av6-kicker,.home-case-label,p.uppercase,.expertise-label) {
  font-family:var(--aripa-type-font) !important;
  font-size:.75rem !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  letter-spacing:.12em !important;
}
