html, body {
	height: 100%;
	margin: 0;
}
body {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #FDFFE9;
	color: #1A2540;
	min-height: 100vh; /* Ensures the body takes up at least the full viewport height */
	padding: 1.44rem 1rem; /* Using major third (1.44rem) for vertical padding */
	box-sizing: border-box; /* Ensures padding doesn't add to height */
}
main {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 2rem 0; /* Octave from 1rem base for vertical padding */
}
h1, h2 {
	font-family: "IBM Plex Sans Condensed", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
}
h1 {
	font-size: 1.728rem; /* Two major thirds from base (1.2 * 1.44) */
	margin-bottom: 1.44rem;
}
h2 {
	font-size: 1.44rem; /* Major third from base */
	margin-top: 2rem; /* Octave spacing above for section separation */
	margin-bottom: 1.44rem; /* Major third below */
}
p {
	font-size: 1.2rem; /* Minor third from 1rem base (1.2x) */
	font-family: "Source Serif 4", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
}
p:not(:last-child) {
	margin-bottom: 1.44rem; /* Major third from base 1rem */
}
strong {
	font-weight: 600;
}
a {
	color: #ea6d5e;
	text-decoration: underline;
}
a:visited {
	color: #008AB0;
}
footer {
	margin-top: 2rem; /* Octave spacing */
	margin-bottom: 2rem; /* Octave spacing */
	font-size: 1rem; /* Base font size */
	font-family: "Source Serif 4", serif;
	font-optical-sizing: auto;
	font-style: normal;
	/* font-weight: 300; */
	text-align: center;
}
nav {
	margin-bottom: 1.44rem;
}
nav a {
	font-family: "Source Serif 4", serif;
	font-size: 1.2rem;
}
blockquote {
	margin: 0 0 1.44rem 1.44rem;
	padding: 0;
}
blockquote p {
	margin-bottom: 0;
}
blockquote p:not(:last-child) {
	margin-bottom: 1rem; /* Smaller spacing between blockquote paragraphs */
}
