:root {
  /* Colour — brand aubergine/gold mapped onto the "dark room" proportions:
     one dark tinted ground, one light ink, one dim secondary ink,
     one accent used sparingly, plus the two alternating fields. */
  --bg: #1c0f22;
  --surface: #2a1530;
  --ink: #ece2d4;
  --muted: #b8a6be;
  --accent: #c9a24b;
  --accent-hover: #ddb75c;
  --accent-ink: #1c0f22;
  --error: #f0917a;
  --field-1: #0c0610;
  --field-1-ink: #ece2d4;
  --field-2: #f4eade;
  --field-2-ink: #1c0f22;

  /* Type — Newsreader, light/sparse per the direction */
  --font-display: 'Newsreader', Georgia, serif;
  --font-text: 'Newsreader', Georgia, serif;

  --step-small: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem);
  --step-body: clamp(1.125rem, 1.05rem + 0.3vw, 1.3125rem);
  --step-lead: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
  --step-head: clamp(2rem, 1.3rem + 3.2vw, 4rem);
  --step-display: clamp(2.5rem, 1rem + 6vw, 5rem);

  /* Space */
  --margin: clamp(1rem, 2.2vw, 2rem);
  --gutter: clamp(1rem, 2vw, 2rem);
  --section: clamp(5rem, 12vw, 13rem);
  --radius: 0px;

  /* Motion (from the skill's neutral base.css) */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-exit: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --t-press: 140ms;
  --t-hover: 180ms;
  --t-ui: 240ms;
  --t-reveal: 800ms;
  --t-open: 1200ms;
  --stagger-line: 90ms;
  --stagger-item: 70ms;
}
