: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;
	}
}
