:root {
	--nv-canvas: #f7f5fb;
	--nv-canvas-rgb: 247, 245, 251;
	--nv-surface: #ffffff;
	--nv-surface-2: #efedf6;
	--nv-ink: #17141c;
	--nv-muted: #5e5867;
	--nv-line: #d8d3e0;
	--nv-line-strong: #aca5b8;
	--nv-cyan: #12c7e8;
	--nv-cyan-strong: #007b96;
	--nv-electric-blue: #0968e5;
	--nv-blue: #075bb5;
	--nv-royal-blue: #3f46c7;
	--nv-violet: #6842bd;
	--nv-purple: #753a9d;
	--nv-magenta: #a82672;
	--nv-coral: #b83b4b;
	--nv-orange: #a94a10;
	--nv-amber: #846000;
	--nv-lime: #52720c;
	--nv-emerald: #0f7250;
	--nv-teal: #08746f;
	--nv-primary-action: #3347b5;
	--nv-positive: #0f7250;
	--nv-warning: #805800;
	--nv-negative: #b12f3f;
	--nv-focus: #075bb5;
	--nv-cyan-soft: rgba(18, 199, 232, 0.12);
	--nv-blue-soft: rgba(9, 104, 229, 0.1);
	--nv-violet-soft: rgba(104, 66, 189, 0.1);
	--nv-magenta-soft: rgba(168, 38, 114, 0.09);
	--nv-emerald-soft: rgba(15, 114, 80, 0.1);
	--nv-amber-soft: rgba(132, 96, 0, 0.11);
	--nv-shadow: 0 18px 60px rgba(45, 35, 64, 0.12);
	--nv-grid: rgba(63, 70, 199, 0.055);
	--nv-radius: 2px;
	--nv-header-height: 4.25rem;
	color-scheme: light;
}

:root[data-theme="dark"] {
	--nv-canvas: #090b12;
	--nv-canvas-rgb: 9, 11, 18;
	--nv-surface: #111520;
	--nv-surface-2: #181c29;
	--nv-ink: #f4f1f7;
	--nv-muted: #b7b1c0;
	--nv-line: #2c3041;
	--nv-line-strong: #50566d;
	--nv-cyan: #31d5f4;
	--nv-cyan-strong: #7ddcf1;
	--nv-electric-blue: #70a7ff;
	--nv-blue: #69a8f4;
	--nv-royal-blue: #8990ff;
	--nv-violet: #ad8aff;
	--nv-purple: #c78bea;
	--nv-magenta: #f07bbd;
	--nv-coral: #ff8d96;
	--nv-orange: #ffad70;
	--nv-amber: #f2c66d;
	--nv-lime: #a9da63;
	--nv-emerald: #6fd7a8;
	--nv-teal: #5ed2c9;
	--nv-primary-action: #8990ff;
	--nv-positive: #6fd7a8;
	--nv-warning: #f2c66d;
	--nv-negative: #ff9ca5;
	--nv-focus: #7ddcf1;
	--nv-cyan-soft: rgba(49, 213, 244, 0.11);
	--nv-blue-soft: rgba(112, 167, 255, 0.11);
	--nv-violet-soft: rgba(173, 138, 255, 0.1);
	--nv-magenta-soft: rgba(240, 123, 189, 0.08);
	--nv-emerald-soft: rgba(111, 215, 168, 0.09);
	--nv-amber-soft: rgba(242, 198, 109, 0.09);
	--nv-shadow: 0 22px 70px rgba(0, 0, 0, 0.34);
	--nv-grid: rgba(137, 144, 255, 0.055);
	color-scheme: dark;
}

html {
	background: var(--nv-canvas);
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--nv-header-height) + 1.5rem);
}

body {
	background-color: var(--nv-canvas);
	background-image:
		linear-gradient(var(--nv-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--nv-grid) 1px, transparent 1px);
	background-size: 48px 48px;
	color: var(--nv-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0;
	overflow-wrap: anywhere;
	transition: background-color 180ms ease, color 180ms ease;
}

body.nenuvo-nav-open {
	overflow: hidden;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

img {
	height: auto;
	max-width: 100%;
}

a {
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--nv-blue);
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--nv-focus);
	outline-offset: 3px;
}

::selection {
	background: var(--nv-cyan);
	color: #061015;
}

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

.wp-site-blocks > * {
	margin-block-start: 0;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: var(--nv-surface);
	clip: auto !important;
	clip-path: none;
	color: var(--nv-ink);
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	height: auto;
	left: 1rem;
	padding: 0.85rem 1rem;
	top: 1rem;
	width: auto;
	z-index: 100000;
}

.nenuvo-site-header {
	backdrop-filter: blur(18px);
	background: rgba(var(--nv-canvas-rgb), 0.88);
	border-bottom: 1px solid var(--nv-line);
	min-height: var(--nv-header-height);
	position: sticky;
	top: 0;
	transform: translateY(0);
	transition: box-shadow 180ms ease, transform 220ms ease;
	visibility: visible;
	will-change: transform;
	z-index: 1000;
}

.nenuvo-site-header.nenuvo-header-hidden {
	transform: translateY(calc(-100% - 2px));
	visibility: hidden;
}

.nenuvo-header-spacer {
	display: block;
	height: var(--nv-header-height);
	pointer-events: none;
	width: 100%;
}

.nenuvo-site-header.nenuvo-header-fixed {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
}

.nenuvo-site-header.nenuvo-header-visible {
	box-shadow: 0 12px 30px rgba(20, 16, 28, 0.12);
}

.admin-bar .nenuvo-site-header {
	top: 32px;
}

.nenuvo-header-inner {
	align-items: center;
	display: flex;
	gap: clamp(1rem, 3vw, 2.5rem);
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1180px;
	min-height: var(--nv-header-height);
	padding: 0.45rem clamp(1rem, 3vw, 2rem);
}

.nenuvo-brand {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.8rem;
}

.nenuvo-brand .wp-block-site-logo,
.nenuvo-brand .wp-block-site-title {
	margin: 0;
}

.nenuvo-brand .custom-logo-link {
	align-items: center;
	display: flex;
}

.nenuvo-brand .custom-logo {
	height: 2.3rem;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

:root[data-theme="dark"] .nenuvo-brand .custom-logo {
	filter: drop-shadow(0 0 12px rgba(33, 202, 241, 0.12));
}

:root[data-theme="dark"] .nenuvo-brand .custom-logo-link {
	background: #f4f2ed;
	border: 1px solid #39434d;
	padding: 0.2rem 0.35rem;
}

.nenuvo-brand .wp-block-site-title a {
	color: var(--nv-ink);
	font-size: 1rem;
	font-weight: 750;
	letter-spacing: 0.18em;
	text-decoration: none;
	text-transform: uppercase;
}

.nenuvo-header-actions {
	align-items: center;
	display: flex;
	gap: 0.75rem;
}

.nenuvo-site-header .wp-block-navigation {
	margin: 0;
}

.nenuvo-site-header .wp-block-navigation-item__content {
	color: var(--nv-ink);
	min-height: 2.35rem;
	padding: 0.58rem 0.42rem;
	text-decoration: none;
}

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

.nenuvo-site-header .wp-block-navigation__submenu-container {
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	box-shadow: var(--nv-shadow);
	min-width: 14rem !important;
	padding: 0.5rem;
}

.nenuvo-theme-toggle {
	align-items: center;
	appearance: none;
	background: var(--nv-surface);
	border: 1px solid var(--nv-line-strong);
	color: var(--nv-ink);
	cursor: pointer;
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	min-width: 2.75rem;
	padding: 0;
	position: relative;
}

.nenuvo-theme-toggle:hover {
	border-color: var(--nv-cyan);
}

.nenuvo-theme-toggle__icon {
	height: 1rem;
	position: relative;
	width: 1rem;
}

.nenuvo-theme-toggle__icon::before {
	background: var(--nv-ink);
	border-radius: 50%;
	content: "";
	inset: 0;
	position: absolute;
}

:root[data-theme="dark"] .nenuvo-theme-toggle__icon::before {
	background: transparent;
	border: 2px solid var(--nv-cyan);
	box-shadow: -4px -3px 0 -1px var(--nv-canvas);
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	align-items: center;
	color: var(--nv-ink);
	height: 2.75rem;
	justify-content: center;
	min-width: 2.75rem;
}

.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--nv-canvas);
	color: var(--nv-ink);
	padding: 1.25rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 4.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: clamp(1.1rem, 5vw, 1.7rem);
	padding: 0.5rem 0;
}

.nenuvo-main {
	min-height: 55vh;
}

.nenuvo-page-header {
	border-bottom: 1px solid var(--nv-line);
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(1.5rem, 3.5vw, 3rem) clamp(1rem, 3vw, 2rem) clamp(1.25rem, 2.5vw, 2rem);
}

.nenuvo-page-header .wp-block-post-title {
	font-size: clamp(2.2rem, 5.5vw, 4.6rem);
	margin: 0;
	max-width: 16ch;
}

.nenuvo-page-content {
	padding-block: clamp(2.5rem, 6vw, 6rem);
}

.nenuvo-page-content > :where(h2, h3, h4) {
	margin-block-start: clamp(2rem, 5vw, 4rem);
}

.nenuvo-breadcrumbs {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.nenuvo-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nenuvo-breadcrumbs li:not(:last-child)::after {
	color: var(--nv-muted);
	content: "/";
	margin-left: 0.55rem;
}

.nenuvo-breadcrumbs a {
	color: var(--nv-muted);
	text-decoration: none;
}

.nenuvo-kicker,
.nenuvo-eyebrow {
	color: var(--nv-blue);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.nenuvo-hero {
	align-items: stretch;
	animation: nenuvo-spectrum-drift 20s ease-in-out infinite;
	background:
		radial-gradient(circle at 12% 18%, var(--nv-cyan-soft), transparent 32%),
		radial-gradient(circle at 58% 82%, var(--nv-violet-soft), transparent 38%),
		radial-gradient(circle at 92% 18%, var(--nv-magenta-soft), transparent 34%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(239, 237, 246, 0.38));
	background-size: 130% 130%;
	border-bottom: 1px solid var(--nv-line);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
	margin: 0 auto;
	max-width: 1260px;
	min-height: calc(100vh - var(--nv-header-height));
	overflow: hidden;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	position: relative;
}

:root[data-theme="dark"] .nenuvo-hero {
	background:
		radial-gradient(circle at 12% 16%, rgba(49, 213, 244, 0.12), transparent 33%),
		radial-gradient(circle at 58% 84%, rgba(137, 144, 255, 0.12), transparent 40%),
		radial-gradient(circle at 94% 12%, rgba(240, 123, 189, 0.09), transparent 30%),
		linear-gradient(135deg, rgba(17, 21, 32, 0.96), rgba(9, 11, 18, 0.92));
}

.nenuvo-hero__copy {
	align-content: center;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.68));
	border-right: 1px solid var(--nv-line);
	display: grid;
	padding: clamp(4rem, 9vw, 8rem) clamp(1rem, 5vw, 5rem) clamp(4rem, 9vw, 8rem) 0;
	position: relative;
	z-index: 2;
}

:root[data-theme="dark"] .nenuvo-hero__copy {
	background: linear-gradient(90deg, rgba(17, 21, 32, 0.92), rgba(17, 21, 32, 0.66));
}

.nenuvo-hero h1 {
	font-size: clamp(3.2rem, 9vw, 7.8rem);
	letter-spacing: -0.065em;
	line-height: 0.88;
	margin: 1.2rem 0 1.8rem;
	max-width: 9ch;
}

.nenuvo-hero__lede {
	color: var(--nv-muted);
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	line-height: 1.55;
	max-width: 52ch;
}

.nenuvo-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.wp-block-button__link,
.nenuvo-button {
	align-items: center;
	background: var(--nv-primary-action);
	border: 1px solid var(--nv-primary-action);
	border-radius: 0;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 750;
	gap: 0.6rem;
	justify-content: center;
	letter-spacing: 0.09em;
	min-height: 3.25rem;
	padding: 0.85rem 1.25rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.wp-block-button__link:hover,
.nenuvo-button:hover {
	background: var(--nv-blue);
	border-color: var(--nv-blue);
	color: #ffffff;
	transform: translateY(-2px);
}

:root[data-theme="dark"] .wp-block-button__link,
:root[data-theme="dark"] .nenuvo-button {
	color: #090b12;
}

:root[data-theme="dark"] .wp-block-button__link:hover,
:root[data-theme="dark"] .nenuvo-button:hover {
	background: var(--nv-cyan);
	border-color: var(--nv-cyan);
	color: #061015;
}

.is-style-outline > .wp-block-button__link,
.nenuvo-button--outline {
	background: transparent;
	border-color: var(--nv-line-strong);
	color: var(--nv-ink);
}

.nenuvo-hero__visual {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 32rem;
	overflow: hidden;
	padding: clamp(2rem, 6vw, 5rem);
	position: relative;
}

.nenuvo-hero__visual::before,
.nenuvo-hero__visual::after {
	content: "";
	position: absolute;
}

.nenuvo-hero__visual::before {
	background:
		linear-gradient(135deg, transparent 0 46%, var(--nv-cyan) 46% 48%, transparent 48% 100%),
		linear-gradient(45deg, transparent 0 46%, var(--nv-violet) 46% 48%, transparent 48% 100%),
		linear-gradient(90deg, transparent 0 48%, var(--nv-magenta) 48% 49%, transparent 49% 100%);
	filter: drop-shadow(0 0 24px var(--nv-violet-soft));
	height: 72%;
	transform: rotate(-8deg);
	width: 72%;
}

.nenuvo-hero__visual::after {
	border: 1px solid var(--nv-electric-blue);
	box-shadow:
		0 0 42px var(--nv-cyan-soft),
		inset 0 0 48px var(--nv-magenta-soft);
	height: 46%;
	transform: rotate(45deg);
	width: 46%;
}

.nenuvo-orbit {
	animation: nenuvo-orbit 18s linear infinite;
	border: 1px dashed var(--nv-line-strong);
	border-radius: 50%;
	height: clamp(15rem, 29vw, 25rem);
	position: relative;
	width: clamp(15rem, 29vw, 25rem);
}

.nenuvo-orbit::before,
.nenuvo-orbit::after {
	background: var(--nv-cyan);
	box-shadow: 0 0 24px var(--nv-cyan-soft);
	content: "";
	height: 0.55rem;
	position: absolute;
	width: 0.55rem;
}

.nenuvo-orbit::before {
	left: 10%;
	top: 18%;
}

.nenuvo-orbit::after {
	background: var(--nv-magenta);
	box-shadow: 0 0 24px var(--nv-magenta-soft);
	bottom: 8%;
	right: 18%;
}

@keyframes nenuvo-orbit {
	to { transform: rotate(360deg); }
}

@keyframes nenuvo-spectrum-drift {
	0% { background-position: 0% 20%; }
	50% { background-position: 100% 80%; }
	100% { background-position: 0% 20%; }
}

.nenuvo-section {
	border-bottom: 1px solid var(--nv-line);
	margin: 0 auto;
	max-width: 1260px;
	padding: clamp(4rem, 9vw, 8rem) clamp(1rem, 4vw, 2.5rem);
	position: relative;
}

.nenuvo-section::after {
	background: linear-gradient(90deg, var(--nv-cyan), var(--nv-blue), var(--nv-violet), var(--nv-magenta), var(--nv-orange));
	bottom: -1px;
	content: "";
	height: 2px;
	left: clamp(1rem, 4vw, 2.5rem);
	opacity: 0.58;
	position: absolute;
	right: clamp(1rem, 4vw, 2.5rem);
}

body.home .nenuvo-section:nth-of-type(4n + 1) {
	background: linear-gradient(135deg, var(--nv-blue-soft), transparent 48%);
}

body.home .nenuvo-section:nth-of-type(4n + 2) {
	background: linear-gradient(135deg, var(--nv-emerald-soft), transparent 52%);
}

body.home .nenuvo-section:nth-of-type(4n + 3) {
	background: linear-gradient(135deg, var(--nv-magenta-soft), var(--nv-amber-soft));
}

.nenuvo-product-neonscape .nenuvo-page-header {
	background:
		radial-gradient(circle at 82% 24%, var(--nv-magenta-soft), transparent 28%),
		linear-gradient(120deg, var(--nv-cyan-soft), var(--nv-blue-soft), var(--nv-violet-soft));
	border-image: linear-gradient(90deg, var(--nv-cyan), var(--nv-electric-blue), var(--nv-violet), var(--nv-magenta)) 1;
}

.nenuvo-product-prosync .nenuvo-page-header {
	background:
		radial-gradient(circle at 84% 22%, var(--nv-amber-soft), transparent 24%),
		linear-gradient(120deg, var(--nv-emerald-soft), rgba(8, 116, 111, 0.08), var(--nv-blue-soft));
	border-image: linear-gradient(90deg, var(--nv-emerald), var(--nv-teal), var(--nv-blue), var(--nv-amber)) 1;
}

.nenuvo-product-flexsync .nenuvo-page-header {
	background:
		radial-gradient(circle at 80% 20%, rgba(169, 74, 16, 0.09), transparent 26%),
		linear-gradient(120deg, var(--nv-blue-soft), var(--nv-violet-soft), rgba(184, 59, 75, 0.08));
	border-image: linear-gradient(90deg, var(--nv-blue), var(--nv-violet), var(--nv-coral), var(--nv-orange)) 1;
}

.nenuvo-product-steamcalc .nenuvo-page-header {
	background:
		radial-gradient(circle at 82% 18%, var(--nv-amber-soft), transparent 25%),
		linear-gradient(120deg, var(--nv-blue-soft), var(--nv-cyan-soft), rgba(8, 116, 111, 0.08));
	border-image: linear-gradient(90deg, var(--nv-royal-blue), var(--nv-cyan), var(--nv-teal), var(--nv-amber)) 1;
}

.nenuvo-section--tight {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.nenuvo-section__head {
	align-items: end;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.65fr);
	margin-bottom: clamp(2rem, 5vw, 4rem);
}

.nenuvo-section__head h2,
.nenuvo-section > h2 {
	font-size: clamp(2.2rem, 6vw, 5rem);
	margin: 0;
	max-width: 13ch;
}

.nenuvo-section__head p {
	color: var(--nv-muted);
	margin: 0;
}

.nenuvo-product-grid,
.nenuvo-card-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: var(--nv-line);
	border: 1px solid var(--nv-line);
}

.nenuvo-product-card,
.nenuvo-card {
	background: var(--nv-surface);
	color: var(--nv-ink);
	display: flex;
	flex-direction: column;
	min-height: 23rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	position: relative;
	text-decoration: none;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.nenuvo-product-card::before {
	background: linear-gradient(90deg, var(--product-a, var(--nv-cyan)), var(--product-b, var(--nv-blue)), var(--product-c, var(--nv-violet)), var(--product-d, var(--nv-magenta)));
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	transition: width 180ms ease;
	width: 5rem;
}

.nenuvo-product-card::after {
	background:
		linear-gradient(135deg, transparent 44%, rgba(255, 255, 255, 0.72) 45% 49%, transparent 50%),
		linear-gradient(135deg, var(--product-a, var(--nv-cyan)), var(--product-c, var(--nv-violet)));
	border: 1px solid color-mix(in srgb, var(--product-b, var(--nv-blue)) 52%, var(--nv-line));
	box-shadow: 0 10px 26px var(--product-glow, var(--nv-blue-soft));
	content: "";
	height: 2.9rem;
	position: absolute;
	right: clamp(1.5rem, 4vw, 2.5rem);
	top: clamp(1.5rem, 4vw, 2.5rem);
	transform: rotate(3deg);
	width: 2.9rem;
}

.nenuvo-product-card:hover::before {
	width: 100%;
}

.nenuvo-product-card:hover {
	color: var(--nv-ink);
	box-shadow: inset 0 0 0 2px var(--product-b, var(--nv-blue)), 0 18px 42px var(--product-glow, var(--nv-blue-soft));
	transform: translateY(-3px);
}

.nenuvo-product-card h3,
.nenuvo-card h3 {
	font-size: clamp(1.6rem, 3vw, 2.5rem);
	margin: 1.35rem 0 0.8rem;
}

.nenuvo-product-card p,
.nenuvo-card p {
	color: var(--nv-muted);
}

.nenuvo-product-card__meta {
	align-items: center;
	border-left: 3px solid var(--product-status, var(--product-a, var(--nv-cyan)));
	display: flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	gap: 0.65rem;
	letter-spacing: 0.08em;
	max-width: calc(100% - 4rem);
	padding: 0.45rem 0.65rem;
	text-transform: uppercase;
}

.nenuvo-product-card__action {
	color: var(--product-ink, var(--nv-blue));
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	margin-top: auto;
	padding-top: 2rem;
	text-transform: uppercase;
}

.nenuvo-product-card--neonscape {
	--product-a: var(--nv-cyan);
	--product-b: var(--nv-electric-blue);
	--product-c: var(--nv-violet);
	--product-d: var(--nv-magenta);
	--product-glow: var(--nv-violet-soft);
	--product-ink: #075f78;
	--product-status: var(--nv-magenta);
	background: linear-gradient(145deg, var(--nv-cyan-soft), var(--nv-violet-soft) 46%, var(--nv-surface) 76%);
}

.nenuvo-product-card--prosync {
	--product-a: var(--nv-emerald);
	--product-b: var(--nv-teal);
	--product-c: var(--nv-blue);
	--product-d: var(--nv-amber);
	--product-glow: var(--nv-emerald-soft);
	--product-ink: #0c6548;
	--product-status: var(--nv-amber);
	background: linear-gradient(145deg, var(--nv-emerald-soft), var(--nv-blue-soft) 52%, var(--nv-surface) 78%);
}

.nenuvo-product-card--flexsync {
	--product-a: var(--nv-blue);
	--product-b: var(--nv-violet);
	--product-c: var(--nv-coral);
	--product-d: var(--nv-orange);
	--product-glow: var(--nv-violet-soft);
	--product-ink: #6140a4;
	--product-status: var(--nv-emerald);
	background: linear-gradient(145deg, var(--nv-blue-soft), var(--nv-violet-soft) 44%, rgba(184, 59, 75, 0.07) 68%, var(--nv-surface) 84%);
}

.nenuvo-product-card--steamcalc {
	--product-a: var(--nv-royal-blue);
	--product-b: var(--nv-cyan);
	--product-c: var(--nv-teal);
	--product-d: var(--nv-amber);
	--product-glow: var(--nv-cyan-soft);
	--product-ink: #075b82;
	--product-status: var(--nv-amber);
	background: linear-gradient(145deg, var(--nv-blue-soft), var(--nv-cyan-soft) 44%, var(--nv-amber-soft) 70%, var(--nv-surface) 86%);
}

:root[data-theme="dark"] .nenuvo-product-card {
	--product-ink: var(--product-a);
}

.nenuvo-stat-grid,
.nenuvo-feature-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: var(--nv-line);
	border: 1px solid var(--nv-line);
}

.nenuvo-stat,
.nenuvo-feature {
	background: var(--nv-surface);
	padding: 1.5rem;
}

.nenuvo-feature::before {
	background: linear-gradient(135deg, var(--nv-cyan), var(--nv-blue));
	box-shadow: 0 8px 20px var(--nv-cyan-soft);
	content: "";
	display: block;
	height: 1.75rem;
	margin-bottom: 1.1rem;
	transform: rotate(4deg);
	width: 1.75rem;
}

.nenuvo-feature:nth-child(3n + 2)::before {
	background: linear-gradient(135deg, var(--nv-violet), var(--nv-magenta));
	box-shadow: 0 8px 20px var(--nv-violet-soft);
}

.nenuvo-feature:nth-child(3n)::before {
	background: linear-gradient(135deg, var(--nv-emerald), var(--nv-amber));
	box-shadow: 0 8px 20px var(--nv-emerald-soft);
}

.nenuvo-stat strong,
.nenuvo-feature strong {
	display: block;
	font-size: 1.05rem;
	margin-bottom: 0.35rem;
}

.nenuvo-stat span,
.nenuvo-feature p {
	color: var(--nv-muted);
	font-size: 0.92rem;
	margin: 0;
}

.nenuvo-product-art {
	background-color: var(--nv-surface-2);
	border: 1px solid var(--nv-line);
	isolation: isolate;
	min-height: clamp(17rem, 42vw, 34rem);
	overflow: hidden;
	position: relative;
}

.nenuvo-product-art::before,
.nenuvo-product-art::after {
	content: "";
	position: absolute;
}

.nenuvo-product-art--neonscape {
	background-color: #0b1021;
	background-image:
		radial-gradient(circle at 20% 18%, rgba(18, 199, 232, 0.25), transparent 28%),
		radial-gradient(circle at 82% 22%, rgba(168, 38, 114, 0.25), transparent 30%),
		linear-gradient(115deg, transparent 47%, rgba(18, 199, 232, 0.72) 48% 49%, transparent 50%),
		linear-gradient(65deg, transparent 47%, rgba(104, 66, 189, 0.58) 48% 49%, transparent 50%),
		linear-gradient(rgba(112, 167, 255, 0.09) 1px, transparent 1px),
		linear-gradient(90deg, rgba(112, 167, 255, 0.09) 1px, transparent 1px);
	background-size: auto, auto, auto, auto, 32px 32px, 32px 32px;
}

.nenuvo-product-art--neonscape::before {
	border: 2px solid var(--nv-cyan);
	box-shadow: 0 0 36px rgba(49, 213, 244, 0.25);
	bottom: -38%;
	height: 110%;
	left: 25%;
	transform: perspective(500px) rotateX(68deg) rotateZ(45deg);
	width: 50%;
}

.nenuvo-product-art--prosync {
	background-image:
		radial-gradient(circle at 82% 18%, var(--nv-amber-soft), transparent 24%),
		linear-gradient(90deg, transparent 8%, rgba(15, 114, 80, 0.34) 8% 10%, transparent 10% 32%, var(--nv-line) 32% 33%, transparent 33%),
		linear-gradient(var(--nv-grid) 1px, transparent 1px);
	background-size: auto, 180px 100%, 100% 32px;
}

.nenuvo-product-art--prosync::before {
	border: 1px solid var(--nv-emerald);
	box-shadow: 46px 46px 0 -1px var(--nv-surface-2), 46px 46px 0 0 var(--nv-teal), 92px 92px 0 -1px var(--nv-surface-2), 92px 92px 0 0 var(--nv-blue);
	height: 42%;
	left: 23%;
	top: 18%;
	width: 48%;
}

.nenuvo-product-art--flexsync {
	background-image:
		radial-gradient(circle at 25% 32%, var(--nv-emerald) 0 4px, transparent 5px),
		radial-gradient(circle at 70% 65%, var(--nv-coral) 0 4px, transparent 5px),
		radial-gradient(circle at 78% 24%, var(--nv-orange) 0 5px, transparent 6px),
		linear-gradient(var(--nv-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--nv-grid) 1px, transparent 1px);
	background-size: auto, auto, auto, 56px 56px, 56px 56px;
}

.nenuvo-product-art--flexsync::before {
	border: 1px solid var(--nv-violet);
	box-shadow: 12px 12px 0 -1px var(--nv-surface-2), 12px 12px 0 0 var(--nv-blue);
	height: 55%;
	left: 19%;
	top: 20%;
	width: 62%;
}

.nenuvo-product-art--flexsync::after {
	background:
		linear-gradient(180deg, transparent 0 30%, rgba(184, 59, 75, 0.18) 30% 48%, transparent 48%),
		repeating-linear-gradient(90deg, transparent 0 13%, rgba(104, 66, 189, 0.22) 13% 14%);
	height: 55%;
	left: 19%;
	top: 20%;
	width: 62%;
}

.nenuvo-product-art--steamcalc {
	background-image:
		linear-gradient(112deg, transparent 0 62%, rgba(177, 47, 63, 0.24) 62% 63%, transparent 63%),
		radial-gradient(circle at 50% 50%, transparent 0 15%, rgba(7, 91, 181, 0.58) 15.2% 15.5%, transparent 15.8% 28%, rgba(18, 199, 232, 0.4) 28.2% 28.5%, transparent 28.8%),
		radial-gradient(circle at 50% 50%, transparent 0 39%, rgba(132, 96, 0, 0.34) 39.2% 39.5%, transparent 39.8%),
		linear-gradient(var(--nv-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--nv-grid) 1px, transparent 1px);
	background-size: auto, auto, auto, 32px 32px, 32px 32px;
}

.nenuvo-media-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nenuvo-media-placeholder {
	align-items: center;
	aspect-ratio: 9 / 16;
	background:
		linear-gradient(135deg, var(--nv-cyan-soft), transparent 60%),
		var(--nv-surface);
	border: 1px solid var(--nv-line);
	display: flex;
	justify-content: center;
	min-height: 20rem;
	padding: 1.25rem;
	position: relative;
	text-align: center;
}

.nenuvo-media-placeholder::before {
	border: 1px solid var(--nv-line-strong);
	content: "";
	inset: 0.75rem;
	position: absolute;
}

.nenuvo-media-placeholder span {
	color: var(--nv-muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nenuvo-media-placeholder--wide {
	aspect-ratio: 16 / 9;
	grid-column: 1 / -1;
	min-height: 0;
}

.nenuvo-notice {
	background: var(--nv-cyan-soft);
	border-left: 3px solid var(--nv-cyan);
	color: var(--nv-ink);
	margin-block: 1.5rem;
	padding: 1rem 1.2rem;
}

.nenuvo-notice--review {
	background: transparent;
	border: 1px solid var(--nv-line);
	border-left: 3px solid #f49e3f;
	font-size: 0.9rem;
}

.nenuvo-disclaimer {
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	color: var(--nv-muted);
	font-size: 0.9rem;
	padding: 1.25rem;
}

.nenuvo-checklist {
	padding-left: 1.2rem;
}

.nenuvo-checklist li {
	margin-bottom: 0.7rem;
	padding-left: 0.35rem;
}

.nenuvo-checklist li::marker {
	color: var(--nv-cyan-strong);
}

.nenuvo-contact-directory {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: var(--nv-line);
	border: 1px solid var(--nv-line);
}

.nenuvo-contact-item {
	background: var(--nv-surface);
	padding: 1.4rem;
}

.nenuvo-contact-item strong {
	display: block;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	margin-bottom: 0.35rem;
	text-transform: uppercase;
}

.nenuvo-form {
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	margin: 2rem 0;
	padding: clamp(1.25rem, 4vw, 2.5rem);
}

.nenuvo-form__grid {
	display: grid;
	gap: 1.1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nenuvo-form__field {
	margin: 0;
}

.nenuvo-form__field--full {
	grid-column: 1 / -1;
}

.nenuvo-form label,
.nenuvo-form legend {
	color: var(--nv-ink);
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	margin-bottom: 0.4rem;
}

.nenuvo-form :where(input:not([type="checkbox"]), select, textarea) {
	background: var(--nv-canvas);
	border: 1px solid var(--nv-line-strong);
	border-radius: 0;
	color: var(--nv-ink);
	font: inherit;
	min-height: 3rem;
	padding: 0.7rem 0.8rem;
	width: 100%;
}

.nenuvo-form textarea {
	min-height: 10rem;
	resize: vertical;
}

.nenuvo-form input[type="file"] {
	min-height: 0;
	padding: 0.7rem;
}

.nenuvo-form__checkbox {
	align-items: flex-start;
	display: flex;
	gap: 0.65rem;
}

.nenuvo-form__checkbox input {
	flex: 0 0 auto;
	height: 1.25rem;
	margin-top: 0.15rem;
	width: 1.25rem;
}

.nenuvo-form__required {
	color: var(--nv-negative);
}

.nenuvo-form__help {
	color: var(--nv-muted);
	font-size: 0.82rem;
	margin: 0.35rem 0 0;
}

.nenuvo-form__honeypot {
	left: -10000px;
	position: absolute;
	top: auto;
}

.nenuvo-form-status {
	border: 1px solid currentColor;
	margin: 1rem 0;
	padding: 1rem;
}

.nenuvo-form-status--success { color: var(--nv-positive); }
.nenuvo-form-status--error { color: var(--nv-negative); }

.nenuvo-search-form .wp-block-search__inside-wrapper {
	border: 1px solid var(--nv-line-strong);
	padding: 0.3rem;
}

.nenuvo-search-form .wp-block-search__input {
	background: var(--nv-canvas);
	border: 0;
	color: var(--nv-ink);
}

.wp-block-query .wp-block-post {
	border-top: 1px solid var(--nv-line);
	padding-block: 1.5rem;
}

.wp-block-query .wp-block-post-title a {
	color: var(--nv-ink);
	text-decoration: none;
}

.nenuvo-site-footer {
	background: #080a0d;
	color: #edf2f5;
	margin-top: 0;
}

.nenuvo-footer-inner {
	margin: 0 auto;
	max-width: 1260px;
	padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 2.5rem) 2rem;
}

.nenuvo-footer-grid {
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(15rem, 1.35fr) repeat(3, minmax(9rem, 0.65fr));
}

.nenuvo-footer-brand {
	max-width: 30rem;
}

.nenuvo-footer-brand .wp-block-site-title a,
.nenuvo-site-footer a {
	color: #edf2f5;
}

.nenuvo-footer-heading {
	color: #7f8993;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.nenuvo-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nenuvo-footer-links li {
	margin-bottom: 0.65rem;
}

.nenuvo-footer-links a {
	font-size: 0.9rem;
	text-decoration: none;
}

.nenuvo-footer-meta {
	align-items: center;
	border-top: 1px solid #2d353e;
	color: #9ea8b2;
	display: flex;
	font-size: 0.8rem;
	gap: 1rem;
	justify-content: space-between;
	margin-top: 4rem;
	padding-top: 1.5rem;
}

.nenuvo-footer-meta p {
	margin: 0;
}

.nenuvo-external-link::after,
a[target="_blank"]::after {
	content: " ↗";
	font-size: 0.85em;
}

.nenuvo-legal-page .nenuvo-page-content {
	font-size: 1.03rem;
	line-height: 1.75;
}

.nenuvo-legal-page .nenuvo-page-content > :where(h2, h3) {
	scroll-margin-top: calc(var(--nv-header-height) + 2rem);
}

.nenuvo-legal-page .nenuvo-page-content h2 {
	border-top: 1px solid var(--nv-line);
	font-size: clamp(1.6rem, 4vw, 2.35rem);
	padding-top: 1.4rem;
}

.nenuvo-legal-page .nenuvo-page-content h3 {
	font-size: 1.25rem;
}

.nenuvo-legal-page .nenuvo-page-content :where(p, li) {
	max-width: 72ch;
}

@media (max-width: 960px) {
	.nenuvo-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.nenuvo-header-inner {
		gap: 0.75rem;
	}

	.nenuvo-header-actions {
		margin-left: auto;
	}

	.nenuvo-hero {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.nenuvo-hero__copy {
		border-bottom: 1px solid var(--nv-line);
		border-right: 0;
		padding-right: 0;
	}

	.nenuvo-hero__visual {
		min-height: 26rem;
	}

	.nenuvo-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

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

	.nenuvo-product-grid,
	.nenuvo-card-grid,
	.nenuvo-contact-directory {
		grid-template-columns: 1fr;
	}

	.nenuvo-stat-grid,
	.nenuvo-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nenuvo-section__head {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.nenuvo-media-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nenuvo-media-placeholder:last-of-type:not(.nenuvo-media-placeholder--wide) {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	:root {
		--nv-header-height: 4rem;
	}

	.nenuvo-brand .custom-logo {
		height: 2.05rem;
	}

	.nenuvo-brand .wp-block-site-title {
		display: none;
	}

	.nenuvo-theme-toggle {
		height: 2.65rem;
		min-width: 2.65rem;
	}

	.nenuvo-hero h1 {
		font-size: clamp(2.9rem, 15vw, 4.6rem);
	}

	.nenuvo-hero__visual {
		min-height: 20rem;
	}

	.nenuvo-stat-grid,
	.nenuvo-feature-grid,
	.nenuvo-media-grid,
	.nenuvo-form__grid,
	.nenuvo-footer-grid {
		grid-template-columns: 1fr;
	}

	.nenuvo-media-placeholder,
	.nenuvo-media-placeholder:last-of-type:not(.nenuvo-media-placeholder--wide) {
		grid-column: auto;
	}

	.nenuvo-form__field--full {
		grid-column: auto;
	}

	.nenuvo-footer-meta {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Session 003: selected Editorial Spectrum Foundry direction. */
.nenuvo-brand .wp-block-shortcode {
	margin: 0;
}

.nenuvo-brand-name {
	color: var(--nv-ink);
	font-size: 0.86rem;
	font-weight: 780;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
}

.nenuvo-brand-name:hover {
	color: var(--nv-blue);
}

.nenuvo-site-header {
	min-height: var(--nv-header-height);
}

.nenuvo-header-inner {
	max-width: 1180px;
	min-height: var(--nv-header-height);
	padding-block: 0.4rem;
}

.nenuvo-brand .custom-logo {
	height: 2.3rem;
}

:root[data-theme="dark"] .nenuvo-brand .custom-logo-link {
	background: #f5f3ef;
	border-color: #343c47;
	padding: 0.16rem 0.28rem;
}

.nenuvo-site-header .wp-block-navigation-item__content {
	font-size: 0.78rem;
	letter-spacing: 0.035em;
	min-height: 2.3rem;
	padding-inline: 0.5rem;
	position: relative;
	text-transform: none;
}

.nenuvo-site-header .wp-block-navigation-item__content::after {
	background: linear-gradient(90deg, var(--nv-cyan), var(--nv-violet), var(--nv-magenta));
	bottom: 0.2rem;
	content: "";
	height: 2px;
	left: 0.58rem;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 160ms ease;
	width: calc(100% - 1.16rem);
}

.nenuvo-site-header .wp-block-navigation-item__content:hover::after,
.nenuvo-site-header .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

.nenuvo-site-header .wp-block-navigation__submenu-container {
	border-top: 3px solid var(--nv-cyan);
	padding: 0.55rem;
}

.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item {
	border-left: 3px solid var(--nv-cyan);
	margin-bottom: 0.2rem;
}

.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(2) {
	border-left-color: var(--nv-emerald);
}

.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(3) {
	border-left-color: var(--nv-coral);
}

.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(4) {
	border-left-color: var(--nv-amber);
}

.nenuvo-theme-switcher {
	align-items: center;
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	display: inline-flex;
	padding: 0.2rem;
}

.nenuvo-theme-switcher button {
	appearance: none;
	background: transparent;
	border: 0;
	color: var(--nv-muted);
	cursor: pointer;
	font: inherit;
	font-size: 0.66rem;
	font-weight: 720;
	letter-spacing: 0.035em;
	min-height: 1.95rem;
	padding: 0.25rem 0.5rem;
}

.nenuvo-theme-switcher button:hover {
	color: var(--nv-ink);
}

.nenuvo-theme-switcher button[aria-pressed="true"] {
	background: var(--nv-ink);
	color: var(--nv-canvas);
}

.nenuvo-home-hero {
	background:
		radial-gradient(circle at 12% 22%, rgba(18, 199, 232, 0.09), transparent 30%),
		radial-gradient(circle at 82% 20%, rgba(104, 66, 189, 0.08), transparent 32%),
		linear-gradient(135deg, #fbfaf7 0%, #f3f5f9 52%, #f7f3fa 100%);
	border-bottom: 1px solid var(--nv-line);
	overflow: hidden;
	padding: 0;
	position: relative;
}

.nenuvo-home-hero::before {
	background-image:
		linear-gradient(rgba(23, 20, 28, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(23, 20, 28, 0.035) 1px, transparent 1px);
	background-size: 56px 56px;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.nenuvo-home-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.07fr) minmax(32rem, 0.98fr);
	margin: 0 auto;
	max-width: 1320px;
	min-height: clamp(38rem, 68vw, 47rem);
	padding-inline: clamp(1rem, 4vw, 2.5rem);
	position: relative;
}

.nenuvo-home-hero__copy {
	align-content: center;
	display: grid;
	padding: clamp(4.5rem, 9vw, 8rem) clamp(1.5rem, 3vw, 2.75rem) clamp(4rem, 8vw, 7rem) 0;
	position: relative;
	z-index: 2;
}

.nenuvo-home-hero__title {
	color: #101827;
	font-size: clamp(3.2rem, 4.8vw, 4.6rem);
	letter-spacing: -0.07em;
	line-height: 0.92;
	margin: 1rem 0 1.5rem;
	max-width: none;
}

.nenuvo-home-hero__title span {
	display: block;
	white-space: nowrap;
}

.nenuvo-home-hero__lede {
	color: #4d5667;
	font-size: clamp(1.02rem, 1.7vw, 1.28rem);
	line-height: 1.62;
	max-width: 54ch;
}

.nenuvo-home-hero__art {
	grid-column: 2;
	grid-row: 1;
	height: 100%;
	margin: 0;
	min-width: 0;
	overflow: hidden;
	position: relative;
}

.nenuvo-home-hero__art img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.nenuvo-home-hero__art--dark {
	display: none;
}

.nenuvo-hero-signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.2rem;
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}

.nenuvo-hero-signals li {
	align-items: center;
	color: #4d5667;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.68rem;
	font-weight: 700;
	gap: 0.45rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nenuvo-hero-signals span {
	background: var(--nv-cyan);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(18, 199, 232, 0.1);
	height: 0.45rem;
	width: 0.45rem;
}

.nenuvo-hero-signals li:nth-child(2) span {
	background: var(--nv-magenta);
	box-shadow: 0 0 0 4px rgba(168, 38, 114, 0.1);
}

.nenuvo-hero-signals li:nth-child(3) span {
	background: var(--nv-amber);
	box-shadow: 0 0 0 4px rgba(132, 96, 0, 0.1);
}

.nenuvo-spectrum-divider {
	background: linear-gradient(90deg, var(--nv-cyan), var(--nv-electric-blue), var(--nv-violet), var(--nv-magenta), var(--nv-orange), var(--nv-emerald));
	height: 3px;
	position: relative;
	z-index: 3;
}

:root[data-theme="dark"] .nenuvo-home-hero {
	background:
		radial-gradient(circle at 18% 20%, rgba(49, 213, 244, 0.09), transparent 32%),
		radial-gradient(circle at 78% 18%, rgba(173, 138, 255, 0.09), transparent 30%),
		linear-gradient(135deg, #0d111a, #101622 55%, #12101c);
}

:root[data-theme="dark"] .nenuvo-home-hero::before {
	background-image:
		linear-gradient(rgba(244, 241, 247, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(244, 241, 247, 0.035) 1px, transparent 1px);
}

:root[data-theme="dark"] .nenuvo-home-hero__title {
	color: #f6f3f8;
}

:root[data-theme="dark"] .nenuvo-home-hero__lede,
:root[data-theme="dark"] .nenuvo-hero-signals li {
	color: #c5c0cb;
}

:root[data-theme="dark"] .nenuvo-home-hero__art:not(.nenuvo-home-hero__art--dark) {
	display: none;
}

:root[data-theme="dark"] .nenuvo-home-hero__art--dark {
	display: block;
}

:root[data-theme="dark"] .nenuvo-home-hero .is-style-outline > .wp-block-button__link {
	border-color: #738099;
	color: #f4f1f7;
}

:root[data-theme="dark"] .nenuvo-home-hero .is-style-outline > .wp-block-button__link:hover,
:root[data-theme="dark"] .nenuvo-home-hero .is-style-outline > .wp-block-button__link:focus-visible {
	background: rgba(49, 213, 244, 0.12);
	border-color: var(--nv-cyan);
	color: #ffffff;
}

.nenuvo-home-section {
	background: var(--nv-canvas);
	border-bottom: 1px solid var(--nv-line);
	padding: 0;
	position: relative;
}

.nenuvo-home-section__inner,
.nenuvo-closing-cta__inner {
	margin: 0 auto;
	max-width: 1320px;
	padding: clamp(4.5rem, 8vw, 7.5rem) clamp(1rem, 4vw, 2.5rem);
}

.nenuvo-section-heading {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.65fr);
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.nenuvo-section-heading h2,
.nenuvo-spectrum h2,
.nenuvo-identity h2,
.nenuvo-studio-statement h2,
.nenuvo-closing-cta h2 {
	font-size: clamp(2.35rem, 5.8vw, 5rem);
	margin: 0;
	max-width: 13ch;
}

.nenuvo-section-heading > p {
	color: var(--nv-muted);
	margin: 0;
	max-width: 52ch;
}

.nenuvo-portfolio {
	background:
		radial-gradient(circle at 5% 15%, var(--nv-cyan-soft), transparent 25%),
		linear-gradient(180deg, var(--nv-canvas), color-mix(in srgb, var(--nv-surface-2) 52%, var(--nv-canvas)));
}

.nenuvo-case {
	background: #0b1524;
	border: 1px solid #23324a;
	color: #f4f5f8;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.nenuvo-case--featured {
	display: grid;
	grid-template-columns: minmax(18rem, 0.68fr) minmax(0, 1.32fr);
	min-height: clamp(31rem, 52vw, 43rem);
}

.nenuvo-case__copy {
	align-content: center;
	display: grid;
	padding: clamp(1.75rem, 4vw, 3.75rem);
	position: relative;
	z-index: 2;
}

.nenuvo-case__copy > * {
	margin-block-start: 0;
}

.nenuvo-case__copy h3 {
	color: inherit;
	font-size: clamp(2rem, 3.5vw, 3.25rem);
	letter-spacing: -0.04em;
	margin: 0.65rem 0 1rem;
	overflow-wrap: normal;
	word-break: normal;
}

.nenuvo-case__copy p {
	color: #cbd3df;
	line-height: 1.6;
}

.nenuvo-case__category {
	color: #84e5f8 !important;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.nenuvo-case__art {
	height: 100%;
	margin: 0;
	min-height: 17rem;
	overflow: hidden;
}

.nenuvo-case__art img {
	height: 100%;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1);
	width: 100%;
}

.nenuvo-case:hover .nenuvo-case__art img {
	transform: scale(1.025);
}

.nenuvo-case-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1rem;
}

.nenuvo-case-grid .nenuvo-case {
	display: grid;
	grid-template-rows: minmax(17rem, 0.92fr) auto;
	min-height: 40rem;
}

.nenuvo-case--prosync {
	background: #082d32;
	border-color: #1d5c59;
}

.nenuvo-case--prosync .nenuvo-case__category,
.nenuvo-case--prosync .nenuvo-text-link a {
	color: #82e3c4 !important;
}

.nenuvo-case--flexsync {
	background: #101a45;
	border-color: #444d8d;
}

.nenuvo-case--flexsync .nenuvo-case__category,
.nenuvo-case--flexsync .nenuvo-text-link a {
	color: #ff9aa2 !important;
}

.nenuvo-case--steamcalc {
	background: #06334a;
	border-color: #1b6178;
}

.nenuvo-case--steamcalc .nenuvo-case__category,
.nenuvo-case--steamcalc .nenuvo-text-link a {
	color: #ffd27c !important;
}

.nenuvo-status {
	align-items: center;
	border: 1px solid currentColor;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.68rem;
	font-weight: 700;
	gap: 0.45rem;
	letter-spacing: 0.06em;
	margin: 0.75rem 0;
	padding: 0.48rem 0.65rem;
	text-transform: uppercase;
	width: fit-content;
}

.nenuvo-status .dashicons {
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

.nenuvo-text-link {
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.07em;
	margin-top: 1rem !important;
	text-transform: uppercase;
}

.nenuvo-text-link a {
	color: #86e9fb;
	text-decoration: none;
}

.nenuvo-text-link span {
	display: inline-block;
	transition: transform 160ms ease;
}

.nenuvo-text-link a:hover span {
	transform: translateX(0.25rem);
}

.nenuvo-studio-statement {
	background:
		linear-gradient(90deg, transparent 0 15%, var(--nv-blue-soft) 15% 15.1%, transparent 15.1%),
		var(--nv-surface);
}

.nenuvo-studio-statement__grid {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(9rem, 0.35fr) minmax(18rem, 1fr) minmax(18rem, 0.72fr);
}

.nenuvo-technical-note {
	color: var(--nv-muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	line-height: 1.8;
	margin-top: 2rem;
	text-transform: uppercase;
}

.nenuvo-studio-statement__grid > .has-large-font-size {
	color: var(--nv-muted);
	margin: 0.25rem 0 0;
}

.nenuvo-principles {
	background:
		radial-gradient(circle at 88% 20%, var(--nv-magenta-soft), transparent 28%),
		var(--nv-canvas);
}

.nenuvo-principle-grid {
	background: var(--nv-line);
	border: 1px solid var(--nv-line);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nenuvo-principle {
	background: var(--nv-surface);
	min-height: 19rem;
	padding: clamp(1.4rem, 3vw, 2.1rem);
	position: relative;
}

.nenuvo-principle::after {
	background: var(--principle-color);
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 68%;
	transition: right 180ms ease;
}

.nenuvo-principle:hover::after {
	right: 0;
}

.nenuvo-principle .dashicons {
	align-items: center;
	background: color-mix(in srgb, var(--principle-color) 12%, var(--nv-surface));
	border: 1px solid color-mix(in srgb, var(--principle-color) 48%, var(--nv-line));
	color: var(--principle-color);
	display: inline-flex;
	font-size: 1.45rem;
	height: 3.2rem;
	justify-content: center;
	width: 3.2rem;
}

.nenuvo-principle h3 {
	font-size: 1.25rem;
	margin-top: 2rem;
}

.nenuvo-principle p {
	color: var(--nv-muted);
	font-size: 0.94rem;
}

.nenuvo-principle--cyan { --principle-color: var(--nv-cyan-strong); }
.nenuvo-principle--violet { --principle-color: var(--nv-violet); }
.nenuvo-principle--coral { --principle-color: var(--nv-coral); }
.nenuvo-principle--emerald { --principle-color: var(--nv-emerald); }

.nenuvo-spectrum {
	background:
		radial-gradient(circle at 18% 16%, rgba(18, 199, 232, 0.11), transparent 30%),
		radial-gradient(circle at 78% 72%, rgba(168, 38, 114, 0.08), transparent 28%),
		color-mix(in srgb, var(--nv-surface-2) 60%, var(--nv-canvas));
	border-bottom: 1px solid var(--nv-line);
}

.nenuvo-spectrum h2 {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.nenuvo-spectrum-grid {
	border-top: 1px solid var(--nv-line);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nenuvo-spectrum-item {
	--spectrum-color: var(--nv-blue);
	border-right: 1px solid var(--nv-line);
	border-top: 3px solid var(--spectrum-color);
	display: grid;
	gap: 0.75rem;
	min-height: 12rem;
	padding: clamp(1.2rem, 3vw, 2rem);
}

.nenuvo-spectrum-item:last-child {
	border-right: 0;
}

.nenuvo-spectrum-item .dashicons {
	color: var(--spectrum-color);
	font-size: 2rem;
	height: 2rem;
	width: 2rem;
}

.nenuvo-spectrum-item strong {
	font-size: 1.05rem;
}

.nenuvo-spectrum-item small {
	color: var(--nv-muted);
	font-size: 0.8rem;
	line-height: 1.5;
}

.nenuvo-spectrum-item--mobile { --spectrum-color: var(--nv-violet); }
.nenuvo-spectrum-item--games { --spectrum-color: var(--nv-coral); }
.nenuvo-spectrum-item--engineering { --spectrum-color: var(--nv-amber); }
.nenuvo-spectrum-item--business { --spectrum-color: var(--nv-emerald); }

.nenuvo-identity {
	background: var(--nv-surface);
}

.nenuvo-identity__grid {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 1.05fr);
}

.nenuvo-identity__art {
	background: #f6f4ef;
	border: 1px solid var(--nv-line);
	margin: 0;
	overflow: hidden;
}

.nenuvo-identity__art img {
	display: block;
	width: 100%;
}

.nenuvo-identity__copy > .has-large-font-size {
	color: var(--nv-muted);
	line-height: 1.6;
}

.nenuvo-identity__copy .nenuvo-text-link a {
	color: var(--nv-blue);
}

.nenuvo-closing-cta {
	background:
		radial-gradient(circle at 9% 18%, rgba(18, 199, 232, 0.15), transparent 30%),
		radial-gradient(circle at 88% 72%, rgba(168, 38, 114, 0.17), transparent 34%),
		linear-gradient(125deg, #081523, #11162a 55%, #26112a);
	border-bottom: 1px solid #2b3848;
	color: #f4f3f7;
	position: relative;
}

.nenuvo-closing-cta::before {
	background:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 64px 64px;
	content: "";
	inset: 0;
	position: absolute;
}

.nenuvo-closing-cta__inner {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
	position: relative;
	z-index: 1;
}

.nenuvo-closing-cta .nenuvo-kicker {
	color: #83e7fa;
}

.nenuvo-closing-cta p {
	color: #cbd1dc;
}

.nenuvo-closing-cta .is-style-outline > .wp-block-button__link {
	border-color: #77859b;
	color: #f4f3f7;
}

:root[data-theme="light"] .nenuvo-closing-cta {
	background:
		radial-gradient(circle at 10% 12%, rgba(18, 199, 232, 0.18), transparent 31%),
		radial-gradient(circle at 88% 72%, rgba(168, 38, 114, 0.13), transparent 36%),
		linear-gradient(125deg, #eef9fb, #f1f2fb 56%, #faeef7);
	border-color: #cdd5e2;
	color: #141a27;
}

:root[data-theme="light"] .nenuvo-closing-cta::before {
	background:
		linear-gradient(rgba(32, 50, 80, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(32, 50, 80, 0.055) 1px, transparent 1px);
	background-size: 64px 64px;
}

:root[data-theme="light"] .nenuvo-closing-cta .nenuvo-kicker {
	color: #075bb5;
}

:root[data-theme="light"] .nenuvo-closing-cta p {
	color: #49556a;
}

:root[data-theme="light"] .nenuvo-closing-cta .is-style-outline > .wp-block-button__link {
	background: rgba(255, 255, 255, 0.54);
	border-color: #65718a;
	color: #20283a;
}

:root[data-theme="light"] .nenuvo-closing-cta .is-style-outline > .wp-block-button__link:hover,
:root[data-theme="light"] .nenuvo-closing-cta .is-style-outline > .wp-block-button__link:focus-visible {
	background: #ffffff;
	border-color: var(--nv-blue);
	color: var(--nv-blue);
}

.nenuvo-footer-signal {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr 0.75fr 0.6fr;
	height: 3px;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.nenuvo-footer-signal span:nth-child(1) { background: linear-gradient(90deg, var(--nv-cyan), var(--nv-electric-blue)); }
.nenuvo-footer-signal span:nth-child(2) { background: linear-gradient(90deg, var(--nv-violet), var(--nv-magenta)); }
.nenuvo-footer-signal span:nth-child(3) { background: linear-gradient(90deg, var(--nv-coral), var(--nv-amber)); }
.nenuvo-footer-signal span:nth-child(4) { background: linear-gradient(90deg, var(--nv-lime), var(--nv-emerald)); }

:root[data-theme="light"] .nenuvo-site-footer {
	background:
		radial-gradient(circle at 10% 0%, rgba(18, 199, 232, 0.12), transparent 27%),
		radial-gradient(circle at 82% 18%, rgba(104, 66, 189, 0.09), transparent 30%),
		linear-gradient(145deg, #f8fbfd, #f1f3f9 58%, #f8f1f7);
	border-top: 1px solid #ccd5df;
	color: #171e2b;
}

.nenuvo-footer-inner {
	padding-top: clamp(3.5rem, 7vw, 5.5rem);
}

:root[data-theme="light"] .nenuvo-footer-brand .wp-block-site-title a,
:root[data-theme="light"] .nenuvo-site-footer a {
	color: #243b66;
}

:root[data-theme="light"] .nenuvo-footer-heading {
	color: #59667a;
}

:root[data-theme="light"] .nenuvo-footer-meta {
	border-top-color: #cdd5df;
	color: #59667a;
}

:root[data-theme="light"] .nenuvo-site-footer a:hover {
	color: #075bb5;
}

:root[data-theme="dark"] .nenuvo-site-footer {
	background:
		radial-gradient(circle at 12% 0%, rgba(18, 199, 232, 0.08), transparent 25%),
		#080b10;
	border-top-color: #2d353e;
	color: #edf2f5;
}

:root[data-theme="dark"] .nenuvo-footer-brand .wp-block-site-title a,
:root[data-theme="dark"] .nenuvo-site-footer a {
	color: #edf2f5;
}

:root[data-theme="dark"] .nenuvo-footer-heading {
	color: #7f8993;
}

:root[data-theme="dark"] .nenuvo-footer-meta {
	border-top-color: #2d353e;
	color: #9ea8b2;
}

:root[data-theme="dark"] .nenuvo-site-footer a:hover {
	color: #81e8fb;
}

:root[data-theme="dark"] .nenuvo-studio-statement,
:root[data-theme="dark"] .nenuvo-identity {
	background: #0f1420;
}

:root[data-theme="dark"] .nenuvo-principles,
:root[data-theme="dark"] .nenuvo-home-section {
	background-color: var(--nv-canvas);
}

:root[data-theme="dark"] .nenuvo-spectrum {
	background:
		radial-gradient(circle at 15% 15%, rgba(49, 213, 244, 0.08), transparent 30%),
		radial-gradient(circle at 82% 76%, rgba(240, 123, 189, 0.07), transparent 30%),
		#111621;
}

:root[data-theme="dark"] .nenuvo-identity__art {
	background: #e8e5df;
	border-color: #3c4252;
}

/* Light mode has its own layered editorial surface system. */
:root[data-theme="light"] body {
	background-color: #f7f5fb;
	background-image:
		radial-gradient(circle at 8% 12%, rgba(18, 199, 232, 0.075), transparent 24rem),
		radial-gradient(circle at 92% 28%, rgba(104, 66, 189, 0.06), transparent 28rem),
		linear-gradient(rgba(63, 70, 199, 0.042) 1px, transparent 1px),
		linear-gradient(90deg, rgba(63, 70, 199, 0.042) 1px, transparent 1px);
	background-size: auto, auto, 48px 48px, 48px 48px;
}

:root[data-theme="light"] .nenuvo-page-header {
	background:
		radial-gradient(circle at 8% 18%, rgba(18, 199, 232, 0.12), transparent 28%),
		radial-gradient(circle at 92% 16%, rgba(168, 38, 114, 0.08), transparent 26%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(242, 244, 251, 0.86));
	box-shadow: inset 0 -1px 0 rgba(63, 70, 199, 0.08), 0 18px 48px rgba(50, 43, 72, 0.055);
}

:root[data-theme="light"] .nenuvo-breadcrumbs a:hover {
	color: var(--nv-blue);
}

:root[data-theme="light"] .nenuvo-case,
:root[data-theme="light"] .nenuvo-product-hero,
:root[data-theme="light"] .nenuvo-principle-grid,
:root[data-theme="light"] .nenuvo-product-feature-grid,
:root[data-theme="light"] .nenuvo-contact-directory,
:root[data-theme="light"] .nenuvo-support-panel,
:root[data-theme="light"] .nenuvo-related-products__grid,
:root[data-theme="light"] .nenuvo-form {
	box-shadow: 0 18px 48px rgba(50, 43, 72, 0.09);
}

:root[data-theme="light"] .nenuvo-case,
:root[data-theme="light"] .nenuvo-product-hero,
:root[data-theme="light"] .nenuvo-identity__art,
:root[data-theme="light"] .nenuvo-support-panel,
:root[data-theme="light"] .nenuvo-product-final-cta {
	border-radius: 1rem;
}

:root[data-theme="light"] .nenuvo-case,
:root[data-theme="light"] .nenuvo-product-hero,
:root[data-theme="light"] .nenuvo-identity__art {
	box-shadow: 0 24px 64px rgba(43, 36, 68, 0.12);
}

:root[data-theme="light"] .nenuvo-spectrum-item {
	background: rgba(255, 255, 255, 0.44);
}

:root[data-theme="light"] .nenuvo-principle,
:root[data-theme="light"] .nenuvo-product-feature,
:root[data-theme="light"] .nenuvo-contact-item,
:root[data-theme="light"] .nenuvo-related-products__grid .wp-block-column {
	background: linear-gradient(145deg, #ffffff, #faf9fd);
}

:root[data-theme="light"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background),
:root[data-theme="light"] .nenuvo-button:not(.nenuvo-button--outline) {
	background: linear-gradient(135deg, #3347b5, #5c45bd);
	border-color: #3347b5;
	box-shadow: 0 8px 22px rgba(51, 71, 181, 0.2);
}

:root[data-theme="light"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background):hover,
:root[data-theme="light"] .nenuvo-button:not(.nenuvo-button--outline):hover {
	background: linear-gradient(135deg, #075bb5, #6842bd);
	border-color: #075bb5;
}

/* Product-page system. */
.nenuvo-product-neonscape .nenuvo-page-header .wp-block-post-title,
.nenuvo-product-prosync .nenuvo-page-header .wp-block-post-title,
.nenuvo-product-flexsync .nenuvo-page-header .wp-block-post-title,
.nenuvo-product-steamcalc .nenuvo-page-header .wp-block-post-title {
	display: none;
}

.nenuvo-product-neonscape .nenuvo-page-header,
.nenuvo-product-prosync .nenuvo-page-header,
.nenuvo-product-flexsync .nenuvo-page-header,
.nenuvo-product-steamcalc .nenuvo-page-header {
	padding-block: 0.65rem;
}

.nenuvo-product-neonscape .nenuvo-breadcrumbs,
.nenuvo-product-prosync .nenuvo-breadcrumbs,
.nenuvo-product-flexsync .nenuvo-breadcrumbs,
.nenuvo-product-steamcalc .nenuvo-breadcrumbs {
	margin-bottom: 0;
}

.nenuvo-product-page {
	--product-a: var(--nv-cyan);
	--product-b: var(--nv-violet);
	--product-c: var(--nv-magenta);
	container-name: nenuvo-product;
	container-type: inline-size;
	margin-top: calc(clamp(2.5rem, 6vw, 6rem) * -1);
}

.nenuvo-product-page .nenuvo-status {
	color: var(--product-b);
}

.nenuvo-product-page--prosync {
	--product-a: var(--nv-emerald);
	--product-b: var(--nv-teal);
	--product-c: var(--nv-amber);
}

.nenuvo-product-page--flexsync {
	--product-a: var(--nv-blue);
	--product-b: var(--nv-violet);
	--product-c: var(--nv-coral);
}

.nenuvo-product-page--steamcalc {
	--product-a: var(--nv-cyan);
	--product-b: var(--nv-teal);
	--product-c: var(--nv-amber);
}

.nenuvo-product-page--prosync .nenuvo-product-hero__art {
	order: -1;
}

.nenuvo-product-page--flexsync .nenuvo-product-hero {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.nenuvo-product-page--steamcalc .nenuvo-product-hero {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.nenuvo-product-hero {
	background:
		radial-gradient(circle at 15% 18%, color-mix(in srgb, var(--product-a) 16%, transparent), transparent 32%),
		radial-gradient(circle at 85% 82%, color-mix(in srgb, var(--product-c) 13%, transparent), transparent 34%),
		var(--nv-surface);
	border: 1px solid var(--nv-line);
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	margin-bottom: clamp(3rem, 7vw, 6rem);
	min-height: clamp(34rem, 62vw, 46rem);
	overflow: hidden;
}

.nenuvo-product-hero__copy {
	align-content: center;
	display: grid;
	min-width: 0;
	padding: clamp(2rem, 5cqi, 4.5rem);
}

.nenuvo-product-hero__copy > * {
	max-width: 100%;
	min-width: 0;
}

.nenuvo-product-hero__copy h1,
.nenuvo-product-hero__copy h2 {
	font-size: clamp(3rem, 8cqi, 4.75rem);
	letter-spacing: -0.05em;
	margin: 0.75rem 0 1rem;
	overflow-wrap: anywhere;
	word-break: normal;
}

.nenuvo-product-hero__copy > p:not(.nenuvo-kicker, .nenuvo-status) {
	color: var(--nv-muted);
}

.nenuvo-product-hero__art {
	height: 100%;
	margin: 0;
	min-width: 0;
	min-height: 26rem;
	overflow: hidden;
}

.nenuvo-product-hero__art img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nenuvo-product-page--prosync .nenuvo-product-hero__art img,
.nenuvo-product-page--flexsync .nenuvo-product-hero__art img,
.nenuvo-product-page--steamcalc .nenuvo-product-hero__art img {
	object-fit: contain;
}

.nenuvo-product-page--prosync .nenuvo-product-hero__art { background: #052e34; }
.nenuvo-product-page--flexsync .nenuvo-product-hero__art { background: #091438; }
.nenuvo-product-page--steamcalc .nenuvo-product-hero__art { background: #052f4d; }

.nenuvo-product-section {
	border-top: 1px solid var(--nv-line);
	margin-block: clamp(3rem, 7vw, 6rem);
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.nenuvo-product-section > h2 {
	font-size: clamp(2rem, 5vw, 3.8rem);
	max-width: 15ch;
}

.nenuvo-product-overview {
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(14rem, 0.45fr) minmax(20rem, 1fr);
}

.nenuvo-product-overview > .has-large-font-size {
	color: var(--nv-muted);
	margin-top: 0;
}

.nenuvo-product-feature-grid {
	background: var(--nv-line);
	border: 1px solid var(--nv-line);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nenuvo-product-feature {
	background: var(--nv-surface);
	min-height: 13rem;
	padding: clamp(1.4rem, 3vw, 2.25rem);
}

.nenuvo-product-feature .dashicons {
	color: var(--product-a);
	font-size: 1.7rem;
	height: 1.7rem;
	width: 1.7rem;
}

.nenuvo-product-feature h3 {
	font-size: 1.25rem;
	margin-top: 1.5rem;
}

.nenuvo-product-feature p {
	color: var(--nv-muted);
}

.nenuvo-media-showcase__image {
	background: #081522;
	border: 1px solid color-mix(in srgb, var(--product-a) 50%, var(--nv-line));
	margin: 2rem 0 0;
	max-height: 48rem;
	overflow: hidden;
}

.nenuvo-media-showcase__image img {
	aspect-ratio: 16 / 9;
	display: block;
	object-fit: cover;
	width: 100%;
}

.nenuvo-availability {
	align-items: center;
	background:
		linear-gradient(120deg, color-mix(in srgb, var(--product-a) 9%, var(--nv-surface)), color-mix(in srgb, var(--product-c) 8%, var(--nv-surface)));
	border: 1px solid var(--nv-line);
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(1.6rem, 4vw, 3rem);
}

.nenuvo-support-panel {
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.75fr);
	padding: clamp(1.6rem, 4vw, 3rem);
}

.nenuvo-support-panel ul {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.nenuvo-support-panel li {
	border-bottom: 1px solid var(--nv-line);
	padding-bottom: 0.6rem;
}

.nenuvo-related-products__grid {
	gap: 1px;
}

.nenuvo-related-products__grid .wp-block-column {
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	margin: 0;
	min-height: 11rem;
	padding: 1.4rem;
}

.nenuvo-related-products__grid h3 {
	margin-top: 0;
}

.nenuvo-related-products__grid h3 a {
	color: var(--nv-ink);
	text-decoration: none;
}

.nenuvo-product-final-cta {
	background:
		radial-gradient(circle at 12% 20%, color-mix(in srgb, var(--product-a) 22%, transparent), transparent 34%),
		linear-gradient(125deg, #09111e, #171525);
	border: 1px solid #30384b;
	color: #f5f2f8;
	padding: clamp(2rem, 5vw, 4rem);
}

.nenuvo-product-final-cta p {
	color: #c9cbd3;
}

.nenuvo-motion-ready .nenuvo-home-section,
.nenuvo-motion-ready .nenuvo-case,
.nenuvo-motion-ready .nenuvo-product-section {
	opacity: 1;
	transform: translateY(1rem);
	transition: opacity 480ms ease, transform 480ms ease;
}

.nenuvo-motion-ready .nenuvo-home-section.is-visible,
.nenuvo-motion-ready .nenuvo-case.is-visible,
.nenuvo-motion-ready .nenuvo-product-section.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Session 004: mode-aware navigation, reliable mobile menu, and rounded controls. */
.nenuvo-brand .custom-logo-link {
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	border-radius: 0.7rem;
	overflow: hidden;
	padding: 0.16rem 0.28rem;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

:root[data-theme="dark"] .nenuvo-brand .custom-logo-link {
	background: #03050a;
	border-color: #313747;
	box-shadow: inset 0 0 0 1px rgba(49, 213, 244, 0.04);
	padding: 0.16rem 0.28rem;
}

.nenuvo-site-header .wp-block-navigation__submenu-container {
	background: var(--nv-surface) !important;
	border: 1px solid var(--nv-line) !important;
	border-top: 3px solid var(--nv-cyan) !important;
	border-radius: 0.85rem;
	box-shadow: 0 18px 45px rgba(34, 27, 46, 0.16);
	color: var(--nv-ink) !important;
	overflow: hidden;
	padding: 0.45rem !important;
}

.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item {
	border-radius: 0.55rem;
	overflow: hidden;
}

.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	border-radius: 0.45rem;
	color: var(--nv-ink) !important;
	min-height: 2.85rem;
	padding: 0.78rem 0.85rem !important;
	width: 100%;
}

.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--nv-surface-2);
	color: var(--nv-blue) !important;
}

:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__submenu-container {
	background: #111520 !important;
	border-color: #363c50 !important;
	border-top-color: var(--nv-cyan) !important;
	box-shadow: 0 24px 55px rgba(0, 0, 0, 0.5), 0 0 24px rgba(49, 213, 244, 0.06);
	color: #f4f1f7 !important;
}

:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #f4f1f7 !important;
}

:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: #1b2130;
	color: var(--nv-cyan) !important;
}

.nenuvo-theme-switcher {
	border-radius: 999px;
	gap: 0.12rem;
}

.nenuvo-theme-switcher button {
	border-radius: 999px;
}

.wp-block-button__link,
.nenuvo-button,
.wp-element-button {
	border-radius: 0.75rem;
}

.nenuvo-form,
.nenuvo-contact-directory,
.nenuvo-contact-item {
	border-radius: 1rem;
}

.nenuvo-contact-directory {
	overflow: hidden;
}

.nenuvo-form :where(input:not([type="checkbox"]), select, textarea) {
	border-radius: 0.7rem;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.nenuvo-form :where(input:not([type="checkbox"]), select, textarea):focus {
	border-color: var(--nv-focus);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--nv-focus) 22%, transparent);
	outline: 0;
}

.nenuvo-form-status,
.nenuvo-notice {
	border-radius: 0.7rem;
}

.nenuvo-search-form .wp-block-search__inside-wrapper {
	background: var(--nv-surface);
	border-radius: 0.9rem;
	gap: 0.3rem;
	overflow: hidden;
}

.nenuvo-search-form .wp-block-search__input {
	border-radius: 0.65rem;
	min-width: 0;
	padding-inline: 1rem;
}

.nenuvo-search-form .wp-block-search__button {
	border-radius: 0.65rem;
	margin: 0;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	background: var(--nv-surface);
	border: 1px solid var(--nv-line);
	border-radius: 0.7rem;
}

@media (max-width: 1100px) {
	.nenuvo-home-hero__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(26rem, 1.1fr);
	}

	.nenuvo-case-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nenuvo-case-grid .nenuvo-case:last-child {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1.1fr);
		grid-template-rows: none;
		min-height: 25rem;
	}

	.nenuvo-principle-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nenuvo-principle {
		min-height: 15rem;
	}
}

@media (max-width: 960px) {
	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open {
		background:
			radial-gradient(circle at 10% 0%, var(--nv-cyan-soft), transparent 26rem),
			radial-gradient(circle at 100% 28%, var(--nv-violet-soft), transparent 24rem),
			var(--nv-canvas) !important;
		color: var(--nv-ink) !important;
		display: flex !important;
		inset: 0 !important;
		min-height: 100dvh;
		overflow-y: auto;
		padding: clamp(1rem, 5vw, 1.75rem) !important;
		position: fixed !important;
		z-index: 100000 !important;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-close,
	.nenuvo-site-header .wp-block-navigation__responsive-dialog,
	.nenuvo-site-header .wp-block-navigation__responsive-container-content {
		width: 100%;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container-close {
		background: var(--nv-surface);
		border: 1px solid var(--nv-line);
		border-radius: 0.7rem;
		color: var(--nv-ink);
		padding: 0.55rem;
		position: absolute;
		right: clamp(1rem, 5vw, 1.75rem);
		top: clamp(1rem, 5vw, 1.75rem);
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: stretch !important;
		gap: 0.65rem;
		justify-content: flex-start !important;
		padding-top: 4.6rem !important;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 0.45rem !important;
		justify-content: flex-start !important;
		width: 100%;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		align-items: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		width: 100%;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		align-items: center;
		background: var(--nv-surface);
		border: 1px solid var(--nv-line);
		border-radius: 0.75rem;
		color: var(--nv-ink) !important;
		display: flex;
		font-size: clamp(1rem, 4.2vw, 1.25rem);
		justify-content: space-between;
		min-height: 3.4rem;
		padding: 0.85rem 1rem !important;
		text-align: left;
		width: 100%;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child {
		position: relative;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
		padding-right: 4.35rem !important;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
		bottom: 0.45rem;
		left: 1rem;
		width: calc(100% - 2rem);
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
		align-items: center;
		appearance: none;
		background: var(--nv-surface-2);
		border: 1px solid var(--nv-line);
		border-radius: 0.6rem;
		color: var(--nv-ink);
		cursor: pointer;
		display: flex !important;
		height: 2.55rem;
		justify-content: center;
		padding: 0;
		position: absolute;
		right: 0.45rem;
		top: 0.43rem;
		width: 2.55rem;
		z-index: 2;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon svg {
		height: 1rem;
		transition: transform 160ms ease;
		width: 1rem;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon[aria-expanded="true"] svg {
		transform: rotate(180deg);
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		background: var(--nv-surface-2) !important;
		border: 1px solid var(--nv-line) !important;
		border-radius: 0.8rem;
		box-shadow: none;
		display: none !important;
		gap: 0.25rem;
		height: 0 !important;
		margin: 0 !important;
		opacity: 0 !important;
		overflow: hidden;
		padding: 0 !important;
		position: static !important;
		visibility: hidden !important;
		width: 100% !important;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		display: grid !important;
		height: auto !important;
		margin: 0.45rem 0 0 !important;
		opacity: 1 !important;
		padding: 0.45rem !important;
		visibility: visible !important;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
		border-left-width: 3px;
		margin: 0;
	}

	.nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		background: transparent;
		border: 0;
		font-size: 0.96rem;
		min-height: 2.8rem;
		padding: 0.7rem 0.85rem !important;
	}

	:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open {
		background:
			radial-gradient(circle at 10% 0%, rgba(49, 213, 244, 0.09), transparent 26rem),
			radial-gradient(circle at 100% 28%, rgba(173, 138, 255, 0.08), transparent 24rem),
			#090b12 !important;
		color: #f4f1f7 !important;
	}

	:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		background: #111520;
		border-color: #343a4d;
		color: #f4f1f7 !important;
	}

	:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		background: #181c29 !important;
		border-color: #343a4d !important;
	}

	:root[data-theme="dark"] .nenuvo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
		background: #1b2130;
		border-color: #3d455a;
		color: #f4f1f7;
	}

	.nenuvo-theme-switcher {
		order: -1;
	}

	.nenuvo-home-hero__inner {
		grid-template-columns: 1fr;
		padding: 0;
	}

	.nenuvo-home-hero__copy {
		background: linear-gradient(90deg, rgba(251, 250, 247, 0.97), rgba(251, 250, 247, 0.84));
		grid-column: 1;
		grid-row: 1;
		padding: clamp(4rem, 10vw, 6rem) clamp(1rem, 6vw, 3.5rem);
		width: min(78%, 44rem);
	}

	:root[data-theme="dark"] .nenuvo-home-hero__copy {
		background: linear-gradient(90deg, rgba(13, 17, 26, 0.98), rgba(13, 17, 26, 0.82));
	}

	.nenuvo-home-hero__art {
		grid-column: 1;
		grid-row: 1;
	}

	.nenuvo-studio-statement__grid {
		grid-template-columns: minmax(9rem, 0.35fr) minmax(0, 1fr);
	}

	.nenuvo-studio-statement__grid > .has-large-font-size {
		grid-column: 2;
	}

	.nenuvo-product-hero {
		grid-template-columns: minmax(17rem, 0.85fr) minmax(0, 1.15fr);
	}
}

@media (max-width: 782px) {
	.nenuvo-case--featured,
	.nenuvo-product-hero {
		grid-template-columns: 1fr;
	}

	.nenuvo-case--featured .nenuvo-case__art,
	.nenuvo-product-hero__art {
		min-height: 22rem;
	}

	.nenuvo-case--featured .nenuvo-case__art {
		order: -1;
	}

	.nenuvo-case--featured {
		min-height: 0;
	}

	.nenuvo-case-grid .nenuvo-case {
		min-height: 36rem;
	}

	.nenuvo-section-heading,
	.nenuvo-identity__grid,
	.nenuvo-closing-cta__inner,
	.nenuvo-product-overview {
		grid-template-columns: 1fr;
	}

	.nenuvo-spectrum-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nenuvo-spectrum-item:nth-child(2) {
		border-right: 0;
	}

	.nenuvo-availability,
	.nenuvo-support-panel {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.nenuvo-product-page {
		margin-top: calc(clamp(2.5rem, 6vw, 6rem) * -1);
	}
}

@media (max-width: 620px) {
	.nenuvo-brand-name {
		display: none;
	}

	.nenuvo-theme-switcher button {
		font-size: 0.6rem;
		padding-inline: 0.4rem;
	}

	.nenuvo-home-hero__copy {
		background: linear-gradient(180deg, rgba(251, 250, 247, 0.96), rgba(251, 250, 247, 0.86));
		padding-bottom: 18rem;
		width: 100%;
	}

	:root[data-theme="dark"] .nenuvo-home-hero__copy {
		background: linear-gradient(180deg, rgba(13, 17, 26, 0.96), rgba(13, 17, 26, 0.82));
	}

	.nenuvo-home-hero__art img {
		object-position: 70% center;
	}

	.nenuvo-home-hero__title span {
		white-space: normal;
	}

	.nenuvo-case-grid {
		grid-template-columns: 1fr;
	}

	.nenuvo-case-grid .nenuvo-case:last-child {
		grid-column: auto;
		grid-template-columns: 1fr;
		grid-template-rows: minmax(17rem, 0.92fr) auto;
		min-height: 36rem;
	}

	.nenuvo-principle-grid,
	.nenuvo-product-feature-grid {
		grid-template-columns: 1fr;
	}

	.nenuvo-studio-statement__grid {
		grid-template-columns: 1fr;
	}

	.nenuvo-studio-statement__grid > .has-large-font-size {
		grid-column: auto;
	}

	.nenuvo-support-panel ul {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 430px) {
	.nenuvo-header-inner {
		padding-inline: 0.75rem;
	}

	.nenuvo-theme-switcher button {
		min-height: 2rem;
		padding-inline: 0.32rem;
	}

	.nenuvo-home-hero__title {
		font-size: clamp(2.8rem, 14.5vw, 4rem);
	}

	.nenuvo-home-hero__copy {
		padding-bottom: 15rem;
	}

	.nenuvo-home-section__inner,
	.nenuvo-closing-cta__inner {
		padding-inline: 1rem;
	}

	.nenuvo-spectrum-item {
		min-height: 10.5rem;
		padding: 1rem;
	}

	.nenuvo-spectrum-item strong {
		font-size: 0.92rem;
	}

	.nenuvo-spectrum-item small {
		font-size: 0.72rem;
	}

	.nenuvo-product-hero__copy {
		padding: 1.5rem;
	}

	.nenuvo-product-hero__copy h1,
	.nenuvo-product-hero__copy h2 {
		font-size: clamp(2.7rem, 14vw, 4rem);
	}

	.nenuvo-actions .wp-block-button,
	.nenuvo-actions .wp-block-button__link {
		width: 100%;
	}
}

/*
 * Product heroes can be constrained by WordPress block layouts even when the
 * browser viewport is wide. Respond to the available block width so artwork
 * never overlaps or clips the product copy.
 */
@container nenuvo-product (max-width: 60rem) {
	.nenuvo-product-page .nenuvo-product-hero,
	.nenuvo-product-page--flexsync .nenuvo-product-hero,
	.nenuvo-product-page--steamcalc .nenuvo-product-hero {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.nenuvo-product-page .nenuvo-product-hero__copy {
		order: 0;
		padding: clamp(1.5rem, 6cqi, 3.5rem);
	}

	.nenuvo-product-page .nenuvo-product-hero__art,
	.nenuvo-product-page--prosync .nenuvo-product-hero__art {
		height: auto;
		min-height: clamp(20rem, 58cqi, 34rem);
		order: 1;
	}

	.nenuvo-product-page .nenuvo-product-hero__copy h1,
	.nenuvo-product-page .nenuvo-product-hero__copy h2 {
		font-size: clamp(2.7rem, 10cqi, 4.25rem);
	}
}

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

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.nenuvo-site-header,
	.nenuvo-site-footer,
	.nenuvo-breadcrumbs,
	.nenuvo-actions,
	.nenuvo-form,
	.wp-block-buttons {
		display: none !important;
	}

	body {
		background: #fff !important;
		color: #000 !important;
		font-size: 11pt;
	}

	.nenuvo-page-header,
	.nenuvo-page-content {
		border: 0;
		max-width: none;
		padding: 0;
	}

	a {
		color: #000 !important;
		text-decoration: underline;
	}

	a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.8em;
	}

	h2,
	h3 {
		break-after: avoid;
	}

	p,
	li {
		orphans: 3;
		widows: 3;
	}
}
