/* HOMEPAGE */

body.home #content {
	max-width: 720px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-bottom: 4em;
}

body.home .post-header {
	border-bottom-color: #fff;
}

body.home .post-header-brand {
	display: none;
}

@media all and (max-width: 30em) {
	body.home #content {
		margin: 0.2em 1.8em 100px 1.8em;
	}
}

/* HOMEPAGE SECTIONS (Projects + Latest Posts) */

.home-section {
	padding: 0;
	margin-top: 3em;
	box-sizing: border-box;
	font-family: var(--font-sans);
}

/*
 * style.css has body.home h1/h2/h3/p { font-size: 32px; border-bottom; padding-bottom: 32px }
 * which outspecifics plain class selectors. This reset block (0-2-2) beats those rules (0-1-2)
 * so our section headings and text render correctly.
 */
body.home .home-section h2,
body.home .home-section h3,
body.home .home-section p {
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0;
	border: 0;
	padding: 0;
	margin: 0;
	font-weight: normal;
	word-break: normal;
}

/* --- Section header --- */

.home-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	border-bottom: 1px solid #e8e8e8;
	padding-bottom: 0.75em;
	margin-bottom: 1.25em;
}

/* specificity (0-3-1) beats both body.home h2 (0-1-2) and the reset (0-2-2) */
body.home .home-section .home-section-label {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #111;
    line-height: 1;
}

.home-section-link {
	font-size: 12px;
	font-weight: 600;
	color: #333;
	text-decoration: none;
	flex-shrink: 0;
	white-space: nowrap;
}

.home-section-link:hover {
	color: #e91e63;
	background-color: transparent;
}

/* --- Project card overrides (h3 and p affected by body.home rules) --- */

body.home .home-section .project-card-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	display: flex;
	align-items: baseline;
	gap: 0.5em;
	flex-wrap: wrap;
}

body.home .home-section .project-card-description p {
	font-size: 13px;
	line-height: 1.5;
	color: black;
	margin-bottom: 0.4em;
}

/* --- Latest Posts list --- */

.home-post-list {
	font-family: var(--font-sans);
}

.home-post-item {
	display: flex;
	gap: 1.25em;
	padding: 0.85em 0;
	border-bottom: 1px solid #f0f0f0;
	align-items: flex-start;
}

.home-post-date {
	flex-shrink: 0;
	width: 3.5em;
	font-size: 12px;
	color: #aaa;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding-top: 0.2em;
	line-height: 1.3;
}

.home-post-body {
	flex: 1;
	min-width: 0;
}

body.home .home-section .home-post-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 0.25em;
}

.home-post-title a {
	color: #000;
	text-decoration: none;
}

.home-post-title a:hover {
	color: #e91e63;
	background-color: transparent;
}

body.home .home-section .home-post-excerpt {
	font-size: 13px;
	line-height: 1.5;
	color: #555;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	overflow: hidden;
}
