.cpp-home-section {
	padding: 2.5rem 0;
}

.cpp-home-section--research {
	background: transparent;
}

.cpp-home-section--events {
	background: transparent;
	color: inherit;
}

.cpp-home-section__inner {
	width: min(1120px, calc(100% - 2rem));
	margin: 0 auto;
}

.cpp-home-section__heading {
	margin: 0 0 1.25rem;
	font-size: 1.75rem;
	line-height: 1.25;
}

.cpp-home-research {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--theme-border-color, #e5e7eb);
	list-style: none;
}

.cpp-home-research__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(10rem, 18rem) 3rem;
	gap: 1rem;
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px solid var(--theme-border-color, #e5e7eb);
	color: inherit;
	text-decoration: none;
}

.cpp-home-research__title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
}

.cpp-home-research__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	color: var(--theme-text-color, #4b5563);
	font-size: 0.9rem;
}

.cpp-home-research__arrow {
	color: var(--theme-link-initial-color, currentColor);
	font-size: 1.25rem;
	text-align: right;
}

.cpp-home-events {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--theme-border-color, #e5e7eb);
	list-style: none;
}

.cpp-home-events__link {
	display: grid;
	grid-template-columns: minmax(7rem, 12rem) minmax(8rem, 14rem) minmax(0, 1fr) 3rem;
	gap: 1rem;
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px solid var(--theme-border-color, #e5e7eb);
	color: inherit;
	text-decoration: none;
}

.cpp-home-events__date {
	font-weight: 700;
}

.cpp-event-date-range {
	display: inline-grid;
	gap: 0.1rem;
	line-height: 1.25;
	white-space: normal;
}

.cpp-event-date-range__start,
.cpp-event-date-range__end {
	display: block;
}

.cpp-home-events__place,
.cpp-home-events__title {
	color: var(--theme-text-color, #4b5563);
	line-height: 1.35;
}

.cpp-home-events__arrow {
	color: var(--theme-link-initial-color, currentColor);
	font-size: 1.25rem;
	text-align: right;
}

.cpp-home-section__button {
	display: inline-flex;
	margin-top: 1.5rem;
	color: var(--theme-link-initial-color, currentColor);
	font-weight: 700;
	text-decoration: none;
}

.cpp-home-section__button::after {
	content: "→";
	margin-left: 0.45rem;
}

@media (max-width: 800px) {
	.cpp-home-research__link,
	.cpp-home-events__link {
		grid-template-columns: 1fr 2rem;
	}

	.cpp-home-research__title,
	.cpp-home-research__meta,
	.cpp-home-events__date,
	.cpp-home-events__place,
	.cpp-home-events__title {
		grid-column: 1;
	}

	.cpp-home-research__arrow,
	.cpp-home-events__arrow {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.cpp-home-events__arrow {
		grid-row: 1 / span 3;
	}
}
