/* ===== Design tokens — change these per client, the whole site re-skins =====
   System-over-snowflake (playbook spine #5). One source of truth for brand.
   PALETTE DISCIPLINE (L43): ONE warm system. Cream = 60%, espresso ink = 30%,
   terracotta = the 10% accent (CTA + small accents only). No patriotic red+navy. */
:root {
  /* Brand — ONE warm accent + a dark ink, everything derives */
  --brand:        #BF5A3C;   /* terracotta — the single ACTION/accent colour (10%) */
  --brand-deep:   #A4472D;   /* hover / pressed */
  --brand-ink:    #2A2520;   /* warm espresso near-black — headings + dark surfaces (the 30%) */
  --brand-tint:   #F4ECE3;   /* warm cream wash for alt sections */

  /* Neutrals (warm scale — the 60%) */
  --ink:    #221E1A;   /* body text (warm near-black) */
  --ink-2:  #6E665B;   /* secondary text */
  --line:   #E7DECF;   /* warm hairlines */
  --paper:  #FBF7F1;   /* warm cream — the dominant surface */
  --paper-2:#F4ECE3;   /* alt warm section bg */

  /* Type — real scale (more dramatic top end for ONE display moment), readable measure */
  --font-head: "Fraunces", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;
  --step--1: clamp(.83rem, .8rem + .2vw, .9rem);
  --step-0:  clamp(1rem, .96rem + .25vw, 1.125rem);
  --step-1:  clamp(1.25rem, 1.1rem + .6vw, 1.55rem);
  --step-2:  clamp(1.7rem, 1.35rem + 1.4vw, 2.4rem);
  --step-3:  clamp(2.2rem, 1.6rem + 2.6vw, 3.4rem);
  --step-4:  clamp(2.8rem, 2rem + 3.8vw, 4.8rem);
  --step-5:  clamp(3.2rem, 2.1rem + 5vw, 6rem);   /* the dramatic display moment (Tonic-scale) */
  --measure: 64ch;

  /* Space — 8pt rhythm */
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2rem; --s5:3rem; --s6:4.5rem; --s7:7rem;

  /* Radius / shadow / motion */
  --radius:16px;
  --shadow: 0 1px 2px rgba(42,37,32,.05), 0 12px 30px rgba(42,37,32,.07);
  --shadow-cta: 0 8px 22px color-mix(in srgb, var(--brand) 32%, transparent);
  --ease: cubic-bezier(.2,.7,.2,1);
}
@media (prefers-reduced-motion: reduce){ *{animation:none!important;transition:none!important;scroll-behavior:auto!important} }
