:root {
  /* Backgrounds */
  --color-bg:          #0D1B3E;
  --color-surface:     #1A2B52;
  --color-surface-2:   #243360;

  /* Gold */
  --color-gold:        #C9A84C;
  --color-gold-light:  #F0D080;
  --color-gold-dark:   #A07820;

  /* Text */
  --color-text:        #FFFFFF;
  --color-text-muted:  #8A9BBE;
  --color-text-faint:  #4A5A7A;

  /* Semantic */
  --color-danger:      #E74C3C;
  --color-warning:     #F39C12;
  --color-success:     #27AE60;

  /* Gems */
  --gem-ubuntu:        #3A9BB0;
  --gem-kaizen:        #27AE60;
  --gem-ikigai:        #E67E22;
  --gem-kintsugi:      #8E44AD;
  --gem-shoshin:       #2980B9;
  --gem-ikiru:         #16A085;
  --gem-shikata:       #C0392B;
  --gem-wabisabi:      #7F8C8D;

  /* Typography */
  --font-display:  'Playfair Display', Georgia, serif;
  --font-body:     'Inter', -apple-system, sans-serif;

  /* Font sizes (fluid) */
  --fs-xs:   clamp(0.75rem,  1vw,   0.875rem);
  --fs-sm:   clamp(0.875rem, 1.2vw, 1rem);
  --fs-base: clamp(1rem,     1.5vw, 1.125rem);
  --fs-lg:   clamp(1.125rem, 1.8vw, 1.375rem);
  --fs-xl:   clamp(1.375rem, 2.5vw, 1.75rem);
  --fs-2xl:  clamp(1.75rem,  3.5vw, 2.5rem);
  --fs-3xl:  clamp(2.5rem,   5vw,   4rem);
  --fs-hero: clamp(3.5rem,   9vw,   8rem);

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

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

  /* Shadows */
  --shadow-sm:  0 2px 8px rgba(0,0,0,0.3);
  --shadow-md:  0 4px 20px rgba(0,0,0,0.4);
  --shadow-lg:  0 8px 40px rgba(0,0,0,0.5);
  --shadow-gold: 0 0 30px rgba(201,168,76,0.3);

  /* Motion */
  --ease-spring:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:  cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast:   200ms;
  --dur-normal: 400ms;
  --dur-slow:   700ms;

  /* Layout */
  --container-max: 1280px;
  --container-pad: clamp(var(--sp-3), 5vw, var(--sp-8));
  --section-pad:   clamp(var(--sp-8), 10vw, var(--sp-16));
}
