/* Self-hosted variable Noto Sans replaces four legacy TTF responses. The
   latin subset covers the application corpus; rare symbols fall back per
   glyph. Italic is synthesized because the former italic files were unused. */
@font-face { font-family:'Noto Sans'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('../../assets/fonts/NotoSans-latin.woff2') format('woff2'); }
/* Metric-compatible fallback, aligned with CD font-face.postcss:37-44. */
@font-face { font-family:'Fallback-font'; src:local('Verdana');
  size-adjust:94%;
  ascent-override:114%;
  descent-override:31%;
  line-gap-override:0%; }

/* Headings map to CD's text--* ramps (typography.postcss:106-129) */
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5 { margin:0 0 var(--sp-4); font-weight:var(--fw-bold); }
h1,.h1 { font-size:var(--text-3xl); line-height:var(--lh-tight); overflow-wrap:anywhere; }
h2,.h2 { font-size:var(--text-2xl); line-height:var(--lh-tight); }
h3,.h3 { font-size:var(--text-xl);  line-height:var(--lh-tight); }
h4,.h4 { font-size:var(--text-lg);  line-height:var(--lh-normal); }
h5,.h5 { font-size:var(--text-base);line-height:var(--lh-normal); }
/* DELIBERATE DEVIATION from CD: Tailwind Preflight resets paragraph margins;
   rhythm there comes from .vertical-spacing and the components. This
   content-heavy vanilla app gives paragraphs a base rhythm; contained
   surfaces reset the final margin locally (.footer-information__entry p:last-child,
   .notification__content > p). */
p { margin:0 0 var(--sp-4); }

/* CD text utilities (typography.postcss:18-98) */
.text--xs { font-size:var(--text-xs); } .text--sm, .small { font-size:var(--text-sm); }
.text--base { font-size:var(--text-base); } .text--lg { font-size:var(--text-lg); }
.text--xl { font-size:var(--text-xl); line-height:var(--lh-tight); }
.text--2xl { font-size:var(--text-2xl); line-height:var(--lh-tight); }
.text--3xl { font-size:var(--text-3xl); line-height:var(--lh-tight); }
.text--4xl { font-size:var(--text-4xl); line-height:var(--lh-tight); }
/* .text--5xl is DELIBERATELY absent until a hero consumer exists (like the
   unused list variants); the --text-5xl ramp in tokens.css remains as
   CD parity bookkeeping (typography.postcss:18-21). */
.text--bold { font-weight:var(--fw-bold); }
.text--negative { color:var(--color-text-negative); }
.text--asterisk::after { content:'\202F*'; speak:none; }
/* CD font/color utilities as shims over our tokens, so CD/Storybook markup
   renders unchanged and the naming matches the official CD. */
.text--regular, .font--regular { font-weight:var(--fw-regular); }
.text--italic, .font--italic { font-style:italic; }
.font--bold { font-weight:var(--fw-bold); }
.text--bold-italic, .font--bold-italic { font-weight:var(--fw-bold); font-style:italic; }
.text--default, .color--default { color:var(--color-text); }
/* CD `.text--light` is text-text-500 (typography.postcss:87-89), the darkest
   step that reaches AA. --color-text-400 (#9ca3af) would be 2.54:1 on white.
   Keep this alias group so the CD name cannot drift from the value again. */
.text--light, .color--light { color:var(--color-gray-500); }
.color--link { color:var(--color-link); }
.color--negative { color:var(--color-text-negative); }
.text--asterisk ~ * .text--asterisk::after { content:''; }   /* only the first asterisk (CD) */
/* .overtitle (typography.postcss:100-104) was excised: its announced consumer
   (Item 2.25) never arrived; the portal eyebrow is .eyebrow (Design Review C10). */
/* Figure caption: CD binds `figcaption { @apply legend }` (typography.postcss:131-137);
   without that binding every figcaption would be styled differently. The color is
   CD's text-text-500 (4.83:1 on white), not text-400 (2.54:1).
   CD's `--color-secondary-100` (#dfe4e9) would be 1.2:1 on our white surfaces;
   CD's eyebrow/legend is designed for dark hero backgrounds. */
.legend, figcaption { font-size:var(--text-xs); padding-top:var(--sp-2); color:var(--color-gray-500); }

