:root {
  /* Matter / Measure — core palette */
  --mm-paper: #f1efe9;
  --mm-bone: #e4dfd5;
  --mm-fog: #c8c8c0;
  --mm-ink: #171714;
  --mm-muted: #6d6c66;
  --mm-moss: #596052;
  --mm-umber: #6a4937;
  --mm-rust: #c64e31;
  --mm-cobalt: #2638cf;
  --mm-acid: #dde414;

  /* Material simulation */
  --mm-paper-texture: url("assets/uncoated-paper-substrate.png");
  --mm-paper-texture-size: 920px auto;
  --mm-paper-texture-opacity: 0.38;
  --mm-photo-saturation: 0.82;
  --mm-photo-contrast: 0.96;
  --mm-halftone-size: 1.7px;
  --mm-halftone-opacity: 0.11;
  --mm-registration-shift: 0.7px;
  --mm-ink-solid: #1b1b17;
  --mm-ink-soft: #34332e;
  --mm-stamp-edge-shift: 1.7px;
  --mm-stamp-ghost-shift: -0.9px;
  --mm-typewriter-jitter: 1.2px;
  --mm-typewriter-min-opacity: 0.54;

  /* Type */
  --mm-font-display: "Instrument Serif", "Iowan Old Style", "Baskerville", Georgia, serif;
  --mm-font-sans: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --mm-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --mm-display-tracking: -0.035em;
  --mm-label-tracking: 0.14em;

  /* Layout */
  --mm-max-width: 1440px;
  --mm-page-gutter: clamp(20px, 4vw, 64px);
  --mm-grid-gap: clamp(10px, 1.2vw, 18px);
  --mm-rule: rgba(23, 23, 20, 0.22);
  --mm-rule-soft: rgba(23, 23, 20, 0.11);

  /* Shape and motion */
  --mm-radius-small: 2px;
  --mm-radius-medium: 6px;
  --mm-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --mm-duration-fast: 160ms;
  --mm-duration-medium: 360ms;
}
