/* ============================================
   FRAME X FRAME — Design Tokens
   Cinematic Portfolio Design System
   ============================================ */

:root {
  /* ---- Colors ---- */
  --color-primary: #0047AB;
  --color-primary-dark: #003380;
  --color-primary-light: #1a5cba;
  
  --color-bg: #FAFAF8;
  --color-bg-alt: #F0F0EC;
  --color-surface: #FFFFFF;
  
  --color-text: #1A1A1A;
  --color-text-secondary: #6B6B6B;
  --color-text-muted: #9A9A9A;
  
  --color-dark-bg: #0D0D0D;
  --color-dark-surface: #1A1A1A;
  --color-dark-text: #FAFAF8;
  
  /* ---- Typography ---- */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Space Mono', 'SF Mono', monospace;
  
  /* Font Sizes — Fluid Typography */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.5vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
  --text-2xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);
  --text-3xl: clamp(2.5rem, 2rem + 3vw, 5rem);
  --text-hero: clamp(3rem, 2rem + 5vw, 7.5rem);
  
  /* Line Heights */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;
  
  /* Letter Spacing */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.05em;
  --tracking-wider: 0.1em;
  
  /* ---- Spacing ---- */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 10rem;
  --space-section: clamp(6rem, 5rem + 8vw, 12rem);
  
  /* ---- Layout ---- */
  --container-max: 1400px;
  --container-narrow: 900px;
  --container-text: 680px;
  --gutter: clamp(1.5rem, 1rem + 3vw, 4rem);
  
  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  
  --duration-fast: 0.2s;
  --duration-normal: 0.4s;
  --duration-slow: 0.6s;
  --duration-slower: 0.8s;
  
  /* ---- Borders & Shadows ---- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  
  --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.06);
  --shadow-medium: 0 8px 40px rgba(0, 0, 0, 0.1);
  
  /* ---- Z-Index Scale ---- */
  --z-base: 1;
  --z-overlay: 10;
  --z-nav: 100;
  --z-modal: 1000;
}

/* Dark section overrides */
.section--dark {
  --color-bg: var(--color-dark-bg);
  --color-surface: var(--color-dark-surface);
  --color-text: var(--color-dark-text);
  --color-text-secondary: #A0A0A0;
}
