.focus-blog-archive {
	--fba-red: var(--focus-red, #e20d19);
	--fba-red-dark: var(--focus-red-dark, #b9000a);
	--fba-black: var(--focus-black, #111111);
	--fba-ink: var(--focus-ink, #171717);
	--fba-muted: var(--focus-muted, #676767);
	--fba-line: var(--focus-line, #dedbd6);
	--fba-soft: var(--focus-soft, #f4f1ed);
	--fba-white: #ffffff;
	margin: 0;
}

.entry-content .focus-blog-archive h2,
.entry-content .focus-blog-archive h3,
.entry-content .focus-blog-archive p {
	margin-top: 0;
}

.entry-content .focus-blog-archive h2 {
	margin-bottom: 14px;
	padding: 0;
	border: 0;
	font-size: clamp(28px, 4.8vw, 42px);
	line-height: 1.25;
}

.entry-content .focus-blog-archive h3 {
	margin: 13px 0 10px;
	padding: 0;
	border: 0;
	font-size: clamp(20px, 3vw, 25px);
	line-height: 1.45;
}

.focus-blog-archive__intro {
	margin-bottom: 28px;
}

.entry-content .focus-blog-archive__intro > p:last-child {
	max-width: 650px;
	margin-bottom: 0;
	color: var(--fba-muted);
}

.entry-content .focus-blog-archive__kicker {
	margin-bottom: 8px;
	color: var(--fba-red-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.focus-blog-genres {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: clamp(52px, 8vw, 82px);
}

.entry-content .focus-blog-genres__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 58px;
	padding: 13px 16px;
	border: 1px solid var(--fba-line);
	border-radius: 14px;
	background: var(--fba-white);
	color: var(--fba-ink);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
	transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

.entry-content .focus-blog-genres__link:hover,
.entry-content .focus-blog-genres__link:focus-visible {
	border-color: var(--fba-red);
	transform: translateY(-2px);
}

.entry-content .focus-blog-genres__link.is-active {
	border-color: var(--fba-black);
	background: var(--fba-black);
	color: var(--fba-white);
}

.focus-blog-genres__link strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 31px;
	height: 27px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--fba-soft);
	color: var(--fba-muted);
	font-size: 11px;
	line-height: 1;
}

.focus-blog-genres__link.is-active strong {
	background: rgba(255, 255, 255, 0.16);
	color: var(--fba-white);
}

.focus-blog-archive__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 2px solid var(--fba-black);
}

.entry-content .focus-blog-archive__heading h2,
.entry-content .focus-blog-archive__heading p {
	margin-bottom: 0;
}

.entry-content .focus-blog-archive__heading > p {
	flex: 0 0 auto;
	color: var(--fba-muted);
	font-size: 14px;
	font-weight: 800;
}

.entry-content .focus-blog-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.focus-blog-list__item {
	margin: 0;
	padding: clamp(27px, 5vw, 42px) 0;
	border-bottom: 1px solid var(--fba-line);
}

.focus-blog-list__item:first-child {
	padding-top: 18px;
}

.focus-blog-list__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.focus-blog-list__meta time {
	color: var(--fba-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.focus-blog-list__categories {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
}

.entry-content .focus-blog-list__categories a {
	padding: 4px 9px;
	border-radius: 999px;
	background: #fbe9ea;
	color: var(--fba-red-dark);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
}

.entry-content .focus-blog-list h3 a {
	color: var(--fba-ink);
	text-decoration: none;
}

.entry-content .focus-blog-list h3 a:hover,
.entry-content .focus-blog-list h3 a:focus-visible {
	color: var(--fba-red-dark);
}

.entry-content .focus-blog-list__item article > p {
	margin-bottom: 16px;
	color: var(--fba-muted);
	font-size: 14px;
	line-height: 1.85;
}

.entry-content .focus-blog-list__read {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--fba-red-dark);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.focus-blog-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 42px;
}

.focus-blog-pagination__numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
}

.entry-content .focus-blog-pagination a,
.focus-blog-pagination__current,
.focus-blog-pagination__ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: 10px;
	color: var(--fba-ink);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.entry-content .focus-blog-pagination a {
	border: 1px solid var(--fba-line);
	background: var(--fba-white);
}

.entry-content .focus-blog-pagination a:hover,
.entry-content .focus-blog-pagination a:focus-visible,
.focus-blog-pagination__current {
	border-color: var(--fba-black);
	background: var(--fba-black);
	color: var(--fba-white);
}

.entry-content .focus-blog-pagination__direction {
	padding: 0 14px;
}

.entry-content .focus-blog-archive__empty {
	margin: 0;
	padding: 34px;
	border-radius: 16px;
	background: var(--fba-soft);
	text-align: center;
}

@media (max-width: 720px) {
	.focus-blog-genres {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.focus-blog-list__meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.focus-blog-list__categories {
		justify-content: flex-start;
	}

	.focus-blog-pagination {
		align-items: stretch;
		flex-wrap: wrap;
	}

	.focus-blog-pagination__numbers {
		order: 3;
		width: 100%;
	}
}

@media (max-width: 420px) {
	.focus-blog-genres {
		grid-template-columns: 1fr;
	}

	.entry-content .focus-blog-genres__link {
		min-height: 52px;
	}

	.focus-blog-archive__heading {
		align-items: flex-start;
	}

	.entry-content .focus-blog-pagination a,
	.focus-blog-pagination__current,
	.focus-blog-pagination__ellipsis {
		min-width: 35px;
		height: 35px;
		padding: 0 8px;
	}
}
