/* Design Tokens — Single source of truth for the design system */

:root {
  /* ── Colors ── */
  --color-cream:        #EDE8DC;
  --color-cream-light:  #F5F1E8;
  --color-cream-dark:   #DDD7C9;
  --color-white:        #FAFAF7;

  --color-text:         #1A1A1A;
  --color-text-body:    #3B3B3B;
  --color-text-muted:   #6B6B69;

  --color-accent:       #3D5A56;
  --color-accent-hover: #5A7A75;
  --color-accent-active:#2C413E;

  --color-border:       rgba(26, 26, 26, 0.1);
  --color-overlay:      rgba(26, 26, 26, 0.45);

  /* ── Typography ── */
  --font-display: 'Cormorant Garamond', 'Georgia', serif;
  --font-body:    'Inter', 'Helvetica Neue', 'Arial', sans-serif;

  /* Fluid type scale — min @ 375px, max @ 1440px */
  --text-xs:    clamp(0.75rem, 0.7rem + 0.15vw, 0.8125rem);    /* 12-13 */
  --text-sm:    clamp(0.8125rem, 0.77rem + 0.2vw, 0.875rem);    /* 13-14 */
  --text-base:  clamp(0.9375rem, 0.88rem + 0.25vw, 1rem);       /* 15-16 */
  --text-lg:    clamp(1.0625rem, 0.96rem + 0.4vw, 1.1875rem);   /* 17-19 */
  --text-xl:    clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);         /* 20-24 */
  --text-2xl:   clamp(1.5rem, 1.25rem + 1vw, 2rem);             /* 24-32 */
  --text-3xl:   clamp(1.875rem, 1.5rem + 1.5vw, 2.5rem);        /* 30-40 */
  --text-4xl:   clamp(2.25rem, 1.7rem + 2.2vw, 3.25rem);        /* 36-52 */
  --text-5xl:   clamp(2.75rem, 1.8rem + 3.5vw, 4.5rem);         /* 44-72 */
  --text-hero:  clamp(3.25rem, 2rem + 5vw, 6rem);               /* 52-96 */

  /* Line heights */
  --leading-tight:  1.1;
  --leading-snug:   1.25;
  --leading-normal: 1.6;
  --leading-relaxed:1.75;

  /* Letter spacing */
  --tracking-tight:   -0.02em;
  --tracking-normal:   0;
  --tracking-wide:     0.05em;
  --tracking-wider:    0.1em;
  --tracking-widest:   0.15em;

  /* Font weights */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;

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

  /* Fluid section spacing */
  --section-py: clamp(4rem, 3rem + 5vw, 8rem);

  /* ── Layout ── */
  --container-max:    90rem;   /* 1440px */
  --container-narrow: 45rem;   /* 720px */
  --container-px:     clamp(1.25rem, 1rem + 2vw, 3rem);

  /* ── Borders ── */
  --radius-sm:  0.25rem;  /* 4 */
  --radius-md:  0.5rem;   /* 8 */
  --radius-lg:  0.75rem;  /* 12 */
  --radius-xl:  1rem;     /* 16 */
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg:  0 8px 30px rgba(0,0,0,0.1);
  --shadow-xl:  0 12px 50px rgba(0,0,0,0.12);

  /* ── Transitions ── */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast:   150ms;
  --duration-base:   300ms;
  --duration-slow:   500ms;
  --duration-slower:  800ms;

  /* ── Z-index scale ── */
  --z-behind:  -1;
  --z-base:     0;
  --z-above:    1;
  --z-header:   100;
  --z-overlay:  200;
  --z-modal:    300;
}
