.vpt-start { background: var(--vp-color-surface); }
.vpt-start-hero { overflow: hidden; background: var(--vp-color-surface); }
.vpt-start-hero__grid {
	display: grid;
	gap: var(--vp-space-6);
	padding-block: clamp(2rem, 5vw, 4.5rem) var(--vp-space-6);
}
.vpt-start-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-start-eyebrow--accent { color: var(--vp-bank-accent); }
.vpt-start-hero h1 {
	max-width: 16ch;
	margin: 0;
	font-size: clamp(2.2rem, 1.7rem + 2vw, 3.65rem);
	line-height: 1.04;
	letter-spacing: -0.025em;
}
.vpt-start-hero__intro {
	max-width: 39rem;
	margin: var(--vp-space-5) 0 0;
	color: var(--vp-color-text-muted);
	font-size: clamp(1.05rem, 1rem + 0.2vw, 1.18rem);
}
.vpt-start-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--vp-space-3) var(--vp-space-5);
	margin-top: var(--vp-space-6);
}
.vpt-start-text-link {
	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-start-text-link:hover { text-decoration: underline; }
.vpt-start-text-link .vpt-icon { width: 1rem; height: 1rem; }
.vpt-start-hero__media {
	position: relative;
	min-height: 18rem;
	overflow: hidden;
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface-subtle);
}
.vpt-start-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.vpt-start-hero__placeholder {
	display: flex;
	height: 100%;
	min-height: inherit;
	align-items: flex-end;
	padding: var(--vp-space-7);
	background:
		radial-gradient(circle at 76% 20%, rgb(255 255 255 / 24%), transparent 28%),
		linear-gradient(140deg, var(--vp-bank-primary), var(--vp-bank-deep));
	color: #fff;
}
.vpt-start-hero__placeholder span { max-width: 18rem; font-size: var(--vp-font-size-2xl); font-weight: var(--vp-font-weight-bold); line-height: 1.15; }
.vpt-start-metrics {
	display: grid;
	overflow: hidden;
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-xl);
	background: rgb(255 255 255 / 96%);
	box-shadow: var(--vp-shadow-md);
}
.vpt-start-metrics .vpt-dashboard-metric { border-top: 1px solid var(--vp-color-border); }
.vpt-start-metrics .vpt-dashboard-metric:first-child { border-top: 0; }

.vpt-start-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.vpt-start-section--tint { background: var(--vp-color-bg); }
.vpt-start-section--surface { background: var(--vp-color-surface); }
.vpt-start-section__head,
.vpt-start-subsection-head {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: var(--vp-space-3) var(--vp-space-5);
	margin-bottom: var(--vp-space-6);
}
.vpt-start-section__head h2,
.vpt-start-subsection-head h3 { margin: 0; }
.vpt-start-section__head h2 { font-size: var(--vp-font-size-2xl); }
.vpt-start-subsection-head h3 { font-size: var(--vp-font-size-2xl); }

.vpt-start-participation { background: var(--vp-color-surface); }
.vpt-start-participation__grid { display: grid; gap: var(--vp-space-7); align-items: center; }
.vpt-start-participation__copy h2 { max-width: 16ch; margin: 0; font-size: clamp(1.85rem, 1.55rem + 1vw, 2.55rem); }
.vpt-start-participation__copy > p:last-child { max-width: 46rem; margin: var(--vp-space-4) 0 0; color: var(--vp-color-text-muted); font-size: var(--vp-font-size-lg); }
.vpt-start-participation__card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--vp-space-4);
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface-subtle);
	padding: var(--vp-space-6);
}
.vpt-start-participation__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	color: var(--vp-bank-primary);
}
.vpt-start-participation__icon .vpt-icon { width: 1.35rem; height: 1.35rem; }
.vpt-start-participation__label { 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-start-participation__card h3 { margin: 0; font-size: var(--vp-font-size-xl); }
.vpt-start-participation__card p:last-child { margin: var(--vp-space-3) 0 0; color: var(--vp-color-text-muted); }

.vpt-start-blog { margin-top: clamp(2.75rem, 6vw, 4.5rem); padding-top: clamp(2.25rem, 4vw, 3.25rem); border-top: 1px solid var(--vp-color-border); }
.vpt-start-bottom-grid { display: grid; gap: var(--vp-space-7); }
.vpt-start-quick {
	align-self: start;
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface-subtle);
	padding: var(--vp-space-6);
}
.vpt-start-quick h2 { margin: 0; font-size: var(--vp-font-size-2xl); }
.vpt-start-quick__links { display: grid; gap: var(--vp-space-1); margin-top: var(--vp-space-5); }
.vpt-start-quick__links > a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--vp-space-3);
	min-height: 3.75rem;
	border-radius: var(--vp-radius-lg);
	padding: var(--vp-space-2) var(--vp-space-3);
	color: var(--vp-color-text-strong);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-medium);
	text-decoration: none;
}
.vpt-start-quick__links > a:hover { background: #fff; }
.vpt-start-quick__icon {
	display: grid;
	width: 2.35rem;
	height: 2.35rem;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	color: var(--vp-bank-primary);
}
.vpt-start-quick__icon .vpt-icon { width: 1rem; height: 1rem; }
.vpt-start-quick__links > a > .vpt-icon { width: 0.95rem; height: 0.95rem; color: var(--vp-bank-primary); }

@media (min-width: 40rem) {
	.vpt-start-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vpt-start-metrics .vpt-dashboard-metric { border-top: 0; border-left: 1px solid var(--vp-color-border); }
	.vpt-start-metrics .vpt-dashboard-metric:first-child { border-left: 0; }
}

@media (min-width: 64rem) {
	.vpt-start-hero__grid { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); align-items: stretch; padding-block: clamp(2.5rem, 5vw, 5rem) 0; }
	.vpt-start-hero__copy { align-self: center; padding-block: var(--vp-space-6) var(--vp-space-10); }
	.vpt-start-hero__media { min-height: 31rem; border-radius: var(--vp-radius-2xl) var(--vp-radius-2xl) 0 0; }
	.vpt-start-metrics { position: relative; z-index: 3; width: min(100%, 55rem); margin-top: -2.5rem; }
	.vpt-start-section:first-of-type { padding-top: calc(clamp(3.5rem, 7vw, 6rem) + 1rem); }
	.vpt-start-participation__grid { grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr); }
	.vpt-start-bottom-grid { grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.8fr); align-items: start; }
}

@media (max-width: 39.99rem) {
	.vpt-start-hero__actions { align-items: stretch; flex-direction: column; }
	.vpt-start-hero__actions .vpt-button { width: 100%; }
	.vpt-start-hero__media { min-height: 15rem; }
	.vpt-start-participation__card { grid-template-columns: 1fr; }
}

/* Public homepage: intentionally reduced. No internal portal cards are rendered. */
.vpt-start--public .vpt-start-hero__grid {
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.vpt-start-hero__public-note {
	max-width: 38rem;
	margin: var(--vp-space-3) 0 0;
	color: var(--vp-color-text-soft);
	font-size: var(--vp-font-size-sm);
}
.vpt-start-public-about {
	background: var(--vp-color-bg);
	border-top: 1px solid var(--vp-color-border);
}
.vpt-start-public-about__grid {
	display: grid;
	gap: var(--vp-space-7);
	align-items: center;
}
.vpt-start-public-about__copy h2 {
	max-width: 17ch;
	margin: 0;
	font-size: clamp(1.9rem, 1.55rem + 1.1vw, 2.65rem);
}
.vpt-start-public-about__copy > p:last-child {
	max-width: 46rem;
	margin: var(--vp-space-4) 0 0;
	color: var(--vp-color-text-muted);
	font-size: var(--vp-font-size-lg);
}
.vpt-start-public-login-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--vp-space-4);
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface-subtle);
	padding: var(--vp-space-6);
}
.vpt-start-public-login-card h3 {
	margin: 0;
	font-size: var(--vp-font-size-xl);
}
.vpt-start-public-login-card p:not(.vpt-start-participation__label) {
	margin: var(--vp-space-3) 0 var(--vp-space-5);
	color: var(--vp-color-text-muted);
}

@media (min-width: 64rem) {
	.vpt-start--public .vpt-start-hero__grid {
		padding-bottom: clamp(3rem, 5vw, 5rem);
	}
	.vpt-start-public-about__grid {
		grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
	}
}

@media (max-width: 39.99rem) {
	.vpt-start-public-login-card {
		grid-template-columns: 1fr;
	}
}

/* 0.1.38: information-first homepage hierarchy and Core-controlled modules. */
.vpt-start-insights {
	border-top: 1px solid var(--vp-color-border);
}

@media (min-width: 40rem) {
	.vpt-start-metrics--count-1 { grid-template-columns: minmax(0, 1fr); max-width: 20rem; }
	.vpt-start-metrics--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vpt-start-metrics--count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 64rem) {
	.vpt-dashboard-focus-grid--single,
	.vpt-start-bottom-grid--single,
	.vpt-dashboard-news-grid--single {
		grid-template-columns: minmax(0, 1fr);
	}
	.vpt-dashboard-focus-grid--single { width: min(100%, 56rem); }
	.vpt-start-bottom-grid--single > .vpt-start-quick { width: min(100%, 30rem); }
	.vpt-dashboard-news-grid--single { width: min(100%, 48rem); }
}
