/*
 * VIA Frontiers frontend design system.
 */

html {
	scroll-behavior: smooth;
}

body.via-frontiers-site {
	--via-indigo: #282865;
	--via-blue: #7499d0;
	--via-amber: #ee8f50;
	--via-stone: #e6e3de;
	--via-orange: #f46714;
	--via-midnight: #071b33;
	--via-body-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--via-heading-font: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--via-border: rgba(116, 153, 208, 0.26);
	--via-shadow: 0 22px 70px rgba(7, 27, 51, 0.14);
	--via-radius: 18px;
	--via-radius-sm: 10px;
	font-family: var(--via-body-font);
	-webkit-font-smoothing: antialiased;
}

body.via-frontiers-site h1,
body.via-frontiers-site h2,
body.via-frontiers-site h3,
body.via-frontiers-site h4 {
	font-family: var(--via-heading-font);
}

a {
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.wp-site-blocks {
	overflow: clip;
}

.via-site-header {
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
	z-index: 20;
}

.admin-bar .via-site-header.is-position-sticky {
	top: 32px;
}

.via-site-header .wp-block-navigation-item__content {
	color: #fff;
}

.via-site-header .wp-block-navigation-item__content:hover,
.via-site-header .current-menu-item > .wp-block-navigation-item__content {
	color: var(--via-amber);
}

.via-header-cta {
	display: inline-flex;
	white-space: nowrap;
}

.via-header-cta:hover,
.wp-element-button:hover {
	transform: translateY(-2px);
	filter: brightness(1.04);
}

.via-hero {
	background:
		radial-gradient(circle at 72% 28%, rgba(116, 153, 208, 0.22), transparent 32%),
		linear-gradient(135deg, var(--via-midnight), var(--via-indigo));
	min-height: min(760px, 90vh);
}

.via-hero h1 {
	text-wrap: balance;
}

.via-hero-portrait {
	min-height: 520px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.02), rgba(7,27,51,0.38)),
		radial-gradient(circle at 50% 30%, rgba(238,143,80,0.24), transparent 38%);
	box-shadow: 0 28px 80px rgba(0,0,0,0.24);
	overflow: hidden;
}

.via-hero-portrait .wp-block-image,
.via-hero-portrait .wp-block-image img {
	height: 100%;
	width: 100%;
}

.via-hero-portrait .wp-block-image img {
	object-fit: cover;
	object-position: center top;
}

.is-style-via-eyebrow,
.via-eyebrow {
	color: var(--via-orange);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin-bottom: 0.7rem;
	text-transform: uppercase;
}

.is-style-via-card,
.via-card {
	background: #fff;
	border: 1px solid var(--via-border);
	border-radius: var(--via-radius);
	box-shadow: 0 12px 40px rgba(7, 27, 51, 0.08);
	height: 100%;
	padding: clamp(1.35rem, 3vw, 2rem);
}

.is-style-via-outline {
	border: 1px solid var(--via-border);
	border-radius: var(--via-radius);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.via-pathway-card {
	overflow: hidden;
	position: relative;
}

.via-pathway-card::after {
	background: linear-gradient(135deg, transparent, rgba(255,255,255,0.12));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.via-icon-disc {
	align-items: center;
	background: rgba(244, 103, 20, 0.12);
	border-radius: 999px;
	color: var(--via-orange);
	display: inline-flex;
	font-size: 1.2rem;
	font-weight: 700;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.via-number {
	color: var(--via-orange);
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1;
}

.via-bbbc-band {
	background:
		linear-gradient(90deg, rgba(7,27,51,0.98), rgba(40,40,101,0.96)),
		var(--via-midnight);
	border-radius: 26px;
	box-shadow: var(--via-shadow);
	overflow: hidden;
}

.via-certification {
	background:
		radial-gradient(circle at 80% 40%, rgba(116,153,208,0.24), transparent 34%),
		linear-gradient(135deg, #071b33, #102b50);
}

.via-stats {
	border-bottom: 1px solid rgba(255,255,255,0.12);
	border-top: 1px solid rgba(255,255,255,0.12);
}

.via-stat strong {
	display: block;
	font-family: var(--via-heading-font);
	font-size: clamp(1.7rem, 3vw, 2.6rem);
	line-height: 1;
}

.via-section-heading {
	max-width: 820px;
	text-wrap: balance;
}

.via-media-card .wp-block-image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.via-media-card .wp-block-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.via-footer {
	background: var(--via-midnight);
	color: rgba(255,255,255,0.82);
}

.via-footer a {
	color: #fff;
}

.via-powered-by {
	color: var(--via-amber) !important;
	font-size: 0.85rem;
}

.via-footer .wp-block-navigation {
	justify-content: flex-end;
}

.wp-block-post-content > * {
	margin-block-start: 0;
}

.wp-block-post-content > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.wp-block-query .wp-block-post-template {
	gap: 2rem;
}

.wp-block-post-template > li {
	border: 1px solid var(--via-border);
	border-radius: var(--via-radius);
	overflow: hidden;
	padding: 1.5rem;
}

@media (max-width: 980px) {
	.via-site-header .wp-block-navigation {
		--navigation-layout-justification-setting: flex-end;
	}

	.via-hero {
		min-height: auto;
	}

	.via-hero-portrait {
		min-height: 420px;
	}

	.via-footer .wp-block-navigation {
		justify-content: flex-start;
	}
}

@media (max-width: 782px) {
	.admin-bar .via-site-header.is-position-sticky {
		top: 46px;
	}

	.via-site-header .wp-block-site-logo img {
		max-width: 150px;
	}

	.via-header-cta {
		display: none;
	}

	.via-hero-portrait {
		min-height: 340px;
	}

	.via-stats .wp-block-column {
		border-bottom: 1px solid rgba(255,255,255,0.12);
		padding-bottom: 1rem;
	}

	.via-stats .wp-block-column:last-child {
		border-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	* {
		transition-duration: 0.01ms !important;
	}
}
