:root {
	--sourzd-bg: #f3f3f0;
	--sourzd-panel: #e8e8e4;
	--sourzd-panel-light: #f7f7f4;
	--sourzd-border: #b8b8b2;
	--sourzd-border-soft: #d0d0ca;
	--sourzd-text: #232425;
	--sourzd-muted: #626567;
	--sourzd-blue: #0000ee;
	--sourzd-purple: #551a8b;
	--sourzd-plazd: #b78d42;
	--sourzd-movd: #3f7a4d;
	--sourzd-faild: #8e2f2b;
	--sourzd-inner: #32243a;
	--sourzd-archvd: #92928b;
	--sourzd-serif: "EB Garamond", Georgia, serif;
	--sourzd-mono: "Source Code Pro", Consolas, monospace;
	--sourzd-wide: 1400px;
	--sourzd-gutter: clamp(18px, 5vw, 76px);
	--sourzd-section: clamp(72px, 9vw, 132px);
}

html {
	background: var(--sourzd-bg);
	scroll-behavior: smooth;
}

body.sourzd-theme {
	background: var(--sourzd-bg);
	color: var(--sourzd-text);
	font-family: var(--sourzd-mono);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	overflow-x: hidden;
	text-rendering: optimizeLegibility;
}

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

.sourzd-theme .wp-site-blocks {
	position: relative;
	z-index: 1;
	min-height: 100vh;
	background: transparent;
}

.sourzd-theme h1,
.sourzd-theme h2,
.sourzd-theme h3,
.sourzd-theme p {
	margin-top: 0;
}

.sourzd-theme h1,
.sourzd-theme h2,
.sourzd-theme h3 {
	font-feature-settings: "liga", "kern";
	font-kerning: normal;
}

.sourzd-theme a {
	color: var(--sourzd-blue);
	text-underline-offset: 3px;
}

.sourzd-theme a:visited {
	color: var(--sourzd-purple);
}

.sourzd-theme a:hover {
	text-decoration-thickness: 2px;
}

.sourzd-theme :focus-visible {
	outline: 2px solid var(--sourzd-blue);
	outline-offset: 3px;
}

.sourzd-main {
	position: relative;
	z-index: 2;
	width: min(100%, var(--sourzd-wide));
	margin: 0 auto;
	padding-right: var(--sourzd-gutter);
	padding-left: var(--sourzd-gutter);
}

.sourzd-content-page {
	padding-top: clamp(54px, 8vw, 110px);
	padding-bottom: clamp(70px, 10vw, 140px);
}

.sourzd-content-page > h1 {
	font-family: var(--sourzd-serif);
	font-size: clamp(44px, 7vw, 96px);
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: -0.03em;
}

@keyframes sourzd-blink {
	0%,
	49% {
		opacity: 1;
	}

	50%,
	100% {
		opacity: 0.25;
	}
}

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

	.sourzd-theme *,
	.sourzd-theme *::before,
	.sourzd-theme *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}
