:root {
	--font-display: 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif;
	--font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	--font-prose: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif;
	--font-mono: 'SF Mono', 'JetBrains Mono', 'IBM Plex Mono', 'Menlo', monospace;

	--color-ink: #111;
	--color-ink-2: #262626;
	--color-muted: #555;
	--color-soft: #8b8b8b;
	--color-faint: #ababab;
	--color-sand: #fff;
	--color-surface: #faf9f7;
	--color-surface-strong: #f4f1ec;
	--color-accent: #7a2e1c;
	--color-border: #d8d8d8;
	--color-border-strong: #bdbdbd;
	--color-code: #f5f5f5;
	--color-code-block: #fafafa;

	--space-2xs: 0.1rem;
	--space-xs: 0.2rem;
	--space-sm: 0.35rem;
	--space-md: 0.75rem;
	--space-lg: 1.15rem;
	--space-xl: 1.75rem;
	--space-2xl: 2.4rem;
	--space-3xl: 3.1rem;
	--space-4xl: 4rem;
	--space-5xl: 5.25rem;

	--size-avatar: 7rem;
	--size-avatar-sm: 6rem;

	--measure-page: 860px;
	--measure-intro: 36rem;
	--measure-intro-wide: 42rem;
	--measure-about: 28rem;
	--measure-post-title: 28ch;
	--measure-post-copy: 40rem;
	--measure-prose: 44rem;

	--text-meta: 0.74rem;
	--text-sm: 0.86rem;
	--text-base: 0.95rem;
	--text-body: 1rem;
	--text-prose: 1.18rem;
	--text-prose-sm: 1.08rem;
	--text-label: 0.8rem;

	--leading-tight: 1.1;
	--leading-body: 1.55;
	--leading-loose: 1.6;
	--leading-prose: 1.8;
	--leading-prose-sm: 1.76;

	--radius-sm: 0.75rem;
	--radius-md: 1.1rem;
	--radius-lg: 1.6rem;
	--radius-xl: 2rem;

	--border-subtle: 1px solid var(--color-border);
	--border-strong: 1px solid var(--color-border-strong);

	--link-thickness: 0.06em;
	--link-offset: 0.12em;
}

html {
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	margin: 0;
	font-family: var(--font-body);
	color: var(--color-ink);
	background-color: var(--color-sand);
}

* {
	box-sizing: border-box;
}

	a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: var(--link-thickness);
	text-underline-offset: var(--link-offset);
}

a:hover {
	color: var(--color-accent);
}

h1 {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2.3rem, 6vw, 3.6rem);
	line-height: 1;
	letter-spacing: -0.02em;
}

h2 {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	line-height: 1.15;
}

p {
	margin: 0;
	line-height: var(--leading-loose);
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
