@font-face {
	font-family: "Avona Serif";
	src: url("../fonts/avona/AvonaSerif-Bold.woff") format("woff"),
		url("../fonts/avona/AvonaSerif-Bold.woff2") format("woff2");
	font-weight: 700;
}

@font-face {
	font-family: "Formulate";
	src: url("../fonts/formulate/Formulate-Regular.woff") format("woff"),
		url("../fonts/formulate/Formulate-Regular.woff2") format("woff2");
	font-weight: 400;
}

@font-feature-values Formulate {
	@styleset {
		alt-style: 2 4;
	}
}

* {
	margin: 0;
	padding: 0;
}

/* Containers */
html {
	--light: #fbf8f5;
	--dark: #222;
	--color1: #455ee1;
	--color2: #9240c3;
}

body {
	background-color: var(--light);
	color: var(--dark);
	display: flex;
	flex-direction: column;
	font-family: "Formulate", system-ui, sans-serif;
	font-size: 1.25rem;
	line-height: 1;
	margin-inline: auto;
	max-inline-size: 38em;
	min-block-size: 100vh;
	padding-inline: 1em;
}

article {
	margin-block: 4lh;
}

footer {
	margin-block-start: auto;
	padding-block: 1lh;
	text-align: center;
}

header {
	margin-block-start: 4lh;
}

/* Links */
a {
	background-image: linear-gradient(45deg, var(--color1), var(--color2));
	background-clip: text;
	background-size: cover;
	color: transparent;
}

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

a:focus-visible {
	background-color: var(--color1);
	color: inherit;
	outline-color: inherit;
}

:is(footer, h1, h2) a,
.skip_link {
	text-decoration-line: none;
}

.skip_link {
	max-inline-size: fit-content;
	padding: 1em 2em;
	clip-path: circle(0);
	position: absolute;
	inset-inline-start: -9999px;
}

.skip_link:focus-visible {
	background: var(--dark);
	color: var(--light);
	clip-path: none;
	position: absolute;
	inset-inline-start: 50%;
	border-radius: 0 0 0.5em 0.5em;
	translate: -50%;
}

/* Text */
h2 {
	font-family: "Avona Serif", Georgia, serif;
	font-size: 2em;
}

article p:not(.date) {
	font-variant-alternates: styleset(alt-style);
	margin-block: 1lh;
	line-height: 1.5;
	text-wrap: pretty;
}

.date {
	opacity: 0.7;
	margin-block-end: 0.5lh;
}

small {
	font-size: 0.7em;
}
