/* ==========================================================================
   DESIGN TOKENS — SHARED, DO NOT EDIT IN TASK FILES
   Single source of truth for colour, type, spacing, radius, motion, z-index.
   Direction: soft minimal, neutral, design-led (invented placeholder identity
   "Jordan Ellis"). No external fonts or assets — the page must work offline.
   If a value is needed that does not exist here, raise it rather than
   hard-coding a hex/px in a section stylesheet.
   ========================================================================== */

:root {
  /* ---- Colour: light surfaces ---- */
  --color-bg: #faf9f7;
  --color-surface: #ffffff;
  --color-surface-alt: #f1efec;
  --color-border: #e3dfda;
  --color-border-strong: #cfc9c1;

  --color-text: #1e1b18;
  --color-text-muted: #5c574f;   /* 6.0:1 on --color-bg */

  /* Warm ochre accent — AA as text on --color-bg / --color-surface */
  --color-accent: #8a5a2b;
  --color-accent-dark: #6e4620;
  --color-accent-soft: #f3e9dd;          /* tint for fills behind dark text */
  --color-accent-on-dark: #d9a46b;       /* accent variant for ink backgrounds */

  /* ---- Colour: dark "closing block" palette (contact + footer) ---- */
  --color-ink: #1e1b18;
  --color-ink-surface: #292420;
  --color-ink-border: #3c3630;
  --color-ink-text: #faf9f7;
  --color-ink-text-muted: #c9c2b8;       /* 8.5:1 on --color-ink */

  /* ---- Focus ---- */
  --color-focus: var(--color-accent-dark);
  --color-focus-on-dark: var(--color-accent-on-dark);

  /* ---- Overlay / scrim ---- */
  --scrim: rgba(30, 27, 24, 0.72);
  --scrim-soft: rgba(30, 27, 24, 0.55);

  /* ---- Type ---- */
  --font-display: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --fs-display: clamp(2.75rem, 6vw + 1rem, 5rem);
  --fs-h1: clamp(2.5rem, 5.5vw + 1rem, 4.5rem);
  --fs-h2: clamp(1.75rem, 3vw + 1rem, 2.75rem);
  --fs-h3: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  --fs-lead: clamp(1.125rem, 1vw + 0.9rem, 1.375rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-tiny: 0.75rem;

  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-body: 1.6;

  --tracking-wide: 0.08em;
  --tracking-tight: -0.01em;

  /* ---- Spacing scale (rem) ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* ---- Layout ---- */
  --container-max: 74rem;                 /* 1184px */
  --container-narrow: 46rem;              /* prose / section intros */
  --container-pad: clamp(1.25rem, 4vw, 3rem);
  --header-h: 4.5rem;                     /* wordmark + kicker fit inside this */
  --section-y: clamp(3.5rem, 8vw, 6rem);  /* vertical rhythm for every section */
  --tap-target: 2.75rem;                  /* minimum interactive size */

  /* ---- Radius & shadow ---- */
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(30, 27, 24, 0.06);
  --shadow-md: 0 8px 24px rgba(30, 27, 24, 0.08);
  --shadow-lg: 0 24px 60px rgba(30, 27, 24, 0.18);
  --shadow-header: 0 2px 12px rgba(30, 27, 24, 0.06);

  /* ---- Motion (restrained fades + hover only, per approved answers) ---- */
  --transition-fast: 150ms ease;
  --transition-base: 280ms ease;
  --transition-slow: 480ms ease;
  --reveal-distance: 1.25rem;
  --hover-lift: -3px;                     /* the only hover translate allowed */

  /* ---- Z-index ladder ---- */
  --z-header: 500;
  --z-nav-panel: 550;
  --z-lightbox: 1000;
  --z-skip: 1100;
}
