/* ============================================
   NEXR ARTS — Design Tokens
   ============================================ */

:root {
  /* --- Colors --- */
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f5f5f5;
  --color-bg-surface: #f0f0f0;
  --color-bg-elevated: #e8e8e8;

  --color-text-primary: #111111;
  --color-text-secondary: #555555;
  --color-text-muted: #999999;
  --color-text-accent: #4a7c8f;

  --color-accent: #4a7c8f;
  --color-accent-light: #5e94a8;
  --color-accent-dark: #3a6272;

  --color-border: #e0e0e0;
  --color-border-light: #cccccc;

  --color-overlay: rgba(0, 0, 0, 0.4);
  --color-overlay-heavy: rgba(0, 0, 0, 0.65);

  /* --- Typography --- */
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'Inter', sans-serif;

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  --fs-display: clamp(2.5rem, 5vw, 4.5rem);
  --fs-h1: clamp(2rem, 4vw, 3rem);
  --fs-h2: clamp(1.75rem, 3.5vw, 3rem);
  --fs-h3: clamp(1.25rem, 2vw, 1.75rem);
  --fs-h4: 1.125rem;
  --fs-body: 1rem;
  --fs-body-lg: 1.125rem;
  --fs-small: 0.875rem;
  --fs-xs: 0.75rem;
  --fs-label: 0.6875rem;

  --lh-tight: 1.1;
  --lh-heading: 1.2;
  --lh-body: 1.7;

  --ls-wide: 0.15em;
  --ls-wider: 0.25em;
  --ls-widest: 0.35em;

  /* --- Spacing --- */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 8rem;
  --space-4xl: 8rem;
  --space-section: clamp(4rem, 8vw, 8rem);

  /* --- Layout --- */
  --container-max: 1280px;
  --container-narrow: 960px;
  --container-text: 720px;
  --container-padding: clamp(1.25rem, 5vw, 3rem);

  /* --- Transitions --- */
  --transition-fast: 0.2s ease;
  --transition-base: 0.4s ease;
  --transition-slow: 0.6s ease;
  --transition-slower: 0.8s ease;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);

  /* --- Borders --- */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;

  /* --- Z-Index --- */
  --z-header: 1000;
  --z-overlay: 900;
  --z-modal: 1100;
}
