/**
 * Shared VG header + footer. Tokens only. Preview: body.sa-vg-lp6.
 */
#vg-site-header.vg-lp-header {
	position: sticky;
	top: 0;
	z-index: 80;
	background: var(--vg-bg-header, rgba(255, 255, 255, 0.94));
	border-bottom: 1px solid var(--vg-border-subtle, #D7E2E6);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	transition: box-shadow 0.24s ease;
}
#vg-site-header.vg-lp-header.is-scrolled {
	box-shadow: 0 10px 28px rgba(11, 28, 36, 0.08);
}

.vg-skip-link {
	position: absolute;
	left: 12px;
	top: -48px;
	z-index: 100;
	padding: 10px 14px;
	background: var(--vg-brand-primary, #0D8A84);
	color: var(--vg-text-on-brand, #fff);
	border-radius: 8px;
}
.vg-skip-link:focus {
	top: 12px;
}

.vg-lp-header-inner {
	width: min(100% - 2rem, 1180px);
	margin-inline: auto;
	min-height: 72px;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.vg-lp-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--vg-text-heading, #0B1C24);
	flex: 0 0 auto;
}
.vg-lp-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--vg-bg-brand-mark, linear-gradient(135deg, #0A6F6A 0%, #0D8A84 100%));
	color: var(--vg-text-on-brand, #fff);
	font-family: var(--vg-font-heading, Sora, sans-serif);
	font-weight: 700;
	font-size: 16px;
}
.vg-lp-brand-name {
	font-family: var(--vg-font-heading, Sora, sans-serif);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.vg-lp-nav {
	flex: 1 1 auto;
}
.vg-lp-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.15rem 1.1rem;
	flex-wrap: wrap;
}
.vg-lp-nav a,
.vg-lp-nav__parent {
	color: var(--vg-text-heading, #0B1C24);
	text-decoration: none;
	font-family: var(--vg-font-body, Figtree, sans-serif);
	font-weight: 500;
	font-size: 0.95rem;
	background: none;
	border: 0;
	padding: 10px 0;
	min-height: 44px;
	cursor: pointer;
}
.vg-lp-nav a:hover,
.vg-lp-nav__parent:hover {
	color: var(--vg-link, #0A6F6A);
}
#vg-site-header .vg-lp-nav a[aria-current="page"],
#vg-site-header .vg-lp-nav__sub a[aria-current="page"],
body.sa-vg-lp6 .vg-lp-nav a[aria-current="page"],
body.sa-vg-lp6 .vg-vg-nav a[aria-current="page"] {
	color: var(--vg-link, #0A6F6A) !important;
	background: transparent;
}
.vg-lp-nav__item--has-sub {
	position: relative;
}
.vg-lp-nav__sub {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 260px;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: var(--vg-bg-surface, #fff);
	border: 1px solid var(--vg-border-subtle, #D7E2E6);
	border-radius: 12px;
	box-shadow: var(--vg-shadow-card, 0 10px 28px rgba(11, 28, 36, 0.06));
	z-index: 90;
}
#vg-site-header .vg-lp-nav .vg-lp-nav__sub {
	display: none;
}
.vg-lp-nav__item--has-sub:hover .vg-lp-nav__sub,
.vg-lp-nav__item--has-sub:focus-within .vg-lp-nav__sub,
.vg-lp-nav__parent[aria-expanded="true"] + .vg-lp-nav__sub,
#vg-site-header .vg-lp-nav .vg-lp-nav__item--has-sub:hover .vg-lp-nav__sub,
#vg-site-header .vg-lp-nav .vg-lp-nav__item--has-sub:focus-within .vg-lp-nav__sub,
#vg-site-header .vg-lp-nav .vg-lp-nav__parent[aria-expanded="true"] + .vg-lp-nav__sub {
	display: block;
}
.vg-lp-nav__sub a {
	display: block;
	padding: 10px 12px;
	min-height: 44px;
	border-radius: 8px;
}
.vg-lp-nav__sub a:hover,
.vg-lp-nav__sub a[aria-current="page"] {
	background: var(--vg-bg-nav-active, rgba(13, 138, 132, 0.10));
}

.vg-lp-header-actions {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}
.vg-lp-login {
	color: var(--vg-text-heading, #0B1C24);
	text-decoration: none;
	font-weight: 500;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}
.vg-lp-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 10px;
	background: var(--vg-brand-primary, #0D8A84);
	color: var(--vg-text-on-brand, #fff) !important;
	text-decoration: none;
	font-family: var(--vg-font-heading, Sora, sans-serif);
	font-weight: 600;
	font-size: 0.9rem;
	box-shadow: var(--vg-shadow-button, 0 10px 24px rgba(13, 138, 132, 0.28));
}
.vg-lp-cta:hover {
	background: var(--vg-brand-secondary, #0A6F6A);
}
.vg-lp-nav__item--login,
.vg-lp-nav__item--cta {
	display: none;
}

.vg-lp-nav-toggle {
	display: none;
	margin-left: auto;
	min-height: 44px;
	min-width: 44px;
	padding: 8px 12px;
	border: 1px solid var(--vg-border-subtle, #D7E2E6);
	background: var(--vg-bg-surface, #fff);
	color: var(--vg-text-heading, #0B1C24);
	border-radius: 10px;
	font-family: var(--vg-font-heading, Sora, sans-serif);
	font-weight: 600;
	gap: 8px;
	align-items: center;
	cursor: pointer;
}
.vg-lp-nav-toggle__bars {
	width: 16px;
	height: 12px;
	display: inline-block;
	background:
		linear-gradient(var(--vg-text-heading, #0B1C24), var(--vg-text-heading, #0B1C24)) 0 0 / 100% 2px no-repeat,
		linear-gradient(var(--vg-text-heading, #0B1C24), var(--vg-text-heading, #0B1C24)) 0 5px / 100% 2px no-repeat,
		linear-gradient(var(--vg-text-heading, #0B1C24), var(--vg-text-heading, #0B1C24)) 0 10px / 100% 2px no-repeat;
}

.vg-lp-nav-backdrop {
	display: none;
}

#vg-site-footer.vg-lp-footer {
	margin-top: auto;
	background: #EAF4F5 !important;
	color: #24343B !important;
	padding: 2.5rem 0 2rem;
	border-top: 1px solid #D7E2E6 !important;
}
.vg-lp-footer-inner {
	width: min(100% - 2rem, 1180px);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	gap: 2rem;
}
#vg-site-footer .vg-lp-footer-brand p,
#vg-site-footer .vg-lp-footer-contact-line,
#vg-site-footer .vg-lp-brand-name {
	margin: 0.75rem 0 0;
	color: #24343B !important;
	font-size: 0.95rem;
	line-height: 1.6;
	max-width: 32ch;
}
.vg-lp-footer-col h2 {
	margin: 0 0 12px;
	font-family: var(--vg-font-heading, Sora, sans-serif);
	font-size: 14px;
	color: var(--vg-text-heading, #0B1C24);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.vg-lp-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#vg-site-footer .vg-lp-footer-col a,
#vg-site-footer .vg-lp-footer-contact-line a {
	color: #0A6F6A !important;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	min-height: 36px;
}
.vg-lp-footer-col a:hover,
.vg-lp-footer-contact-line a:hover {
	color: var(--vg-link-hover, #075955);
}

@media (max-width: 980px) {
	.vg-lp-nav-toggle { display: inline-flex; }
	.vg-lp-header-actions { display: none; }
	.vg-lp-nav__item--login,
	.vg-lp-nav__item--cta { display: list-item; }
	.vg-lp-nav {
		display: none;
		position: fixed;
		inset: 0 0 0 auto;
		width: min(100%, 420px);
		height: 100dvh;
		background: var(--vg-bg-surface, #fff);
		z-index: 90;
		padding: 88px 20px 24px;
		overflow-y: auto;
	}
	.vg-lp-nav.is-open { display: block; }
	.vg-lp-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}
	.vg-lp-nav a,
	.vg-lp-nav__parent {
		display: flex;
		width: 100%;
		justify-content: space-between;
		padding: 12px 8px;
	}
	.vg-lp-nav__sub {
		position: static;
		display: none;
		border: 0;
		box-shadow: none;
		padding: 0 0 0 12px;
		min-width: 0;
	}
	.vg-lp-nav__parent[aria-expanded="true"] + .vg-lp-nav__sub { display: block; }
	#vg-site-header .vg-lp-nav .vg-lp-nav__item--has-sub:hover .vg-lp-nav__sub,
	#vg-site-header .vg-lp-nav .vg-lp-nav__item--has-sub:focus-within .vg-lp-nav__sub {
		display: none;
	}
	#vg-site-header .vg-lp-nav .vg-lp-nav__item--has-sub .vg-lp-nav__parent[aria-expanded="true"] + .vg-lp-nav__sub {
		display: block;
	}
	.vg-lp-nav-backdrop:not([hidden]) {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(11, 28, 36, 0.35);
		z-index: 85;
	}
	body.vg-nav-open { overflow: hidden; }
	body.vg-nav-open #vg-site-header.vg-lp-header { z-index: 95; }
	.vg-lp-footer-inner { grid-template-columns: 1fr; }
}

body.sa-vg-lp6 { padding-top: 0; }
body.sa-vg-lp6 .sa-vg-hero-flagship {
	margin-top: 0;
	padding-top: 32px;
}

/* Anchor targets clear the sticky header (up to 100px tall) */
body.sa-vg-lp6 [id] {
	scroll-margin-top: 112px;
}
/* Shared VG content heading scale (all sa-vg-lp6 pages) */
body.sa-vg-lp6 :is(h1, h2, h3) {
	font-family: var(--vg-font-heading, "Sora", "Segoe UI", sans-serif) !important;
	color: var(--vg-text-heading, #0B1C24) !important;
	line-height: 1.2 !important;
	letter-spacing: normal;
}

body.sa-vg-lp6 :is(h1) {
	font-size: 48px !important;
}

body.sa-vg-lp6 :is(h2) {
	font-size: 32px !important;
}

body.sa-vg-lp6 :is(h3) {
	font-size: 22px !important;
}

@media (max-width: 767px) {
	body.sa-vg-lp6 :is(h1) {
		font-size: 32px !important;
	}

	body.sa-vg-lp6 :is(h2) {
		font-size: 24px !important;
	}

	body.sa-vg-lp6 :is(h3) {
		font-size: 19px !important;
	}
}

/* Site chrome labels stay small */
body.sa-vg-lp6 .vg-lp-footer-col h2,
body.sa-vg-lp6 .vg-site-header :is(h1, h2, h3),
body.sa-vg-lp6 #vg-site-header :is(h1, h2, h3),
body.sa-vg-lp6 .sa-vg-footer-nav-heading {
	font-size: 14px !important;
	line-height: 1.4 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}


