:root {
    --clr-primary-700: #003366;
    --clr-primary-500: #004488;
    --clr-primary-300: #336699;
    --clr-primary-100: #e6f0f7;
    --clr-secondary-900: #111111;
    --clr-secondary-700: #333333;
    --clr-secondary-500: #555555;
    --clr-secondary-300: #777777;
    --clr-secondary-100: #f1f1f1;
    --clr-accent-500: #f5a623;
    --clr-accent-300: #ffcc66;
    --clr-accent-100: #fff8e1;
    --clr-common-white: #ffffff;
    --clr-common-black: #000000;
    --clr-background: var(--clr-common-white);
    --clr-background-alt: #f8faff;
    --clr-text-main: var(--clr-secondary-700);
    --clr-text-headings: var(--clr-secondary-900);
    --clr-text-muted: var(--clr-secondary-500);
    --clr-border: #dce3e9;
    --gradient-primary: linear-gradient(135deg, var(--clr-primary-700) 0%, var(--clr-primary-500) 100%);
    --gradient-accent: linear-gradient(45deg, var(--clr-accent-500) 0%, var(--clr-accent-300) 100%);
    --gradient-cta-bg: linear-gradient(135deg, var(--clr-primary-700) 0%, #0055aa 100%);
    --gradient-icon: linear-gradient(60deg, var(--clr-primary-500), var(--clr-accent-500));
    --gradient-subtle-bg: linear-gradient(180deg, var(--clr-common-white) 0%, var(--clr-background-alt) 100%);
    --font-primary: 'Inter', sans-serif;
    --font-secondary: 'Montserrat', sans-serif;
    --fs-base: 16px;
    --fs-xs: 0.75rem;
    --fs-sm: 0.875rem;
    --fs-md: 1rem;
    --fs-lg: 1.125rem;
    --fs-xl: 1.25rem;
    --fs-2xl: 1.5rem;
    --fs-3xl: 1.875rem;
    --fs-4xl: 2.25rem;
    --fs-5xl: 3rem;
    --fs-6xl: 3.75rem;
    --fs-7xl: 4.5rem;
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --spacing-unit: 8px;
    --spacing-xs: calc(0.5 * var(--spacing-unit));
    --spacing-sm: calc(1 * var(--spacing-unit));
    --spacing-md: calc(2 * var(--spacing-unit));
    --spacing-lg: calc(3 * var(--spacing-unit));
    --spacing-xl: calc(4 * var(--spacing-unit));
    --spacing-2xl: calc(6 * var(--spacing-unit));
    --spacing-3xl: calc(8 * var(--spacing-unit));
    --spacing-4xl: calc(12 * var(--spacing-unit));
    --spacing-5xl: calc(16 * var(--spacing-unit));
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 16px;
    --border-radius-xl: 24px;
    --border-radius-full: 9999px;
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    --shadow-outline: 0 0 0 3px rgba(66, 153, 225, 0.5);
    --transition-duration-fast: 150ms;
    --transition-duration-normal: 300ms;
    --transition-duration-slow: 500ms;
    --transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --container-max-width: 1280px;
    --container-padding: var(--spacing-lg);
    --header-height: 70px;
    --header-height-scrolled: 60px;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-width: 0;
    border-style: solid;
    border-color: var(--clr-border);
}
