:root {
  /* ── Colors ── */
  --snow:       #FEF8F5;
  --night:      #08151E;
  --winter:     #08151E; /* backward-compat alias */
  --red:        #C74B4E;
  --carmine:    #A83A3D;
  --red-dark:   #A83A3D; /* backward-compat alias */
  --glacier:    #D7DFE1;
  --parchment:  #F0EBE3;
  --warm:       #F0EBE3; /* backward-compat alias */

  /* ── Font families ── */
  --font-heading: 'Bebas Neue', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --font-mono:    'DM Mono', monospace;
  --font-plate:   'License Plate', monospace;
  --font-serif:   'Bebas Neue', sans-serif;
  /* legacy aliases */
  --serif: 'Bebas Neue', sans-serif;
  --sans:  'DM Sans', sans-serif;
  --mono:  'DM Mono', monospace;

  /* ── Text sizes ── */
  --text-display:   clamp(64px, 9vw, 120px);
  --text-heading:   clamp(44px, 6vw, 80px);
  --text-title:     clamp(32px, 4vw, 52px);
  --text-section:   22px;
  --text-body:      15px;
  --text-label:     11px;
  --text-label-sm:  10px;
  --text-label-xs:  9.5px;

  /* ── Letter spacing ── */
  --ls-wide:    0.04em;
  --ls-wider:   0.08em;
  --ls-widest:  0.14em;
  --ls-extreme: 0.28em;

  /* ── Line height ── */
  --lh-tight:   0.9;
  --lh-normal:  1.5;
  --lh-relaxed: 1.75;

  /* ── Spacing (4px base) ── */
  --sp-2:   2px;
  --sp-4:   4px;
  --sp-6:   6px;
  --sp-8:   8px;
  --sp-10:  10px;
  --sp-12:  12px;
  --sp-16:  16px;
  --sp-20:  20px;
  --sp-24:  24px;
  --sp-32:  32px;
  --sp-40:  40px;
  --sp-48:  48px;
  --sp-64:  64px;
  --sp-80:  80px;
  --sp-96:  96px;

  /* ── Border radius ── */
  --radius-none: 0px;
  --radius-xs:   2px;
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-full: 9999px;

  /* ── Borders ── */
  --border-dark:  1px solid rgba(8,21,30,0.12);
  --border-light: 1px solid rgba(8,21,30,0.06);

  /* ── Shadows ── */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.14);

  /* ── Easing ── */
  --ease-fast:   0.1s ease;
  --ease-normal: 0.2s ease;

  /* ── Layout ── */
  --nav-height: 56px;
}
