@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Brand */
    --brand-red-500: #e30613;

    /* Neutral scale */
    --gray-900: #1f2937;
    --gray-800: #252525;
    --gray-700: #374151;
    --gray-600: #4b5563;
    --gray-500: #6b7280;
    --gray-400: #9ca3af;
    --gray-300: #d1d5db;
    --gray-200: #e5e7eb;
    --gray-100: #f3f4f6;
    --gray-050: #f8fafc;
    --white:    #ffffff;

    /* Elevation (shadows) */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 24px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);

    /* Radii */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 16px;

    /* Spacing scale (4px base) */
    --space-1: .25rem;  /* 4px */
    --space-2: .5rem;   /* 8px */
    --space-3: .75rem;  /* 12px */
    --space-4: 1rem;    /* 16px */
    --space-5: 1.25rem; /* 20px */
    --space-6: 1.5rem;  /* 24px */
    --space-7: 1.75rem; /* 28px */
    --space-8: 2rem;    /* 32px */

    /* Typography */
    --font-sans: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --font-system: var(--font-sans);

    --text-xs: .75rem;
    --text-sm: .875rem;
    --text-md: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;

    /* Layout dimensions */
    --header-height: 100px;
    --header-height-mobile: 64px;
    --footer-height: 60px;
    --container-max: 1000px;

    /* Frequently used overlays and transparent colors */
    --color-brand-dim: rgba(227, 6, 19, 0.12);
    --color-brand-dim-hover: rgba(227, 6, 19, .3);
    --color-overlay-dark: rgba(0, 0, 0, 0.5);
    --color-overlay-light: rgba(0, 0, 0, .08);
    --color-overlay-light-2: rgba(255, 255, 255, 0.02);
    
    /* Success colors */
    --color-success: #22c55e;
    --color-success-light: #4ade80;
    --color-success-dim: rgba(34, 197, 94, .08);
    --color-success-dim-2: rgba(34, 197, 94, .15);
    --color-success-dim-3: rgba(39, 174, 96, 0.05);
    --color-success-border: #22c55e;
    
    /* Warning colors */
    --color-warning: #fb923c;
    --color-warning-dim: rgba(249, 115, 22, .08);
    --color-warning-border: #f97316;
    
    /* Error colors */
    --color-error: #f87171;
    --color-error-dim: rgba(239, 68, 68, .08);
    --color-error-border: #ef4444;
    
    /* Info color */
    --color-info: #60a5fa;
    --color-info-dim: rgba(59, 130, 246, .08);
    --color-info-border: #3b82f6;
    
    /* Specific UI colors */
    --color-brand-darker: #c0050f;
    --color-muted-text: #666;
    --color-label-text: #555;
    --color-label-focus: #333;
    --color-help-bg: #f9f9f9;
    --color-link-primary: #0066cc;
    --color-link-hover: #0052a3;

    /* Darkmode colors */
    --darkmode-bg: #0e1116;
    --darkmode-surface: #141922;
    --darkmode-border: #232a34;
}