.op-blog-feed {
	--op-blog-border: #d7dde5;
	--op-blog-ink: #1f2328;
	--op-blog-muted: #4f5b67;
	--op-blog-blue: #00495c;
	--op-blog-red: #e61745;
	--op-blog-soft: #f4f7f9;
	--op-blog-post-width: 780px;
	color: var(--op-blog-ink);
	display: grid;
	gap: 34px;
}

.op-blog-feed__hero {
	align-items: center;
	border-bottom: 1px solid var(--op-blog-border);
	border-top: 4px solid var(--op-blog-blue);
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(260px, 0.42fr) minmax(0, 0.58fr);
	padding: 34px 0 30px;
}

.op-blog-feed__identity,
.op-blog-feed__intro {
	min-width: 0;
}

.op-blog-feed__eyebrow {
	color: var(--op-blog-red);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.op-blog-feed__logo {
	display: block;
	height: auto;
	max-width: 380px;
	width: min(100%, 380px);
}

.op-blog-feed__title {
	color: var(--op-blog-blue);
	font-family: var(--wp--preset--font-family--roboto-slab, Georgia, serif);
	font-size: clamp(34px, 4vw, 54px);
	font-weight: 850;
	line-height: 1.02;
	margin: 0;
}

.op-blog-feed__description {
	color: var(--op-blog-muted);
	font-size: 20px;
	line-height: 1.45;
	max-width: 720px;
}

.op-blog-feed__description p {
	margin: 0;
}

.op-blog-feed__author {
	border-left: 3px solid var(--op-blog-red);
	color: var(--op-blog-blue);
	font-size: 14px;
	font-weight: 850;
	line-height: 1.2;
	margin: 18px 0 0;
	padding-left: 12px;
	text-transform: uppercase;
}

.op-blog-feed__posts {
	display: grid;
	gap: 44px;
}

.op-blog-entry {
	border-bottom: 1px solid var(--op-blog-border);
	display: grid;
	gap: 18px;
	justify-self: center;
	max-width: var(--op-blog-post-width);
	padding-bottom: 42px;
	width: 100%;
}

.op-blog-entry__header {
	display: grid;
	gap: 10px;
}

.op-blog-entry__meta {
	align-items: center;
	color: var(--op-blog-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 850;
	gap: 10px;
	line-height: 1;
	text-transform: uppercase;
}

.op-blog-entry__meta span {
	color: var(--op-blog-red);
}

.op-blog-entry__meta time::before {
	color: var(--op-blog-border);
	content: "/";
	margin-right: 10px;
}

.op-blog-entry__title {
	font-family: var(--wp--preset--font-family--roboto-slab, Georgia, serif);
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 850;
	line-height: 1.08;
	margin: 0;
	max-width: var(--op-blog-post-width);
}

.op-blog-entry__title a {
	color: var(--op-blog-ink);
	text-decoration: none;
}

.op-blog-entry__title a:hover {
	color: var(--op-blog-red);
}

.op-blog-entry__byline {
	align-items: baseline;
	color: var(--op-blog-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	gap: 6px;
	line-height: 1.2;
}

.op-blog-entry__byline span {
	font-style: italic;
}

.op-blog-entry__byline a {
	color: var(--op-blog-blue);
	font-weight: 850;
	text-decoration: none;
}

.op-blog-entry__image {
	background: var(--op-blog-soft);
	display: block;
	overflow: hidden;
}

.op-blog-entry__image img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.op-blog-entry__content {
	font-size: 20px;
	line-height: 1.72;
	max-width: var(--op-blog-post-width);
	overflow-wrap: anywhere;
}

.op-blog-entry__content > * {
	margin-top: 0;
}

.op-blog-entry__content p {
	margin-bottom: 1.08em;
}

.op-blog-entry__content a {
	color: var(--op-blog-blue);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.op-blog-entry__content h2,
.op-blog-entry__content h3 {
	font-family: var(--wp--preset--font-family--roboto-slab, Georgia, serif);
	line-height: 1.16;
	margin-bottom: 0.6em;
	margin-top: 1.45em;
}

.op-blog-entry__content img,
.op-blog-entry__content iframe,
.op-blog-entry__content video {
	max-width: 100%;
}

.op-blog-entry__content .wp-block-image,
.op-blog-entry__content .wp-block-embed,
.op-blog-entry__content .wp-block-table,
.op-blog-entry__content figure {
	max-width: 100%;
}

.op-blog-entry__content .wp-block-table {
	overflow-x: auto;
}

.op-blog-entry__footer {
	display: flex;
	justify-content: flex-start;
}

.op-blog-entry__permalink {
	border: 1px solid var(--op-blog-blue);
	color: var(--op-blog-blue);
	display: inline-flex;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1;
	padding: 11px 14px;
	text-decoration: none;
	text-transform: uppercase;
}

.op-blog-entry__permalink:hover {
	background: var(--op-blog-blue);
	color: #fff;
}

.op-blog-feed__pagination {
	display: flex;
	justify-content: center;
	padding-bottom: 36px;
}

.op-blog-feed__pagination ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.op-blog-feed__pagination a,
.op-blog-feed__pagination span {
	border: 1px solid var(--op-blog-border);
	color: var(--op-blog-blue);
	display: inline-flex;
	font-size: 13px;
	font-weight: 850;
	line-height: 1;
	padding: 10px 12px;
	text-decoration: none;
}

.op-blog-feed__pagination .current {
	background: var(--op-blog-blue);
	border-color: var(--op-blog-blue);
	color: #fff;
}

.op-blog-feed__empty {
	color: var(--op-blog-muted);
	font-size: 18px;
}

@media (max-width: 860px) {
	.op-blog-feed__hero {
		gap: 22px;
		grid-template-columns: 1fr;
		padding-top: 28px;
	}

	.op-blog-feed__logo {
		max-width: 300px;
	}

	.op-blog-feed__description {
		font-size: 18px;
	}

	.op-blog-entry__content {
		font-size: 18px;
		line-height: 1.66;
	}
}

@media (max-width: 560px) {
	.op-blog-feed {
		gap: 28px;
	}

	.op-blog-feed__hero {
		margin-left: calc(-1 * var(--op-page-gutter, 16px));
		margin-right: calc(-1 * var(--op-page-gutter, 16px));
		padding: 24px var(--op-page-gutter, 16px) 22px;
	}

	.op-blog-feed__logo {
		max-width: 250px;
	}

	.op-blog-feed__title {
		font-size: 32px;
	}

	.op-blog-feed__description {
		font-size: 17px;
		line-height: 1.45;
	}

	.op-blog-feed__posts {
		gap: 34px;
	}

	.op-blog-entry {
		gap: 15px;
		padding-bottom: 34px;
	}

	.op-blog-entry__title {
		font-size: 28px;
		line-height: 1.1;
	}

	.op-blog-entry__image {
		margin-left: calc(-1 * var(--op-page-gutter, 16px));
		margin-right: calc(-1 * var(--op-page-gutter, 16px));
	}

	.op-blog-entry__content {
		font-size: 18px;
		line-height: 1.66;
	}

	.op-blog-entry__meta time::before {
		margin-right: 8px;
	}
}
