/* Centralized CSS variables
   Merged from header.css, hero-light.css, and style.css
*/
@font-face {
    font-family: 'Inter';
    /* Prefer a locally installed Inter, then try the shipped file. */
    src: local('Inter Variable'), local('Inter'),
        url('../fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype'),
        url('/static/fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Brand colors */
    --color-primary: #23967f;
    --color-primary-hover: #1b7362;
    --color-primary-active: #1b7362;
    --color-primary-contrast: #ffffff;
    --color-primary-light: #bfece6;
    --color-primary-rgb: 35, 150, 127;

    /* Shortcuts */
    --primary-color: var(--color-primary);
    --secondary-color: var(--color-primary-active);

    /* Grays, text & backgrounds */
    --text-color: #1f2937;
    --text-light: #6b7280;
    --background: #ffffff;
    --background-alt: #f3f4f6;

    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-gray-900: #111827;

    /* Font */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;

    /* Spacing */
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;

    /* Header */
    --header-bg: #ffffff;
    --header-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --header-height: 72px;

    /* Sizes & typography */
    --font-size-sm: 0.875rem;
    --font-size-lg: 1.125rem;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;

    /* Radius, transitions, container */
    --radius-md: 0.375rem;
    --radius-full: 9999px;
    --transition-fast: 150ms ease;
    --transition-normal: 200ms ease;
    --max-width-container: 1280px;

    /* Hero specific */
    --hero-bg: #f8fafc;
    --hero-card-bg: #ffffff;
    --hero-text-primary: #0f172a;
    --hero-text-secondary: #475569;
    --hero-text-muted: #94a3b8;
    --hero-primary: var(--color-primary);
    --hero-primary-light: var(--color-primary-light);
    --hero-primary-dark: var(--color-primary-active);
    --hero-primary-bg: var(--color-primary-light);
    --hero-accent: var(--hero-primary);
    --hero-accent-dark: var(--hero-primary-dark);
    --hero-border: #e2e8f0;
    --shadow-input-focus: 0 0 0 3px rgba(var(--color-primary-rgb), 0.15);
    --shadow-accent-focus: 0 0 0 3px rgba(var(--color-primary-rgb), 0.15);

    --hero-space-1: 0.25rem;
    --hero-space-2: 0.5rem;
    --hero-space-3: 0.75rem;
    --hero-space-4: 1rem;
    --hero-space-5: 1.25rem;
    --hero-space-6: 1.5rem;
    --hero-space-8: 2rem;
    --hero-space-10: 2.5rem;
    --hero-space-12: 3rem;

    --hero-radius-sm: 0.375rem;
    --hero-radius-lg: 0.75rem;
    --hero-radius-xl: 1rem;
    --hero-radius-2xl: 1.25rem;
    --hero-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
}