/* ── Summer Sorbet Design Tokens ──────────────────────────────────────── */
:root {
  /* Colours */
  --color-blue:        #1a2e4a;   /* inky deep blue – primary brand */
  --color-blue-mid:    #2d5282;   /* mid blue – links, accents */
  --color-blue-light:  #ebf4ff;   /* pale blue tint – hover bg */
  --color-yellow:      #f6c94e;   /* sunny yellow – accent, highlights */
  --color-yellow-light:#fffbeb;   /* pale yellow – subtle bg */
  --color-coral:       #e8614d;   /* punchy coral – CTA, warnings */
  --color-coral-light: #fff0ee;   /* pale coral – warning bg */
  --color-bg:          #f8f7f4;   /* warm off-white background */
  --color-surface:     #ffffff;   /* card / panel surface */
  --color-text:        #1a2332;   /* near-black readable body */
  --color-text-muted:  #5a6a7e;   /* muted secondary text */
  --color-code-bg:     #eef2f8;   /* light blue for code bg */
  --color-border:      #dce4ef;   /* subtle border */
  --color-border-dark: #b0bfcf;

  /* Typography */
  --font-sans:   'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono:   'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;

  /* Type scale */
  --size-xs:   0.75rem;
  --size-sm:   0.875rem;
  --size-base: 1rem;
  --size-lg:   1.125rem;
  --size-xl:   1.25rem;
  --size-2xl:  1.5rem;
  --size-3xl:  1.875rem;
  --size-4xl:  2.25rem;
  --size-5xl:  3rem;

  /* Spacing */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Layout */
  --header-height:   4rem;
  --max-width:       1400px;
  --content-width:   860px;

  /* Radii */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
  --radius-xl:  20px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm:  0 1px 3px rgba(26,46,74,0.08);
  --shadow-md:  0 4px 12px rgba(26,46,74,0.12);
  --shadow-lg:  0 8px 30px rgba(26,46,74,0.15);

  /* Transitions */
  --transition: 0.2s ease;
}

/* Anchor scroll offset for sticky header */
html {
  scroll-padding-top: calc(var(--header-height) + var(--space-4));
}

