:root {
	--nh-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--nh-primary: #1677FF;
	--nh-secondary: #00A8FF;
	--nh-accent: #1677FF;
	--nh-btn-radius: 999px;
	--nh-card-radius: 24px;
	--nh-glass-blur: 20px;
	--nh-space: clamp(16px, 3vw, 32px);
	--nh-wrap: 1180px;
	--nh-header-h: 80px;
	color-scheme: dark;
}

html[data-theme="dark"] {
	--nh-bg: #05070B;
	--nh-bg-2: #0A0F18;
	--nh-glass: rgba(255, 255, 255, 0.06);
	--nh-glass-strong: rgba(255, 255, 255, 0.09);
	--nh-text: #FFFFFF;
	--nh-text-2: #A7B0C0;
	--nh-border: rgba(255, 255, 255, 0.10);
	--nh-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
	--nh-header-scrolled: rgba(10, 15, 24, 0.78);
	--nh-glow: rgba(22, 119, 255, 0.28);
	--nh-input: rgba(255, 255, 255, 0.05);
	color-scheme: dark;
}

html[data-theme="light"] {
	--nh-bg: var(--nh-light-bg, #F5F8FC);
	--nh-bg-2: #FFFFFF;
	--nh-glass: rgba(255, 255, 255, 0.75);
	--nh-glass-strong: rgba(255, 255, 255, 0.9);
	--nh-text: #101828;
	--nh-text-2: #475467;
	--nh-border: rgba(15, 23, 42, 0.10);
	--nh-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
	--nh-header-scrolled: rgba(245, 248, 252, 0.86);
	--nh-glow: rgba(22, 119, 255, 0.16);
	--nh-input: rgba(255, 255, 255, 0.9);
	color-scheme: light;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--nh-font);
	background: var(--nh-bg);
	color: var(--nh-text);
	line-height: 1.6;
	letter-spacing: -0.011em;
	transition: background-color .35s ease, color .35s ease;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
address { font-style: normal; }

.screen-reader-text,
.nh-skip {
	position: absolute;
	left: -9999px;
}
.nh-skip:focus {
	left: 16px;
	top: 16px;
	z-index: 100;
	background: var(--nh-primary);
	color: #fff;
	padding: 8px 12px;
	border-radius: 8px;
}

.nh-wrap {
	width: min(var(--nh-wrap), calc(100% - 2 * var(--nh-space)));
	margin-inline: auto;
}

.nh-kicker {
	margin: 0 0 10px;
	color: var(--nh-secondary);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

h1, h2, h3 {
	letter-spacing: -0.04em;
	line-height: 1.12;
	font-weight: 620;
	margin: 0 0 12px;
}

h1 { font-size: clamp(32px, 6vw, 64px); }
h2 { font-size: clamp(28px, 4vw, 44px); }
h3 { font-size: 20px; }

.nh-lede, .nh-muted { color: var(--nh-text-2); }
.nh-lede { font-size: 18px; max-width: 42rem; }

.nh-section { padding: clamp(56px, 8vw, 104px) 0; }
.nh-sec-head { margin-bottom: 32px; max-width: 640px; }
.nh-split {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(24px, 5vw, 64px);
	align-items: start;
}

.nh-glass {
	background: var(--nh-glass);
	border: 1px solid var(--nh-border);
	border-radius: var(--nh-card-radius);
	box-shadow: var(--nh-shadow);
	backdrop-filter: blur(var(--nh-glass-blur));
	-webkit-backdrop-filter: blur(var(--nh-glass-blur));
}
.nh-glass-off .nh-glass { backdrop-filter: none; -webkit-backdrop-filter: none; }

.nh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 20px;
	border-radius: var(--nh-btn-radius);
	border: 1px solid transparent;
	text-decoration: none;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.nh-btn--primary {
	background: linear-gradient(180deg, var(--nh-secondary), var(--nh-primary));
	color: #fff;
	box-shadow: 0 10px 30px var(--nh-glow);
}
.nh-btn--ghost {
	background: var(--nh-glass);
	border-color: var(--nh-border);
	color: var(--nh-text);
}
.nh-btn--ig {
	border-color: rgba(225, 48, 108, 0.45);
}
.nh-btn:hover { transform: translateY(-1px); }
.nh-anim-off .nh-btn:hover { transform: none; }
.nh-textlink { color: var(--nh-secondary); text-decoration: none; font-weight: 600; }

.nh-header {
	position: relative;
	z-index: 40;
	height: var(--nh-header-h);
}
.nh-header.is-sticky {
	position: sticky;
	top: 0;
}
.nh-header__inner {
	height: var(--nh-header-h);
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 16px;
	width: min(var(--nh-wrap), calc(100% - 2 * var(--nh-space)));
	margin: 0 auto;
}
.nh-header.is-transparent {
	background: transparent;
	border-bottom: 1px solid transparent;
}
.nh-header.is-scrolled {
	background: var(--nh-header-scrolled);
	border-bottom: 1px solid var(--nh-border);
	box-shadow: var(--nh-shadow);
}
.nh-header.is-blur.is-scrolled {
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

.nh-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	min-width: 0;
}
.nh-logo-img {
	width: 64px;
	height: 64px;
	max-width: 64px;
	min-width: 64px;
	flex: 0 0 64px;
	border-radius: 50%;
	object-fit: cover;
	background: #05070B;
	border: 1px solid var(--nh-border);
	box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.18);
}
.nh-footer__logo {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	object-fit: cover;
	background: #05070B;
	margin-bottom: 12px;
}
.nh-logo-mark {
	width: 44px; height: 44px; border-radius: 12px;
	display: grid; place-items: center;
	background: linear-gradient(180deg, var(--nh-secondary), var(--nh-primary));
	font-weight: 700;
}
.nh-brand__text strong {
	display: block;
	font-size: 12px;
	line-height: 1.25;
	max-width: 160px;
	letter-spacing: 0.02em;
}

.nh-nav__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.nh-nav a {
	text-decoration: none;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nh-text-2);
}
.nh-nav a:hover, .nh-nav .current-menu-item a { color: var(--nh-text); }

.nh-header__actions { display: flex; align-items: center; gap: 10px; }
.nh-header__cta { white-space: nowrap; }

.nh-theme-toggle {
	width: 44px;
	height: 36px;
	border-radius: 999px;
	border: 1px solid var(--nh-border);
	background: var(--nh-glass);
	display: grid;
	place-items: center;
	cursor: pointer;
	position: relative;
}
.nh-theme-toggle__sun, .nh-theme-toggle__moon { position: absolute; }
html[data-theme="dark"] .nh-theme-toggle__sun,
html[data-theme="light"] .nh-theme-toggle__moon { opacity: 0; }
html[data-theme="dark"] .nh-theme-toggle__moon,
html[data-theme="light"] .nh-theme-toggle__sun { opacity: 1; }

.nh-nav-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--nh-border);
	border-radius: 12px;
	background: var(--nh-glass);
}
.nh-nav-toggle__icon,
.nh-nav-toggle__icon::before,
.nh-nav-toggle__icon::after {
	display: block;
	width: 16px;
	height: 1.5px;
	background: currentColor;
	position: relative;
}
.nh-nav-toggle__icon::before,
.nh-nav-toggle__icon::after {
	content: "";
	position: absolute;
	left: 0;
}
.nh-nav-toggle__icon::before { top: -5px; }
.nh-nav-toggle__icon::after { top: 5px; }

.nh-hero {
	position: relative;
	padding: clamp(32px, 8vw, 80px) 0 40px;
	overflow: hidden;
}
.nh-hero__ambient {
	position: absolute;
	inset: -10% auto auto 40%;
	width: 520px;
	height: 520px;
	background: radial-gradient(circle, var(--nh-glow), transparent 68%);
	pointer-events: none;
	animation: nh-ambient 10s ease-in-out infinite;
}
.nh-hero__ambient::after {
	content: "";
	position: absolute;
	inset: 12%;
	border-radius: 50%;
	border: 1px dashed rgba(0, 168, 255, 0.18);
	animation: nh-spin-simple 48s linear infinite;
}
.nh-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: center;
	position: relative;
}
.nh-hero__tag {
	font-size: clamp(28px, 5vw, 48px);
	font-weight: 650;
	letter-spacing: -0.045em;
	line-height: 1.05;
	margin: 8px 0 18px;
}
.nh-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.nh-hero__visual {
	min-height: 420px;
	display: grid;
	place-items: center;
	position: relative;
	overflow: hidden;
	padding: 28px 16px;
	background:
		radial-gradient(circle at 50% 46%, rgba(0, 168, 255, 0.08), transparent 58%),
		var(--nh-glass);
}
.nh-hero__stage {
	position: relative;
	width: min(100%, 380px);
	min-height: 420px;
	transform: perspective(900px) rotateX(var(--nh-tilt-x, 0deg)) rotateY(var(--nh-tilt-y, 0deg));
	transform-style: preserve-3d;
	transition: transform .28s ease-out;
}
.nh-hud__grid {
	position: absolute;
	inset: 8%;
	background-image:
		linear-gradient(rgba(0, 168, 255, 0.07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0, 168, 255, 0.07) 1px, transparent 1px);
	background-size: 22px 22px;
	mask-image: radial-gradient(circle at 50% 46%, #000 38%, transparent 74%);
	animation: nh-grid-drift 22s linear infinite;
	pointer-events: none;
}
.nh-hud__scan {
	position: absolute;
	left: 16%;
	right: 16%;
	height: 28%;
	top: 10%;
	background: linear-gradient(180deg, transparent, rgba(0, 168, 255, 0.16), transparent);
	animation: nh-scan 4.8s ease-in-out infinite;
	pointer-events: none;
	z-index: 3;
	mix-blend-mode: screen;
}
.nh-hud__corner {
	position: absolute;
	width: 18px;
	height: 18px;
	border: 1.5px solid rgba(0, 168, 255, 0.55);
	z-index: 4;
	pointer-events: none;
	animation: nh-label 6s ease-in-out infinite;
}
.nh-hud__corner--tl { top: 10px; left: 10px; border-right: 0; border-bottom: 0; }
.nh-hud__corner--tr { top: 10px; right: 10px; border-left: 0; border-bottom: 0; }
.nh-hud__corner--bl { bottom: 10px; left: 10px; border-right: 0; border-top: 0; }
.nh-hud__corner--br { bottom: 10px; right: 10px; border-left: 0; border-top: 0; }
.nh-hud__sweep {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 286px;
	height: 286px;
	margin: 0;
	border-radius: 50%;
	background: conic-gradient(from 210deg, transparent 0 72%, rgba(0, 168, 255, 0.08) 82%, rgba(0, 168, 255, 0.38) 94%, #fff 99%, transparent 100%);
	mask: radial-gradient(farthest-side, transparent 42%, #000 48%, #000 70%, transparent 72%);
	animation: nh-spin-center 7.5s linear infinite;
	pointer-events: none;
	z-index: 2;
	mix-blend-mode: screen;
	opacity: 0.9;
}
.nh-hud__sweep--slow {
	width: 240px;
	height: 240px;
	top: 42%;
	animation-duration: 14s;
	opacity: 0.55;
}
.nh-hud__halo {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 148px;
	height: 148px;
	border-radius: 50%;
	border: 1px solid rgba(0, 168, 255, 0.28);
	box-shadow: 0 0 28px rgba(0, 168, 255, 0.18), inset 0 0 24px rgba(0, 168, 255, 0.12);
	animation: nh-halo 4.2s ease-in-out infinite;
	pointer-events: none;
	z-index: 1;
}
.nh-hud__readout {
	position: absolute;
	left: 18px;
	top: 18px;
	z-index: 5;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(126, 224, 255, 0.72);
	pointer-events: none;
}
.nh-hud__readout li {
	margin: 0 0 4px;
	padding-left: 10px;
	position: relative;
	animation: nh-label 7.5s ease-in-out infinite;
}
.nh-hud__readout li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--nh-secondary);
	box-shadow: 0 0 8px var(--nh-secondary);
}
.nh-hud__readout li:nth-child(2) { animation-delay: 2.4s; }
.nh-hud__readout li:nth-child(3) { animation-delay: 4.8s; }
.nh-diagram .nh-hud__readout { left: 8px; top: 8px; }
.nh-hero__core {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 108px;
	height: 108px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background:
		radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.55), rgba(0, 168, 255, 0.55) 32%, rgba(22, 119, 255, 0.2) 62%, transparent 70%);
	box-shadow: 0 0 40px rgba(0, 168, 255, 0.35), inset 0 0 24px rgba(255, 255, 255, 0.12);
	z-index: 1;
	animation: nh-core-pulse 5.5s ease-in-out infinite;
}
.nh-hero__core::after {
	content: "";
	position: absolute;
	inset: 14px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.28);
	animation: nh-spin-simple 12s linear infinite;
}
.nh-hero__img--bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.18;
}
.nh-hero__orb {
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, #fff, var(--nh-secondary) 35%, var(--nh-primary) 70%, transparent 72%);
	filter: blur(2px);
	opacity: 0.85;
}
.nh-hero__visual-label {
	position: absolute;
	bottom: 24px;
	color: var(--nh-text-2);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-size: 12px;
}
.nh-hero__img { width: 100%; height: 100%; object-fit: cover; }

.nh-trust { border-block: 1px solid var(--nh-border); }
.nh-trust__row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	padding: 18px 0;
	color: var(--nh-text-2);
	font-size: 13px;
	text-align: center;
}

.nh-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}
.nh-cards--2 { grid-template-columns: repeat(2, 1fr); }
.nh-cards--3 { grid-template-columns: repeat(3, 1fr); }
.nh-card { padding: 22px; }
.nh-card__media { border-radius: 16px; margin-bottom: 14px; }
.nh-card__icon { color: var(--nh-secondary); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
.nh-card h3 a { text-decoration: none; }

.nh-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.nh-chip {
	padding: 12px 16px;
	text-decoration: none;
	border-radius: 999px;
}
.nh-subhead {
	margin: 28px 0 12px;
	font-size: 1.05rem;
}
.nh-chips--services .nh-chip {
	font-weight: 600;
}

.nh-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
}
.nh-step {
	padding: 20px;
	position: relative;
	overflow: hidden;
	animation: nh-step-glow 7.2s ease-in-out infinite;
	animation-delay: calc(var(--nh-step, 0) * 1.15s);
}
.nh-step span { color: var(--nh-secondary); font-weight: 700; }
.nh-step__scan {
	position: absolute;
	inset: 0 auto 0 0;
	width: 38%;
	background: linear-gradient(90deg, transparent, rgba(0, 168, 255, 0.16), transparent);
	animation: nh-run 5.4s linear infinite;
	animation-delay: calc(var(--nh-step, 0) * 0.7s);
	pointer-events: none;
	mix-blend-mode: screen;
}

.nh-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.nh-stat { padding: 28px; text-align: center; }
.nh-stat strong { display: block; font-size: 40px; letter-spacing: -0.05em; }

.nh-quote footer { display: flex; gap: 12px; align-items: center; margin-top: 16px; }
.nh-quote__photo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.nh-quote cite { font-style: normal; font-weight: 650; display: block; }
.nh-partners__label {
	margin: 24px 0 12px;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nh-secondary);
}
.nh-check { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 16px; font-size: 13px; color: var(--nh-text-2); }

.nh-faq-wrap { max-width: 760px; }
.nh-faq { display: grid; gap: 10px; }
.nh-faq__item { padding: 4px 18px; }
.nh-faq__item summary {
	cursor: pointer;
	list-style: none;
	padding: 16px 0;
	font-weight: 600;
}
.nh-faq__item summary::-webkit-details-marker { display: none; }
.nh-faq__body { color: var(--nh-text-2); padding-bottom: 16px; }

.nh-form-card { padding: 24px; }
.nh-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 16px;
}
.nh-field { display: grid; gap: 6px; font-size: 13px; color: var(--nh-text-2); }
.nh-field--full { grid-column: 1 / -1; }
.nh-field input,
.nh-field select,
.nh-field textarea {
	width: 100%;
	border: 1px solid var(--nh-border);
	background: var(--nh-input);
	border-radius: 14px;
	padding: 12px 14px;
}
.nh-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.nh-alert { padding: 12px 14px; border-radius: 12px; margin-bottom: 12px; }
.nh-alert--ok { background: rgba(22, 119, 255, 0.12); }
.nh-alert--err { background: rgba(180, 35, 24, 0.12); }
.nh-check { display: flex; gap: 8px; align-items: center; margin: 8px 0 16px; }

.nh-contact-address { white-space: pre-line; color: var(--nh-text-2); margin: 12px 0; }
.nh-contact-list { list-style: none; padding: 0; }
.nh-contact-list a { color: var(--nh-secondary); text-decoration: none; }

.nh-page { padding-top: 48px; }
.nh-pagehead { margin-bottom: 28px; }
.nh-prose { max-width: 68ch; }
.nh-prose a { color: var(--nh-secondary); }
.nh-detail__media { overflow: hidden; margin-bottom: 24px; }
.nh-detail__block { padding: 20px; margin: 16px 0; }

.nh-footer {
	position: relative;
	padding: 64px 0 120px;
	background: linear-gradient(180deg, transparent, var(--nh-bg-2));
	border-top: 1px solid var(--nh-border);
}
.nh-footer__glow {
	position: absolute;
	left: 10%;
	top: -80px;
	width: 280px;
	height: 280px;
	background: radial-gradient(circle, var(--nh-glow), transparent 70%);
	pointer-events: none;
}
.nh-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr 0.8fr 1fr 1.1fr;
	gap: 28px;
	position: relative;
}
.nh-footer h2, .nh-footer h3 { font-size: 16px; }
.nh-footer__links { list-style: none; padding: 0; margin: 0; }
.nh-footer__links a { text-decoration: none; color: var(--nh-text-2); display: inline-block; padding: 4px 0; }
.nh-footer__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.nh-footer__legal {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 40px;
	color: var(--nh-text-2);
	font-size: 13px;
	position: relative;
}
.nh-footer__legal a { margin-right: 14px; text-decoration: none; }

.nh-float {
	position: fixed;
	left: 50%;
	bottom: calc(16px + env(safe-area-inset-bottom));
	transform: translateX(-50%);
	z-index: 50;
	display: flex;
	gap: 8px;
	padding: 6px;
	border-radius: 999px;
	background: var(--nh-glass);
	border: 1px solid var(--nh-border);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: var(--nh-shadow);
}
.nh-float__btn {
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	padding: 10px 14px;
	border-radius: 999px;
	transition: transform .2s ease, box-shadow .2s ease;
}
.nh-float__btn--wa { color: #25D366; }
.nh-float__btn--ig { color: #E1306C; }
.nh-float__label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nh-text); }
.nh-float__hover { display: none; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nh-text-2); }
.nh-float__btn:hover {
	transform: scale(1.04);
	box-shadow: 0 0 24px var(--nh-glow);
}
.nh-float__btn:hover .nh-float__hover { display: inline; }
.nh-float__btn:hover .nh-float__label { display: none; }

body.admin-bar .nh-header.is-sticky { top: 32px; }

.nh-diagram {
	position: relative;
	width: 100%;
	min-height: 420px;
	transform: perspective(900px) rotateX(var(--nh-tilt-x, 0deg)) rotateY(var(--nh-tilt-y, 0deg));
	transform-style: preserve-3d;
	transition: transform .28s ease-out;
}
.nh-diagram__glow {
	position: absolute;
	inset: 10% 16%;
	background: radial-gradient(circle, var(--nh-glow), transparent 70%);
	filter: blur(8px);
	animation: nh-breathe 5s ease-in-out infinite;
}
.nh-diagram__grid {
	position: absolute;
	inset: 6% 10% 18%;
	background-image:
		linear-gradient(rgba(0, 168, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0, 168, 255, 0.06) 1px, transparent 1px);
	background-size: 18px 18px;
	mask-image: radial-gradient(circle at 50% 42%, #000 46%, transparent 78%);
	pointer-events: none;
	z-index: 0;
	animation: nh-grid-drift 18s linear infinite;
}
.nh-diagram__rings {
	position: absolute;
	left: 50%;
	bottom: 42px;
	width: 160px;
	height: 46px;
	transform: translateX(-50%);
	pointer-events: none;
	z-index: 1;
}
.nh-diagram__rings span {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 70px;
	height: 18px;
	margin: -9px 0 0 -35px;
	border: 1px solid rgba(0, 168, 255, 0.35);
	border-radius: 50%;
	animation: nh-ring-expand 3.6s ease-out infinite;
}
.nh-diagram__rings span:nth-child(2) { animation-delay: 1.2s; }
.nh-diagram__rings span:nth-child(3) { animation-delay: 2.4s; }
.nh-diagram__scan {
	position: absolute;
	left: 18%;
	right: 18%;
	height: 22%;
	top: 6%;
	background: linear-gradient(180deg, transparent, rgba(0, 168, 255, 0.22), transparent);
	animation: nh-scan 5.2s ease-in-out infinite;
	pointer-events: none;
	z-index: 2;
	mix-blend-mode: screen;
}
.nh-diagram__svg {
	display: block;
	width: 100%;
	height: auto;
	max-height: 460px;
	position: relative;
	z-index: 1;
}
.nh-diagram__floor {
	fill: rgba(22, 119, 255, 0.12);
	animation: nh-breathe 4s ease-in-out infinite;
}

.nh-muscle {
	fill: rgba(0, 168, 255, 0.16);
	stroke: rgba(0, 168, 255, 0.55);
	stroke-width: 0.8;
	animation: nh-flex 4.8s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
	filter: drop-shadow(0 0 4px rgba(0, 168, 255, 0.25));
}
.nh-muscle--deltoid { animation-delay: .3s; }
.nh-muscle--bicep { animation-delay: .6s; }
.nh-muscle--quad { animation-delay: .9s; }
.nh-muscle--calf { animation-delay: 1.2s; }

.nh-bone {
	fill: none;
	stroke: #7EE0FF;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 0 3px rgba(0, 168, 255, 0.35));
}
.nh-bone--fill {
	fill: rgba(126, 224, 255, 0.12);
}
.nh-bone--spine .nh-vert {
	animation: nh-vert 3.6s ease-in-out infinite;
}
.nh-bone--spine .nh-vert:nth-child(odd) { animation-delay: .4s; }
.nh-anatomy__arm--l,
.nh-anatomy__arm--r {
	transform-box: fill-box;
	transform-origin: top center;
}
.nh-anatomy__arm--l { animation: nh-sway 5s ease-in-out infinite; }
.nh-anatomy__arm--r { animation: nh-sway 5s ease-in-out infinite reverse; }

.nh-nerve {
	fill: none;
	stroke: #5EE0C5;
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-dasharray: 3 7;
	animation: nh-dash 1.6s linear infinite;
	filter: drop-shadow(0 0 5px rgba(94, 224, 197, 0.7));
}
.nh-nerve--cord { stroke-width: 2; stroke-dasharray: 3 7; }
.nh-nerve--sciatic { animation-duration: 3.4s; }
.nh-nerve--brachial { animation-duration: 2.4s; animation-direction: reverse; }

.nh-joint {
	fill: #E8F4FF;
	stroke: #7EB8E0;
	stroke-width: 1.2;
	animation: nh-node 2.8s ease-in-out infinite;
}
.nh-joint--elbow, .nh-joint--wrist { animation-delay: .5s; }
.nh-joint--hip { animation-delay: .9s; }
.nh-joint--knee { animation-delay: 1.3s; }
.nh-joint--ankle { animation-delay: 1.7s; }
.nh-pulse {
	fill: none;
	stroke: #00A8FF;
	stroke-width: 1.5;
	opacity: 0;
	animation: nh-ring 2.8s ease-out infinite;
}
.nh-pulse--d2 { animation-delay: .9s; }
.nh-pulse--d3 { animation-delay: 1.6s; }
.nh-pulse--d4 { animation-delay: 2.1s; }

.nh-diagram__legend {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	position: relative;
	z-index: 2;
}
.nh-diagram__legend li { margin: 0; }
.nh-diagram__legend button {
	appearance: none;
	font: inherit;
	color: inherit;
	cursor: pointer;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid var(--nh-border);
	background: var(--nh-glass);
}
.nh-diagram__legend button.is-active {
	border-color: var(--nh-secondary);
	box-shadow: 0 0 16px var(--nh-glow);
}
.nh-diagram__legend .is-muscle { box-shadow: inset 0 0 0 2px rgba(0, 168, 255, 0.7); }
.nh-diagram__legend .is-nerve { box-shadow: inset 0 0 0 2px rgba(94, 224, 197, 0.8); }
.nh-diagram__legend .is-bone { box-shadow: inset 0 0 0 2px rgba(201, 228, 247, 0.85); }

.nh-diagram__labels {
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	inset: 8px 0 36px;
	pointer-events: none;
	z-index: 2;
}
.nh-diagram__labels li {
	position: absolute;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nh-text-2);
	padding: 4px 8px;
	border: 1px solid var(--nh-border);
	border-radius: 999px;
	background: var(--nh-glass);
	backdrop-filter: blur(8px);
	opacity: 0.35;
	animation: nh-label 9s ease-in-out infinite;
}
.nh-diagram__labels .is-a { left: 0; top: 8%; animation-delay: 0s; }
.nh-diagram__labels .is-b { right: 0; top: 16%; animation-delay: 1.4s; }
.nh-diagram__labels .is-c { left: 0; top: 36%; animation-delay: 2.8s; }
.nh-diagram__labels .is-d { right: 0; top: 48%; animation-delay: 4.2s; }
.nh-diagram__labels .is-e { left: 0; top: 66%; animation-delay: 5.6s; }
.nh-diagram__labels .is-f { right: 0; top: 82%; animation-delay: 7s; }
.nh-diagram--hero .nh-diagram__labels { display: none; }

.nh-orbit {
	position: absolute;
	inset: 8% 4%;
	z-index: 2;
	pointer-events: none;
}
.nh-orbit__ring {
	position: absolute;
	left: 50%;
	top: 46%;
	border: 1px dashed rgba(0, 168, 255, 0.32);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 18px rgba(0, 168, 255, 0.12);
}
.nh-orbit__ring--a {
	width: 210px;
	height: 210px;
	animation: nh-spin 14s linear infinite;
	border-style: solid;
	border-top-color: var(--nh-secondary);
	border-right-color: transparent;
	border-bottom-color: rgba(0, 168, 255, 0.15);
	border-left-color: transparent;
}
.nh-orbit__ring--b {
	width: 258px;
	height: 258px;
	animation: nh-spin 22s linear infinite reverse;
	border-bottom-color: var(--nh-primary);
	border-left-color: transparent;
}
.nh-orbit__ring--c {
	width: 164px;
	height: 164px;
	animation: nh-spin 10s linear infinite;
	border-style: dotted;
	border-color: rgba(94, 224, 197, 0.4);
}
.nh-orbit__arc {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 232px;
	height: 232px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	border: 2px solid transparent;
	border-top-color: #7EE0FF;
	border-right-color: rgba(0, 168, 255, 0.15);
	filter: drop-shadow(0 0 10px rgba(0, 168, 255, 0.55));
	animation: nh-spin 5.5s linear infinite;
}
.nh-orbit__ticks {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 292px;
	height: 292px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: repeating-conic-gradient(from 0deg, rgba(0, 168, 255, 0.55) 0 1.2deg, transparent 1.2deg 14deg);
	mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
	animation: nh-spin 36s linear infinite;
	opacity: 0.7;
}
.nh-orbit__spark {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 14px #00A8FF, 0 0 28px var(--nh-secondary);
	animation: nh-orbit-spark 6.5s linear infinite;
	offset-path: path("M 0 -118 A 118 118 0 1 1 0 118 A 118 118 0 1 1 0 -118");
	offset-rotate: 0deg;
}
.nh-orbit__spark--2 {
	width: 6px;
	height: 6px;
	margin: -3px 0 0 -3px;
	background: #5EE0C5;
	box-shadow: 0 0 12px #5EE0C5;
	animation-duration: 9.5s;
	animation-direction: reverse;
	offset-path: path("M 0 -96 A 96 96 0 1 1 0 96 A 96 96 0 1 1 0 -96");
}
.nh-orbit__nodes {
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	inset: 0;
}
.nh-orbit__nodes li {
	position: absolute;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 6px 10px;
	border-radius: 4px;
	border: 1px solid rgba(0, 168, 255, 0.4);
	background: rgba(5, 7, 11, 0.55);
	backdrop-filter: blur(10px);
	white-space: nowrap;
	box-shadow: 0 0 16px rgba(0, 168, 255, 0.12);
	animation: nh-label 8s ease-in-out infinite;
}
.nh-orbit__nodes .is-n { left: 50%; top: 4%; transform: translateX(-50%); }
.nh-orbit__nodes .is-e { right: 4%; top: 46%; transform: translateY(-50%); animation-delay: 2s; }
.nh-orbit__nodes .is-s { left: 50%; bottom: 6%; transform: translateX(-50%); animation-delay: 4s; }
.nh-orbit__nodes .is-w { left: 4%; top: 46%; transform: translateY(-50%); animation-delay: 6s; }

.nh-diagram[data-layer="muscle"] .nh-nerve,
.nh-diagram[data-layer="muscle"] .nh-bone,
.nh-diagram[data-layer="muscle"] .nh-joint,
.nh-diagram[data-layer="muscle"] .nh-pulse { opacity: 0.12; }
.nh-diagram[data-layer="nerve"] .nh-muscle,
.nh-diagram[data-layer="nerve"] .nh-bone,
.nh-diagram[data-layer="nerve"] .nh-joint { opacity: 0.14; }
.nh-diagram[data-layer="bone"] .nh-muscle,
.nh-diagram[data-layer="bone"] .nh-nerve,
.nh-diagram[data-layer="bone"] .nh-pulse { opacity: 0.1; }

html[data-theme="light"] .nh-bone { stroke: #1677FF; }
html[data-theme="light"] .nh-bone--fill { fill: rgba(22, 119, 255, 0.1); }
html[data-theme="light"] .nh-joint { fill: #F5FAFF; stroke: #1677FF; }
html[data-theme="light"] .nh-nerve { stroke: #0F8A74; }
html[data-theme="light"] .nh-muscle { fill: rgba(22, 119, 255, 0.12); stroke: rgba(22, 119, 255, 0.45); }
html[data-theme="light"] .nh-orbit__nodes li { background: rgba(245, 248, 252, 0.86); }

.nh-treat-mods {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.nh-treat-mods li {
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid var(--nh-border);
	background: var(--nh-glass);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	animation: nh-step-glow 7s ease-in-out infinite;
}
.nh-treat-mods li:nth-child(2) { animation-delay: 1.4s; }
.nh-treat-mods li:nth-child(3) { animation-delay: 2.8s; }
.nh-treat-mods li:nth-child(4) { animation-delay: 4.2s; }

.nh-flow { margin: 0 0 28px; }
.nh-flow__track {
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(0, 168, 255, 0.28), transparent);
	border-radius: 99px;
	position: relative;
	overflow: hidden;
	margin: 0 8px 18px;
	box-shadow: 0 0 12px rgba(0, 168, 255, 0.12);
}
.nh-flow__beam {
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(90deg, transparent 0 12px, rgba(0, 168, 255, 0.18) 12px 13px);
	animation: nh-grid-drift 8s linear infinite;
	opacity: 0.7;
}
.nh-flow__runner {
	position: absolute;
	left: 0;
	top: -3px;
	height: 8px;
	width: 18%;
	border-radius: 99px;
	background: linear-gradient(90deg, transparent, #fff, var(--nh-secondary));
	box-shadow: 0 0 16px var(--nh-secondary);
	animation: nh-run 4.8s linear infinite;
}
.nh-flow__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
}
.nh-flow__step {
	padding: 14px 12px;
	border: 1px solid var(--nh-border);
	border-radius: 16px;
	background: var(--nh-glass);
	position: relative;
	overflow: hidden;
	animation: nh-step-glow 6.5s ease-in-out infinite;
	animation-delay: calc(var(--nh-step, 0) * 1.2s);
}
.nh-flow__num { display: block; color: var(--nh-secondary); font-size: 12px; letter-spacing: 0.14em; }
.nh-flow__step strong { display: block; margin: 4px 0 2px; }
.nh-flow__step small { color: var(--nh-text-2); }

.nh-treat-visual {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 20px;
	align-items: center;
	padding: 20px;
	margin-bottom: 28px;
}
	.nh-treat-visual { min-height: 0; }
.nh-treat-visual__note { max-width: 36ch; }

@keyframes nh-breathe {
	0%, 100% { opacity: .45; transform: scale(1); }
	50% { opacity: .9; transform: scale(1.04); }
}
@keyframes nh-dash { to { stroke-dashoffset: -120; } }
@keyframes nh-sway {
	0%, 100% { transform: rotate(-4deg); }
	50% { transform: rotate(5deg); }
}
@keyframes nh-node {
	0%, 100% { r: 5; opacity: .55; }
	50% { r: 8; opacity: 1; }
}
@keyframes nh-ring {
	0% { r: 6; opacity: .55; }
	100% { r: 28; opacity: 0; }
}
@keyframes nh-label {
	0%, 12%, 100% { opacity: .28; }
	18%, 30% { opacity: 1; color: var(--nh-text); }
}
@keyframes nh-run {
	0% { left: -10%; }
	100% { left: 90%; }
}
@keyframes nh-step-glow {
	0%, 70%, 100% { border-color: var(--nh-border); }
	20% { border-color: var(--nh-secondary); box-shadow: 0 0 24px var(--nh-glow); }
}
@keyframes nh-flex {
	0%, 100% { opacity: .72; }
	50% { opacity: 1; }
}
@keyframes nh-vert {
	0%, 100% { opacity: .55; }
	50% { opacity: 1; }
}
@keyframes nh-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes nh-orbit-spark {
	0% { offset-distance: 0%; }
	100% { offset-distance: 100%; }
}
@keyframes nh-core-pulse {
	0%, 100% { opacity: .75; transform: translate(-50%, -50%) scale(1); }
	50% { opacity: 1; transform: translate(-50%, -50%) scale(1.06); }
}
@keyframes nh-scan {
	0%, 100% { transform: translateY(0); opacity: .15; }
	50% { transform: translateY(210%); opacity: .85; }
}
@keyframes nh-grid-drift {
	to { background-position: 22px 22px; }
}
@keyframes nh-spin-simple {
	to { transform: rotate(360deg); }
}
@keyframes nh-ambient {
	0%, 100% { opacity: .55; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.08); }
}
@keyframes nh-spin-center {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes nh-halo {
	0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: .55; }
	50% { transform: translate(-50%, -50%) scale(1.12); opacity: 1; }
}
@keyframes nh-ring-expand {
	0% { transform: scale(0.7); opacity: .7; }
	100% { transform: scale(2.15); opacity: 0; }
}

.nh-anim-off .nh-muscle,
.nh-anim-off .nh-nerve,
.nh-anim-off .nh-vert,
.nh-anim-off .nh-anatomy__arm,
.nh-anim-off .nh-joint,
.nh-anim-off .nh-pulse,
.nh-anim-off .nh-diagram__labels li,
.nh-anim-off .nh-flow__runner,
.nh-anim-off .nh-flow__step,
.nh-anim-off .nh-treat-mods li,
.nh-anim-off .nh-orbit__ring,
.nh-anim-off .nh-orbit__spark,
.nh-anim-off .nh-orbit__nodes li,
.nh-anim-off .nh-orbit__ticks,
.nh-anim-off .nh-hud__scan,
.nh-anim-off .nh-hud__grid,
.nh-anim-off .nh-hud__sweep,
.nh-anim-off .nh-hud__halo,
.nh-anim-off .nh-hud__readout li,
.nh-anim-off .nh-orbit__arc,
.nh-anim-off .nh-diagram__scan,
.nh-anim-off .nh-diagram__rings span,
.nh-anim-off .nh-diagram__grid,
.nh-anim-off .nh-flow__beam,
.nh-anim-off .nh-step,
.nh-anim-off .nh-step__scan,
.nh-anim-off .nh-hero__ambient,
.nh-anim-off .nh-hero__core { animation: none !important; opacity: 1; }


@media (max-width: 1024px) {
	.nh-hero__grid,
	.nh-split,
	.nh-cards--3,
	.nh-cards--2,
	.nh-steps,
	.nh-footer__grid,
	.nh-trust__row,
	.nh-treat-visual { grid-template-columns: 1fr 1fr; }
	.nh-header__inner { grid-template-columns: auto auto; }
	.nh-nav { display: none; }
	.nh-header.is-open .nh-nav {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: var(--nh-header-h);
		background: var(--nh-header-scrolled);
		backdrop-filter: blur(20px);
		padding: 16px var(--nh-space) 24px;
		border-bottom: 1px solid var(--nh-border);
	}
	.nh-header.is-open .nh-nav__list { flex-direction: column; align-items: flex-start; }
	.nh-nav-toggle { display: grid; place-items: center; }
	.nh-header__actions { margin-left: auto; }
	.nh-brand__text { display: none; }
}

@media (max-width: 720px) {
	.nh-hero__grid,
	.nh-split,
	.nh-cards,
	.nh-cards--3,
	.nh-cards--2,
	.nh-steps,
	.nh-footer__grid,
	.nh-trust__row,
	.nh-flow__steps,
	.nh-treat-visual { grid-template-columns: 1fr; }
	.nh-header__cta { display: none; }
	.nh-float { width: calc(100% - 32px); justify-content: stretch; }
	.nh-float__btn { flex: 1; justify-content: center; padding: 8px 10px; }
	.nh-float__hover { display: none !important; }
	.nh-float__label { display: inline !important; font-size: 10px; }
	.nh-hero__visual { min-height: 460px; }
}

.nh-page--builder {
	padding: 0;
	max-width: none;
}
.nh-page--builder > .alignfull,
.nh-builder .alignfull,
.nh-builder .kb-row-layout-wrap.alignfull,
.nh-builder .wp-block-kadence-rowlayout.alignfull,
.nh-builder .wp-block-group.alignfull,
.nh-builder .wp-block-cover.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.nh-builder .alignwide {
	max-width: min(1360px, calc(100% - 2 * var(--nh-space)));
	margin-left: auto;
	margin-right: auto;
}
.nh-builder .wp-block-buttons .wp-block-button__link,
.nh-builder .kb-button {
	border-radius: var(--nh-btn-radius);
}
.nh-canvas .nh-header,
.nh-canvas .nh-footer,
.nh-canvas .nh-float { display: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; animation: none !important; }
}
