:root {
  /* material */
  --ink:        #12130E;  /* page ground, warm olive-black */
  --ink-raised: #1B1D15;  /* header, FAQ answer surface on ink */
  --rule:       #2C2F23;  /* hairlines on ink */
  --rule-strong: #6A6E56;  /* 3.53:1 on ink — 1px boundaries that carry meaning (WCAG 1.4.11) */
  --bone:       #EFEBDD;  /* text on ink; ground of the inverted section */
  --bone-muted: #A6A896;  /* secondary text on ink (7.7:1) */
  --olive:      #8E9B5B;  /* small accents, focus ring */
  --olive-lift: #B2C077;  /* the CTA fill and link hover */
  --brine:      #C4553F;  /* overspend deltas only; max 2 uses per page; ≥24px or bold ≥19px on ink */
  /* derived for the inverted section (bone ground) — no new colours, only roles */
  --on-bone:        var(--ink);
  --on-bone-muted:  #5C5E4E;  /* 6.6:1 on bone; bone-muted itself fails on bone (2.0:1) */
  --rule-on-bone:   #D9D4C2;
  /* type */
  --font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; /* self-hosted */
  --font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;   /* figures only */
  --fs-1: clamp(38px, 5vw, 64px);  /* h1, line-height 1.02, tracking -0.02em */
  --fs-2: clamp(26px, 3vw, 36px);  /* h2, 1.1 */
  --fs-3: 20px;                    /* h3 / FAQ question, 1.25 */
  --fs-body: 17px;                 /* 1.55; measure ≤ 62ch */
  --fs-small: 14px;
  /* rhythm */
  --space-section: clamp(88px, 12vw, 152px);
  --space-block: 40px;
  --measure: 62ch;
  --radius: 4px;
  /* motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --t-hover: 120ms;   /* linear, colour/border only */
  --t-enter: 520ms;   /* hero entrance only */
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/dm-sans-var.woff2") format("woff2");
}

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/dm-mono-400.woff2") format("woff2");
}

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/dm-mono-500.woff2") format("woff2");
}
