:root{
  --font-sans:"Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display:"Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Weights — The Wash leans on heavy weights for punchy, conversion-focused headings */
  --fw-regular:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:700; /* @kind font */
  --fw-extrabold:800; /* @kind font */

  /* Type scale (1.250 major third, rem-based, 16px root) */
  --fs-xs:0.75rem;    /* 12 */
  --fs-sm:0.875rem;   /* 14 */
  --fs-base:1rem;     /* 16 */
  --fs-md:1.125rem;   /* 18 */
  --fs-lg:1.375rem;   /* 22 */
  --fs-xl:1.75rem;    /* 28 */
  --fs-2xl:2.25rem;   /* 36 */
  --fs-3xl:3rem;      /* 48 */
  --fs-4xl:3.75rem;   /* 60 */
  --fs-5xl:4.75rem;   /* 76 */

  --lh-tight:1.08; /* @kind font */
  --lh-snug:1.2; /* @kind font */
  --lh-normal:1.5; /* @kind font */
  --lh-relaxed:1.65; /* @kind font */

  --tracking-tight:-0.02em;
  --tracking-normal:0;
  --tracking-wide:0.04em;
  --tracking-caps:0.12em; /* CARWASH-style all-caps labels */

  /* Semantic roles */
  --text-display:var(--fw-extrabold) var(--fs-4xl)/var(--lh-tight) var(--font-display);
  --text-h1:var(--fw-extrabold) var(--fs-3xl)/var(--lh-tight) var(--font-display);
  --text-h2:var(--fw-bold) var(--fs-2xl)/var(--lh-snug) var(--font-display);
  --text-h3:var(--fw-bold) var(--fs-xl)/var(--lh-snug) var(--font-display);
  --text-lead:var(--fw-regular) var(--fs-md)/var(--lh-relaxed) var(--font-sans);
  --text-body-role:var(--fw-regular) var(--fs-base)/var(--lh-normal) var(--font-sans);
  --text-label:var(--fw-bold) var(--fs-xs)/1 var(--font-sans);
}
