* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body.site {
	background-color: oklch(var(--bg-primary));
	color: oklch(var(--text-primary));
	font-family: 'ComplianSite', system-ui, -apple-system, 'Segoe UI', sans-serif;
	font-size: var(--site-font-body);
	line-height: 1.6;
	min-height: 100dvh;
	text-rendering: optimizeLegibility;
}

.site a:not([class]) {
	color: oklch(var(--color-blue));
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.site a:not([class]):hover {
	color: oklch(var(--color-blue-hover));
}

.site a:not([class]):focus-visible {
	outline: var(--focus-ring-width) solid oklch(var(--input-focus-ring) / 0.55);
	outline-offset: var(--focus-ring-offset);
	border-radius: 2px;
}

.site :where(button, .site-btn):focus-visible {
	outline: var(--focus-ring-width) solid oklch(var(--input-focus-ring) / 0.55);
	outline-offset: var(--focus-ring-offset);
}

.site h1,
.site h2,
.site h3,
.site h4 {
	font-family: 'ComplianSite', system-ui, sans-serif;
	font-weight: 600;
	letter-spacing: -0.02em;
	text-transform: none;
}

.site h1 {
	font-size: var(--site-font-h1);
	line-height: 1.15;
	margin-bottom: var(--site-space-4);
}

.site h2 {
	font-size: var(--site-font-h2);
	line-height: 1.2;
	margin-bottom: var(--site-space-3);
	margin-top: var(--site-space-6);
}

.site h3 {
	font-size: var(--site-font-h3);
	line-height: 1.25;
	margin-bottom: var(--site-space-2);
	margin-top: var(--site-space-5);
}

.site h4 {
	font-size: var(--site-font-h4);
	line-height: 1.3;
	margin-bottom: var(--site-space-2);
	margin-top: var(--site-space-4);
}

.site p {
	margin-bottom: var(--site-space-3);
	max-width: var(--site-measure);
}

.site ul,
.site ol {
	margin-bottom: var(--site-space-3);
	padding-left: 1.25rem;
}

.site li {
	margin-bottom: var(--site-space-2);
}

.site .site-measure {
	max-width: var(--site-measure);
}

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

.site .skip-link {
	background: oklch(var(--bg-surface));
	border: 1px solid oklch(var(--border-color));
	left: var(--site-space-3);
	padding: 0.5rem 0.75rem;
	position: absolute;
	top: -100px;
	z-index: 10000;
}

.site .skip-link:focus {
	top: var(--site-space-3);
}

.site-noscript-fallback {
	padding: var(--site-space-3);
}

.site-root-picker {
	font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
	margin: 0;
}

.site-root-picker__inner {
	padding: var(--site-space-4);
}
