:root {
    --font-heading: "Space Grotesk", sans-serif;
    --font-body: "Inter", sans-serif;
    --font-mono: "JetBrains Mono", monospace;

    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    --font-size-display: clamp(3.5rem, 8vw, 7rem);
    --font-size-h1: clamp(2.75rem, 6vw, 5rem);
    --font-size-h2: clamp(2.25rem, 4vw, 3.5rem);
    --font-size-h3: clamp(1.75rem, 3vw, 2.5rem);
    --font-size-h4: clamp(1.35rem, 2vw, 1.75rem);

    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-md: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
    --font-size-label: 0.6875rem;

    --line-height-tight: 1.05;
    --line-height-snug: 1.2;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.7;

    --color-black: #050505;
    --color-white: #f2f2f2;

    --color-surface-primary: #050505;
    --color-surface-secondary: #0b0b0b;
    --color-surface-tertiary: #111111;
    --color-surface-elevated: #161616;

    --color-text-primary: #f2f2f2;
    --color-text-secondary: #b8b8b8;
    --color-text-muted: #707070;
    --color-text-inverse: #050505;

    --color-border-subtle: #161616;
    --color-border-default: #242424;
    --color-border-strong: #3a3a3a;

    --color-interactive: #f2f2f2;
    --color-interactive-hover: #ffffff;
    --color-focus: #f2f2f2;

    --color-accent: #f2f2f2;

    --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;
    --space-32: 8rem;

    --container-max-width: 1280px;
    --container-wide-width: 1440px;
    --container-padding-mobile: 1.25rem;
    --container-padding-tablet: 2rem;
    --container-padding-desktop: 3rem;
    --section-padding-mobile: 5rem;
    --section-padding-tablet: 6rem;
    --section-padding-desktop: 8rem;

    --grid-columns: 12;
    --grid-gap: var(--space-6);

    --border-width-thin: 1px;
    --border-width-medium: 2px;

    --border-default:
        var(--border-width-thin)
        solid
        var(--color-border-default);

    --border-subtle:
        var(--border-width-thin)
        solid
        var(--color-border-subtle);

    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-full: 9999px;

    --shadow-sm:
        0 1px 2px rgba(0, 0, 0, 0.25);

    --shadow-md:
        0 8px 24px rgba(0, 0, 0, 0.30);

    --shadow-lg:
        0 16px 48px rgba(0, 0, 0, 0.35);

    --shadow-xl:
        0 24px 64px rgba(0, 0, 0, 0.40);

    --opacity-muted: 0.6;
    --opacity-subtle: 0.4;
    --opacity-faint: 0.2;

    --transition-fast: 150ms ease;
    --transition-normal: 250ms ease;
    --transition-slow: 400ms ease;

    --transition-transform:
        transform var(--transition-normal);

    --transition-colors:
        color var(--transition-normal),
        background-color var(--transition-normal),
        border-color var(--transition-normal);

    --transition-opacity:
        opacity var(--transition-normal);

    --transition-all:
        all var(--transition-normal);

    --z-base: 0;
    --z-content: 10;
    --z-header: 100;
    --z-overlay: 500;
    --z-modal: 1000;
    --z-loader: 2000;

    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;
}
