:root {
	/* Change these colors to quickly retheme the page. */
	--color-background: #fff8e7;
	--color-header: #241b35;
	--color-footer: #e8ddff;
	--color-surface: #ffffff;
	--color-text: #241b35;
	--color-muted-text: #665b78;
	--color-primary: #4b00ff;
	--color-primary-dark: #3a00cc;
	--color-border: #241b35;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--color-background);
	color: var(--color-text);
	font-family: Arial, sans-serif;
	line-height: 1.6;
}

header {
	width: 100%;
	background: var(--color-header);
	color: var(--color-primary);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	padding: 2rem 5%;
	border-bottom: 3px solid var(--color-border);
	text-align: center;
}

header h1,
main h1 {
	margin: 0;
}

header h1 {
	color: var(--color-surface);
	font-size: clamp(1.25rem, 3vw, 2rem);
}

nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

nav a{
    color: var(--color-surface);
    text-decoration: none;
}

a {
	color: var(--color-primary-dark);
	font-weight: bold;
}

a:hover,
a:focus-visible {
	color: var(--color-primary);
}

main {
	width: min(90%, 1000px);
	margin: 0 auto;
	min-height: 70vh;
	padding: 5rem 0;
}

main h1 {
	margin-bottom: 1rem;
	color: var(--color-primary-dark);
	font-size: clamp(2rem, 6vw, 4rem);
}

main p {
	max-width: 60rem;
}

footer {
	width: 100%;
	margin: 0;
	background: var(--color-footer);
	padding: 1.5rem 0;
	border-top: 3px solid var(--color-border);
	color: var(--color-muted-text);
	font-size: 0.9rem;
	text-align: center;
}

@media (max-width: 600px) {
	header {
		padding: 1.5rem 5%;
		gap: 0.75rem;
	}

	main {
		padding: 3rem 0;
	}
}
