:root {
  color-scheme: light dark;

  /* Group layer */
  --night: #1a1008;
  --walnut: #241b11;
  --walnut-soft: #2f2418;
  --linen: #ece5d6;
  --paper: #f4eee1;
  --paper-deep: #e9e0cd;
  --ink: #17150f;
  --ink-soft: #565248;
  --glow: #e2a35c;
  --focus-dark: #e2b271;
  --hairline-dark: rgba(236, 229, 214, .16);
  --hairline-light: rgba(23, 21, 15, .14);

  /* PARQ */
  --parq-field: #f7f3ec;
  --parq-field-amber: #c08b45;
  --parq-jamb-dark: #c08b45;
  --parq-jamb-light: #9a6b2f;
  --parq-text-light: #7d551f;
  --parq-text-dark: #e2b271;

  /* MOLO */
  --molo-field: #c1d5bf;
  --molo-field-concrete: #cfd0cc;
  --molo-jamb-dark: #c1d5bf;
  --molo-jamb-light: #6f8a6d;
  --molo-text-light: #3c4a3a;
  --molo-text-dark: #c1d5bf;

  /* Soul Bistro */
  --bistro-field: #00594d;
  --bistro-jamb-dark: #4ea99b;
  --bistro-jamb-light: #00594d;
  --bistro-text-light: #00594d;
  --bistro-text-dark: var(--linen); /* the manual's inverse variant is white on green (p.4); 8.3:1 */

  /* Točna */
  --tocna-field: #0d0d0d;
  --tocna-field-olive: #6a7c51;
  --tocna-jamb-dark: #a7b56b;
  --tocna-jamb-light: #556237;
  --tocna-text-light: #556237;
  --tocna-text-dark: #a7b56b;

  /* Vodojemy — placeholder identity */
  --vodojemy-field: #1f2a3d;
  --vodojemy-jamb-dark: #7c93b8;
  --vodojemy-jamb-light: #1f2a3d;
  --vodojemy-text-light: #1f2a3d;
  --vodojemy-text-dark: #9fb3d1;

  /* Catering — placeholder identity */
  --catering-field: #8f4a26; /* the lighter #a85f38 capped text contrast at 2.39:1 - even white missed 4.5 */
  --catering-jamb-dark: #d98a5c;
  --catering-jamb-light: #8f4a26;
  --catering-text-light: #8f4a26;
  --catering-text-dark: #ece5d6;

  /* Type */
  --font-display: "Bricolage Grotesque", "Arial Narrow", "Segoe UI", sans-serif;
  --font-body: "Archivo", "Segoe UI", Arial, sans-serif;
  --font-meta: "Courier Prime", "Courier New", monospace;
  --font-lockup: "Lora", Georgia, serif;
  --fs-d1: clamp(2.2rem, 4.5vw, 3.4rem);
  --fs-d2: clamp(1.5rem, 2.6vw, 2.1rem);
  --fs-body: 1rem;
  --fs-meta: .82rem;
  --fs-micro: .68rem;
  --lh-body: 1.6;
  --tracking-micro: .18em;

  /* 8px grid */
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6.5rem;
  --section-pad: clamp(4rem, 9vw, 7rem);
  --gutter: clamp(1rem, 4vw, 3rem);

  /* Motion grammar */
  --ease-dolly: cubic-bezier(.22, .61, .21, 1);
  --t-dolly: 720ms;
  --t-hold: 3000ms;
  --t-plate-out: 240ms;
  --t-plate-in: 420ms;
  --delay-plate-in: 240ms;
  --t-jamb: 420ms;
  --delay-jamb: 300ms;
  --t-menu: 320ms;
  --t-dialog-in: 360ms;
  --t-dialog-out: 240ms;

  /* Elevation and material */
  --window-glow: 0 0 0 1px var(--hairline-dark),
    0 8px 40px -12px rgba(226, 163, 92, .45);
  --paper-grain: radial-gradient(circle at 18% 23%, rgba(23, 21, 15, .03) 0 .55px, transparent .7px),
    radial-gradient(circle at 72% 67%, rgba(23, 21, 15, .025) 0 .45px, transparent .65px),
    radial-gradient(circle at 43% 88%, rgba(255, 255, 255, .03) 0 .5px, transparent .68px);
  --paper-grain-size: 11px 13px, 17px 19px, 23px 29px;
  --paper-grain-tile: 200px;

  /* Layer scale */
  --z-base: 0;
  --z-content: 10;
  --z-header: 40;
  /* chrome geometry: the header and the pinned venue rail. Every offset derives from these. */
  --header-height: 4.5rem;
  --rail-height: 4rem;
  /* the page's side edges: the gutter, or the notch if it is wider */
  --edge-start: max(var(--gutter), env(safe-area-inset-left));
  --edge-end: max(var(--gutter), env(safe-area-inset-right));
  --z-menu: 80;
  --z-dialog: 100;

  /* Breakpoint contract (documentation tokens; media queries use the same rem values) */
  --bp-mobile: 30rem;
  --bp-desktop: 64rem;
  --bp-wide: 90rem;
}
