.vpt-blog-hero {
	border-bottom: 1px solid var(--vp-color-border);
	background: var(--vp-color-surface);
}
.vpt-blog-hero__inner { padding-block: clamp(2.75rem, 6vw, 5rem); }
.vpt-blog-hero__eyebrow,
.vpt-blog-section__eyebrow {
	margin: 0 0 var(--vp-space-2);
	color: var(--vp-bank-primary);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-bold);
}
.vpt-blog-hero h1 {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(2rem, 1.6rem + 1.45vw, 3rem);
}
.vpt-blog-hero__intro {
	max-width: 46rem;
	margin: var(--vp-space-4) 0 0;
	color: var(--vp-color-text-muted);
	font-size: var(--vp-font-size-lg);
}

.vpt-blog-listing { padding-block: var(--vp-space-8) var(--vp-space-10); }
.vpt-blog-listing__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--vp-space-4);
	margin-bottom: var(--vp-space-6);
}
.vpt-blog-listing__head h2 { margin: 0; font-size: var(--vp-font-size-2xl); }

.vpt-blog-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--vp-space-5);
}
.vpt-blog-card {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-xl);
	background: var(--vp-color-surface);
	box-shadow: var(--vp-shadow-sm);
	transition: transform var(--vp-duration-base) var(--vp-ease), border-color var(--vp-duration-base) var(--vp-ease), box-shadow var(--vp-duration-base) var(--vp-ease);
}
.vpt-blog-card:hover {
	transform: translateY(-2px);
	border-color: var(--vp-color-border-strong);
	box-shadow: var(--vp-shadow-md);
}
.vpt-blog-card__media {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--vp-color-surface-subtle);
	text-decoration: none;
}
.vpt-blog-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 420ms var(--vp-ease);
}
.vpt-blog-card:hover .vpt-blog-card__image { transform: scale(1.025); }
.vpt-blog-card__placeholder {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: flex-end;
	padding: var(--vp-space-5);
	background: linear-gradient(145deg, var(--vp-bank-deep), var(--vp-bank-primary));
	color: #fff;
}
.vpt-blog-card__placeholder span { max-width: 12rem; font-size: var(--vp-font-size-xl); font-weight: var(--vp-font-weight-bold); line-height: 1.12; }
.vpt-blog-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: var(--vp-space-5);
}
.vpt-blog-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--vp-space-2) var(--vp-space-3);
	margin-bottom: var(--vp-space-3);
	color: var(--vp-color-text-soft);
	font-size: var(--vp-font-size-xs);
}
.vpt-blog-card__label { color: var(--vp-bank-primary); font-weight: var(--vp-font-weight-bold); }
.vpt-blog-card__title { margin: 0; font-size: clamp(1.15rem, 1.05rem + 0.28vw, 1.35rem); }
.vpt-blog-card__title a { color: var(--vp-color-text-strong); text-decoration: none; }
.vpt-blog-card__title a:hover { color: var(--vp-bank-primary); text-decoration: underline; text-underline-offset: 0.16em; }
.vpt-blog-card__excerpt { margin: var(--vp-space-3) 0 0; color: var(--vp-color-text-muted); }
.vpt-blog-card__link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--vp-space-2);
	margin-top: auto;
	padding-top: var(--vp-space-5);
	color: var(--vp-bank-primary);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-bold);
	text-decoration: none;
}
.vpt-blog-card__link:hover { text-decoration: underline; }
.vpt-blog-card__link .vpt-icon { width: 1rem; height: 1rem; }

.vpt-blog-grid--dashboard { margin-top: 0; }
.vpt-blog-card--compact .vpt-blog-card__body { padding: var(--vp-space-4) var(--vp-space-5) var(--vp-space-5); }
.vpt-blog-card--compact .vpt-blog-card__excerpt { font-size: var(--vp-font-size-sm); }

.vpt-blog-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--vp-space-2);
	margin-top: var(--vp-space-8);
}
.vpt-blog-pagination .page-numbers {
	display: inline-flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-pill);
	background: var(--vp-color-surface);
	color: var(--vp-color-text-strong);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-medium);
	padding-inline: var(--vp-space-3);
	text-decoration: none;
}
.vpt-blog-pagination .page-numbers.current,
.vpt-blog-pagination a.page-numbers:hover {
	border-color: var(--vp-bank-primary);
	background: var(--vp-bank-primary);
	color: #fff;
}
.vpt-blog-empty {
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-xl);
	background: var(--vp-color-surface);
	padding: var(--vp-space-7);
}
.vpt-blog-empty h2 { margin-bottom: var(--vp-space-2); font-size: var(--vp-font-size-xl); }
.vpt-blog-empty p { margin: 0; color: var(--vp-color-text-muted); }

/* Logged-out access state -------------------------------------------------- */
.vpt-blog-access {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--vp-space-5);
	align-items: start;
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-xl);
	background: var(--vp-color-surface);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	box-shadow: var(--vp-shadow-sm);
}
.vpt-blog-access__icon {
	display: inline-flex;
	width: 3rem;
	height: 3rem;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--vp-color-surface-subtle);
	color: var(--vp-bank-primary);
}
.vpt-blog-access__icon .vpt-icon { width: 1.35rem; height: 1.35rem; }
.vpt-blog-access__content { max-width: 46rem; }
.vpt-blog-access__content h3 {
	margin: 0 0 var(--vp-space-2);
	font-size: var(--vp-font-size-xl);
}
.vpt-blog-access__content p {
	margin: 0;
	color: var(--vp-color-text-muted);
}
.vpt-blog-access__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--vp-space-3);
	margin-top: var(--vp-space-5);
}
@media (max-width: 39.99rem) {
	.vpt-blog-access { grid-template-columns: 1fr; }
	.vpt-blog-access__actions { align-items: stretch; flex-direction: column; }
	.vpt-blog-access__actions .vpt-button { justify-content: center; width: 100%; }
}

@media (min-width: 40rem) {
	.vpt-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 64rem) {
	.vpt-blog-listing { padding-block: var(--vp-space-9) var(--vp-space-11); }
	.vpt-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Single editorial post --------------------------------------------------- */
.vpt-article-hero {
	position: relative;
	z-index: 2;
	overflow: visible;
	border-bottom: 1px solid var(--vp-color-border);
	background: var(--vp-color-surface);
}
.vpt-article-hero__inner {
	padding-block: clamp(1.75rem, 3vw, 2.75rem) clamp(2rem, 3.5vw, 3rem);
}
.vpt-article-hero__grid {
	display: grid;
	gap: clamp(1.75rem, 3.25vw, 3.5rem);
	align-items: start;
}
.vpt-article-hero__copy {
	min-width: 0;
}
.vpt-article-hero__media {
	margin: 0;
	overflow: hidden;
	border-radius: var(--vp-radius-xl);
	background: var(--vp-color-surface-subtle);
	box-shadow: var(--vp-shadow-md);
}
.vpt-article-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 8 / 5;
	object-fit: cover;
}
.vpt-article-back {
	margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}
.vpt-article-back a,
.vpt-article-footer-nav a {
	display: inline-flex;
	align-items: center;
	gap: var(--vp-space-2);
	color: var(--vp-bank-primary);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-bold);
	text-decoration: none;
}
.vpt-article-back a:hover,
.vpt-article-footer-nav a:hover {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
.vpt-article-back .vpt-icon,
.vpt-article-footer-nav .vpt-icon {
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
}
.vpt-article-hero__eyebrow {
	margin: 0 0 var(--vp-space-3);
	color: var(--vp-bank-primary);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-bold);
}
.vpt-article-title {
	width: min(100%, 64rem);
	max-width: 30ch;
	margin: 0;
	font-size: clamp(2.15rem, 1.65rem + 1.65vw, 3.35rem);
	line-height: 1.08;
	letter-spacing: -0.022em;
}
.vpt-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--vp-space-2) var(--vp-space-4);
	margin-top: var(--vp-space-5);
	color: var(--vp-color-text-soft);
	font-size: var(--vp-font-size-sm);
}
.vpt-article-meta__category {
	color: var(--vp-bank-primary);
	font-weight: var(--vp-font-weight-bold);
}
.vpt-article-body {
	position: relative;
	z-index: 1;
	padding-block: clamp(2.5rem, 5vw, 4.75rem) var(--vp-space-10);
}
.vpt-article-content {
	width: min(100%, 58rem);
	color: var(--vp-color-text);
	font-size: clamp(1rem, 0.97rem + 0.12vw, 1.075rem);
	line-height: 1.65;
}
.vpt-article-content > :first-child { margin-top: 0; }
.vpt-article-content > :last-child { margin-bottom: 0; }
.vpt-article-content p { margin-bottom: 1.35em; }
.vpt-article-content h2,
.vpt-article-content h3,
.vpt-article-content h4 {
	margin-top: 1.7em;
}
.vpt-article-content img {
	height: auto;
	border-radius: var(--vp-radius-lg);
}
.vpt-article-content figure {
	margin: var(--vp-space-7) 0;
}
.vpt-article-content figure img { width: auto; }
.vpt-article-content .alignwide,
.vpt-article-content .alignfull {
	max-width: min(100vw - (2 * var(--vp-gutter)), var(--vp-container-max));
}
.vpt-article-footer-nav {
	width: min(100%, 58rem);
	margin-top: var(--vp-space-9);
	padding-top: var(--vp-space-5);
	border-top: 1px solid var(--vp-color-border);
}


@media (min-width: 64rem) {
	.vpt-article-hero--with-media .vpt-article-hero__grid {
		grid-template-columns: minmax(0, 1.3fr) minmax(22rem, 0.7fr);
		gap: clamp(3rem, 5vw, 5.75rem);
	}
	.vpt-article-hero--with-media .vpt-article-title {
		max-width: 23ch;
	}
	.vpt-article-hero--with-media .vpt-article-hero__media {
		position: relative;
		z-index: 3;
		justify-self: end;
		width: min(100%, 30rem);
		margin-bottom: -5rem;
	}
	.vpt-article-hero--with-media + .vpt-article-body {
		padding-top: clamp(6.25rem, 8vw, 7.5rem);
	}
}

@media (min-width: 40rem) and (max-width: 63.999rem) {
	.vpt-article-hero--with-media .vpt-article-hero__grid {
		grid-template-columns: minmax(0, 1.12fr) minmax(15rem, 0.88fr);
		align-items: start;
	}
	.vpt-article-hero--with-media .vpt-article-hero__media {
		position: relative;
		z-index: 3;
		margin-bottom: -3.25rem;
	}
	.vpt-article-hero--with-media + .vpt-article-body {
		padding-top: clamp(4.75rem, 8vw, 5.75rem);
	}
}

@media (max-width: 39.999rem) {
	.vpt-article-title { max-width: 100%; }
	.vpt-article-hero__inner { padding-top: var(--vp-space-6); }
	.vpt-article-hero__media { margin-top: var(--vp-space-2); }
	.vpt-article-hero__image { aspect-ratio: 16 / 10; }
}

/* Curated editorial galleries may use the article container width rather than
 * the narrower reading measure while keeping normal copy compact. */
.vpt-article-content > .vpt-pattern-gallery-wrap.alignwide {
	width: min(calc(100vw - (2 * var(--vp-gutter))), var(--vp-container-max));
	max-width: var(--vp-container-max);
}

@media (max-width: 47.999rem) {
	.vpt-article-content > .vpt-pattern-gallery-wrap.alignwide {
		width: 100%;
	}
}
