.ncb-blog {
	--ncb-ink: #263b49;
	--ncb-muted: #667681;
	--ncb-blue: #315e78;
	--ncb-blue-dark: #21465c;
	--ncb-rule: #dce3e6;
	--ncb-paper: #f6f7f6;
	color: var(--ncb-ink);
	font-family: "Rubik", "Open Sans", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	margin-inline: auto;
	max-width: 1200px;
	padding: clamp(48px, 7vw, 92px) 24px;
}

.ncb-blog,
.ncb-blog * {
	box-sizing: border-box;
}

.ncb-blog h1,
.ncb-blog h2,
.ncb-blog h3 {
	color: var(--ncb-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	line-height: 1.18;
}

.ncb-blog a {
	color: inherit;
	text-decoration: none;
}

.ncb-blog a:focus-visible,
.ncb-blog button:focus-visible {
	outline: 3px solid #c49a58;
	outline-offset: 4px;
}

.ncb-eyebrow {
	color: var(--ncb-blue);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	line-height: 1.5;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.ncb-eyebrow span {
	color: #b18a4d;
	padding-inline: 4px;
}

.ncb-archive-heading {
	border-bottom: 1px solid var(--ncb-rule);
	margin: 0 auto 42px;
	max-width: 780px;
	padding: 0 0 34px;
	text-align: center;
}

.ncb-archive-heading h1 {
	font-size: clamp(38px, 5vw, 58px);
	letter-spacing: -.035em;
	margin: 0;
}

.ncb-archive-intro {
	color: var(--ncb-muted);
	font-size: 17px;
	margin: 16px 0 0;
}

.ncb-category-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: -14px 0 36px;
}

.ncb-category-nav a {
	border: 1px solid var(--ncb-rule);
	color: var(--ncb-muted);
	font-size: 12px;
	line-height: 1.4;
	padding: 8px 13px;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.ncb-category-nav a:hover,
.ncb-category-nav a.is-active {
	background: var(--ncb-blue-dark);
	border-color: var(--ncb-blue-dark);
	color: #fff;
}

.ncb-post-grid {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ncb-post-card {
	background: #fff;
	border: 1px solid var(--ncb-rule);
	min-width: 0;
	transition: border-color .2s ease, transform .2s ease;
}

.ncb-post-card:hover {
	border-color: #b8c8d0;
	transform: translateY(-3px);
}

.ncb-post-card__image {
	background: var(--ncb-paper);
	display: block;
	overflow: hidden;
	position: relative;
}

.ncb-post-card__image::before {
	content: "";
	display: block;
	padding-top: 60%;
}

.ncb-post-card__image img {
	height: 100%;
	object-fit: cover;
	position: absolute;
	inset: 0;
	transition: transform .35s ease;
	width: 100%;
}

.ncb-post-card:hover .ncb-post-card__image img {
	transform: scale(1.025);
}

.ncb-post-card__placeholder {
	align-items: center;
	background: linear-gradient(135deg, #edf1f1, #e2e9e9);
	color: #8b9ca3;
	display: flex;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 40px;
	font-weight: 600;
	justify-content: center;
	position: absolute;
	inset: 0;
}

.ncb-post-card__body {
	padding: 22px 23px 25px;
}

.ncb-post-card__meta {
	align-items: center;
	color: var(--ncb-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 11px;
	gap: 9px;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.ncb-post-card__meta span {
	border-left: 1px solid var(--ncb-rule);
	color: var(--ncb-blue);
	padding-left: 9px;
}

.ncb-post-card h2 {
	font-size: 23px;
	margin: 13px 0 9px;
}

.ncb-post-card h2 a:hover,
.ncb-read-more:hover {
	color: var(--ncb-blue);
}

.ncb-post-card__body > p {
	color: var(--ncb-muted);
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 17px;
}

.ncb-read-more {
	color: var(--ncb-blue-dark) !important;
	display: inline-flex;
	font-size: 13px;
	font-weight: 600;
	gap: 8px;
	transition: color .2s ease;
}

.ncb-read-more span {
	transition: transform .2s ease;
}

.ncb-read-more:hover span {
	transform: translateX(3px);
}

.ncb-blog .navigation.pagination {
	margin: 44px 0 0;
	text-align: center;
}

.ncb-blog .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.ncb-blog .page-numbers {
	border: 1px solid var(--ncb-rule);
	color: var(--ncb-ink);
	display: inline-flex;
	font-size: 13px;
	min-height: 42px;
	min-width: 42px;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
}

.ncb-blog .page-numbers.current,
.ncb-blog .page-numbers:hover {
	background: var(--ncb-blue-dark);
	border-color: var(--ncb-blue-dark);
	color: #fff;
}

.ncb-article {
	margin: 0 auto;
	max-width: 850px;
}

.ncb-breadcrumbs {
	color: var(--ncb-muted);
	display: flex;
	font-size: 12px;
	gap: 10px;
	margin: 0 0 36px;
}

.ncb-breadcrumbs a:hover {
	color: var(--ncb-blue);
	text-decoration: underline;
}

.ncb-article__header {
	margin: 0 auto 34px;
	max-width: 760px;
	text-align: center;
}

.ncb-article__header h1 {
	font-size: clamp(36px, 5vw, 58px);
	letter-spacing: -.035em;
	margin: 0;
}

.ncb-article__date {
	color: var(--ncb-muted);
	font-size: 13px;
	margin: 18px 0 0;
}

.ncb-article__featured-image {
	margin: 0 0 42px;
}

.ncb-article__featured-image img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-height: 560px;
	object-fit: cover;
	width: 100%;
}

.ncb-article__content {
	color: #394b55;
	font-size: 17px;
	line-height: 1.85;
	margin: 0 auto;
	max-width: 720px;
}

.ncb-article__content > *:first-child {
	margin-top: 0;
}

.ncb-article__content h2,
.ncb-article__content h3,
.ncb-article__content h4 {
	margin: 1.8em 0 .6em;
}

.ncb-article__content h2 {
	font-size: clamp(27px, 3vw, 34px);
}

.ncb-article__content h3 {
	font-size: 25px;
}

.ncb-article__content a {
	color: var(--ncb-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ncb-article__content blockquote {
	border-left: 3px solid #b18a4d;
	color: var(--ncb-blue-dark);
	font-family: "Playfair Display", Georgia, serif;
	font-size: 23px;
	line-height: 1.5;
	margin: 1.8em 0;
	padding: 4px 0 4px 24px;
}

.ncb-article__content img {
	height: auto;
	max-width: 100%;
}

.ncb-article__content ul,
.ncb-article__content ol {
	padding-left: 1.35em;
}

.ncb-contact-cta {
	align-items: center;
	background: var(--ncb-paper);
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin: 55px 0 0;
	padding: 30px 34px;
}

.ncb-contact-cta .ncb-eyebrow {
	margin-bottom: 8px;
}

.ncb-contact-cta h2 {
	font-size: 25px;
	margin: 0;
}

.ncb-contact-cta p:not(.ncb-eyebrow) {
	color: var(--ncb-muted);
	font-size: 14px;
	margin: 8px 0 0;
}

.ncb-contact-cta > a {
	align-items: center;
	background: var(--ncb-blue-dark);
	color: #fff;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 600;
	gap: 12px;
	justify-content: center;
	min-height: 48px;
	padding: 0 18px;
}

.ncb-contact-cta > a:hover {
	background: #16364a;
}

.ncb-related {
	border-top: 1px solid var(--ncb-rule);
	margin-top: 58px;
	padding-top: 38px;
}

.ncb-related__heading {
	margin-bottom: 22px;
}

.ncb-related__heading .ncb-eyebrow {
	margin-bottom: 8px;
}

.ncb-related__heading h2 {
	font-size: clamp(27px, 3vw, 34px);
	margin: 0;
}

.ncb-related__grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ncb-related-card {
	border: 1px solid var(--ncb-rule);
	min-width: 0;
}

.ncb-related-card__image {
	background: var(--ncb-paper);
	display: block;
	overflow: hidden;
	position: relative;
}

.ncb-related-card__image::before {
	content: "";
	display: block;
	padding-top: 58%;
}

.ncb-related-card__image img,
.ncb-related-card__image > span {
	height: 100%;
	object-fit: cover;
	position: absolute;
	inset: 0;
	width: 100%;
}

.ncb-related-card__image > span {
	align-items: center;
	color: #8b9ca3;
	display: flex;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 32px;
	justify-content: center;
}

.ncb-related-card__body {
	padding: 16px 17px 18px;
}

.ncb-related-card__body time {
	color: var(--ncb-muted);
	display: block;
	font-size: 10px;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.ncb-related-card h3 {
	font-size: 19px;
	margin: 8px 0 12px;
}

.ncb-related-card h3 a:hover {
	color: var(--ncb-blue);
}

.ncb-article__footer {
	border-top: 1px solid var(--ncb-rule);
	margin: 40px 0 0;
	padding: 22px 0 0;
}

@media (max-width: 900px) {
	.ncb-post-grid {
		gap: 22px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ncb-blog {
		padding-inline: 18px;
	}

	.ncb-post-grid {
		grid-template-columns: 1fr;
	}

	.ncb-related__grid {
		grid-template-columns: 1fr;
	}

	.ncb-archive-heading {
		margin-bottom: 28px;
	}

	.ncb-article__header h1 {
		font-size: 36px;
	}

	.ncb-article__content {
		font-size: 16px;
	}

	.ncb-contact-cta {
		align-items: flex-start;
		flex-direction: column;
		padding: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ncb-blog *,
	.ncb-blog *::before,
	.ncb-blog *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
