body {
	margin: 0;
	padding: 0;
	color: #111;
	font-size: 12pt;
	font-family: Inter, sans-serif;
	--accent-normal: rgb(79, 129, 189);
	--sccent-shimmer: #f6f9fc;
	--accent-dark: rgb(54, 95, 145);
	--accent-moderate: silver;
	--accent-faint: #f9f9f9;
	--accent-hint: lightgray;
	--corner-rounding: 8px;
	--smaller-font: 0.825em;
}

h1:first-letter,
h2:first-letter,
h3:first-letter,
h4:first-letter,
h5:first-letter,
h6:first-letter
{
	text-transform: uppercase;
}

h1
{
	font-size: 2.4em;
}

h2
{
	font-size: 1.4em;
	color: var(--accent-dark);
}

h3
{
	font-size: 1.2em;
	color: var(--accent-normal);
}

h4
{
	font-size: 1em;
	color: var(--accent-normal);
}

p
{
	line-height: 1.5em;
}

ol,
ul
{
	margin: 0;
	margin-left: 1em;
	padding: 0;
}

li
{
	line-height: 1.5em;
	list-style-position: outside;
	margin-bottom: .5em;
}

ul li
{
	list-style-type: circle;
}

a
{
	color: inherit;
	text-decoration-thickness: 2px;
	text-decoration-color: var(--accent-hint);
}

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

#page-wrapper
{
	padding: 1em;
}

aside#contact
{
	margin: 0 0 1em;
	color: var(--accent-moderate);
	text-align: right;
	font-size: 0.75em;
}

aside#contact a
{
	text-decoration: none;
}

aside#tagline
{
	margin: 1em 0;
	text-align: center;
	color: var(--accent-moderate);
	text-transform: capitalize;
}

aside#tagline::before
{
	content: "{ ";
}
aside#tagline::after
{
	content: " }";
}

header .headline
{
	font-size: 1.25em;
	color: var(--accent-normal);
}

.entity:not(:last-of-type)::after
{
	display: block;
	content: "";
	border-bottom: 1px solid var(--accent-hint);
}

.projects.card
{
	margin: 0;
}

.card .project:first-child
{
	margin-top: -1em;
}

.project hgroup > :first-child::before
{
	content: "\25CB";
	margin-left: -1em;
	padding-right: 0.5em;
}

.project:not(:last-of-type)::after
{
	display: block;
	content: "";
	border-bottom: 1px solid var(--accent-hint);
	margin-top: 2em;
}

hgroup
{
	margin: 1em 0;
}

hgroup h1,
hgroup h2,
hgroup h3,
hgroup h4,
hgroup h5,
hgroup h6
{
	margin: 0;
}

hgroup .detail
{
	font-size: var(--smaller-font);
}

.card
{
	margin: 1.5em 0;
	padding: 0 1em;
	border-radius: var(--corner-rounding);
	border: 1px solid transparent;
}

.tags
{
	display: flex;
	gap: 0.5em;
	flex-wrap: wrap;
	margin: 1em 0;
}

.tags> .tag
{
	padding: 0.25em 0.5em;
	font-size: var(--smaller-font);
	background-color: var(--accent-hint);
	border-radius: calc(var(--corner-rounding) / 2);
}

.info-card
{
	border-color: var(--accent-hint);
	background-color: var(--accent-faint);
}

.highlight-card
{
	border-color: var(--accent-normal);
	background-color: var(--sccent-shimmer);
}

ul.tags li
{
	list-style-type: none;
}

footer

{
	margin: 1em 0;
}

footer .copyright,
footer .version
{
	display: block;
	font-size: var(--smaller-font);
	color: gray;
	text-align: center;
}

@media screen and (min-width: 1440px)
{
	body
	{
		font-size: 14pt;
	}

	body::before
	{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 200px;
		height: 200px;
		background: url(inkspot.svg) no-repeat center center / contain;
	}

	#page-wrapper
	{
		position: relative;
		padding: 50px;
	}

	#page-wrapper > header,
	#page-wrapper > section
	{
		margin: 0 auto;
		max-width: 800px;
	}
}

@media print {
	body
	{
		font-size: 12pt;
	}

	a
	{
		text-decoration: none;
	}

	footer
	{
		display: none;
	}

	.highlight-card
	{
		break-inside: avoid-page;
	}
}