:root{
  /* ---- Families ---- */
  --font-display:'Exposure',Georgia,serif; /* @kind font */
  --font-emphasis:'Exposure',Georgia,serif; /* @kind font */
  --font-body:'Hanken Grotesk',system-ui,sans-serif; /* @kind font */

  /* ---- Weights. Exposure ships roman + italic at 400 only — statement type is
         differentiated by size and measure, never weight. Body never goes above SemiBold. ---- */
  --w-display:400; /* @kind font */
  --w-body-light:300; /* @kind font */
  --w-body:400; /* @kind font */
  --w-body-medium:500; /* @kind font */
  --w-body-semibold:600; /* @kind font */

  /* ---- Display scale. Fluid, print-derived. ---- */
  --t-hero:clamp(2.75rem,6.4vw,5.25rem); /* @kind font */      /* "You've earned the stage." */
  --t-display:clamp(2.25rem,4.6vw,3.5rem); /* @kind font */    /* section openers */
  --t-h2:clamp(1.9rem,3.4vw,2.75rem); /* @kind font */
  --t-h3:clamp(1.35rem,2.1vw,1.75rem); /* @kind font */
  --t-h4:1.15rem; /* @kind font */

  /* ---- Body scale ---- */
  --t-lead:1.1875rem; /* @kind font */   /* 19px — section lead paragraph */
  --t-body:1.0625rem; /* @kind font */   /* 17px — default reading size */
  --t-body-sm:0.9375rem; /* @kind font *//* 15px — supporting copy, card body */
  --t-caption:0.8125rem; /* @kind font *//* 13px — BEST FOR:, captions */
  --t-eyebrow:0.6875rem; /* @kind font *//* 11px — tracked caps label */
  --t-micro:0.625rem; /* @kind font */   /* 10px — legal, index numbers */

  /* ---- Line heights ---- */
  --lh-hero:1; /* @kind font */
  --lh-display:1.08; /* @kind font */
  --lh-heading:1.14; /* @kind font */
  --lh-body:1.65; /* @kind font */
  --lh-tight:1.4; /* @kind font */

  /* ---- Tracking. Tuned for Exposure — the serif needs more negative than the old sans. ---- */
  --ls-hero:-0.04em; /* @kind font */
  --ls-display:-0.035em; /* @kind font */
  --ls-heading:-0.03em; /* @kind font */
  --ls-em:-0.055em; /* @kind font */
  --ls-body:0; /* @kind font */
  --ls-eyebrow:0.22em; /* @kind font */
  --ls-caps:0.16em; /* @kind font */
  --ls-wordmark:0.28em; /* @kind font */

  /* ---- Measure ---- */
  --measure-lead:60ch; /* @kind spacing */
  --measure-body:64ch; /* @kind spacing */
  --measure-narrow:48ch; /* @kind spacing */
}

/* ---- Type utilities. Everything below is a direct read of the brand guide. ---- */
.mf-hero{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-hero);line-height:var(--lh-hero);letter-spacing:var(--ls-hero);color:var(--text-heading);text-wrap:pretty}
.mf-display{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);color:var(--text-heading);text-wrap:pretty}
.mf-h2{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);color:var(--text-heading);text-wrap:pretty}
.mf-h3{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-h3);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);color:var(--text-heading)}
.mf-h4{font-family:var(--font-body);font-weight:var(--w-body-semibold);font-size:var(--t-h4);line-height:var(--lh-tight);color:var(--text-heading)}

/* The signature move: one or two words turned to the italic cut. Never a whole line. */
.mf-em{font-family:var(--font-emphasis);font-style:italic;font-weight:400;letter-spacing:var(--ls-em,0);font-size:1.04em}

.mf-lead{font-family:var(--font-body);font-weight:var(--w-body);font-size:var(--t-lead);line-height:var(--lh-body);color:var(--text-body);max-width:var(--measure-lead);text-wrap:pretty}
.mf-body{font-family:var(--font-body);font-weight:var(--w-body);font-size:var(--t-body);line-height:var(--lh-body);color:var(--text-secondary);max-width:var(--measure-body);text-wrap:pretty}
.mf-body-sm{font-family:var(--font-body);font-weight:var(--w-body);font-size:var(--t-body-sm);line-height:var(--lh-body);color:var(--text-secondary);text-wrap:pretty}
.mf-caption{font-family:var(--font-body);font-weight:var(--w-body);font-size:var(--t-caption);line-height:var(--lh-tight);color:var(--text-muted)}
.mf-eyebrow{font-family:var(--font-body);font-weight:var(--w-body-semibold);font-size:var(--t-eyebrow);line-height:1;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.mf-wordmark{font-family:var(--font-body);font-weight:var(--w-body-medium);font-size:var(--t-caption);letter-spacing:var(--ls-wordmark);text-transform:uppercase;color:var(--text-body)}
.mf-index{font-family:var(--font-body);font-weight:var(--w-body-semibold);font-size:var(--t-caption);letter-spacing:0.06em;color:var(--text-accent);font-variant-numeric:tabular-nums}
