/* ── Home header ── */

header.site-header--home {
	max-height: 33vh;
	overflow: hidden;
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 1.75rem;
}

.site-name {
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 300;
	letter-spacing: 0.03em;
	color: var(--text);
}

.profile-photo {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
	flex-shrink: 0;
	border: none;
}

/* ── Main ── */

main {
	padding-block: 5rem 4rem;
}

/* ── Opening statement ── */

.page-content p {
	font-size: 1.05rem;
	line-height: 1.78;
	max-width: 66ch;
	margin-bottom: 1.5em;
}

.page-content p:first-of-type {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: 0.01em;
	margin-bottom: 1.8em;
}

.page-content p:last-child {
	margin-bottom: 0;
}

/* ── Projects ── */

.projects {
	margin-top: 5rem;
	padding-top: 4.5rem;
	border-top: 1px solid var(--rule);
}

.projects article {
	display: flow-root;
	padding-bottom: 4rem;
	margin-bottom: 4rem;
	border-bottom: 1px solid var(--rule);
}

.projects article:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.projects h2 {
	font-family: var(--font-display);
	font-size: 2.1rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin-bottom: 1.4rem;
}

.projects article p {
	font-size: 1rem;
	line-height: 1.75;
	max-width: 66ch;
	margin-bottom: 1.25em;
}

.projects article p:last-child {
	margin-bottom: 0;
}

/* ── Mobile ── */

@media (max-width: 600px) {
	.profile-photo {
		width: 70px;
		height: 70px;
	}

	.site-name {
		font-size: 1.6rem;
	}

	main {
		padding-block: 3rem 4rem;
	}

	.projects {
		margin-top: 4rem;
		padding-top: 3.5rem;
	}

	.projects h2 {
		font-size: 1.9rem;
	}
}
