:root {
	--color-primary: 78 163 220;
	--color-secondary: 85 85 85;
	--color-tertiary: 17 17 17;
	--color-white: 255 255 255;
	--color-offwhite: 247 249 250;
	--color-muted: 105 115 125;
	--color-border: 220 228 234;
	--color-success: 46 160 88;
	--color-warning: 214 145 32;
	--color-error: 199 58 58;

	--font-family-body: Arial, Helvetica, sans-serif;
	--font-family-heading: Arial, Helvetica, sans-serif;
	--font-size-body: 16px;
	--line-height-body: 1.65;
	--font-weight-body: 400;
	--font-weight-heading: 750;

	--font-size-h1: clamp(2.25rem, 6vw, 4.9rem);
	--font-size-h2: clamp(1.85rem, 4vw, 3.1rem);
	--font-size-h3: clamp(1.3rem, 2.4vw, 2rem);
	--font-size-h4: 1.15rem;

	--site-max-width: 1180px;
	--site-side-padding: 24px;
	--section-space: clamp(72px, 8vw, 124px);
	--section-group-space: clamp(70px, 8vw, 120px);
	--grid-gap: clamp(24px, 4vw, 48px);
	--nav-height: 74px;
	--utility-height: 32px;

	--radius-small: 6px;
	--radius-medium: 14px;
	--radius-large: 24px;
	--shadow-small: 0 8px 24px rgb(0 0 0 / 0.08);
	--shadow-medium: 0 16px 46px rgb(0 0 0 / 0.12);
	--shadow-inset: inset 0 0 0 1px rgb(var(--color-white) / 0.55);

	--button-height: 46px;
	--button-padding-inline: 24px;
	--button-radius: var(--radius-small);
	--button-font-size: 0.88rem;
	--button-font-weight: 750;

	--input-height: 46px;
	--input-radius: var(--radius-small);
	--input-border-width: 1px;

	--content-frame-padding: clamp(22px, 3vw, 38px);
	--panel-radius: var(--radius-medium);
	--column-frame-radius: var(--radius-medium);

	--gradient-1: linear-gradient(125deg, rgb(var(--color-secondary) / 0.18) 0%, rgb(var(--color-white)) 38%, rgb(var(--color-white)) 62%, rgb(var(--color-secondary) / 0.18) 100%);
	--gradient-2: linear-gradient(135deg, rgb(var(--color-primary) / 0.95) 0%, rgb(var(--color-secondary) / 0.55) 100%);
	--gradient-3: linear-gradient(155deg, rgb(var(--color-primary) / 0.14) 0%, rgb(var(--color-white)) 48%, rgb(var(--color-secondary) / 0.22) 100%);
	--solid-section: rgb(var(--color-secondary) / 0.10);

	--transition-fast: 160ms ease;
	--transition-normal: 280ms ease;
}

@media (max-width: 767px) {
	:root {
		--site-side-padding: 18px;
		--section-space: 64px;
		--section-group-space: 56px;
		--grid-gap: 22px;
		--nav-height: 64px;
		--utility-height: 0px;
	}
}
