:root {
	--bg: #0f172a;
	--accent: #3b82f6;
	--text: #e5e7eb;
	--muted: #9ca3af;
	--border: #1f2937;
	--font-size: 1rem;
	--font-size-lg: calc(var(--font-size) + 0.1rem);
	--font-size-sm: calc(var(--font-size) - 0.1rem);
	--font-size-h1: 2.8rem;
	--font-size-h2: 1.3rem;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	background: var(--bg);
	color: var(--text);
	line-height: 1.6;
	font-size: var(--font-size);
}

header {
	padding: 4rem 1.25rem 3rem;
	max-width: 1000px;
	margin: auto;
}

.intro {
	color: var(--muted);
	margin-top: 1.25rem;
	max-width: 750px;
}

h1 {
	margin: 0;
	font-size: var(--font-size-h1);
	letter-spacing: -1px;
}

.subtitle {
	color: var(--muted);
	margin-top: .8rem;
	font-size: var(--font-size-lg);
}

nav {
	margin-top: 2rem;
}

nav a {
	margin-right: 1.25rem;
	color: var(--accent);
	text-decoration: none;
	font-weight: 600;
	cursor: pointer;
}

nav a:hover {
	text-decoration: underline;
}

section {
	max-width: 1000px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem;
	border-top: 1px solid var(--border);
}

section.flex {
	display: flex;
	gap: 3rem;
	flex-direction: row;
}

.flex section {
	flex: 1 0;
	border: 0;
}

h2 {
	font-size: var(--font-size-h2);
	margin: 0 0 1.25rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--accent);
}

.card {
	padding: 1.25rem;
	margin: 1.25rem 0;
	border-radius: .5rem;
	border: 1px solid var(--border);
}

.job-title {
	font-weight: 700;
	font-size: var(--font-size-lg);
}

.company {
	font-weight: 600;
}

.meta {
	color: var(--muted);
	font-size: var(--font-size-sm);
	margin-bottom: .7rem;
}

ul {
	padding-left: 1rem;
	margin-left: 1rem;
}

.contact-item {
	margin-bottom: .5rem;
}

.button-row {
	margin-top: 1.9rem;
}

.btn {
	background: var(--accent);
	border: none;
	padding: .8rem 1rem;
	color: white;
	font-weight: 600;
	border-radius: .4rem;
	cursor: pointer;
}

.btn:hover {
	opacity: 0.9;
}

footer {
	max-width: 1000px;
	margin: auto;
	padding: 2.5rem 1.25rem 4rem 1.25rem;
	color: var(--muted);
	font-size: var(--font-size-sm);
}

@media (max-width: 600px) {
	body {
		padding: 0 1rem;
	}
	
	header,
	footer,
	section {
		padding: .6rem 0;
	}
	
	.card,
	section {
		border: none;
	}
	
	.card {
		padding: 0;
		margin: 0;
	}

	footer {
		padding: .6rem 0 1.25rem;
	}
}

@media print {
	:root {
		--bg: #ffffff;
		--accent: #000000;
		--text: #333;
		--muted: #9ca3af;
		--font-size: 12px;
	}

	nav {
		display: none;
	}
	
	.intro {
		color: var(--text);
	}
	
	h2 {
		margin-top: 1rem;
	}

	header,
	section {
		padding: .6rem 0;
	}
	
	.card,
	section {
		border: none;
	}
	
	.card {
		padding: 0;
		margin: 0 0 1rem;
	}

	a {
		text-decoration: none;
	}

	footer {
		padding: 1rem 0;
	}
}