/* Core Design Tokens & Reset */
:root {
	--primary-color: #09204b; /* Brand Navy */
	--primary-hover: #061533;
	
	--secondary-color: #4eabf9; /* Accent Bright Blue */
	--secondary-hover: #3198eb;
	
	--text-dark: #1E293B; /* Slate 800 */
	--text-medium: #475569; /* Slate 600 */
	--text-light: #64748B; /* Slate 500 */
	--text-white: #FFFFFF;

	--bg-light: #F8FAFC; /* Slate 50 */
	--bg-white: #FFFFFF;
	--border-color: #E2E8F0; /* Slate 200 */
	
	--font-sans: 'Georama', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	
	--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	
	--transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	--transition-normal: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

html, body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	width: 100%;
}

#page, .site {
	overflow-x: hidden;
	width: 100%;
	position: relative;
}

body {
	font-family: "Plus Jakarta Sans", "Plus Jakarta Sans Placeholder", sans-serif !important;
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-dark);
	background-color: var(--bg-light);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: inherit;
	text-decoration: none;
	transition: var(--transition-fast);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

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

/* Screen reader text for accessibility */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
