/*
 * Basics — design tokens (custom properties) and a minimal reset.
 * No component styles here — those belong in main.css.
 */

:root {
	/* Color — primary (blue) */
	--color-primary: #184782;
	--color-primary-dark: #1D2E42;
	--color-primary-light: #ADD2FF;

	/* Color — secondary (gold) */
	--color-secondary: #825C17;
	--color-secondary-light: #D7B26E;

	/* Color — neutrals */
	--color-text: #22262B;
	--color-text-muted: #5B6470;
	--color-bg: #FFFFFF;
	--color-bg-alt: #F5F7FA;
	--color-border: #DDE3EA;

	/* Color — semantic aliases */
	--color-link: var(--color-primary);
	--color-link-hover: var(--color-primary-dark);
	--color-focus-ring: var(--color-primary-light);

	/* Typography */
	--font-family-base: 'Manrope', sans-serif;
	--font-size-base: 16px;
	--line-height-base: 1.6;

	--font-size-sm: 0.875rem;
	--font-size-md: 1rem;
	--font-size-lg: 1.125rem;
	--font-size-xl: 1.5rem;
	--font-size-2xl: 2rem;
	--font-size-3xl: 2.75rem;

	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;

	/* Radius */
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-full: 999px;

	/* Spacing */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2rem;
	--space-6: 3rem;

	/* Motion */
	--transition-fast: 150ms ease;
	--transition-base: 250ms ease;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

ul[class],
ol[class] {
	list-style: none;
	margin: 0;
	padding: 0;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
