:root {
	/* Fonts */
	--font-primary: 'Mont', sans-serif;

	/* Colors */
	--color-bg: #ffffff;
	--color-surface: #f7f8fb;
	--color-surface-muted: #f3f4f6;
	--color-surface-gray: #e5e7eb;
	--color-surface-dark: #111111;
	--color-text: #000000;
	--color-text-strong: #111827;
	--color-text-brand: #1f2937;
	--color-text-soft: #333333;
	--color-text-muted: #3c424e;
	--color-muted: #667085;
	--color-border: #e4e7ec;
	--color-border-dark: rgba(0, 0, 0, 0.55);
	--color-border-dark-soft: rgba(0, 0, 0, 0.25);
	--color-border-white-soft: rgba(255, 255, 255, 0.35);
	--color-text-w: #ffffff;
	--color-white-soft: rgba(255, 255, 255, 0.65);

	--color-success: #12b76a;
	--color-warning: #f79009;
	--color-danger: #f04438;

	/* Project palette */
	--color-sage-50: #d3ddd0;
	--color-sage-100: #d3ded3;
	--color-sage-600: #7c9376;
	--color-sage-700: #7e937a;
	--color-sage-800: #5e6b57;
	--color-sage-gradient: rgba(121, 125, 121, 1);

	--color-hero-overlay: rgba(0, 0, 0, 0.3);
	--color-overlay-dark: rgba(0, 0, 0, 0.4);
	--color-overlay-modal: rgba(0, 0, 0, 0.75);
	--color-overlay-panel: rgba(0, 0, 0, 0.55);
	--color-gradient-transparent: rgba(206, 223, 204, 0);

	/* Typography scale */
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-md: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 1.875rem;
	--text-4xl: 2.25rem;

	--lh-tight: 1.2;
	--lh-normal: 1.5;
	--lh-relaxed: 1.65;

	/* 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;

	/* Layout */
	--container-max: 1120px;
	--container-max-wide: 1760px;
	--container-pad: 1rem;
	--container-pad-sm: 1.25rem;
	--container-pad-md: 1.5rem;
	--container-pad-lg: 2rem;
	--container-pad-xl: 2.5rem;

	/* Size tokens */
	--size-2: 0.125rem;
	--size-6: 0.375rem;
	--size-8: 0.5rem;
	--size-10: 0.625rem;
	--size-12: 0.75rem;
	--size-14: 0.875rem;
	--size-15: 0.9375rem;
	--size-16: 1rem;
	--size-18: 1.125rem;
	--size-20: 1.25rem;
	--size-22: 1.375rem;
	--size-24: 1.5rem;
	--size-25: 1.5625rem;
	--size-28: 1.75rem;
	--size-30: 1.875rem;
	--size-32: 2rem;
	--size-36: 2.25rem;
	--size-40: 2.5rem;
	--size-48: 3rem;
	--size-50: 3.125rem;
	--size-57: 3.5625rem;
	--size-60: 3.75rem;
	--size-64: 4rem;
	--size-66: 4.125rem;
	--size-69: 4.3125rem;
	--size-80: 5rem;
	--size-83: 5.208125rem;
	--size-88: 5.5rem;
	--size-100: 6.25rem;
	--size-110: 6.875rem;
	--size-120: 7.5rem;
	--size-122: 7.625rem;
	--size-140: 8.75rem;
	--size-165: 10.3125rem;
	--size-171: 10.6875rem;
	--size-200: 12.5rem;
	--size-208: 13rem;
	--size-320: 20rem;
	--size-350: 21.875rem;
	--size-360: 22.5rem;
	--size-387: 24.1875rem;
	--size-425: 26.5625rem;
	--size-438: 27.375rem;
	--size-486: 30.375rem;
	--size-516: 32.25rem;
	--size-537: 33.5625rem;
	--size-572: 35.75rem;
	--size-587: 36.6875rem;
	--size-602: 37.625rem;
	--size-614: 38.375rem;
	--size-620: 38.75rem;
	--size-712: 44.5rem;
	--size-730: 45.625rem;
	--size-940: 58.75rem;
	--size-1000: 62.5rem;
	--size-1100: 68.75rem;
	--size-1200: 75rem;
	--size-1456: 91rem;
	--size-1600: 100rem;
	--size-2400: 150rem;

	/* Radius */
	--radius-sm: 0.5rem;
	--radius-md: 0.75rem;
	--radius-lg: 1rem;
	--radius-xl: 1.5rem;
	--radius-2xl: 1.875rem;
	--radius-3xl: 2.5rem;
	--radius-round: 999px;

	/* Shadows */
	--shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.2);
	--shadow-md: 0 10px 20px rgba(16, 24, 40, 0.1);
	--shadow-case-img: 5px 10px 20px rgba(16, 24, 40, 0.25);
	--shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.35);
	--shadow-header: 5px 10px 10px rgba(0, 0, 0, 0.1);
	--shadow-spec: 10px 20px 35px rgba(0, 0, 0, 0.35);

	/* Focus */
	--focus-ring: 0 0 0 3px rgba(37, 99, 235, 0.25);
	--focus-ring-light: 0 0 0 3px rgba(255, 255, 255, 0.25);

	/* Motion */
	--dur-1: 120ms;
	--dur-2: 200ms;
	--dur-3: 250ms;
	--dur-4: 450ms;
	--dur-5: 900ms;
	--dur-6: 1500ms;
	--ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--ease-emphasis: cubic-bezier(0.25, 1, 0.5, 1);
}
