/* ============================================================
   Zimmermann Law — Typography tokens
   Archivo is the voice: logo + every headline (800/900, tight,
   -0.02em). Source Serif 4 carries running text — sturdy and
   institutional. IBM Plex Mono is the detail layer: kickers,
   labels, dates, matter references, data.
   ============================================================ */

:root{
  /* ---- Families ---- */
  --sans:'Archivo', system-ui, -apple-system, sans-serif;   /* @kind font */
  --serif:'Source Serif 4', 'Times New Roman', Georgia, serif; /* @kind font */
  --mono-f:'IBM Plex Mono', ui-monospace, monospace;         /* @kind font */

  --font-display:var(--sans);   /* @kind font */
  --font-body:var(--serif);     /* @kind font */
  --font-ui:var(--sans);        /* @kind font */
  --font-detail:var(--mono-f);  /* @kind font */

  /* ---- Display / headline treatment ---- */
  --display-weight:800; /* @kind other */
  --display-spacing:-0.02em; /* @kind other */
  --display-leading:1.0; /* @kind other */

  /* ---- Fluid display sizes ---- */
  --hero-size:clamp(44px, 6vw, 86px);   /* homepage / practice hero */
  --title-size:clamp(30px, 3.4vw, 46px);/* section titles */

  /* ---- Static type scale ---- */
  --fs-display:56px; /* @kind spacing */  --lh-display:1.0; /* @kind other */
  --fs-h1:44px; /* @kind spacing */       --lh-h1:1.02; /* @kind other */
  --fs-h2:34px; /* @kind spacing */       --lh-h2:1.12; /* @kind other */
  --fs-h3:23px; /* @kind spacing */       --lh-h3:1.25; /* @kind other */
  --fs-lead:21px; /* @kind spacing */     --lh-lead:1.5; /* @kind other */
  --fs-body:17px; /* @kind spacing */     --lh-body:1.6; /* @kind other */
  --fs-small:15px; /* @kind spacing */    --lh-small:1.5; /* @kind other */
  --fs-detail:12px; /* @kind spacing */   --lh-detail:1.4; /* @kind other */
  --fs-micro:10.5px; /* @kind spacing */  --lh-micro:1.4; /* @kind other */

  /* ---- Weights ---- */
  --w-regular:400; /* @kind other */ --w-medium:500; /* @kind other */ --w-semibold:600; /* @kind other */ --w-bold:700; /* @kind other */
  --w-extrabold:800; /* @kind other */ --w-black:900;   /* @kind other */

  /* ---- Tracking ---- */
  --track-tight:-0.02em; /* @kind other */
  --track-normal:0; /* @kind other */
  --track-kicker:0.16em; /* @kind other */
  --track-label:0.13em; /* @kind other */
  --track-brand-law:0.05em; /* @kind other */
}
