@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  /* Color Palette */
  --color-bg: #FAF3E1;         /* Premium Editorial Cream */
  --color-brand: #F63049;      /* Brand Red */
  --color-brand-hover: #D72239;
  --color-brand-light: #FFEBEF;
  --color-text: #111F35;       /* Dark Navy */
  --color-text-muted: #4A5568;  /* Muted Slate */
  --color-text-light: #718096;
  --color-white: #FFFFFF;
  --color-dark: #0D1625;
  --color-outline: rgba(17, 31, 53, 0.12);
  --color-outline-focus: rgba(246, 48, 73, 0.4);
  
  /* Typography */
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'Plus Jakarta Sans', sans-serif;
  
  /* Font Sizes */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;

  /* Line Heights */
  --lh-heading: 1.15;
  --lh-body: 1.6;

  /* Spacing Scale (4px base) */
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-20: 5rem;
  --spacing-24: 6rem;
  --spacing-32: 8rem;
  
  /* Transitions (Cubic Bezier for premium micro-animations) */
  --transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  
  /* Borders and Border Radius */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 16px;
  --border-radius-xl: 24px;
  --border-radius-full: 9999px;
  
  /* Layout Max Width */
  --max-width-site: 1280px;
  --max-width-reading: 680px;
}
