/* ============================================================
   01 TOKENS – PURETHNIK
   Design variables: color, type, spacing, radii, effects.
   Brand colors extracted directly from logo.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Hanken+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root {
  /* --- Neutrals (clean, clinical) --- */
  --ink: #1A1A1A;
  --ink-2: #2D2D2D;
  --soot: #333333;
  --stone: #7A7A7A;
  --paper: #FFFCF8;
  --paper-2: #54884c1a;
  --paper-3: #54884c1a;
  --white: #fff;

  /* --- Brand cores (from logo) --- */
  --terracotta: #C62828;
  /* PRIMARY – Logo red (cosmétiques & bien-être) */
  --terracotta-2: #A52020;
  --terracotta-3: #F8D7DA;
  --forest: #2E7D32;
  /* SECONDARY – Logo dark green (pure) */
  --forest-2: #1B5E20;
  --forest-3: #C8E6C9;
  --ochre: #54884c;
  /* ACCENT – Logo lime green (thnik, leaves) */
  --ochre-2: #689F38;
  --ochre-3: #F1F8E9;
  --indigo: #1A1A1A;
  /* DEEP ACCENT */
  --indigo-2: #111111;
  --indigo-3: #E8E8E8;

  /* --- Semantic aliases --- */
  --text-strong: var(--ink);
  --text-body: var(--soot);
  --text-muted: var(--stone);
  --text-inverse: var(--paper);

  --surface-page: var(--paper);
  --surface-alt: var(--paper-2);
  --surface-card: var(--white);
  --surface-ink: var(--ink);
  --surface-brand: var(--terracotta);

  --brand-primary: var(--terracotta);
  --brand-secondary: var(--forest);
  --brand-accent: var(--ochre);
  --brand-deep: var(--indigo);

  --border-strong: var(--ink);
  --border-subtle: var(--paper-3);
  --border-on-ink: rgba(255, 252, 248, 0.18);
  --focus-ring: var(--ochre);

  /* --- Type --- */
  --font-display: 'Bricolage Grotesque', system-ui, sans-serif;
  --font-sans: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --font-mono: 'Space Mono', ui-monospace, monospace;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-black: 800;

  --text-xs: 0.9rem;
  --text-sm: 1rem;
  --text-base: 1rem;
  --text-lg: 1.1875rem;
  --text-xl: 1.5rem;
  --text-2xl: 1.9375rem;
  --text-3xl: 2.5rem;
  --text-4xl: 3.25rem;
  --text-5xl: 4.25rem;
  --text-6xl: 5.5rem;

  --leading-tight: 1.02;
  --leading-snug: 1.15;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  --tracking-tight: -0.03em;
  --tracking-snug: -0.015em;
  --tracking-wide: 0.08em;
  --tracking-wider: 0.16em;

  /* --- Spacing (8px base) --- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.5rem;
  --space-8: 3rem;
  --space-10: 4rem;
  --space-12: 5rem;
  --space-16: 7rem;
  --space-20: 9rem;

  /* --- Radii (bold flat = tight corners) --- */
  --radius-sm: 3px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  /* --- Borders --- */
  --border-hair: 1px;
  --border-rule: 1px;
  --border-bold: 3px;

  /* --- Layout --- */
  --container: 1200px;
  --container-wide: 1360px;
  --gutter: var(--space-5);
  --section-y: var(--space-16);

  /* --- Effects: HARD offset shadows (signature) --- */
  --shadow-hard-sm: 3px 3px 0 0 var(--ochre);
  --shadow-hard: 5px 5px 0 0 var(--ochre);
  --shadow-hard-lg: 8px 8px 0 0 var(--ochre);
  --shadow-clay: 5px 5px 0 0 var(--terracotta-2);
  --shadow-forest: 5px 5px 0 0 var(--forest-2);
  --shadow-soft: 0 12px 30px -12px rgba(22, 18, 13, 0.35);

  /* --- Motion --- */
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-snap: cubic-bezier(0.2, 0.9, 0.3, 1.2);
  --dur-fast: 120ms;
  --dur: 200ms;
  --dur-slow: 360ms;
}
