body {
	margin: 0;
}

h1,
h2,
h3,
h4 {
	margin: 0;
}

h1 {
	text-align: center;
}

h2 {
	margin-block-end: 0.25em;
	margin-bottom: 0.25em;
	border-block-end: 0.0625em solid currentColor;
	border-bottom: 0.0625em solid currentColor;
	font-variant: small-caps;
}

.headline {
	margin-block-end: 1em;
	margin-bottom: 1em;
	text-align: center;
}

address {
	margin-block-end: 1em;
	margin-bottom: 1em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5em;
}

address>ul {
	margin: 0;
	padding: 0;
	display: inline-block;
	list-style: none;
}

address> :last-child {
	text-align: end;
}

p {
	margin: 0;
}

hr {
	width: 50%;
}

main > section+section,
article+article {
	margin-block-start: 1em;
	margin-top: 1em;
}

.letter main header {
	margin-block-end: 1.5em;
	margin-bottom: 1.5em;
}

header ~ p:first-of-type {
	text-indent: 0;
}

header ~ p {
	text-indent: 2em;
}

article>article {
	margin-block-start: 0.5em;
	margin-top: 0.5em;
}

article header {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5em;
}

article header p {
	text-align: end;
}

article > p {
	margin-block-start: 0.25em;
	margin-top: 0.25em;
}

dl {
	margin: 0;
}

dt {
	font-weight: 700;
}

dd {
	margin-inline-start: 2.5em;
	margin-left: 2.5em;
}

#skills h3 {
	margin-block-start: 0.25em;
	margin-top: 0.25em;
}

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

#skills li {
	display: inline;
}

#skills li::after {
	content: ",";
}

#skills li:last-child::after {
	content: none;
}

footer {
	text-align: center;
}

footer:has(#signature) {
	margin-block-start: 1.5em;
	margin-top: 1.5em;
	text-align: end;
}

#signature {
	margin-block-end: -1.5rem;
	margin-bottom: -1.5rem;
	max-width: 15em;
}

@media (prefers-color-scheme: dark) {
	#signature {
		filter: invert();
	}
}