:root {
	--vastyro-radius-s: 0.7rem;
	--vastyro-radius-m: 1.15rem;
	--vastyro-radius-l: 1.8rem;
	--vastyro-shadow-soft: 0 24px 70px rgb(18 31 78 / 0.10);
	--vastyro-shadow-lift: 0 24px 50px rgb(49 87 232 / 0.16);
}

html { scroll-behavior: smooth; }
body { text-wrap: pretty; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--focus);
	outline-offset: 3px;
}
a { text-underline-offset: 0.16em; text-decoration-thickness: 0.08em; }
.wp-site-blocks { min-height: 100vh; overflow: clip; }
.vastyro-shell { width: min(100%, var(--wp--style--global--wide-size)); margin-inline: auto; }
.vastyro-surface {
	background: color-mix(in srgb, var(--wp--preset--color--surface) 94%, transparent);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--vastyro-radius-l);
	box-shadow: var(--vastyro-shadow-soft);
}
.vastyro-eyebrow {
	color: var(--wp--preset--color--brand);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.vastyro-hero {
	position: relative;
	isolation: isolate;
}
.vastyro-hero::before,
.vastyro-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	filter: blur(70px);
	opacity: .28;
	pointer-events: none;
}
.vastyro-hero::before {
	width: 26rem;
	height: 26rem;
	top: -8rem;
	right: -8rem;
	background: var(--wp--preset--color--accent);
}
.vastyro-hero::after {
	width: 20rem;
	height: 20rem;
	left: -7rem;
	bottom: -6rem;
	background: var(--wp--preset--color--brand);
}
.vastyro-kicker {
	display: inline-flex;
	gap: .5rem;
	align-items: center;
	padding: .45rem .75rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: rgb(255 255 255 / .72);
	backdrop-filter: blur(12px);
}
.vastyro-card {
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.vastyro-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--vastyro-shadow-lift);
	border-color: color-mix(in srgb, var(--wp--preset--color--brand) 28%, var(--wp--preset--color--line));
}
.wp-block-button__link { transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgb(49 87 232 / 0.22); }
.wp-block-navigation a:where(:not(.wp-element-button)) { text-decoration: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
	}
}


/* Vastyro Core Brand Kit integration */
:root {
	--vastyro-brand-primary: var(--wp--preset--color--brand);
	--vastyro-brand-secondary: var(--wp--preset--color--accent);
	--vastyro-brand-accent: var(--wp--preset--color--brand-strong);
	--vastyro-brand-radius: var(--vastyro-radius-m);
	--vastyro-density: 1;
	--vastyro-content-width: 1280px;
}

.vastyro-surface,
.vastyro-card {
	border-radius: var(--vastyro-brand-radius);
}

.vastyro-eyebrow {
	color: var(--vastyro-brand-primary);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--vastyro-brand-primary);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--vastyro-brand-primary);
	border-color: var(--vastyro-brand-primary);
}

.vastyro-hero::before {
	background: var(--vastyro-brand-secondary);
}

.vastyro-hero::after {
	background: var(--vastyro-brand-primary);
}

.vastyro-card:hover {
	border-color: color-mix(in srgb, var(--vastyro-brand-primary) 32%, var(--wp--preset--color--line));
}

.vastyro-shell,
.wp-block-group.alignwide {
	max-width: min(100%, var(--vastyro-content-width));
}

body {
	--vastyro-section-space: calc(var(--wp--preset--spacing--60) * var(--vastyro-density));
}


/* 0.2.1 public polish */
.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-block-group.alignwide,
.wp-block-columns.alignwide,
.vastyro-shell {
	width: min(100%, var(--vastyro-content-width));
	max-width: var(--vastyro-content-width);
	margin-inline: auto;
}

.vastyro-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--line) 82%, transparent);
	box-shadow: 0 8px 24px rgb(16 24 40 / .035);
}

.vastyro-header__inner {
	min-height: 52px;
}

.vastyro-brand {
	gap: .65rem;
}

.vastyro-brand .wp-block-site-title {
	font-weight: 760;
	letter-spacing: -.025em;
}

.vastyro-nav .wp-block-navigation-item__content {
	padding: .5rem .65rem;
	border-radius: 999px;
	transition: background-color 160ms ease, color 160ms ease;
}

.vastyro-nav .wp-block-navigation-item__content:hover,
.vastyro-nav .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--soft);
	color: var(--vastyro-brand-primary);
}

.vastyro-hero {
	padding-inline: var(--wp--preset--spacing--40);
	background:
		linear-gradient(180deg, rgb(255 255 255 / .22), transparent 35%),
		radial-gradient(circle at 50% 20%, rgb(255 255 255 / .52), transparent 42%);
}

.vastyro-hero > .wp-block-group {
	width: min(100%, 1040px);
	margin-inline: auto;
}

.vastyro-hero h1 {
	max-width: 940px;
	margin-inline: auto;
}

.vastyro-hero .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--40);
}

.vastyro-feature-section {
	padding-inline: var(--wp--preset--spacing--40);
}

.vastyro-feature-section > .wp-block-heading {
	max-width: 820px;
	margin-inline: auto;
	margin-bottom: var(--wp--preset--spacing--50);
}

.vastyro-feature-section .wp-block-columns {
	align-items: stretch;
	gap: var(--wp--preset--spacing--40);
}

.vastyro-feature-section .wp-block-column {
	display: flex;
}

.vastyro-feature-section .vastyro-card {
	width: 100%;
	min-height: 100%;
}

.vastyro-card h3 {
	margin-top: 0;
}

.vastyro-card p:last-child {
	margin-bottom: 0;
}

.vastyro-cta {
	position: relative;
	overflow: hidden;
	width: min(calc(100% - 2 * var(--wp--preset--spacing--40)), var(--vastyro-content-width));
	margin-inline: auto;
	border: 0;
	box-shadow: 0 28px 70px rgb(16 30 76 / .18);
}

.vastyro-cta::before {
	content: "";
	position: absolute;
	inset: auto -10% -70% 35%;
	height: 22rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(122 92 255 / .35), transparent 68%);
	pointer-events: none;
}

.vastyro-cta > * {
	position: relative;
	z-index: 1;
}

.vastyro-footer {
	border-top: 1px solid var(--wp--preset--color--line);
}

.vastyro-footer__inner {
	gap: var(--wp--preset--spacing--40);
}

.vastyro-footer .wp-block-site-title {
	margin-bottom: .25rem;
	font-weight: 760;
}

.vastyro-footer .wp-block-site-tagline,
.vastyro-footer__credit {
	margin-top: 0;
	margin-bottom: 0;
}

@media (max-width: 782px) {
	.vastyro-header__inner {
		min-height: 44px;
	}

	.vastyro-hero {
		padding-inline: var(--wp--preset--spacing--30);
	}

	.vastyro-feature-section {
		padding-inline: 0;
	}

	.vastyro-cta {
		width: 100%;
		border-radius: 0;
	}
}
