:root {
	--primary: #0d2a6d;
	--primary-2: #1e3f8f;
	--primary-3: #2f56b3;
	--light: #e6e8ec;
	--muted: #bfc5cf;
	--text-muted: #6b7280;
	--dark: #0a0a0a;
	--white: #ffffff;
	--success: #0f766e;
	--danger: #b91c1c;
	--shadow: 0 12px 40px rgba(13, 42, 109, 0.08);
	--radius: 18px;
	--radius-sm: 12px;
	--container-gutter: 24px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	height: 100%;
}

body {
	margin: 0;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--dark);
	background: #f8fafc;
	line-height: 1.6;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

.site-footer {
	margin-top: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--primary-3);
	outline-offset: 2px;
}

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

.container {
	width: calc(100% - (var(--container-gutter) * 2));
	max-width: 1320px;
	margin: 0 auto;
}

@media (max-width: 640px) {
	:root {
		--container-gutter: 12px;
	}

	.container {
		width: calc(100% - (var(--container-gutter) * 2));
	}
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 20px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-weight: 700;
	transition: 0.2s ease;
	cursor: pointer;
}

.btn-primary {
	background: var(--primary);
	color: var(--white);
	box-shadow: var(--shadow);
}

.btn-primary:hover {
	background: var(--primary-2);
	transform: translateY(-1px);
}

.btn-secondary {
	border-color: var(--primary);
	color: var(--primary);
	background: transparent;
}

.btn-secondary:hover {
	background: rgba(13, 42, 109, 0.05);
}

.badge {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 999px;
	background: #eef3ff;
	color: var(--primary);
	font-weight: 700;
	font-size: 0.85rem;
}

.muted {
	color: var(--text-muted);
}

.list-clean {
	list-style: none;
	padding: 0;
	margin: 16px 0 0;
}

.list-clean li {
	padding-left: 22px;
	position: relative;
	margin-bottom: 10px;
	color: #334155;
}

.list-clean li::before {
	content: "•";
	color: var(--primary);
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 800;
}

.cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
