:root {
    /* Color palette */
    --color-primary: #1a56db;
    --color-primary-light: #3b82f6;
    --color-primary-dark: #1e3a8a;
    --color-secondary: #059669;
    --color-secondary-light: #34d399;

    --color-text: #1f2937;
    --color-text-light: #6b7280;
    --color-text-inverse: #ffffff;

    --color-bg: #ffffff;
    --color-bg-alt: #f9fafb;
    --color-bg-dark: #111827;
    --color-bg-card: #ffffff;

    --color-border: #e5e7eb;
    --color-border-light: #f3f4f6;

    --color-accent: #7c3aed;
    --color-danger: #dc2626;
    --color-warning: #f59e0b;
    --color-success: #10b981;
    --color-ink-strong: #0d1529;
    --color-ink-soft: #5f6b85;
    --color-surface-glass: rgba(255, 255, 255, 0.62);
    --color-surface-glass-strong: rgba(255, 255, 255, 0.78);
    --color-border-glass: rgba(255, 255, 255, 0.36);
    --color-glow-primary: rgba(116, 148, 255, 0.46);
    --color-glow-secondary: rgba(113, 238, 210, 0.34);
    --gradient-hero: radial-gradient(circle at 12% 16%, rgba(130, 158, 255, 0.34), transparent 36%), radial-gradient(circle at 82% 16%, rgba(117, 238, 214, 0.3), transparent 38%), linear-gradient(180deg, #eef2ff 0%, #f8fbff 34%, #ffffff 100%);
    --color-hero-umap-cyan: #80ddf8;
    --color-hero-umap-blue: #7fb2ff;
    --color-hero-umap-lavender: #c7b7ff;
    --color-hero-umap-pink: #f2b8dc;
    --color-hero-umap-gold: #f5d98e;

    /* Typography */
    --font-heading: "Inter", sans-serif;
    --font-body: "Inter", sans-serif;
    --font-mono: "JetBrains Mono", "Fira Code", monospace;

    --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-h2-display: clamp(1.5rem, 2.66vw, 2.24rem);

    --leading-tight: 1.2;
    --leading-normal: 1.6;
    --leading-relaxed: 1.75;

    --weight-thin: 100;
    --weight-normal: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-h1-display: 120;
    --weight-h2-display: 150;
    --weight-h3-display: 150;
    --color-h2-display: #000000;

    /* Spacing */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;

    /* Layout */
    --max-width: 1200px;
    --max-width-narrow: 800px;
    --max-width-wide: 1400px;

    /* Borders / radius */
    --radius-sm: 4px;
    --radius: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
    --shadow-glass: 0 20px 44px rgba(15, 23, 42, 0.14);
    --shadow-floating: 0 28px 60px rgba(15, 23, 42, 0.2);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 350ms ease;
    --transition-fluid: 420ms cubic-bezier(0.22, 1, 0.36, 1);

    /* Blur */
    --blur-glass: 18px;
}
