/* === Design Tokens — v5.0 "Alive & Editorial" === */
:root {
  /* Canvas */
  --bg:              #F2EDE3;
  --bg-tint:         #EDE7DA;
  --surface:         #FFFFFF;
  --surface-hover:   #F8F5F0;
  --hairline:        #DDD8CF;

  /* Text */
  --text:            #1C1814;
  --text-soft:       #6B6560;
  --text-mute:       #A09A92;
  --text-on-primary: #FFFFFF;

  /* Primary — violet, restrained */
  --primary:         #5B47D0;
  --primary-hover:   #4A38B8;
  --primary-soft:    rgba(91, 71, 208, 0.08);

  /* Accents — pulled from the blobs */
  --terracotta:      #C97B63;
  --terracotta-soft: rgba(201, 123, 99, 0.1);
  --green:           #5A8C6B;
  --green-soft:      rgba(90, 140, 107, 0.1);
  --amber:           #E8A838;

  /* Blob colors (hero) */
  --blob-violet:     rgba(91, 71, 208, 0.30);
  --blob-terra:      rgba(201, 123, 99, 0.28);
  --blob-green:      rgba(90, 140, 107, 0.22);

  /* Spacing — 8px base */
  --s-1:  4px;
  --s-2:  8px;
  --s-3:  12px;
  --s-4:  16px;
  --s-5:  24px;
  --s-6:  32px;
  --s-7:  48px;
  --s-8:  64px;
  --s-9:  96px;
  --s-10: 128px;
  --s-section: 160px;

  /* Typography tokens */
  --font-display: 'DM Serif Display', 'Georgia', serif;
  --font-body:    'Space Grotesk', 'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'SF Mono', monospace;

  /* Type scale */
  --text-hero:    clamp(3rem, 9vw, 6.5rem);
  --text-display: clamp(2rem, 4.5vw, 3.5rem);
  --text-card:    1.25rem;
  --text-title:   1rem;
  --text-body-lg: 1.125rem;
  --text-body:    1rem;
  --text-sm:      0.875rem;
  --text-xs:      0.75rem;
  --text-kicker:  0.7rem;

  /* Radius */
  --radius-sm:  8px;
  --radius-md:  12px;
  --radius-lg:  16px;
  --radius-xl:  24px;
  --radius-full: 9999px;

  /* Elevation */
  --shadow-sm: 0 1px 3px rgba(28,24,20,0.08);
  --shadow-md: 0 4px 16px rgba(28,24,20,0.08), 0 1px 4px rgba(28,24,20,0.06);
  --shadow-lg: 0 8px 32px rgba(28,24,20,0.10);

  /* Animation */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:    180ms;
  --dur-base:    300ms;
  --dur-slow:    500ms;
  --dur-enter:   800ms;

  /* Container */
  --container: 1140px;
  --gutter:    24px;
  --content:   680px;
}
