:root {
  /* Colors - Stripe-style clean neutral palette */
  --color-primary: #635bff;
  --color-primary-hover: #5851e6;
  --color-primary-dark: #0D0D0D;
  
  /* Text Colors - Stripe palette (refined) */
  --color-text: #0D0D0D;
  --color-text-secondary: rgba(0, 0, 0, 0.75);
  --color-text-light: rgba(0, 0, 0, 0.55);
  
  /* Background Colors */
  --color-bg: #FFFFFF;
  --color-bg-subtle: #F9FAFB;
  --color-bg-dark: #0D0D0D;
  
  /* Strokes - Stripe palette */
  --color-stroke: rgba(0, 0, 0, 0.08);
  --color-border: rgba(0, 0, 0, 0.08);
  --color-border-light: rgba(0, 0, 0, 0.04);
  
  --color-success: #00d97e;
  --color-error: #df1c41;
  
  /* Typography Scale - 3 main sizes (Display, Section, Body) */
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  
  /* Display Headings (H1) */
  --font-size-display: 64px;
  --font-size-display-mobile: 44px;
  
  /* Section Headings (H2) */
  --font-size-section: 40px;
  --font-size-section-mobile: 30px;
  
  /* Body Text */
  --font-size-body: 19px;
  --font-size-body-mobile: 18px;
  
  /* Legacy support - map to new scale */
  --font-size-h1: var(--font-size-display);
  --font-size-h2: var(--font-size-section);
  --font-size-h3: 28px;
  --font-size-muted: 17px;
  --font-size-small: 16px;
  
  --font-size-h1-mobile: var(--font-size-display-mobile);
  --font-size-h2-mobile: var(--font-size-section-mobile);
  --font-size-h3-mobile: 24px;
  --font-size-body-mobile: 18px;
  
  /* Line Heights - increased for readability */
  --line-height-tight: 1.15;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.7;
  
  /* Spacing System - Tokenized */
  --space-xxl: 96px;
  --space-xl: 64px;
  --space-lg: 48px;
  --space-md: 32px;
  --space-sm: 24px;
  --space-xs: 16px;
  
  /* Legacy spacing support */
  --spacing-xs: var(--space-xs);
  --spacing-sm: var(--space-sm);
  --spacing-md: var(--space-md);
  --spacing-lg: var(--space-lg);
  --spacing-xl: var(--space-xl);
  --spacing-2xl: var(--space-xxl);
  --spacing-3xl: var(--space-xxl);
  
  /* Section Padding */
  --section-padding-desktop: var(--space-xxl);
  --section-padding-mobile: var(--space-xl);
  
  /* Container - 12-column grid support */
  --container-max-width: 1200px;
  --container-padding: var(--space-md);
  
  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  
  /* Shadows - Unified Stripe-style elevation system */
  --shadow-xs: 0 1px 1px rgba(0, 0, 0, 0.03);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 3px 8px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 8px 20px rgba(0, 0, 0, 0.08);
  
  /* Legacy shadow support */
  --shadow-card: var(--shadow-md);
  --shadow-card-hover: var(--shadow-lg);
  --shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.1);
  
  /* Border Radius - Unified system */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  
  /* Legacy radius support */
  --radius-xl: var(--radius-lg);
  
  /* Card spacing */
  --card-padding: 32px 28px;
}

@media (max-width: 768px) {
  :root {
    --section-padding-desktop: var(--space-xl);
    --container-padding: var(--space-sm);
  }
}

