:root {
	--v-bg: #080907;
	--v-bg-2: #10110e;
	--v-surface: rgba(255, 255, 255, 0.055);
	--v-surface-strong: rgba(255, 255, 255, 0.095);
	--v-line: rgba(255, 255, 255, 0.14);
	--v-line-strong: rgba(198, 255, 52, 0.28);
	--v-text: #f4f5ee;
	--v-muted: #a8aa9f;
	--v-soft: #d4d8ca;
	--v-lime: #c6ff34;
	--v-cyan: #83e4ff;
	--v-amber: #ffbe6a;
	--v-rose: #ff8a9a;
	--v-shadow: 0 26px 90px rgba(0, 0, 0, 0.52);
	--v-radius: 8px;
	--v-radius-sm: 6px;
	--v-header-h: 82px;
	--v-wrap: 1180px;
	--v-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--v-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--v-ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
	--scroll-progress: 0;
	--scene-rotate: 0deg;
	--scene-lift: 0px;
	--scene-depth: 0px;
	--mouse-x: 0px;
	--mouse-y: 0px;
	color-scheme: dark;
}

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

html {
	scroll-behavior: smooth;
	background: var(--v-bg);
}

body {
	margin: 0;
	background:
		linear-gradient(180deg, rgba(198, 255, 52, 0.045), transparent 28rem),
		radial-gradient(circle at 70% 8%, rgba(131, 228, 255, 0.08), transparent 24rem),
		radial-gradient(circle at 18% 72%, rgba(255, 190, 106, 0.035), transparent 22rem),
		linear-gradient(180deg, #080907 0%, #0e0f0c 46%, #080907 100%);
	color: var(--v-text);
	font-family: var(--v-font);
	font-size: 16px;
	line-height: 1.6;
	overflow-x: hidden;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background-image:
		radial-gradient(circle, rgba(255, 255, 255, 0.055) 0 0.7px, transparent 0.9px),
		linear-gradient(rgba(255, 255, 255, 0.038) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px);
	background-size: 4px 4px, 92px 92px, 92px 92px;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), transparent 82%);
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(circle at 24% 18%, rgba(198, 255, 52, 0.05), transparent 18rem),
		radial-gradient(circle at 82% 34%, rgba(131, 228, 255, 0.045), transparent 20rem),
		linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.035), transparent),
		repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 7px);
	background-size: auto, auto, 100% 100%, 100% 7px;
	opacity: 0.34;
	mix-blend-mode: screen;
}

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

a {
	color: inherit;
	text-decoration: none;
}

a:hover,
a:focus-visible {
	color: var(--v-lime);
}

button,
input,
select,
textarea {
	font: inherit;
}

button {
	cursor: pointer;
}

::selection {
	background: var(--v-lime);
	color: #111;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 1000;
	width: auto;
	height: auto;
	padding: 0.8rem 1rem;
	clip: auto;
	background: var(--v-lime);
	color: #111;
	border-radius: var(--v-radius-sm);
}

.v-wrap {
	width: min(var(--v-wrap), calc(100% - 40px));
	margin-inline: auto;
}

.v-site-main {
	min-height: 60vh;
}

.v-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	height: var(--v-header-h);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(8, 9, 7, 0.66);
	backdrop-filter: blur(20px);
	transition: background 420ms var(--v-ease), border-color 420ms var(--v-ease), backdrop-filter 420ms var(--v-ease);
}

.v-site-header.is-scrolled {
	background: rgba(8, 9, 7, 0.9);
	border-color: rgba(198, 255, 52, 0.18);
}

.v-site-header__inner {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.vidora-logo,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 44px;
	font-weight: 780;
	letter-spacing: 0;
}

.custom-logo {
	max-height: 42px;
	width: auto;
}

.vidora-logo__mark {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--v-line-strong);
	border-radius: 50%;
	background: linear-gradient(145deg, rgba(198, 255, 52, 0.16), rgba(131, 228, 255, 0.08));
	color: var(--v-lime);
	box-shadow: 0 0 0 6px rgba(198, 255, 52, 0.035);
}

.vidora-logo__image {
	display: block;
	width: 27px;
	height: auto;
	filter: drop-shadow(0 0 10px rgba(245, 245, 245, 0.16));
	transform: translateZ(0);
}

.vidora-logo__text {
	font-size: 0.96rem;
	color: var(--v-text);
}

.v-primary-nav {
	margin-left: auto;
}

.v-menu {
	display: flex;
	align-items: center;
	gap: 1.15rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.v-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--v-soft);
	font-size: 0.92rem;
	transition: color 320ms var(--v-ease), opacity 320ms var(--v-ease);
}

.v-menu .current-menu-item > a,
.v-menu .current_page_item > a,
.v-menu a[aria-current="page"] {
	color: var(--v-lime);
}

.v-header-actions {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.v-header-mail {
	color: var(--v-muted);
	font-size: 0.84rem;
}

.v-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 46px;
	padding: 0.82rem 1.05rem;
	border: 1px solid transparent;
	border-radius: var(--v-radius-sm);
	font-size: 0.93rem;
	font-weight: 760;
	line-height: 1;
	text-align: center;
	will-change: transform;
	transition:
		transform 380ms var(--v-ease),
		border-color 380ms var(--v-ease),
		background 380ms var(--v-ease),
		color 380ms var(--v-ease),
		box-shadow 380ms var(--v-ease);
}

.v-btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.v-btn:hover,
.v-btn:focus-visible {
	transform: translateY(-3px) scale(1.01);
}

.v-btn--primary {
	background: var(--v-lime);
	color: #11150a;
	box-shadow: 0 14px 40px rgba(198, 255, 52, 0.18);
}

.v-btn--primary:hover,
.v-btn--primary:focus-visible {
	color: #11150a;
	background: #d4ff65;
}

.v-btn--secondary {
	border-color: var(--v-line);
	background: rgba(255, 255, 255, 0.055);
	color: var(--v-text);
}

.v-btn--secondary:hover,
.v-btn--secondary:focus-visible {
	border-color: rgba(198, 255, 52, 0.42);
	background: rgba(198, 255, 52, 0.08);
	color: var(--v-text);
}

.v-nav-toggle {
	display: none;
	position: relative;
	width: 46px;
	height: 46px;
	border: 1px solid var(--v-line);
	border-radius: var(--v-radius-sm);
	background: rgba(255, 255, 255, 0.055);
	color: var(--v-text);
}

.v-nav-toggle span[aria-hidden="true"],
.v-nav-toggle span[aria-hidden="true"]::before,
.v-nav-toggle span[aria-hidden="true"]::after {
	position: absolute;
	left: 12px;
	width: 20px;
	height: 2px;
	background: currentColor;
	content: "";
}

.v-nav-toggle span[aria-hidden="true"] {
	top: 22px;
}

.v-nav-toggle span[aria-hidden="true"]::before {
	top: -7px;
	left: 0;
}

.v-nav-toggle span[aria-hidden="true"]::after {
	top: 7px;
	left: 0;
}

.v-mobile-nav {
	position: fixed;
	inset: var(--v-header-h) 0 auto 0;
	padding: 1rem 20px 2rem;
	background: rgba(8, 9, 7, 0.98);
	border-bottom: 1px solid var(--v-line);
}

.v-mobile-nav__inner {
	display: grid;
	gap: 0.4rem;
	width: min(var(--v-wrap), 100%);
	margin: 0 auto;
}

.v-mobile-nav a {
	display: flex;
	align-items: center;
	min-height: 50px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	color: var(--v-text);
	font-size: 1.22rem;
}

.v-mobile-nav__cta {
	justify-content: center;
	margin-top: 0.8rem;
	border: 0;
	border-radius: var(--v-radius-sm);
	background: var(--v-lime);
	color: #111 !important;
	font-weight: 800;
}

.v-mobile-nav__mail {
	color: var(--v-muted) !important;
	font-size: 0.95rem !important;
}

.v-hero,
.v-page-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-height: calc(100svh - var(--v-header-h));
	padding: clamp(62px, 7vw, 92px) 0;
	overflow: hidden;
}

.v-page-hero--compact {
	min-height: 520px;
}

.v-hero::before,
.v-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(110deg, rgba(198, 255, 52, 0.1), transparent 38%),
		linear-gradient(240deg, rgba(131, 228, 255, 0.075), transparent 42%);
	opacity: 0.8;
}

.v-hero__grid,
.v-split {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.82fr);
	align-items: center;
	gap: clamp(36px, 5.5vw, 82px);
}

.v-hero__copy,
.v-page-hero .v-split > div:first-child {
	position: relative;
	z-index: 2;
}

.v-eyebrow {
	margin: 0 0 1rem;
	color: var(--v-lime);
	font-size: 0.78rem;
	font-weight: 820;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

h1,
h2,
h3 {
	margin: 0;
	color: var(--v-text);
	line-height: 0.96;
	letter-spacing: 0;
}

h1 {
	max-width: 850px;
	font-size: clamp(3.7rem, 3.1rem + 2.45vw, 6.7rem);
}

h2 {
	font-size: clamp(2.28rem, 1.95rem + 1.45vw, 4.25rem);
}

h3 {
	font-size: clamp(1.2rem, 1.05rem + 0.55vw, 1.65rem);
	line-height: 1.08;
}

.v-hero__lead,
.v-page-hero p,
.v-section-intro > p,
.v-statement p {
	max-width: 690px;
	color: var(--v-soft);
	font-size: 1.12rem;
	line-height: 1.72;
}

.v-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.8rem;
}

.v-direct-link {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	color: var(--v-soft);
}

.v-hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 2.2rem;
}

.v-hero__proof span,
.v-chip-grid span,
.v-output-grid span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0.45rem 0.72rem;
	border: 1px solid var(--v-line);
	border-radius: var(--v-radius-sm);
	background: rgba(255, 255, 255, 0.045);
	color: var(--v-soft);
	font-size: 0.9rem;
}

.v-scroll-cue {
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	color: var(--v-muted);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.v-scroll-cue::after {
	content: "";
	display: block;
	width: 1px;
	height: 44px;
	margin: 0.65rem auto 0;
	background: linear-gradient(var(--v-lime), transparent);
}

.v-section {
	position: relative;
	padding: clamp(78px, 10vw, 150px) 0;
}

.js-motion-ready [data-vidora-scroll-section],
.js-motion-ready .v-section,
.js-motion-ready .v-cta-band {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 950ms var(--v-ease),
		transform 950ms var(--v-ease);
	will-change: opacity, transform;
}

.js-motion-ready [data-vidora-scroll-section].is-visible,
.js-motion-ready .v-section.is-visible,
.js-motion-ready .v-cta-band.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.v-section + .v-section {
	border-top: 1px solid rgba(255, 255, 255, 0.055);
}

.v-section-intro {
	max-width: 820px;
	margin-bottom: 2.4rem;
}

.v-section-intro h2 + p {
	margin-top: 1.1rem;
}

.v-statement {
	text-align: center;
}

.v-statement .v-wrap {
	max-width: 980px;
}

.v-statement h2 {
	margin-inline: auto;
}

.v-statement p {
	margin: 1.3rem auto 0;
}

.v-feature-block .v-split {
	align-items: stretch;
}

.v-layer-stack,
.v-signal-board,
.v-workflow-panel,
.v-contact-intro,
.v-form,
.v-proof-grid article,
.v-mini-card,
.v-package-card,
.v-service-card,
.v-work-card,
.v-case-study,
.v-post-card {
	border: 1px solid var(--v-line);
	border-radius: var(--v-radius);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.082), rgba(255, 255, 255, 0.028)),
		rgba(255, 255, 255, 0.035);
	box-shadow: var(--v-shadow);
	backdrop-filter: blur(18px);
}

.v-layer-stack {
	position: relative;
	display: grid;
	gap: 1rem;
	padding: 1rem;
	perspective: 900px;
}

.v-layer-stack div {
	min-height: 116px;
	padding: 1.1rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--v-radius-sm);
	background: rgba(8, 9, 7, 0.78);
	transform: rotateX(10deg) rotateY(-8deg) translateZ(calc(var(--scroll-progress) * 24px));
}

.v-layer-stack div:nth-child(2) {
	transform: rotateX(10deg) rotateY(-8deg) translateZ(calc(24px + var(--scroll-progress) * 30px));
}

.v-layer-stack div:nth-child(3) {
	transform: rotateX(10deg) rotateY(-8deg) translateZ(calc(48px + var(--scroll-progress) * 36px));
}

.v-layer-stack span,
.v-service-card__index,
.v-card-meta,
.v-case-study span,
.v-package-card span,
.v-process-steps span {
	color: var(--v-lime);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.v-layer-stack b {
	display: block;
	margin-top: 0.45rem;
	color: var(--v-text);
	font-size: 1.25rem;
	line-height: 1.2;
}

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

.v-service-grid--large {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v-service-card {
	position: relative;
	min-height: 310px;
	padding: 1.35rem 4.35rem 1.35rem 1.35rem;
	overflow: hidden;
	transition: transform 420ms var(--v-ease), border-color 420ms var(--v-ease), background 420ms var(--v-ease);
}

.v-service-card::before,
.v-mini-card::before,
.v-package-card::before,
.v-proof-grid article::before {
	content: "";
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	background:
		linear-gradient(90deg, transparent 46%, rgba(198, 255, 52, 0.82) 47% 53%, transparent 54%),
		linear-gradient(180deg, transparent 46%, rgba(131, 228, 255, 0.72) 47% 53%, transparent 54%),
		radial-gradient(circle, rgba(198, 255, 52, 0.22), transparent 58%);
	opacity: 0.72;
	pointer-events: none;
}

.v-service-card::after {
	content: "";
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	width: 90px;
	height: 60px;
	border: 1px solid rgba(198, 255, 52, 0.28);
	border-radius: 50%;
	transform: rotate(-18deg);
	opacity: 0.34;
}

.v-service-grid .v-service-card:nth-child(2)::before,
.v-mini-card:nth-child(2)::before {
	border-radius: var(--v-radius-sm);
	background:
		linear-gradient(90deg, rgba(131, 228, 255, 0.72) 0 18%, transparent 18% 28%, rgba(255, 255, 255, 0.26) 28% 42%, transparent 42%),
		linear-gradient(180deg, transparent 0 42%, rgba(198, 255, 52, 0.7) 42% 56%, transparent 56%);
}

.v-service-grid .v-service-card:nth-child(3)::before,
.v-mini-card:nth-child(3)::before {
	border-radius: 10px;
	background:
		radial-gradient(circle at 50% 50%, rgba(198, 255, 52, 0.75) 0 13%, transparent 14%),
		conic-gradient(from 90deg, rgba(131, 228, 255, 0.75), transparent, rgba(255, 190, 106, 0.72), transparent, rgba(131, 228, 255, 0.75));
}

.v-service-grid .v-service-card:nth-child(4)::before,
.v-mini-card:nth-child(4)::before {
	border-radius: 8px;
	background:
		linear-gradient(90deg, transparent 0 25%, rgba(198, 255, 52, 0.8) 25% 33%, transparent 33% 43%, rgba(131, 228, 255, 0.7) 43% 55%, transparent 55%),
		linear-gradient(180deg, transparent 0 62%, rgba(255, 255, 255, 0.26) 62% 68%, transparent 68%);
}

.v-service-card--featured {
	grid-column: span 2;
	border-color: rgba(198, 255, 52, 0.32);
	background:
		linear-gradient(140deg, rgba(198, 255, 52, 0.13), transparent 52%),
		linear-gradient(145deg, rgba(255, 255, 255, 0.092), rgba(255, 255, 255, 0.035));
}

.v-service-card:hover,
.v-service-card:focus-within,
.v-work-card:hover,
.v-case-study:hover,
.v-mini-card:hover,
.v-package-card:hover {
	transform: translateY(-4px);
	border-color: rgba(198, 255, 52, 0.28);
}

.v-service-card h3,
.v-mini-card h3,
.v-package-card h3,
.v-work-card h3,
.v-case-study h3,
.v-proof-grid h3,
.v-post-card h2 {
	margin-top: 0.7rem;
}

.v-service-card p,
.v-mini-card p,
.v-package-card p,
.v-work-card p,
.v-case-study p,
.v-proof-grid p,
.v-post-card p,
.v-form-consent {
	color: var(--v-muted);
}

.v-card-meta {
	margin-top: 1.2rem;
	line-height: 1.5;
}

.v-process-steps,
.v-card-grid,
.v-proof-grid,
.v-work-grid,
.v-output-grid,
.v-chip-grid {
	display: grid;
	gap: 1rem;
}

.v-process-steps {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.v-process-steps--three,
.v-card-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v-card-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.v-process-steps article {
	position: relative;
	min-height: 260px;
	padding: 1.2rem;
	border-left: 1px solid rgba(198, 255, 52, 0.34);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
}

.v-process-steps article::before {
	content: "";
	position: absolute;
	top: 0;
	left: -1px;
	width: 1px;
	height: calc(35% + var(--scroll-progress) * 40%);
	background: var(--v-lime);
}

.v-process-steps article::after {
	content: "";
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(198, 255, 52, 0.28);
	background:
		radial-gradient(circle at 50% 50%, rgba(198, 255, 52, 0.78) 0 10%, transparent 11%),
		conic-gradient(from 0deg, transparent, rgba(131, 228, 255, 0.34), transparent, rgba(255, 190, 106, 0.28), transparent);
	opacity: 0.8;
}

.v-process-steps h3,
.v-process-steps p {
	margin-top: 1rem;
}

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

.v-mini-card,
.v-package-card,
.v-proof-grid article {
	position: relative;
	min-height: 230px;
	padding: 1.25rem 4.25rem 1.25rem 1.25rem;
	overflow: hidden;
}

.v-package-card--featured {
	border-color: rgba(198, 255, 52, 0.34);
	background:
		linear-gradient(135deg, rgba(198, 255, 52, 0.13), rgba(131, 228, 255, 0.06)),
		rgba(255, 255, 255, 0.055);
}

.v-chip-grid,
.v-output-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.v-chip-grid span,
.v-output-grid span {
	justify-content: center;
	min-height: 58px;
	text-align: center;
}

.v-work-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v-work-grid--full {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v-work-card {
	position: relative;
	min-height: 420px;
	padding: 1rem;
	overflow: hidden;
	transition: transform 420ms var(--v-ease), border-color 420ms var(--v-ease);
}

.v-work-card--case {
	min-height: 500px;
}

.v-work-card__visual {
	position: relative;
	height: 220px;
	margin-bottom: 1.1rem;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--v-radius-sm);
	overflow: hidden;
	background:
		radial-gradient(circle at 24% 28%, rgba(255, 255, 255, 0.18), transparent 12%),
		linear-gradient(135deg, rgba(198, 255, 52, 0.18), transparent 42%),
		linear-gradient(225deg, rgba(131, 228, 255, 0.17), transparent 50%),
		#12140f;
	transform-style: preserve-3d;
}

.v-work-card__visual::before {
	content: "";
	position: absolute;
	inset: 18px 24px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background:
		linear-gradient(90deg, transparent 0 48%, rgba(255, 255, 255, 0.13) 48% 49%, transparent 49%),
		linear-gradient(180deg, transparent 0 56%, rgba(198, 255, 52, 0.18) 56% 57%, transparent 57%);
	transform: translateZ(22px) rotateX(calc(var(--scroll-progress) * 3deg));
}

.v-work-card__visual span {
	position: absolute;
	inset: 44px 38px;
	border: 1px solid rgba(198, 255, 52, 0.32);
	background: rgba(0, 0, 0, 0.16);
	transform: translateZ(42px) rotateY(calc(var(--scroll-progress) * 10deg));
}

.v-work-card__visual i {
	position: absolute;
	right: 22px;
	bottom: 22px;
	width: 72px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.24);
	transform: rotate(-14deg);
}

.v-placeholder-label {
	display: inline-flex;
	margin-top: 0.8rem;
	padding: 0.32rem 0.55rem;
	border: 1px solid rgba(255, 190, 106, 0.32);
	border-radius: var(--v-radius-sm);
	color: var(--v-amber);
	font-size: 0.75rem;
}

.v-centered-action {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

.v-case-layout {
	display: grid;
	gap: 1.2rem;
}

.v-case-study {
	padding: 1.2rem;
	transition: transform 420ms var(--v-ease), border-color 420ms var(--v-ease);
}

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

.v-case-study__grid div {
	position: relative;
	min-height: 150px;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--v-radius-sm);
	background: rgba(0, 0, 0, 0.18);
}

.v-case-study__grid div::after {
	content: "";
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	background:
		linear-gradient(90deg, transparent 45%, rgba(198, 255, 52, 0.7) 46% 54%, transparent 55%),
		radial-gradient(circle, rgba(131, 228, 255, 0.2), transparent 60%);
	opacity: 0.68;
}

.v-work-note {
	padding: 28px 0;
	border-top: 1px solid rgba(198, 255, 52, 0.18);
	border-bottom: 1px solid rgba(131, 228, 255, 0.14);
	background:
		linear-gradient(90deg, rgba(198, 255, 52, 0.07), rgba(131, 228, 255, 0.035), transparent),
		rgba(255, 255, 255, 0.025);
}

.v-work-note p {
	margin: 0;
	color: var(--v-soft);
}

.v-signal-board {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
	padding: 1rem;
}

.v-signal-board div {
	position: relative;
	min-height: 96px;
	display: flex;
	align-items: end;
	padding: 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--v-radius-sm);
	background: rgba(0, 0, 0, 0.18);
	color: var(--v-soft);
}

.v-signal-board div::before {
	content: "";
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	width: 30px;
	height: 30px;
	border-radius: var(--v-radius-sm);
	border: 1px solid rgba(198, 255, 52, 0.22);
	background:
		linear-gradient(90deg, transparent 0 34%, rgba(198, 255, 52, 0.74) 34% 42%, transparent 42% 56%, rgba(131, 228, 255, 0.62) 56% 68%, transparent 68%),
		rgba(255, 255, 255, 0.035);
	opacity: 0.7;
}

.v-workflow-panel {
	display: grid;
	gap: 0.8rem;
	padding: 1rem;
}

.v-workflow-panel div {
	display: grid;
	grid-template-columns: 56px minmax(0, 0.65fr) minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	min-height: 94px;
	padding: 0.95rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--v-radius-sm);
	background: rgba(0, 0, 0, 0.2);
}

.v-workflow-panel p {
	margin: 0;
	color: var(--v-muted);
}

.v-check-list {
	display: grid;
	gap: 0.8rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.v-check-list li {
	position: relative;
	padding: 0.95rem 0.95rem 0.95rem 2.5rem;
	border: 1px solid var(--v-line);
	border-radius: var(--v-radius-sm);
	background: rgba(255, 255, 255, 0.04);
	color: var(--v-soft);
}

.v-check-list li::before {
	content: "";
	position: absolute;
	top: 1.25rem;
	left: 1rem;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	background: var(--v-lime);
	box-shadow: 0 0 20px rgba(198, 255, 52, 0.4);
}

.v-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1fr);
	gap: clamp(32px, 6vw, 72px);
	align-items: start;
}

.v-contact-intro {
	position: sticky;
	top: calc(var(--v-header-h) + 24px);
	padding: 1.3rem;
}

.v-contact-routes {
	display: grid;
	gap: 0.7rem;
	margin-top: 1.5rem;
}

.v-contact-routes a {
	min-height: 46px;
	display: flex;
	align-items: center;
	padding: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--v-radius-sm);
	color: var(--v-soft);
}

.v-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	padding: 1.2rem;
}

.v-form-row {
	display: grid;
	gap: 0.4rem;
}

.v-form-row--full,
.v-form-consent,
.v-form .v-btn,
.v-form-alert,
.v-honeypot {
	grid-column: 1 / -1;
}

.v-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.v-form label {
	color: var(--v-soft);
	font-size: 0.88rem;
	font-weight: 760;
}

.v-form input,
.v-form select,
.v-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.85rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--v-radius-sm);
	background: rgba(0, 0, 0, 0.25);
	color: var(--v-text);
	outline: none;
}

.v-form textarea {
	resize: vertical;
}

.v-form input:focus,
.v-form select:focus,
.v-form textarea:focus {
	border-color: rgba(198, 255, 52, 0.6);
	box-shadow: 0 0 0 3px rgba(198, 255, 52, 0.12);
}

.v-form-alert {
	padding: 0.85rem;
	border: 1px solid rgba(255, 138, 154, 0.42);
	border-radius: var(--v-radius-sm);
	color: #ffd2d8;
	background: rgba(255, 138, 154, 0.08);
}

.v-form-alert--success {
	border-color: rgba(198, 255, 52, 0.42);
	color: var(--v-lime);
	background: rgba(198, 255, 52, 0.08);
}

.v-faq-list {
	display: grid;
	gap: 0.75rem;
}

.v-faq-list details {
	border: 1px solid var(--v-line);
	border-radius: var(--v-radius-sm);
	background: rgba(255, 255, 255, 0.045);
}

.v-faq-list summary {
	min-height: 58px;
	display: flex;
	align-items: center;
	padding: 1rem;
	color: var(--v-text);
	font-weight: 780;
	cursor: pointer;
}

.v-faq-list p {
	margin: 0;
	padding: 0 1rem 1rem;
	color: var(--v-muted);
}

.v-cta-band {
	padding: clamp(54px, 8vw, 92px) 0;
	border-top: 1px solid rgba(198, 255, 52, 0.28);
	border-bottom: 1px solid rgba(198, 255, 52, 0.18);
	background:
		linear-gradient(120deg, rgba(198, 255, 52, 0.14), transparent 48%),
		linear-gradient(250deg, rgba(255, 190, 106, 0.08), transparent 40%),
		#10120d;
}

.v-cta-band__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.v-cta-band h2 {
	max-width: 760px;
}

.v-cta-band p:not(.v-eyebrow) {
	max-width: 620px;
	color: var(--v-soft);
}

.v-site-footer {
	padding: 72px 0 28px;
	background: #070806;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.v-footer-grid {
	display: grid;
	grid-template-columns: 1.25fr repeat(3, minmax(0, 1fr));
	gap: 2rem;
}

.v-footer-grid h2 {
	margin-bottom: 1rem;
	font-size: 0.9rem;
	color: var(--v-lime);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.v-footer-grid ul {
	display: grid;
	gap: 0.55rem;
	padding: 0;
	margin: 0;
	list-style: none;
	color: var(--v-muted);
}

.v-footer-brand p {
	max-width: 320px;
	color: var(--v-soft);
}

.v-footer-note {
	color: var(--v-muted) !important;
}

.v-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 3rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	color: var(--v-muted);
	font-size: 0.86rem;
}

.v-prose {
	max-width: 820px;
	color: var(--v-soft);
}

.v-prose a {
	color: var(--v-lime);
}

.v-post-list {
	display: grid;
	gap: 1rem;
}

.v-post-card {
	padding: 1.2rem;
}

/* 3D visual system */
.v-scene {
	position: relative;
	display: grid;
	place-items: center;
	min-height: clamp(430px, 48vw, 580px);
	perspective: 1500px;
	contain: layout paint style;
	isolation: isolate;
}

.v-scene::before {
	content: "";
	position: absolute;
	inset: 10%;
	border-radius: 50%;
	background:
		radial-gradient(circle, rgba(198, 255, 52, 0.1), transparent 54%),
		radial-gradient(circle, rgba(131, 228, 255, 0.08), transparent 62%);
	filter: blur(18px);
	opacity: 0.68;
	transform: scale(calc(0.88 + var(--scroll-progress) * 0.1));
	transition: opacity 900ms var(--v-ease);
}

.v-scene__stage {
	position: relative;
	width: min(420px, 82vw);
	aspect-ratio: 1;
	transform-style: preserve-3d;
	transform-origin: 52% 48%;
	transform:
		translate3d(var(--mouse-x), calc(var(--scene-lift) + var(--mouse-y)), calc(var(--scene-depth) * 0.52))
		rotateX(calc(-9deg + var(--scroll-progress) * 8deg))
		rotateY(calc(18deg + var(--scroll-progress) * 38deg))
		rotateZ(calc(-4deg + var(--scroll-progress) * 5deg));
	will-change: transform;
	transition: transform 520ms var(--v-ease-soft);
}

.v-core,
.v-core__ring,
.v-core__lens,
.v-core__iris,
.v-format,
.v-shot-card,
.v-orbit,
.v-timeline,
.v-scene__beam,
.v-prompt-panel {
	position: absolute;
	transform-style: preserve-3d;
}

.v-scene__beam {
	inset: 30% -10% 28% 6%;
	z-index: -1;
	background:
		linear-gradient(90deg, transparent, rgba(198, 255, 52, 0.12) 42%, rgba(131, 228, 255, 0.08), transparent),
		linear-gradient(180deg, transparent 45%, rgba(255, 255, 255, 0.08), transparent 55%);
	filter: blur(6px);
	opacity: 0.72;
	transform: translateZ(-62px) rotateZ(-14deg) skewX(-18deg);
}

.v-core {
	inset: 20%;
	border-radius: 50%;
	transform: translateZ(48px);
}

.v-core__ring {
	inset: 0;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background:
		radial-gradient(circle at 50% 50%, transparent 42%, rgba(198, 255, 52, 0.12) 43%, transparent 49%),
		linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(0, 0, 0, 0.18));
	box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.55), 0 0 60px rgba(198, 255, 52, 0.08);
}

.v-core__ring--outer {
	transform: translateZ(0);
}

.v-core__ring--mid {
	inset: 12%;
	border-color: rgba(131, 228, 255, 0.25);
	transform: translateZ(28px) rotateZ(24deg);
}

.v-core__ring--inner {
	inset: 25%;
	border-color: rgba(255, 190, 106, 0.25);
	transform: translateZ(56px) rotateZ(-18deg);
}

.v-core__lens {
	inset: 35%;
	border-radius: 50%;
	background:
		radial-gradient(circle at 38% 34%, rgba(255, 255, 255, 0.55), transparent 12%),
		radial-gradient(circle, rgba(131, 228, 255, 0.22), rgba(198, 255, 52, 0.11) 42%, rgba(0, 0, 0, 0.84) 70%);
	transform: translateZ(82px);
	box-shadow: 0 0 36px rgba(131, 228, 255, 0.18);
}

.v-core__iris {
	inset: 45%;
	border: 1px solid rgba(198, 255, 52, 0.44);
	border-radius: 50%;
	background: #070806;
	transform: translateZ(98px);
}

.v-shot-card {
	display: grid;
	place-items: center;
	width: 106px;
	height: 68px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--v-radius-sm);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025)),
		rgba(7, 8, 6, 0.72);
	color: var(--v-soft);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	backdrop-filter: blur(12px);
}

.v-shot-card--one {
	left: 4%;
	top: 28%;
	transform: translateZ(20px) rotateY(-18deg) rotateZ(-4deg);
}

.v-shot-card--two {
	right: 10%;
	bottom: 7%;
	transform: translateZ(116px) rotateY(14deg) rotateZ(5deg);
}

.v-format {
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--v-radius-sm);
	background: rgba(255, 255, 255, 0.06);
	color: var(--v-soft);
	font-size: 0.72rem;
	font-weight: 800;
	backdrop-filter: blur(12px);
}

.v-format--wide {
	width: 118px;
	height: 66px;
	top: 8%;
	left: 6%;
	transform: translateZ(42px) rotateY(-16deg) rotateZ(-2deg);
}

.v-format--vertical {
	width: 74px;
	height: 132px;
	right: 10%;
	top: 12%;
	transform: translateZ(82px) rotateY(14deg);
}

.v-format--square {
	width: 82px;
	height: 82px;
	right: 6%;
	bottom: 18%;
	transform: translateZ(104px) rotateX(12deg);
}

.v-orbit {
	inset: 4%;
	border: 1px solid rgba(198, 255, 52, 0.18);
	border-radius: 50%;
}

.v-orbit--one {
	transform: translateZ(18px) rotateX(72deg);
}

.v-orbit--two {
	inset: 12%;
	border-color: rgba(131, 228, 255, 0.16);
	transform: translateZ(104px) rotateY(64deg);
}

.v-orbit i {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--v-lime);
	box-shadow: 0 0 20px rgba(198, 255, 52, 0.7);
}

.v-scene.is-scene-active .v-orbit i {
	animation: vSignalPulse 3.6s var(--v-ease) infinite alternate;
}

.v-orbit i:nth-child(1) { top: 4%; left: 48%; }
.v-orbit i:nth-child(2) { top: 64%; left: 8%; background: var(--v-cyan); }
.v-orbit i:nth-child(3) { right: 12%; bottom: 12%; background: var(--v-amber); }

.v-timeline {
	left: 16%;
	right: 15%;
	bottom: 10%;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 1fr 0.65fr;
	gap: 6px;
	padding: 8px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--v-radius-sm);
	background: rgba(0, 0, 0, 0.35);
	transform: translateZ(116px) rotateX(14deg);
}

.v-timeline span {
	height: 10px;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.2);
}

.v-timeline span:nth-child(2) {
	background: rgba(198, 255, 52, 0.72);
}

.v-timeline span:nth-child(3) {
	background: rgba(131, 228, 255, 0.52);
}

.v-prompt-panel {
	left: 7%;
	bottom: 25%;
	width: 170px;
	padding: 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--v-radius-sm);
	background: rgba(7, 8, 6, 0.72);
	backdrop-filter: blur(12px);
	transform: translateZ(124px) rotateY(-14deg);
}

.v-prompt-panel b,
.v-prompt-panel span {
	display: block;
}

.v-prompt-panel b {
	color: var(--v-lime);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.v-prompt-panel span {
	margin-top: 0.35rem;
	color: var(--v-soft);
	font-size: 0.78rem;
	line-height: 1.4;
}

.v-ai-halo,
.v-editor-board,
.v-code-panel,
.v-timeline-deck,
.v-camera-cube,
.v-output-panel,
.v-ai-nodes {
	position: absolute;
	transform-style: preserve-3d;
}

.v-ai-halo {
	border: 1px solid rgba(198, 255, 52, 0.18);
	border-radius: 50%;
	pointer-events: none;
}

.v-ai-halo--one {
	inset: 2%;
	transform: translateZ(-58px) rotateX(72deg) rotateZ(-16deg);
	box-shadow: 0 0 90px rgba(198, 255, 52, 0.09);
}

.v-ai-halo--two {
	inset: 18%;
	border-color: rgba(131, 228, 255, 0.18);
	transform: translateZ(82px) rotateY(62deg) rotateZ(8deg);
}

.v-editor-board {
	top: 9%;
	left: 15%;
	width: 62%;
	height: 52%;
	padding: 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--v-radius);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.025)),
		rgba(7, 8, 6, 0.78);
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.42);
	backdrop-filter: blur(18px);
	transform: translateZ(66px) rotateX(5deg) rotateY(-14deg) rotateZ(-3deg);
}

.v-editor-board__bar {
	display: flex;
	gap: 0.32rem;
	margin-bottom: 0.7rem;
}

.v-editor-board__bar span {
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.24);
}

.v-editor-board__bar span:first-child {
	background: var(--v-lime);
}

.v-editor-board__preview {
	position: relative;
	min-height: 42%;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--v-radius-sm);
	background:
		linear-gradient(135deg, rgba(131, 228, 255, 0.14), transparent 52%),
		linear-gradient(225deg, rgba(198, 255, 52, 0.1), transparent 50%),
		#10130f;
	overflow: hidden;
}

.v-editor-board__preview i {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0;
	height: 0;
	border-top: 11px solid transparent;
	border-bottom: 11px solid transparent;
	border-left: 18px solid rgba(198, 255, 52, 0.82);
	transform: translate(-38%, -50%);
	filter: drop-shadow(0 0 18px rgba(198, 255, 52, 0.34));
}

.v-editor-board__preview span {
	position: absolute;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(131, 228, 255, 0.8);
	box-shadow: 0 0 18px rgba(131, 228, 255, 0.34);
}

.v-editor-board__preview span:nth-child(2) { left: 16%; top: 26%; }
.v-editor-board__preview span:nth-child(3) { right: 20%; top: 22%; background: rgba(198, 255, 52, 0.78); }
.v-editor-board__preview span:nth-child(4) { right: 28%; bottom: 20%; background: rgba(255, 190, 106, 0.78); }

.v-editor-board__script {
	display: grid;
	gap: 0.42rem;
	margin-top: 0.8rem;
}

.v-editor-board__script span,
.v-code-panel span {
	display: block;
	height: 5px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.2);
}

.v-editor-board__script span:nth-child(2),
.v-code-panel span:nth-child(2) {
	width: 78%;
	background: rgba(198, 255, 52, 0.46);
}

.v-editor-board__script span:nth-child(3),
.v-code-panel span:nth-child(4) {
	width: 64%;
	background: rgba(131, 228, 255, 0.38);
}

.v-code-panel {
	left: 0;
	bottom: 27%;
	width: 34%;
	padding: 0.75rem;
	display: grid;
	gap: 0.42rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--v-radius-sm);
	background: rgba(7, 8, 6, 0.74);
	backdrop-filter: blur(16px);
	transform: translateZ(118px) rotateY(-24deg) rotateZ(-5deg);
}

.v-timeline-deck {
	left: 18%;
	right: 10%;
	bottom: 7%;
	display: grid;
	grid-template-columns: 1.35fr 0.85fr 1.1fr 0.65fr;
	gap: 7px;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--v-radius-sm);
	background: rgba(0, 0, 0, 0.42);
	backdrop-filter: blur(12px);
	transform: translateZ(150px) rotateX(15deg) rotateY(3deg);
}

.v-timeline-deck span {
	height: 18px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.18);
}

.v-timeline-deck span:nth-child(1) { background: rgba(198, 255, 52, 0.62); }
.v-timeline-deck span:nth-child(3) { background: rgba(131, 228, 255, 0.46); }

.v-timeline-deck i {
	position: absolute;
	top: -8px;
	bottom: -8px;
	left: 48%;
	width: 1px;
	background: rgba(255, 255, 255, 0.68);
	box-shadow: 0 0 18px rgba(255, 255, 255, 0.24);
}

.v-camera-cube {
	right: 4%;
	top: 29%;
	width: 92px;
	height: 92px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 14px;
	background:
		radial-gradient(circle at 50% 50%, rgba(131, 228, 255, 0.28), transparent 22%),
		linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02));
	box-shadow: inset -18px -14px 38px rgba(0, 0, 0, 0.34), 0 22px 60px rgba(0, 0, 0, 0.3);
	transform: translateZ(132px) rotateX(-14deg) rotateY(32deg) rotateZ(8deg);
}

.v-camera-cube i {
	position: absolute;
	inset: 28%;
	border: 1px solid rgba(198, 255, 52, 0.42);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 0, 0, 0.78), rgba(131, 228, 255, 0.18));
}

.v-camera-cube span,
.v-camera-cube b {
	position: absolute;
	display: block;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.035);
}

.v-camera-cube span {
	right: -14px;
	top: 12px;
	width: 18px;
	height: 70px;
	transform: skewY(-18deg);
}

.v-camera-cube b {
	left: 12px;
	right: 10px;
	top: -12px;
	height: 18px;
	transform: skewX(-24deg);
}

.v-output-panel {
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--v-radius-sm);
	background: rgba(255, 255, 255, 0.055);
	backdrop-filter: blur(12px);
}

.v-output-panel i {
	display: block;
	width: 38%;
	height: 38%;
	border: 1px solid rgba(198, 255, 52, 0.36);
	border-radius: 2px;
	background: rgba(198, 255, 52, 0.12);
}

.v-output-panel--wide {
	left: 4%;
	top: 11%;
	width: 106px;
	height: 60px;
	transform: translateZ(36px) rotateY(-18deg) rotateZ(-3deg);
}

.v-output-panel--vertical {
	right: 9%;
	top: 6%;
	width: 58px;
	height: 104px;
	transform: translateZ(82px) rotateY(18deg) rotateZ(4deg);
}

.v-output-panel--square {
	right: 13%;
	bottom: 25%;
	width: 70px;
	height: 70px;
	transform: translateZ(118px) rotateX(12deg) rotateZ(-4deg);
}

.v-ai-nodes {
	inset: 0;
	pointer-events: none;
}

.v-ai-nodes i {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--v-lime);
	box-shadow: 0 0 22px rgba(198, 255, 52, 0.62);
}

.v-ai-nodes i:nth-child(1) { top: 10%; left: 48%; }
.v-ai-nodes i:nth-child(2) { top: 34%; left: 6%; background: var(--v-cyan); }
.v-ai-nodes i:nth-child(3) { right: 8%; top: 55%; background: var(--v-amber); }
.v-ai-nodes i:nth-child(4) { left: 24%; bottom: 10%; background: var(--v-cyan); }
.v-ai-nodes i:nth-child(5) { right: 28%; bottom: 3%; }

.v-scene.is-scene-active .v-ai-nodes i {
	animation: vSignalPulse 3.6s var(--v-ease) infinite alternate;
}

.v-scene.is-scene-active .v-ai-nodes i:nth-child(2),
.v-scene.is-scene-active .v-ai-nodes i:nth-child(4) {
	animation-delay: 0.55s;
}

.v-scene--ai .v-code-panel {
	transform: translateZ(132px) rotateY(-18deg) rotateZ(-3deg);
}

.v-scene--services .v-output-panel {
	box-shadow: 0 0 34px rgba(131, 228, 255, 0.09);
}

.v-scene--work .v-editor-board {
	transform: translateZ(62px) rotateX(3deg) rotateY(-8deg) rotateZ(2deg);
}

.v-scene--about .v-ai-halo--one {
	transform: translateZ(-50px) rotateX(62deg) rotateZ(28deg);
}

.v-scene--contact .v-camera-cube {
	transform: translateZ(138px) rotateX(-8deg) rotateY(26deg) rotateZ(-6deg);
}

@keyframes vSignalPulse {
	from {
		opacity: 0.54;
		transform: scale(0.82);
	}
	to {
		opacity: 1;
		transform: scale(1.08);
	}
}

.v-scene--ai .v-core__ring--outer,
.v-page-hero--ai .v-scene .v-core__ring--outer {
	border-color: rgba(198, 255, 52, 0.35);
}

.v-scene--ai .v-scene__beam {
	background:
		linear-gradient(90deg, transparent, rgba(198, 255, 52, 0.16) 42%, rgba(131, 228, 255, 0.1), transparent),
		linear-gradient(180deg, transparent 45%, rgba(198, 255, 52, 0.14), transparent 55%);
}

.v-scene--services .v-format--wide,
.v-scene--services .v-format--vertical,
.v-scene--services .v-format--square {
	box-shadow: 0 0 36px rgba(131, 228, 255, 0.1);
}

.v-scene--services .v-shot-card--one {
	transform: translateZ(44px) rotateY(-24deg) rotateZ(-8deg);
}

.v-scene--work .v-core {
	transform: translateZ(42px) scale(0.82);
}

.v-scene--work .v-format {
	border-radius: 2px;
}

.v-scene--work .v-shot-card {
	border-radius: 2px;
}

.v-scene--about .v-orbit--one {
	transform: translateZ(38px) rotateX(58deg) rotateZ(28deg);
}

.v-scene--about .v-shot-card--two {
	transform: translateZ(98px) rotateY(26deg) rotateZ(18deg);
}

.v-scene--contact .v-prompt-panel {
	width: 210px;
}

.v-scene--contact .v-scene__beam {
	opacity: 0.9;
	transform: translateZ(-50px) rotateZ(10deg) skewX(-14deg);
}

@media (max-width: 1100px) {
	.v-primary-nav,
	.v-header-mail {
		display: none;
	}

	.v-nav-toggle {
		display: inline-flex;
	}

	.v-hero__grid,
	.v-split,
	.v-contact-grid {
		grid-template-columns: 1fr;
	}

	.v-contact-intro {
		position: static;
	}

	.v-service-grid,
	.v-service-grid--large,
	.v-process-steps,
	.v-process-steps--three,
	.v-card-grid,
	.v-card-grid--three,
	.v-card-grid--four,
	.v-work-grid,
	.v-work-grid--full,
	.v-proof-grid,
	.v-chip-grid,
	.v-output-grid,
	.v-case-study__grid,
	.v-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.v-service-card--featured {
		grid-column: span 2;
	}

	.v-cta-band__inner,
	.v-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 720px) {
	:root {
		--v-header-h: 72px;
	}

	.v-wrap {
		width: min(var(--v-wrap), calc(100% - 28px));
	}

	.v-site-header .v-btn {
		display: none;
	}

	.v-hero,
	.v-page-hero {
		min-height: auto;
		padding: 46px 0 72px;
	}

	h1 {
		font-size: clamp(2.75rem, 14vw, 3.35rem);
	}

	h2 {
		font-size: clamp(2rem, 10vw, 2.35rem);
	}

	.v-actions {
		width: 100%;
	}

	.v-actions .v-btn {
		flex: 1 1 180px;
		white-space: normal;
	}

	.v-hero__lead,
	.v-page-hero p,
	.v-section-intro > p,
	.v-statement p {
		font-size: 1rem;
	}

	.v-scene {
		min-height: 340px;
	}

	.v-scene__stage {
		width: min(310px, 88vw);
		transform:
			translate3d(0, calc(var(--scene-lift) * 0.22), 0)
			rotateX(calc(-7deg + var(--scroll-progress) * 5deg))
			rotateY(calc(14deg + var(--scroll-progress) * 22deg));
	}

	.v-service-grid,
	.v-service-grid--large,
	.v-process-steps,
	.v-process-steps--three,
	.v-card-grid,
	.v-card-grid--three,
	.v-card-grid--four,
	.v-work-grid,
	.v-work-grid--full,
	.v-proof-grid,
	.v-chip-grid,
	.v-output-grid,
	.v-case-study__grid,
	.v-footer-grid,
	.v-form,
	.v-workflow-panel div,
	.v-signal-board {
		grid-template-columns: 1fr;
	}

	.v-service-card--featured {
		grid-column: auto;
	}

	.v-service-card,
	.v-mini-card,
	.v-package-card,
	.v-work-card,
	.v-work-card--case,
	.v-process-steps article {
		min-height: auto;
	}

	.v-service-card,
	.v-mini-card,
	.v-package-card,
	.v-proof-grid article {
		padding-right: 3.75rem;
	}

	.v-work-card__visual {
		height: 190px;
	}

	.v-format--wide {
		left: 4%;
		width: 92px;
		height: 52px;
	}

	.v-format--vertical {
		width: 54px;
		height: 96px;
	}

	.v-format--square {
		width: 66px;
		height: 66px;
	}

	.v-prompt-panel {
		width: 142px;
		font-size: 0.72rem;
	}

	.v-shot-card {
		width: 86px;
		height: 54px;
	}

	.v-shot-card--one {
		left: 2%;
		top: 33%;
	}

	.v-shot-card--two {
		right: 8%;
		bottom: 9%;
	}

	.v-scene__beam {
		opacity: 0.48;
		filter: blur(10px);
	}

	.v-editor-board {
		left: 13%;
		top: 12%;
		width: 67%;
		height: 50%;
		padding: 0.7rem;
		transform: translateZ(52px) rotateX(4deg) rotateY(-10deg) rotateZ(-2deg);
	}

	.v-code-panel {
		left: 2%;
		bottom: 29%;
		width: 36%;
		padding: 0.55rem;
		transform: translateZ(92px) rotateY(-18deg) rotateZ(-4deg);
	}

	.v-timeline-deck {
		left: 16%;
		right: 10%;
		bottom: 8%;
		padding: 8px;
		gap: 5px;
		transform: translateZ(104px) rotateX(12deg);
	}

	.v-timeline-deck span {
		height: 13px;
	}

	.v-camera-cube {
		right: 4%;
		top: 32%;
		width: 66px;
		height: 66px;
		border-radius: 10px;
		transform: translateZ(96px) rotateX(-10deg) rotateY(26deg) rotateZ(6deg);
	}

	.v-output-panel--wide {
		left: 3%;
		top: 12%;
		width: 82px;
		height: 46px;
	}

	.v-output-panel--vertical {
		right: 8%;
		top: 7%;
		width: 44px;
		height: 78px;
	}

	.v-output-panel--square {
		right: 12%;
		bottom: 26%;
		width: 52px;
		height: 52px;
	}

	.v-ai-halo--one {
		inset: 5%;
	}

	.v-ai-halo--two {
		inset: 22%;
	}
}

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

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

	.v-scene__stage,
	.v-scene::before,
	.v-layer-stack div,
	.v-work-card__visual::before,
	.v-work-card__visual span,
	.js-motion-ready [data-vidora-scroll-section],
	.js-motion-ready .v-section,
	.js-motion-ready .v-cta-band {
		transform: none !important;
	}

	.js-motion-ready [data-vidora-scroll-section],
	.js-motion-ready .v-section,
	.js-motion-ready .v-cta-band {
		opacity: 1 !important;
	}
}
