/* ============================================================================
   Design tokens — single source of truth.
   Shared by index.html (home) and resume-case-study.html. Edit values HERE;
   both pages link this file, so they always stay in sync. Do not redefine
   these in the pages' inline <style>. See DESIGN.md for rationale.
   ============================================================================ */

:root {
  /* ── Colour ("Candlelight, refined") ── */
  --ink:        #e6e2db;  /* primary text, headings (warm ivory)        */
  --ink-mid:    #8fa8bf;  /* secondary text (dusty blue)                */
  --ink-soft:   #7a7880;  /* tertiary — labels, captions, metadata      */
  --ink-faint:  #35322b;  /* hairlines, borders, faint diagram lines    */
  --paper:      #1c1b18;  /* page + card background (warm brown-charcoal)*/
  --paper-warm: #242320;  /* raised surfaces (figure boxes, cards)      */
  --paper-deep: #161512;  /* slightly darker warm base — design-iteration band */
  --accent:     #7aa8cf;  /* dusty blue — accent, stat number, glow, em */
  --accent-dim: #1c2d3e;  /* accent background fills                     */
  --accent-dim-soft: rgba(28, 45, 62, 0.55); /* accent-dim, more transparent */
  --rust:       #c4735a;  /* tension / problem / "before" state          */
  --rust-dim:   #2e1a15;  /* rust background fills                       */

  /* dark text tones for the dusty-blue left panel on the home page (paper at
     alpha so the blue shows through and keeps the secondary tone in-hue) */
  --on-accent:      #1c1b18;
  --on-accent-soft: rgba(28, 27, 24, 0.64);
  --on-accent-line: rgba(28, 27, 24, 0.22);

  /* ── Fonts & layout ── */
  --serif: 'Shippori Mincho B1', Georgia, serif;
  --sans:  'Inter', system-ui, sans-serif;
  --max:   960px;  /* case study content column */

  /* ── Type scale ──
     Serif (Shippori Mincho B1) for display/headings/stat numbers, always at
     weight 500 (--fw-serif). Sans (Inter) carries everything else. Use these
     tokens — do not hardcode sizes/weights. */
  --fs-display: clamp(30px, 4.6vw, 48px); /* hero title (serif)        */
  --fs-title:   clamp(26px, 4vw, 38px);   /* major section head (serif)*/
  --fs-heading: clamp(23px, 3.4vw, 32px); /* sub-section head (serif)  */
  --fs-stat:    44px;                     /* big metric number (serif) */
  --fs-quote:   19px;                     /* pull quote / lede serif   */
  --fs-lede:    17px;                     /* intro paragraph (sans)    */
  --fs-body:    14px;                     /* default body (sans)       */
  --fs-body-sm: 13px;                     /* secondary body (sans)     */
  --fs-caption: 12px;                     /* captions, card desc       */
  --fs-label:   10px;                     /* uppercase eyebrows/labels */
  --fs-label-lg:11px;                     /* nav, small captions       */
  --fs-micro:   9.5px;                    /* indices, tiny meta        */

  /* line heights */
  --lh-tight:   1.05; /* stat numbers          */
  --lh-snug:    1.2;  /* headings              */
  --lh-body:    1.6;  /* body copy             */
  --lh-relaxed: 1.72; /* lede / long-form      */

  /* weights */
  --fw-light:   300; /* sans, light body       */
  --fw-regular: 400; /* sans, default          */
  --fw-medium:  500; /* sans, labels/emphasis  */
  --fw-serif:   500; /* serif — single weight  */

  /* letter spacing */
  --ls-tight:  -0.01em; /* large serif display */
  --ls-label:   0.1em;  /* uppercase labels    */
}
