/* ============================================================
   WEFT & CO. · Design tokens
   Single source of truth. Do not hardcode hex values elsewhere.
   ============================================================ */
:root{
  /* ── Parent brand ── */
  --ink:#1A1715;
  --cream:#EFEAE0;
  --rust:#C04D34;
  --coral:#EFAA9B;
  --sage:#A8B89A;
  --gold:#D9A641;
  --gold-ink:#B0821F;      /* gold darkened for text on cream (AA) */
  --rust-deep:#8F3524;     /* rust darkened for small text on cream (AA) */

  --ink-72:rgba(26,23,21,0.74);
  --ink-60:rgba(26,23,21,0.62);
  --ink-30:rgba(26,23,21,0.32);
  --ink-12:rgba(26,23,21,0.13);
  --ink-06:rgba(26,23,21,0.06);
  --cream-72:rgba(239,234,224,0.74);
  --cream-40:rgba(239,234,224,0.42);
  --cream-12:rgba(239,234,224,0.13);

  /* ── The Practice (child brand) ── */
  --forest:#1F3A2D;
  --forest-deep:#16291F;
  --mustard:#D9A63B;
  --parchment:#F2EEE3;
  --parchment-80:rgba(242,238,227,0.82);
  --parchment-55:rgba(242,238,227,0.55);
  --parchment-18:rgba(242,238,227,0.18);
  --mustard-15:rgba(217,166,59,0.15);   /* accent wash behind module callouts */
  --rust-10:rgba(192,77,52,0.10);       /* accent wash behind module callouts */

  /* ── Type ──
     DISPLAY was Arial. Moved to Archivo so the parent brand stops
     looking less designed than its own child card. Revert by
     setting --display to the --sans stack. */
  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --mono:'Courier New',Courier,monospace;
  --fahkwang:'Fahkwang','Trebuchet MS',Arial,sans-serif;
  --figtree:'Figtree',Arial,sans-serif;

  /* ── Layout ── */
  --gutter:clamp(20px,4vw,72px);
  --measure:68ch;
  --stack-top:clamp(64px,9vh,96px);
  --ease:cubic-bezier(0.76,0,0.24,1);
  --rule:1px solid var(--ink-12);
}
