/* ============================================================
   Power of Smol — Design Tokens
   Single source of truth for all colours, typography,
   spacing, radius, shadow, and motion values.
   ============================================================ */

:root {

  /* ── Colour: Power Orange (primary) ── */
  --orange-50:  #FBEEE3;
  --orange-100: #F6DAC2;
  --orange-200: #EFBE95;
  --orange-300: #E89F68;
  --orange-400: #E1883F;
  --orange-500: #DD783A; /* BRAND */
  --orange-600: #C5642B;
  --orange-700: #A04F22;
  --orange-800: #7C3D1C;
  --orange-900: #5A2D16;

  /* ── Colour: Warm ink / neutrals ── */
  --ink-900: #211913;
  --ink-800: #2E251D;
  --ink-700: #463A2F;
  --ink-600: #5E5044;
  --ink-500: #7A6B5C;
  --ink-400: #9C8C7B;
  --ink-300: #C4B6A4;
  --sand-300: #D8C9B3;
  --sand-200: #E7DBC9;
  --sand-100: #F0E7D8;
  --cream:    #FBF4EB;
  --paper:    #FFFDF9;
  --white:    #FFFFFF;

  /* ── Colour: Clarity teal (accent) ── */
  --teal-700: #234E47;
  --teal-600: #2D5E57;
  --teal-500: #3A7268;
  --teal-200: #BBD4CE;
  --teal-100: #DCE9E5;

  /* ── Colour: Semantic aliases ── */
  --text-strong:         var(--ink-900);
  --text-body:           var(--ink-700);
  --text-muted:          var(--ink-500);
  --text-faint:          var(--ink-400);
  --text-on-brand:       var(--white);
  --text-inverse:        var(--cream);
  --text-link:           var(--orange-700);

  --surface-page:        var(--cream);
  --surface-card:        var(--paper);
  --surface-sunken:      var(--sand-100);
  --surface-inverse:     var(--ink-900);
  --surface-brand:       var(--orange-500);
  --surface-brand-soft:  var(--orange-50);
  --surface-clarity:     var(--teal-600);
  --surface-clarity-soft:var(--teal-100);

  --border-subtle:       var(--sand-200);
  --border-default:      var(--sand-300);
  --border-strong:       var(--ink-900);

  --accent:              var(--orange-500);
  --accent-hover:        var(--orange-600);
  --accent-press:        var(--orange-700);
  --accent-soft:         var(--orange-50);
  --clarity:             var(--teal-600);

  --selection-bg:        var(--orange-200);

  /* ── Typography: Families ── */
  --font-display: 'Archivo', system-ui, sans-serif;
  --font-sans:    'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, SFMono-Regular, monospace;

  /* ── Typography: Scale ── */
  --text-xs:   0.75rem;   /* 12px */
  --text-sm:   0.875rem;  /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg:   1.125rem;  /* 18px */
  --text-xl:   1.375rem;  /* 22px */
  --text-2xl:  1.75rem;   /* 28px */
  --text-3xl:  2.25rem;   /* 36px */
  --text-4xl:  3rem;      /* 48px */
  --text-5xl:  4rem;      /* 64px */

  /* ── Typography: Weights ── */
  --weight-regular:   400;
  --weight-medium:    500;
  --weight-semibold:  600;
  --weight-bold:      700;
  --weight-extrabold: 800;

  /* ── Typography: Line heights ── */
  --leading-none:    1;
  --leading-tight:   1.05;
  --leading-snug:    1.18;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* ── Typography: Letter spacing ── */
  --tracking-tighter: -0.03em;
  --tracking-tight:   -0.015em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-label:   0.14em;

  /* ── Spacing (4px base grid) ── */
  --space-1:  0.25rem;  /* 4px  */
  --space-2:  0.5rem;   /* 8px  */
  --space-3:  0.75rem;  /* 12px */
  --space-4:  1rem;     /* 16px */
  --space-5:  1.25rem;  /* 20px */
  --space-6:  1.5rem;   /* 24px */
  --space-8:  2rem;     /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */
  --space-32: 8rem;     /* 128px */

  /* ── Layout ── */
  --container-max:    1180px;
  --container-narrow: 760px;
  --gutter:           var(--space-8);
  --section-y:        var(--space-24);

  /* ── Radius ── */
  --radius-none: 0;
  --radius-xs:   4px;
  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   18px;
  --radius-xl:   28px;
  --radius-pill: 999px;

  /* ── Shadows ── */
  --shadow-xs: 0 1px 2px rgba(45,30,18,0.06);
  --shadow-sm: 0 2px 6px rgba(45,30,18,0.08);
  --shadow-md: 0 8px 22px -6px rgba(45,30,18,0.14);
  --shadow-lg: 0 20px 44px -14px rgba(45,30,18,0.20);
  --shadow-xl: 0 32px 64px -20px rgba(45,30,18,0.26);

  /* Signature block shadows */
  --shadow-block:        5px 5px 0 var(--ink-900);
  --shadow-block-orange: 5px 5px 0 var(--orange-500);
  --shadow-block-lg:     7px 7px 0 var(--ink-900);

  /* Focus */
  --ring: 0 0 0 3px rgba(221,120,58,0.40);

  /* ── Motion ── */
  --dur-fast:   120ms;
  --dur:        200ms;
  --dur-slow:   360ms;
  --dur-slower: 600ms;

  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.4, 0.5, 1);
}
