/* Hallmark · tokens — Putsinki · studied-DNA (source: https://putsinki.fi/)
 * BRAND.md wins: #043775 navy · #4D9578 green · #FFF8F0 cream · Poppins (client-specified)
 */
:root {
  /* Paper & ink */
  --color-paper:        oklch(98.2% 0.013 71.3);  /* #FFF8F0 warm cream */
  --color-paper-2:      oklch(100% 0 0);           /* white cards */
  --color-paper-3:      oklch(95.8% 0.016 75);     /* deeper cream band */
  --color-ink:          oklch(24% 0.02 257);       /* near-black, navy-tinted */
  --color-ink-2:        oklch(44% 0.025 257);      /* muted text */
  --color-rule:         oklch(89% 0.018 75);       /* warm hairline — decorative only */
  --color-rule-2:       oklch(62% 0.02 257);       /* control borders — ≥3:1 on white and cream */

  /* Brand accents */
  --color-accent:       oklch(34.7% 0.118 257);    /* #043775 navy */
  --color-accent-deep:  oklch(29% 0.105 257);      /* navy hover */
  --color-accent-ink:   oklch(98.2% 0.013 71.3);   /* text on navy = cream */
  --color-accent-2:     oklch(61.4% 0.086 165.4);  /* #4D9578 green — decorative/large only */
  --color-accent-2-ink: oklch(43% 0.078 166);      /* green, text-safe on cream */
  --color-focus:        oklch(61.4% 0.086 165.4);  /* green ring: ≥3:1 on cream AND navy */
  --color-error:        oklch(45% 0.19 27);

  /* Type — single family (client brand), weight-split 400/600–700 */
  --font-display: "Poppins", system-ui, sans-serif;
  --font-body:    "Poppins", system-ui, sans-serif;

  /* Scale · 1.25 major third */
  --text-sm:   0.85rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-display-s: clamp(1.9rem, 2.2vw + 1rem, 2.6rem);
  --text-display:   clamp(2.3rem, 3.2vw + 1rem, 3.9rem);

  /* Space · 4 pt */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  /* Motion */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  /* Shadow (gate 48 — no inline colour literals in rules) */
  --shadow-soft: 0 8px 28px -20px oklch(20% 0.02 257 / 0.45);

  /* Shape */
  --radius-card:  10px;
  --radius-pill:  999px;
  --radius-input: 8px;

  /* Layout */
  --page-max:    72rem;
  --page-gutter: clamp(1rem, 4vw, 2rem);

  /* Z */
  --z-base: 1;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 400;
  --z-toast: 500;
}
