/* Homepage-only layout; shared styles continue to serve the other pages. */
body.home-page,
body.home-page > main {
	background: #fff;
}

body.home-page h1,
body.home-page h2,
body.home-page h3,
body.home-page .brand span {
	letter-spacing: 0;
}

.home-container {
	width: calc(100% - 48px);
	max-width: 1120px;
	margin: 0 auto;
}

.home-intro {
	padding: 44px 0 48px;
	text-align: center;
}

body.home-page .home-affiliation {
	color: #6e6e73;
	font-size: 0.94rem;
	margin-bottom: 12px;
}

body.home-page .home-intro h1 {
	font-size: 3rem;
	font-weight: 650;
	line-height: 1.12;
	margin-bottom: 18px;
}

body.home-page .home-tagline {
	font-size: 1.3rem;
	line-height: 1.55;
	max-width: 680px;
	margin: 0 auto;
}

.home-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin: 24px 0 32px;
}

body.home-page .home-join {
	background: #003e7e;
	color: #fff;
	border-radius: 5px;
	padding: 10px 18px;
	text-decoration: none;
	font-weight: 600;
}

body.home-page .home-join:hover {
	background: #08243f;
}

body.home-page .home-research-image {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
	margin: 0 auto;
	aspect-ratio: 1;
}

.home-band {
	padding: 60px 0;
	border-top: 1px solid #e5e5e7;
}

.home-band-muted {
	background: #f5f5f7;
}

.home-section-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 56px;
}

body.home-page .home-section-heading h2,
body.home-page .home-team h2 {
	font-size: 1.85rem;
	line-height: 1.25;
	font-weight: 600;
	margin-bottom: 18px;
}

.home-entry {
	background: transparent;
	box-shadow: none;
	border: 0;
	border-radius: 0;
	padding: 0 0 28px;
	margin: 0 0 28px;
	text-align: left;
}

.home-entry:not(:last-child) {
	border-bottom: 1px solid #e5e5e7;
}

.home-entry:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

body.home-page .home-entry time,
body.home-page .home-paper-meta {
	display: block;
	color: #6e6e73;
	font-size: 0.9rem;
	margin-bottom: 10px;
}

body.home-page .home-entry h3 {
	font-size: 1.3rem;
	line-height: 1.4;
	margin-bottom: 12px;
}

body.home-page .home-entry h3 a {
	color: #1d1d1f;
	text-decoration: none;
}

body.home-page .home-entry h3 a:hover {
	color: #003e7e;
	text-decoration: underline;
}

body.home-page .home-entry p {
	margin-bottom: 0;
	line-height: 1.7;
}

.home-paper-links {
	display: flex;
	gap: 20px;
	margin-top: 14px;
}

.home-team {
	padding-top: 52px;
	padding-bottom: 56px;
	text-align: center;
}

body.home-page a:focus-visible {
	outline: 2px solid #003e7e;
	outline-offset: 5px;
}

@media (max-width: 760px) {
	.home-section-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.home-band {
		padding: 40px 0;
	}
}

@media (max-width: 520px) {
	.home-container {
		width: calc(100% - 36px);
	}

	.home-intro {
		padding-top: 32px;
		padding-bottom: 36px;
	}

	body.home-page .home-intro h1 {
		font-size: 2.3rem;
	}

	body.home-page .home-tagline {
		font-size: 1.1rem;
	}

	body.home-page .nav-links {
		display: flex;
		padding: 0;
	}

	body.home-page .nav-links li {
		padding: 0;
	}
}
