html.site-ready body.site-menu-open {
	overflow: hidden;
}

/* Fix page height: min-content to wrap to actual content, overflow hidden to clip decorative blobs */
html.site-ready .m1-ji3rmr {
	overflow: hidden !important;
	height: min-content !important;
}

/* ── Clean HTML Navbar (replaces Framer navbar on all pages) ── */
.site-desktop-nav {
	display: none;
	padding: 16px 24px !important;
	margin: 0 !important;
	position: relative;
	z-index: 50;
	background: #0c0c0d;
	width: 100%;
	box-sizing: border-box;
}

@media (min-width: 960px) {
	.site-desktop-nav { display: block; }
}

.site-desktop-nav-inner {
	display: flex;
	align-items: center;
	max-width: 1280px;
	margin: 0 auto;
	height: 40px;
}
.site-desktop-nav-inner .site-desktop-brand {
	margin-right: auto;
}
.site-desktop-nav-inner .site-desktop-links {
	margin-left: auto;
}

.site-desktop-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-family: "Satoshi", sans-serif;
	font-weight: 700;
	font-size: 18px;
	text-decoration: none;
	letter-spacing: -0.02em;
}

.site-desktop-brand img {
	width: 32px;
	height: 32px;
	border-radius: 8px;
}

.site-desktop-links {
	display: flex;
	gap: 28px;
	align-items: center;
}

.site-desktop-links > a,
.site-desktop-links > .nav-dropdown > .nav-dropdown-trigger {
	color: #a1a1aa;
	font-size: 14px;
	font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
	line-height: 1.6;
	text-decoration: none;
	transition: color 0.15s;
	cursor: pointer;
	background: none;
	border: none;
	padding: 0;
}

/* Footer logo (global) */
.footer-logo { width: 40px; height: 40px; margin: 0 auto 24px; border-radius: 8px; }

/* Simple footer variant — logo + flat nav + legal (used on 404, pricing, startups, about) */
.site-footer { border-top: 1px solid rgba(26,26,46,0.3); padding: 48px 24px; background: transparent; position: relative; z-index: 2; }
.site-footer .footer-inner { max-width: 1280px; margin: 0 auto; text-align: center; }
.site-footer .footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 28px; margin-bottom: 24px; font-size: 14px; }
.site-footer .footer-nav a { color: #a1a1aa; transition: color 0.15s; }
.site-footer .footer-nav a:hover { color: #fafafa; }
.site-footer .footer-legal { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-top: 24px; border-top: 1px solid rgba(26,26,46,0.3); font-size: 13px; color: #52525b; }
.site-footer .footer-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.site-footer .footer-legal-links a { color: #52525b; transition: color 0.15s; }
.site-footer .footer-legal-links a:hover { color: #a1a1aa; }

/* Dropdown */
.nav-dropdown {
	position: relative;
}
.nav-dropdown-trigger::after {
	content: " ▾";
	font-size: 10px;
	opacity: 0.6;
}
.nav-dropdown-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding-top: 8px;
	z-index: 100;
}
.nav-dropdown-menu-inner {
	background: #18181b;
	border: 1px solid #26262a;
	border-radius: 10px;
	padding: 8px 0;
	min-width: 200px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
	display: block;
}
.nav-dropdown-menu-inner a {
	display: block;
	padding: 8px 20px;
	color: #a1a1aa;
	font-size: 14px;
	font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.nav-dropdown-menu-inner a:hover {
	background: rgba(255,255,255,0.05);
	color: #fafafa;
}

.site-desktop-links a:hover {
	color: #fff;
}

/* Hide Framer navbar remnants if any */
html.site-ready [data-framer-name="Navbar"] {
	display: none !important;
}

/* Center contact cards at wide viewports */
html.site-ready [data-framer-name="Consultation"] {
	justify-content: center !important;
}

/* ── Team cards on about page (JS handles DOM restructuring) ── */

/* Grid container — auto-height rows */
html.site-ready .m1-tXoHp .m1-zxias6 {
	grid-template-rows: auto !important;
	grid-auto-rows: auto !important;
	height: auto !important;
	min-height: 0 !important;
	gap: 32px !important;
}

/* Tablet breakpoint */
@media (min-width: 810px) and (max-width: 1545.98px) {
	html.site-ready .m1-tXoHp .m1-zxias6 {
		grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
		gap: 24px !important;
	}
}

/* Mobile — single column */
@media (max-width: 809.98px) {
	html.site-ready .m1-tXoHp .m1-zxias6 {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}

html.site-ready nav[data-framer-name="desktop"] {
	opacity: 1 !important;
}

@media (min-width: 810px) {
	html.site-ready .ssr-variant:has(nav[data-framer-name="desktop"]) {
		display: contents !important;
	}

	html.site-ready .ssr-variant:has(nav[data-framer-name="tablet"]) {
		display: none !important;
	}
}

html.site-ready [data-framer-appear-id] {
	opacity: 1 !important;
}

/* ── Unified mobile nav ── */

/* Mobile nav kicks in below 960px — matches the point where the desktop
   nav starts wrapping items onto multiple lines. Uses media queries
   directly so it works on pages without the updateNav JS hook. */
@media (max-width: 959.98px) {
	body { padding-top: 60px; }
}
@media (min-width: 960px) {
	.site-mobile-header { display: none !important; }
}

/* Legacy .site-show-mobile-nav class (set by updateNav JS on pages that
   still have Framer navs) continues to hide those for backward compat. */
body.site-show-mobile-nav nav[data-framer-name="tablet"],
body.site-show-mobile-nav nav[data-framer-name="desktop"],
body.site-show-mobile-nav [data-framer-name="Navbar"] {
	display: none !important;
}

html.site-ready nav[data-framer-name="tablet"] {
	opacity: 1 !important;
	transform: none !important;
}

.site-mobile-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 80;
	background: #0c0c0d;
}

.site-mobile-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 20px;
	background: #0c0c0d;
}

.site-mobile-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: "Satoshi", "Satoshi Placeholder", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #fafafa;
	text-decoration: none;
}

.site-mobile-brand img {
	width: 28px;
	height: 28px;
}

.site-mobile-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	cursor: pointer;
}

.site-mobile-toggle span {
	position: absolute;
	width: 14px;
	height: 2px;
	border-radius: 999px;
	background: #fff;
	transition: transform 180ms ease, opacity 180ms ease;
}

.site-mobile-toggle span:first-of-type {
	transform: translateY(-4px);
}

.site-mobile-toggle span:last-of-type {
	transform: translateY(4px);
}

body.site-menu-open .site-mobile-toggle span:first-of-type {
	transform: rotate(45deg);
}

body.site-menu-open .site-mobile-toggle span:last-of-type {
	transform: rotate(-45deg);
}

.site-mobile-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(12, 12, 13, 0.72);
	z-index: 88;
}

.site-mobile-backdrop[hidden] {
	display: none;
}

.site-mobile-drawer {
	position: fixed;
	left: 16px;
	right: 16px;
	top: 88px;
	padding: 8px 20px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	background: rgba(12, 12, 13, 0.96);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
	z-index: 89;
}

.site-mobile-drawer[hidden] {
	display: none;
}

.site-mobile-drawer a {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: #d4d4d8;
	font-family: "Satoshi", "Satoshi Placeholder", sans-serif;
	font-size: 18px;
	line-height: 1.2;
	text-decoration: none;
}

.site-mobile-drawer a:last-child {
	border-bottom: 0;
}

.site-mobile-drawer a:hover {
	color: #fafafa;
}


html.site-ready .m1-mr2huw-container,
html.site-ready [data-framer-name="hero-shadow"] {
	opacity: 0 !important;
	pointer-events: none !important;
}

html.site-ready .m1-1nxjdqm-container {
	opacity: 1 !important;
	transform: none !important;
}

html.site-ready .ssr-variant:has(.m1-1nxjdqm-container) {
	display: block !important;
}

html.site-ready [data-framer-name="mesh+lines"] > .ssr-variant:not(:first-child) {
	display: none !important;
}

@keyframes grid-dash-horizontal {
	0% { transform: translateX(-120px); opacity: 0; }
	5% { opacity: 1; }
	50% { opacity: 1; }
	95% { opacity: 1; }
	100% { transform: translateX(calc(100vw - 120px)); opacity: 0; }
}

@keyframes grid-dash-horizontal-rev {
	0% { transform: translateX(calc(100vw + 120px)); opacity: 0; }
	5% { opacity: 1; }
	50% { opacity: 1; }
	95% { opacity: 1; }
	100% { transform: translateX(120px); opacity: 0; }
}

@keyframes grid-dash-vertical {
	0% { transform: translateY(-120px); opacity: 0; }
	5% { opacity: 1; }
	50% { opacity: 1; }
	95% { opacity: 1; }
	100% { transform: translateY(720px); opacity: 0; }
}

@keyframes grid-dash-vertical-rev {
	0% { transform: translateY(720px); opacity: 0; }
	5% { opacity: 1; }
	50% { opacity: 1; }
	95% { opacity: 1; }
	100% { transform: translateY(-120px); opacity: 0; }
}

html.site-ready [data-framer-name="Moments to setup"] {
	position: relative;
	overflow: hidden;
}

html.site-ready [data-framer-name="Horizontal Dash"] {
	display: none;
}

/* Ensure Hero sections can contain particle canvas */
html.site-ready [data-framer-name="Hero"] {
	position: relative;
	overflow: hidden;
}

/* Hide Framer decorative shadow elements (replaced by canvas blobs) */
html.site-ready [data-framer-name="hero-shadow"] {
	display: none !important;
}

/* Extra headroom for pages where fixed nav overlaps hero */
html.site-ready .m1-XUycl [data-framer-name="Hero"],
html.site-ready .m1-xhVAj [data-framer-name="Hero"],
html.site-ready .m1-C0JIf [data-framer-name="Hero"] {
	padding-top: 220px !important;
}

html.site-ready .m1-tXoHp [data-framer-name="Hero"] {
	padding-top: 160px !important;
}

/* Contact page — remove excessive padding from cards parent section */
html.site-ready .m1-3iqj0i {
	padding: 0 !important;
	gap: 40px !important;
}

/* Contact page cards — overlap into the hero header */
html.site-ready .m1-zpkyyi {
	overflow: visible !important;
	position: relative !important;
	top: 0 !important;
	left: auto !important;
	transform: none !important;
	padding: 0 16px !important;
	margin-top: -40px !important;
	margin-bottom: 0 !important;
	z-index: 2;
	width: 100% !important;
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
}

@media (min-width: 810px) {
	html.site-ready .m1-zpkyyi {
		margin-top: -160px !important;
		padding: 0 32px !important;
	}
}

/* Widen "The Problem" section text on the about page */
html.site-ready .m1-tXoHp .m1-67atp5 {
	max-width: 100% !important;
}

html.site-ready .m1-tXoHp .m1-1tdp381,
html.site-ready .m1-tXoHp .m1-ge2nhf,
html.site-ready .m1-tXoHp .m1-tx9poc {
	width: 100% !important;
	max-width: 960px !important;
}

html.site-ready [data-framer-name="Footer"] {
	padding-top: 80px !important;
	overflow: hidden !important;
	height: min-content !important;
}

/* Consistent spacing between Features01 and batteries-included on mobile */
@media (max-width: 809.98px) {
	html.site-ready [data-framer-name="batteries included"] {
		margin-top: 0 !important;
		padding-top: 24px !important;
	}
	html.site-ready [data-framer-name="Features01"] {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
}

/* Spacing between batteries-included and pricing sections */
html.site-ready [data-framer-name="batteries included"] {
	padding-bottom: 80px !important;
}

html.site-ready [data-framer-name="plans"] {
	gap: 32px !important;
	padding-top: 60px !important;
}

html.site-ready [data-framer-name="plans"] [data-framer-name="Headlines"] {
	gap: 40px !important;
}

html.site-ready .m1-nhmsfd-container {
	opacity: 1 !important;
	transform: none !important;
	margin-top: 32px !important;
}

/* Hide mispositioned Explore Solutions button (no Framer runtime to position it) */
html.site-ready .m1-fuwzhu-container {
	display: none !important;
}

html.site-ready [data-framer-name="Testimonials"] {
	padding-bottom: 60px !important;
}

html.site-ready [data-framer-name="mesh+lines"] {
	opacity: 1 !important;
	transform: none !important;
}

html.site-ready .m1-1xf1dng-container {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	width: min(850px, 90vw) !important;
	margin: 24px auto 0 !important;
}

html.site-ready,
html.site-ready body,
html.site-ready #main {
	background-color: #0c0c0d !important;
}

html.site-ready [data-framer-name="Spacer"],
html.site-ready [data-framer-name="purple shadow"] {
	opacity: 0 !important;
}

html.site-ready img[src*="IAj6IaQhcNI96XjC2vryRAdOWoE"],
html.site-ready img[src*="MCda4EfIDLnf9PrD1xNHXCKhZo"] {
	mix-blend-mode: screen;
}


html.site-ready .site-accordion {
	cursor: pointer;
}

html.site-ready .m1-axuem8-container {
	display: flex;
	align-items: center;
	justify-content: center;
}

html.site-ready .m1-axuem8-container::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid #636369;
	border-bottom: 2px solid #636369;
	transform: rotate(-45deg);
	transition: transform 200ms ease;
}

html.site-ready .site-accordion.is-open .m1-axuem8-container::after {
	transform: rotate(45deg);
}

html.site-ready .site-accordion .m1-5uusve {
	display: none !important;
}

html.site-ready .site-accordion .site-accordion-answer {
	color: #636369;
	display: none;
	font-family: "Satoshi", "Satoshi Placeholder", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	padding-top: 8px;
}

html.site-ready .site-accordion .site-accordion-answer p,
html.site-ready .site-accordion .site-accordion-answer ul {
	margin: 0;
}

html.site-ready .site-accordion .site-accordion-answer ul {
	padding-left: 20px;
}

html.site-ready .site-accordion .site-accordion-answer li + li,
html.site-ready .site-accordion .site-accordion-answer p + p,
html.site-ready .site-accordion .site-accordion-answer p + ul {
	margin-top: 8px;
}

html.site-ready .site-accordion.is-open .site-accordion-answer {
	display: block;
}

html.site-ready .m1-ij5hB[data-framer-name="Top"] {
	border-radius: 8px !important;
	overflow: visible;
	isolation: isolate;
	position: relative;
}

html.site-ready .m1-ij5hB[data-framer-name="Top"] [data-framer-name="Glow"],
html.site-ready .m1-ij5hB[data-framer-name="Top"] [data-framer-name="Stroke"],
html.site-ready .m1-ij5hB[data-framer-name="Top"] [data-framer-name="Fill"] {
	border-radius: inherit !important;
	inset: 0;
	position: absolute;
}

html.site-ready .m1-1l7edwq[data-framer-name="Consultation"],
html.site-ready .m1-rikigv,
html.site-ready .m1-1wb44u6 > a {
	border-radius: 8px !important;
	overflow: visible !important;
}

html.site-ready .m1-ij5hB[data-framer-name="Top"] [data-framer-name="Glow"] {
	animation: site-btn-glow-move 6s linear infinite;
	animation-play-state: paused;
	display: block !important;
	filter: blur(18px) !important;
	-webkit-filter: blur(18px) !important;
	inset: -30% -15% !important;
	opacity: 0.7;
	z-index: -1;
}

html.site-ready .m1-ij5hB[data-framer-name="Top"] [data-framer-name="Stroke"] {
	display: none !important;
}

html.site-ready .m1-ij5hB[data-framer-name="Top"] [data-framer-name="Fill"] {
	background: #050507 !important;
	border-radius: 8px !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 0 0 1px rgba(64, 102, 224, 0.12),
		0 18px 42px rgba(17, 16, 34, 0.28);
	inset: 0 !important;
	position: absolute !important;
	z-index: 0;
}

html.site-ready .m1-ij5hB[data-framer-name="Top"] .m1-d2he3g {
	position: relative;
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.14);
	z-index: 2;
}

html.site-ready .m1-ij5hB[data-framer-name="Top"]::before {
	display: none;
}

html.site-ready .m1-BOGbi[data-framer-name="Outline"] {
	isolation: isolate;
	overflow: hidden !important;
	position: relative;
}

html.site-ready .m1-BOGbi[data-framer-name="Outline"]::before {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
	border-radius: inherit;
	content: "";
	inset: 0;
	padding: 1px;
	position: absolute;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0.7;
	pointer-events: none;
	z-index: 0;
}

html.site-ready .m1-BOGbi[data-framer-name="Outline"]::after {
	background: #050507;
	border-radius: 7px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 18px 42px rgba(17, 16, 34, 0.24);
	content: "";
	inset: 1px;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

html.site-ready .m1-BOGbi[data-framer-name="Outline"] > * {
	position: relative;
	z-index: 1;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] {
	overflow: hidden;
	position: relative;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Border-Shine"] {
	animation: site-pill-border-shine 4.8s linear infinite;
	animation-play-state: paused;
	opacity: 0.9;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Message"] {
	position: relative;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Message"] > * {
	display: none !important;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Message"] > [data-framer-name="Text"],
html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Message"] > [data-framer-name="Glow"],
html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Message"] > [data-framer-name="Shine"] {
	display: block !important;
	left: 50%;
	position: absolute !important;
	top: 50%;
	transform: translate(-50%, -50%) !important;
	white-space: nowrap;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Glow"] {
	display: block !important;
	left: 50%;
	opacity: 1 !important;
	position: absolute !important;
	top: 50%;
	transform: translate(-50%, -50%) !important;
	visibility: visible !important;
	white-space: nowrap;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Shine"] .shine,
html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Glow"] .shine {
	animation: site-text-shine 3.8s linear infinite;
	animation-play-state: paused;
	background: linear-gradient(
		110deg,
		rgba(255, 255, 255, 0.42) 0%,
		rgba(255, 255, 255, 0.95) 45%,
		rgba(193, 214, 255, 0.8) 52%,
		rgba(255, 255, 255, 0.35) 100%
	);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 220% auto;
	display: inline-block;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Shine"] {
	display: block !important;
	left: 50%;
	opacity: 1 !important;
	position: absolute !important;
	top: 50%;
	transform: translate(-50%, -50%) !important;
	visibility: visible !important;
	white-space: nowrap;
	z-index: 3;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Text"] {
	filter: none !important;
	position: relative;
	text-shadow: none !important;
	z-index: 2;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="HELPER"] {
	display: block;
	pointer-events: none;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] {
	min-width: 212px;
}

html.site-ready .m1-iJRjS[data-framer-name="Default"] [data-framer-name="Message"] {
	min-height: 18px;
	min-width: 172px;
}

html.site-ready .m1-1xbhuzb::before {
	animation: site-hero-aura 12s ease-in-out infinite alternate;
	animation-play-state: paused;
	background:
		radial-gradient(circle at 50% 14%, rgba(94, 23, 235, 0.2), transparent 48%),
		radial-gradient(circle at 34% 26%, rgba(64, 102, 224, 0.16), transparent 38%);
	content: "";
	inset: 0 0 auto;
	pointer-events: none;
	position: absolute;
	height: 520px;
	z-index: 0;
}

html.site-ready .m1-4oqtqj,
html.site-ready .m1-zklq5s,
html.site-ready #Gradients,
html.site-ready [data-framer-name="Footer"] {
	overflow: hidden;
	position: relative;
}

html.site-ready #Gradients {
	background:
		radial-gradient(circle at 50% 16%, rgba(64, 102, 224, 0.34), transparent 38%),
		radial-gradient(circle at 28% 22%, rgba(103, 41, 227, 0.24), transparent 34%),
		linear-gradient(180deg, rgba(5, 5, 7, 0.08), rgba(5, 5, 7, 0.34));
}

html.site-ready .m1-zklq5s::before {
	animation: site-hero-aura 14s ease-in-out infinite alternate;
	animation-play-state: paused;
	background:
		radial-gradient(circle at 50% 16%, rgba(94, 23, 235, 0.3), transparent 28%),
		radial-gradient(circle at 68% 32%, rgba(64, 102, 224, 0.16), transparent 24%);
	content: "";
	filter: blur(48px);
	inset: -8% -12% 10%;
	position: absolute;
}

html.site-ready [data-framer-name="Footer"] {
	background:
		radial-gradient(circle at 50% 28%, rgba(103, 41, 227, 0.26), transparent 34%),
		radial-gradient(circle at 30% 54%, rgba(64, 102, 224, 0.12), transparent 30%);
}

@keyframes site-button-glow {
	0%, 100% {
		filter: blur(12px);
		opacity: 0.4;
		transform: translateY(0) scaleX(0.98);
	}
	50% {
		filter: blur(15px);
		opacity: 0.78;
		transform: translateY(-1px) scaleX(1.04);
	}
}

@keyframes site-button-stroke {
	0%, 100% {
		opacity: 0.46;
		transform: translateY(0);
	}
	50% {
		opacity: 0.88;
		transform: translateY(-1px);
	}
}

@keyframes site-rotating-border {
	to {
		transform: rotate(1turn);
	}
}

@keyframes site-pill-border-shine {
	0% {
		opacity: 0;
		transform: translateX(-140%);
	}
	15% {
		opacity: 0.9;
	}
	55% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
		transform: translateX(160%);
	}
}

@keyframes site-grid-drift-x {
	0% {
		background-position: 0 0, 0 0;
	}
	100% {
		background-position: 72px 0, 72px 0;
	}
}

@keyframes site-grid-drift-y {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(18px);
	}
}

@keyframes site-hero-streaks {
	0% {
		background-position: -140% 0, 140% 0, 0 -140%, 0 140%;
	}
	100% {
		background-position: 140% 0, -140% 0, 0 140%, 0 -140%;
	}
}

@keyframes site-hero-pan {
	0% {
		transform: translate3d(-1.5%, 0, 0);
	}
	100% {
		transform: translate3d(1.5%, 1.5%, 0);
	}
}

@keyframes site-footer-particles {
	0% {
		transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(-2.5%, -6%, 0);
	}
}

@keyframes site-footer-float {
	0% {
		opacity: 0.7;
	}
	100% {
		opacity: 1;
	}
}

@keyframes site-footer-streaks {
	0% {
		background-position: -120% 0, 140% 0;
	}
	100% {
		background-position: 140% 0, -120% 0;
	}
}

@keyframes site-pill-glow {
	0% {
		opacity: 0.3;
	}
	100% {
		opacity: 0.85;
	}
}

@keyframes site-text-shine {
	0% {
		background-position: 180% 50%;
	}
	100% {
		background-position: -40% 50%;
	}
}

@keyframes site-hero-aura {
	0% {
		opacity: 0.252;
		transform: translate3d(0, 0, 0) scale(1);
	}
	100% {
		opacity: 0.92;
		transform: translate3d(0, 10px, 0) scale(1.06);
	}
}

@keyframes site-btn-glow-move {
	0%, 100% { transform: translateX(-25%) translateY(5%); opacity: 0.8; }
	12.5% { transform: translateX(0%) translateY(0%); opacity: 0.95; }
	25% { transform: translateX(25%) translateY(5%); opacity: 0.8; }
	37.5% { transform: translateX(30%) translateY(20%); opacity: 0.95; }
	50% { transform: translateX(25%) translateY(35%); opacity: 0.8; }
	62.5% { transform: translateX(0%) translateY(40%); opacity: 0.95; }
	75% { transform: translateX(-25%) translateY(35%); opacity: 0.8; }
	87.5% { transform: translateX(-30%) translateY(20%); opacity: 0.95; }
}

@keyframes site-btn-stroke-rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* ── Injected Content Sections ── */
.site-content-section {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 80px 24px;
	box-sizing: border-box;
	font-family: Satoshi, "Satoshi Placeholder", sans-serif;
	color: #d4d4d8;
}

.site-content-section h2 {
	font-size: 48px;
	font-weight: 700;
	color: rgb(97, 0, 242);
	margin: 0 0 20px;
	line-height: 1.2;
	letter-spacing: -0.96px;
}

.site-content-section h2 .accent {
	color: #fafafa;
}

.site-content-section .section-subtitle {
	font-size: 20px;
	color: #a1a1aa;
	margin: 0 0 48px;
	line-height: 1.6;
	max-width: 680px;
	font-family: Inter, sans-serif;
}

.site-content-section h3 {
	font-size: 20px;
	font-weight: 700;
	color: #fafafa;
	margin: 0 0 12px;
	font-family: Satoshi, "Satoshi Placeholder", sans-serif;
}

.site-content-section p {
	font-size: 16px;
	line-height: 1.65;
	color: #a1a1aa;
	margin: 0 0 16px;
	font-family: Inter, sans-serif;
}

/* Cost comparison table */
.site-cost-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #26262a;
	margin: 32px 0;
}

.site-cost-table th {
	padding: 14px 20px;
	background: #1a1a2e;
	color: #fafafa;
	font-size: 14px;
	font-weight: 600;
	text-align: left;
	border-bottom: 1px solid #26262a;
}

.site-cost-table td {
	padding: 14px 20px;
	background: #0c0c0d;
	color: #d4d4d8;
	font-size: 14px;
	border-bottom: 1px solid #1a1a2e;
}

.site-cost-table tr:last-child td {
	border-bottom: none;
}

.site-cost-table td:first-child {
	background: #111118;
	font-weight: 500;
	color: #e4e4e7;
}

/* Stats bar */
.site-stats-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 0;
}

.site-stat {
	text-align: center;
	padding: 32px 20px;
	border-right: 1px solid #1a1a2e;
}

.site-stat:last-child {
	border-right: none;
}

.site-stat .stat-number {
	font-size: 36px;
	font-weight: 700;
	color: rgb(97, 0, 242);
	margin: 0 0 8px;
	line-height: 1;
	font-family: Satoshi, "Satoshi Placeholder", sans-serif;
	letter-spacing: -0.72px;
}

.site-stat .stat-label {
	font-size: 14px;
	color: #71717a;
	line-height: 1.4;
	font-family: Inter, sans-serif;
}

/* Value pillars */
.site-pillars {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 32px;
	margin: 48px 0;
}

.site-pillar {
	padding: 32px 28px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid #1a1a2e;
	border-radius: 12px;
}

.site-pillar h3 {
	font-size: 18px;
	margin: 0 0 12px;
}

.site-pillar p {
	font-size: 15px;
	margin: 0;
}

/* ROI preview */
.site-content-section.site-roi-section {
	padding-top: 48px;
	padding-bottom: 56px;
}

.site-roi-table {
	width: 100%;
	max-width: 720px;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #26262a;
	margin: 32px 0;
}

.site-roi-table td {
	padding: 12px 20px;
	background: #0c0c0d;
	color: #d4d4d8;
	font-size: 15px;
	border-bottom: 1px solid #1a1a2e;
}

.site-roi-table td:last-child {
	text-align: right;
	font-weight: 600;
	color: #fafafa;
}

.site-roi-table tr:last-child td {
	border-bottom: none;
	background: #1a1a2e;
	color: rgb(97, 0, 242);
	font-weight: 700;
	font-size: 17px;
}

/* Objection section */
.site-content-section.site-objection-section {
	padding-top: 40px;
	padding-bottom: 48px;
}

.site-objection {
	background: rgba(97, 0, 242, 0.03);
	border: 1px solid rgba(97, 0, 242, 0.12);
	border-radius: 12px;
	padding: 32px 32px;
	margin: 0 0 24px;
}

.site-objection blockquote {
	font-size: 20px;
	font-style: italic;
	color: #a1a1aa;
	margin: 0 0 16px;
	padding: 0;
	border: none;
	font-family: Satoshi, "Satoshi Placeholder", sans-serif;
}

.site-objection p {
	color: #d4d4d8;
	margin-bottom: 8px;
}

.site-objection p:last-child {
	margin-bottom: 0;
}

/* Section divider — subtle, fades in from edges */
.site-section-divider {
	display: none;
}

/* CTA button — matches site button style */
.site-content-cta {
	display: inline-block;
	padding: 14px 32px;
	background: rgb(97, 0, 242);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	font-family: Satoshi, "Satoshi Placeholder", sans-serif;
	border-radius: 8px;
	text-decoration: none;
	margin-top: 16px;
	transition: opacity 0.2s;
	letter-spacing: -0.32px;
}

.site-content-cta:hover {
	opacity: 0.85;
}

@media (max-width: 809px) {
	.site-content-section {
		padding: 56px 20px;
	}
	.site-content-section h2 {
		font-size: 32px;
		letter-spacing: -0.64px;
	}
	.site-stats-bar {
		grid-template-columns: repeat(2, 1fr);
	}
	.site-stat {
		border-right: none;
		border-bottom: 1px solid #1a1a2e;
		padding: 24px 16px;
	}
	.site-stat .stat-number {
		font-size: 28px;
	}
	.site-pillars {
		grid-template-columns: 1fr;
	}
}

/* Unpause CSS animations when their container is in view */
.site-anim-visible,
.site-anim-visible::before,
.site-anim-visible::after,
.site-anim-visible * {
	animation-play-state: running !important;
}

/* ── Left sidebar nav for solution / compare / use-case pages ── */
.cs-page-layout { display: flex; max-width: 1280px; margin: 0 auto; gap: 0; }
.cs-sidebar { width: 240px; flex-shrink: 0; position: sticky; top: 100px; align-self: flex-start; padding: 32px 20px 32px 24px; height: fit-content; border-right: 1px solid #1a1a2e; }
.cs-sidebar-section { margin-bottom: 28px; }
.cs-sidebar-section:last-child { margin-bottom: 0; }
.cs-sidebar-heading { font-family: Inter, sans-serif; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #71717a; margin-bottom: 12px; }
.cs-sidebar-list { list-style: none; padding: 0; margin: 0; }
.cs-sidebar-list li { margin-bottom: 4px; }
.cs-sidebar-list a { display: block; padding: 6px 12px; font-family: Inter, sans-serif; font-size: 13px; color: #a1a1aa; border-left: 2px solid transparent; border-radius: 0 4px 4px 0; transition: color 0.15s, border-color 0.15s, background 0.15s; line-height: 1.4; }
.cs-sidebar-list a:hover { color: #fafafa; background: rgba(255,255,255,0.03); }
.cs-sidebar-list a.cs-sidebar-current { color: #fafafa; border-left-color: rgb(97,0,242); background: rgba(97,0,242,0.08); }
.cs-page-main { flex: 1; min-width: 0; }
@media (max-width: 767px) {
	.cs-page-layout { display: block; }
	.cs-sidebar { display: none; }
	.cs-page-main { width: 100%; }
}

/* ── Mobile drawer: collapsible section groups (wired by nav-collapse.js) ── */
.site-mobile-drawer .mnav-section {
	cursor: pointer;
	user-select: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: color 0.15s;
	padding-right: 16px;
}
.site-mobile-drawer .mnav-section:hover,
.site-mobile-drawer .mnav-section:focus-visible {
	color: #fafafa;
	outline: none;
}
.site-mobile-drawer .mnav-section::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 1.5px solid #71717a;
	border-bottom: 1.5px solid #71717a;
	transform: rotate(-45deg);
	transition: transform 0.2s ease, border-color 0.15s;
	margin-left: 12px;
	flex-shrink: 0;
}
.site-mobile-drawer .mnav-section.open::after {
	transform: rotate(45deg);
	border-color: #c4b5fd;
}
.site-mobile-drawer .mnav-group {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.28s cubic-bezier(.4,.1,.3,1);
}
.site-mobile-drawer .mnav-group.open {
	max-height: 1200px;
}

/* ── Mobile footer: tame the 4-column grid inlined in many pages ── */
@media (max-width: 768px) {
	body .footer-top { flex-direction: column; gap: 32px; }
	body .footer-columns { grid-template-columns: repeat(2, 1fr); gap: 24px; }
	body .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
	body .footer-legal-links { flex-wrap: wrap; justify-content: center; gap: 12px; }
}


/* ── Self-hosted web fonts (embedded for CSP + GDPR + offline) ───────────
   Inter + Fira Code are variable fonts (one file covers 400/500/600/700).
   Fragment Mono is single-weight. All latin subset only. OFL 1.1. */
@font-face {
	font-family: "Inter";
	src: url("/site-assets/third-party-assets/fonts/inter/Inter-latin.woff2") format("woff2-variations"),
	     url("/site-assets/third-party-assets/fonts/inter/Inter-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Fira Code";
	src: url("/site-assets/third-party-assets/fonts/fira-code/FiraCode-latin.woff2") format("woff2-variations"),
	     url("/site-assets/third-party-assets/fonts/fira-code/FiraCode-latin.woff2") format("woff2");
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Fragment Mono";
	src: url("/site-assets/third-party-assets/fonts/fragment-mono/FragmentMono-latin.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
