/* Design tokens — generated from project/brand.md Part 2 (the SSOT).
   Single committed light look: warm parchment japandi; the ink footer is the
   dark surface. All text pairings validated WCAG 2.2 AA. */
@layer tokens {
  :root {
    color-scheme: light;

    /* colour */
    --color-bg: #F2EDE3;             /* warm parchment */
    --color-surface: #E8E0D0;        /* sand */
    --color-border: #D8CDB9;         /* sand, deepened for hairlines */
    --color-text: #2B2521;           /* warm charcoal */
    --color-text-muted: #6C6155;     /* clay grey (AA on parchment and sand) */
    --color-accent: #A23E2A;         /* brick terracotta — sparingly */
    --color-accent-contrast: #F7F2E8;/* cream on accent */
    --color-ink: #211C18;            /* footer / dark sections */
    --color-cream: #F7F2E8;          /* text + logo on ink */
    --color-ochre: #B9854D;          /* decorative only, never body text */
    --color-danger: #8F2F1D;
    --color-success: #3D5A3A;
    --color-focus: #A23E2A;

    /* fluid type — ratio 1.25, body 1rem→1.125rem */
    --fs--1: clamp(0.85rem, 0.82rem + 0.15vw, 0.95rem);
    --fs-0:  clamp(1rem, 0.96rem + 0.20vw, 1.125rem);
    --fs-1:  clamp(1.25rem, 1.19rem + 0.30vw, 1.41rem);
    --fs-2:  clamp(1.56rem, 1.45rem + 0.55vw, 1.76rem);
    --fs-3:  clamp(1.95rem, 1.74rem + 0.95vw, 2.34rem);
    --fs-4:  clamp(2.4rem, 2.05rem + 1.6vw, 3rem);

    /* spacing — airy japandi rhythm */
    --space-2xs: .25rem; --space-xs: .5rem; --space-sm: .75rem;
    --space-md: 1rem; --space-lg: 1.5rem; --space-xl: 2.5rem;
    --space-2xl: 4rem; --space-3xl: 6rem;
    --space-fluid: clamp(2rem, 1.2rem + 4vw, 5rem);

    /* families */
    --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-body: 'Work Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

    /* shape & depth */
    --radius-sm: 6px; --radius-md: 12px; --radius-lg: 20px; --radius-pill: 999px;
    --shadow-2: 0 6px 24px rgb(33 28 24 / .10);
    --border: 1px solid var(--color-border);

    /* layout */
    --container: 68rem;
    --container-narrow: 44rem;
    --gutter: clamp(1rem, 0.5rem + 3vw, 2rem);
    --header-h: 56px;

    /* z-index */
    --z-base: 0; --z-sticky: 100; --z-overlay: 800; --z-modal: 900; --z-toast: 1000;

    /* motion */
    --dur-fast: 120ms; --dur-mid: 220ms; --dur-slow: 360ms;
    --ease: cubic-bezier(.2, 0, .2, 1);
  }
}
