﻿:root {
	--ink: #0a1224;
	--ink-soft: #26334b;
	--blue: #155eef;
	--blue-bright: #69a1ff;
	--cyan: #2bd6b5;
	--orange: #ff9c66;
	--paper: #f7f9fc;
	--white: #ffffff;
	--line: #dbe2ee;
	--muted: #61708a;
	--night: #081225;
	--night-soft: #0e1c35;
	--radius: 1.25rem;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a {
	color: inherit;
	text-decoration: none;
}

button, a {
	-webkit-tap-highlight-color: transparent;
}

.site-header {
	position: absolute;
	z-index: 20;
	top: 0;
	left: 0;
	width: 100%;
	height: 92px;
	padding: 0 max(40px, calc((100vw - 1400px)/2));
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	border-bottom: 1px solid var(--line);
	background: #fff;
	color: var(--ink);
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	width: max-content;
	font-weight: 750;
	letter-spacing: .12em;
}

.original-brand-logo {
	position: relative;
	display: block;
	width: 190px;
	height: 46px;

	
	
}
	.original-brand-logo img {
		position: absolute;
		width: 232px;
		max-width: none;
		height: auto;
		left: -22px;
		top: -80px;
	}

.brand-mark {
	display: inline-flex;
	align-items: flex-end;
	gap: 2px;
	width: 28px;
	height: 28px;
	padding: 6px 5px;
	background: var(--blue);
	border-radius: 8px;
	transform: skew(-5deg);
}

	.brand-mark span {
		display: block;
		width: 4px;
		background: #fff;
		border-radius: 3px 3px 1px 1px;
		transform: skew(5deg);
	}

		.brand-mark span:nth-child(1) {
			height: 7px;
		}

		.brand-mark span:nth-child(2) {
			height: 14px;
		}

		.brand-mark span:nth-child(3) {
			height: 10px;
		}

.desktop-nav {
	display: flex;
	gap: 32px;
	font-size: .9rem;
	color: var(--ink-soft);
}

	.desktop-nav a {
		transition: color .2s ease;
	}

		.desktop-nav a:hover, .desktop-nav a:focus-visible {
			color: var(--blue);
		}

.header-cta {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: .89rem;
	font-weight: 650;
	color: var(--blue);
}

	.header-cta svg {
		transition: transform .2s ease;
	}

	.header-cta:hover svg {
		transform: translateX(4px);
	}

.mobile-menu {
	display: none;
	justify-self: end;
}

	.mobile-menu summary {
		list-style: none;
		cursor: pointer;
	}

		.mobile-menu summary::-webkit-details-marker {
			display: none;
		}

.menu-close {
	display: none;
}

.mobile-menu[open] .menu-open {
	display: none;
}

.mobile-menu[open] .menu-close {
	display: block;
}

.hero {
	position: relative;
	min-height: 870px;
	padding: 172px max(40px, calc((100vw - 1400px)/2)) 86px;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(470px, .92fr);
	gap: 72px;
	align-items: center;
	overflow: hidden;
	background: radial-gradient(circle at 84% 16%, rgba(36,94,211,.23), transparent 31%), radial-gradient(circle at 12% 80%, rgba(43,214,181,.07), transparent 24%), var(--night);
	color: #fff;
}

.hero-grid {
	position: absolute;
	inset: 0;
	opacity: .16;
	background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(to right, transparent 0, black 45%, black 100%);
}

.hero-copy, .hero-visual {
	position: relative;
	z-index: 1;
}

.eyebrow, .kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 24px;
	font-size: .70rem;
	line-height: 1;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.eyebrow {
	color: var(--blue-bright);
}

.eyebrow-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cyan);
	box-shadow: 0 0 0 5px rgba(43,214,181,.13);
}

.hero h1 {
	max-width: none;
	margin: 0;
	font-size: clamp(3rem, 5vw, 5.5rem);
	line-height: .91;
	letter-spacing: -.065em;
	font-weight: 730;
}

	.hero h1 .hero-title-line {
		display: block;
		white-space: nowrap;
		color: #fff;
	}

	.hero h1 .hero-title-accent {
		display: block;
		color: var(--blue-bright);
	}

.hero-lede {
	max-width: 680px;
	margin: 34px 0 0;
	color: #b9c6db;
	font-size: 1.16rem;
	line-height: 1.8;
}

.hero-actions {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 38px;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	padding: 0 23px;
	border-radius: 10px;
	font-weight: 700;
	font-size: .92rem;
	transition: transform .2s ease, background .2s ease, color .2s ease;
}

	.button:hover {
		transform: translateY(-2px);
	}

.button-primary {
	background: var(--blue);
	color: #fff;
	box-shadow: 0 12px 34px rgba(21,94,239,.3);
}

	.button-primary:hover {
		background: #2871ff;
	}

.button-light {
	background: #fff;
	color: var(--ink);
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #d9e2f0;
	font-size: .91rem;
	font-weight: 650;
}

	.text-link svg {
		transition: transform .2s ease;
	}

	.text-link:hover svg {
		transform: translateX(4px);
	}

	.text-link.dark {
		color: var(--blue);
		margin-top: 28px;
	}

.hero-proof {
	display: flex;
	gap: 0;
	margin-top: 62px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.13);
}

	.hero-proof > div {
		min-width: 190px;
		padding-right: 28px;
		margin-right: 28px;
		border-right: 1px solid rgba(255,255,255,.13);
	}

		.hero-proof > div:last-child {
			border-right: 0;
			margin-right: 0;
			padding-right: 0;
		}

	.hero-proof strong, .hero-proof span {
		display: block;
	}

	.hero-proof strong {
		margin-bottom: 5px;
		color: #fff;
		font-size: 1rem;
	}

	.hero-proof span {
		color: #7487a5;
		font-size: .75rem;
	}

.hero-visual {
	width: 100%;
	max-width: 600px;
	justify-self: end;
	border: 1px solid rgba(145,175,225,.22);
	border-radius: 24px;
	background: rgba(7,18,39,.72);
	box-shadow: 0 40px 100px rgba(0,0,0,.35);
	backdrop-filter: blur(12px);
	overflow: hidden;
}

.visual-topline, .visual-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #7f91ae;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .68rem;
	letter-spacing: .08em;
}

.visual-topline {
	height: 54px;
	padding: 0 22px;
	border-bottom: 1px solid rgba(145,175,225,.15);
}

.status {
	color: var(--cyan);
}

	.status i {
		display: inline-block;
		width: 6px;
		height: 6px;
		margin-right: 5px;
		border-radius: 50%;
		background: currentColor;
		box-shadow: 0 0 0 4px rgba(43,214,181,.09);
	}

.flow-canvas {
	position: relative;
	height: 480px;
	background-image: radial-gradient(circle at center, rgba(21,94,239,.13), transparent 36%), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: auto, 28px 28px, 28px 28px;
}

	.flow-canvas svg {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		overflow: visible;
	}

	.flow-canvas path {
		fill: none;
		stroke: #274268;
		stroke-width: 1.25;
	}

		.flow-canvas path.signal {
			stroke: var(--blue-bright);
			stroke-width: 2;
			stroke-dasharray: 3 115;
			stroke-linecap: round;
			animation: signal 5s linear infinite;
		}

		.flow-canvas path.signal-b {
			animation-delay: -1.25s;
			stroke: var(--cyan);
		}

		.flow-canvas path.signal-c {
			animation-delay: -2.5s;
		}

		.flow-canvas path.signal-d {
			animation-delay: -3.75s;
			stroke: var(--orange);
		}

@keyframes signal {
	to {
		stroke-dashoffset: -118;
	}
}

.flow-node {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 104px;
	height: 47px;
	padding: 0 13px;
	border: 1px solid #284264;
	border-radius: 10px;
	background: #0c1a31;
	color: #b9c6d9;
	font-size: .77rem;
	font-weight: 650;
	box-shadow: 0 12px 30px rgba(0,0,0,.25);
}

	.flow-node svg {
		color: var(--blue-bright);
	}

.node-saas {
	top: 77px;
	left: 44px;
}

.node-mobile {
	top: 77px;
	right: 41px;
}

.node-web {
	bottom: 79px;
	left: 30px;
}

.node-api {
	bottom: 79px;
	right: 27px;
}

	.node-api svg {
		color: var(--orange);
	}

.node-mobile svg {
	color: var(--cyan);
}

.core-node {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 124px;
	height: 124px;
	transform: translate(-50%,-50%);
	display: grid;
	place-items: center;
	align-content: center;
	gap: 10px;
	border: 1px solid rgba(105,161,255,.5);
	border-radius: 50%;
	background: radial-gradient(circle, #132d5c 0, #0b1931 70%);
	box-shadow: 0 0 0 12px rgba(21,94,239,.06), 0 0 60px rgba(21,94,239,.28);
	text-align: center;
}

	.core-node .brand-mark {
		transform: skew(-5deg) scale(.9);
	}

	.core-node strong {
		font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
		color: #dce8fb;
		font-size: .68rem;
		line-height: 1.35;
		letter-spacing: .1em;
	}

.visual-footer {
	height: 54px;
	padding: 0 22px;
	border-top: 1px solid rgba(145,175,225,.15);
}

	.visual-footer span {
		display: flex;
		align-items: center;
		gap: 7px;
	}

	.visual-footer i {
		width: 6px;
		height: 6px;
		border-radius: 50%;
	}

.dot-blue {
	background: var(--blue-bright);
}

.dot-green {
	background: var(--cyan);
}

.dot-orange {
	background: var(--orange);
}

.trust-strip {
	min-height: 76px;
	padding: 20px max(40px, calc((100vw - 1400px)/2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid var(--line);
	color: #75839a;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
}

	.trust-strip i {
		flex: 0 0 3px;
		width: 3px;
		height: 3px;
		border-radius: 50%;
		background: #b5c1d2;
	}

.section {
	max-width: 1400px;
	margin: 0 auto;
	padding: 128px 0;
}

.section-heading {
	display: grid;
	grid-template-columns: 1.05fr .6fr;
	gap: 100px;
	align-items: end;
	margin-bottom: 66px;
}

.kicker {
	color: var(--blue);
}

	.kicker.light {
		color: var(--blue-bright);
	}

.section-heading h2, .solutions-intro h2, .product-copy h2, .contact-copy h2 {
	margin: 0;
	font-size: clamp(2.7rem, 4.6vw, 4.8rem);
	line-height: 1.03;
	letter-spacing: -.052em;
	font-weight: 710;
}

.section-heading > p, .solutions-intro > p, .product-copy > p, .contact-copy > p {
	margin: 0;
	color: var(--muted);
	font-size: 1.05rem;
	line-height: 1.8;
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--line);
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
}

.service-card {
	min-height: 438px;
	padding: 30px;
	border-right: 1px solid var(--line);
	transition: background .25s ease, transform .25s ease;
}

	.service-card:last-child {
		border-right: 0;
	}

	.service-card:hover {
		background: #f4f7fc;
	}

.service-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 60px;
}

.service-icon {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 12px;
	background: #edf3ff;
	color: var(--blue);
}

.service-number {
	color: #9ba8ba;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .75rem;
}

.service-card h3 {
	margin: 0 0 16px;
	font-size: 1.4rem;
	letter-spacing: -.025em;
}

.service-card > p {
	min-height: 110px;
	margin: 0 0 24px;
	color: var(--muted);
	font-size: .92rem;
	line-height: 1.75;
}

.service-card ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.service-card li {
	padding: 6px 9px;
	border: 1px solid var(--line);
	border-radius: 999px;
	color: #607089;
	font-size: .69rem;
	font-weight: 650;
}

.solutions-section {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	background: var(--night);
	color: #fff;
}

.solutions-intro {
	padding: 120px max(40px, calc((100vw - 1400px)/2));
	padding-right: 9vw;
	background: linear-gradient(145deg, rgba(21,94,239,.15), transparent 40%);
}

	.solutions-intro > p {
		max-width: 560px;
		margin: 28px 0 34px;
		color: #9eacc2;
	}

.audience-list {
	border-left: 1px solid rgba(255,255,255,.11);
}

	.audience-list article {
		min-height: 170px;
		padding: 30px max(40px, calc((100vw - 1400px)/2));
		padding-left: 54px;
		display: grid;
		grid-template-columns: 40px 1fr 30px;
		gap: 25px;
		align-items: center;
		border-bottom: 1px solid rgba(255,255,255,.11);
		transition: background .2s ease;
	}

		.audience-list article:last-child {
			border-bottom: 0;
		}

		.audience-list article:hover {
			background: rgba(21,94,239,.1);
		}

		.audience-list article > span {
			color: #667a99;
			font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
			font-size: .7rem;
		}

		.audience-list article > svg {
			color: #5275ad;
		}

	.audience-list h3 {
		margin: 0 0 6px;
		font-size: 1.25rem;
	}

	.audience-list p {
		max-width: 590px;
		margin: 0;
		color: #8495af;
		font-size: .87rem;
		line-height: 1.65;
	}

.product-section {
	padding: 120px max(40px, calc((100vw - 1400px)/2));
	background: #eaf0f8;
}

.product-panel {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 70px;
	align-items: center;
}

.product-copy > p {
	margin-top: 26px;
	max-width: 570px;
}

.product-features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 28px;
}

	.product-features span {
		display: flex;
		align-items: center;
		gap: 8px;
		color: #42516a;
		font-size: .82rem;
		font-weight: 650;
	}

	.product-features svg {
		color: var(--blue);
	}

.product-console {
	border: 1px solid #cfd9e8;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 30px 70px rgba(35,59,96,.15);
}

.console-bar {
	height: 44px;
	padding: 0 17px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #dce3ed;
	color: #8290a5;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .62rem;
}

	.console-bar > span:first-child {
		display: flex;
		gap: 5px;
	}

	.console-bar i {
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: #c4ccda;
	}

.console-body {
	min-height: 470px;
	display: grid;
	grid-template-columns: 150px 1fr;
}

.console-sidebar {
	padding: 28px 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-right: 1px solid #e4e9f1;
	background: #f8fafd;
}

	.console-sidebar span {
		display: flex;
		align-items: center;
		gap: 9px;
		padding: 10px;
		border-radius: 7px;
		color: #718097;
		font-size: .68rem;
		font-weight: 650;
	}

		.console-sidebar span.active {
			background: #eaf1ff;
			color: var(--blue);
		}

.console-main {
	padding: 30px;
}

.console-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

	.console-heading div {
		display: flex;
		flex-direction: column;
	}

	.console-heading small, .metric-grid small {
		color: #97a3b5;
		font-size: .57rem;
		letter-spacing: .1em;
	}

	.console-heading strong {
		font-size: 1.1rem;
	}

	.console-heading > span {
		padding: 5px 9px;
		border-radius: 999px;
		background: #e7faf6;
		color: #168e76;
		font-size: .58rem;
		font-weight: 700;
	}

.metric-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: 28px;
}

	.metric-grid > div {
		min-height: 110px;
		padding: 16px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		border: 1px solid #e0e6ef;
		border-radius: 10px;
	}

	.metric-grid strong {
		font-size: 1.3rem;
	}

		.metric-grid strong.healthy {
			color: #168e76;
			font-size: .82rem;
		}

	.metric-grid span {
		color: #9ba7b8;
		font-size: .59rem;
	}

.activity-card {
	height: 205px;
	margin-top: 18px;
	padding: 20px;
	border: 1px solid #e0e6ef;
	border-radius: 10px;
}

.activity-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

	.activity-title strong {
		font-size: .8rem;
	}

	.activity-title span {
		color: #98a4b4;
		font-size: .58rem;
	}

.chart-bars {
	height: 125px;
	margin-top: 20px;
	display: flex;
	align-items: flex-end;
	gap: 8px;
	border-bottom: 1px solid #e4e9f0;
	background-image: linear-gradient(#edf1f6 1px, transparent 1px);
	background-size: 100% 31px;
}

	.chart-bars i {
		flex: 1;
		min-width: 4px;
		border-radius: 3px 3px 0 0;
		background: linear-gradient(to top, var(--blue), #76a8ff);
		opacity: .85;
	}

.integration-map {
	max-width: 1400px;
	margin: 80px auto 0;
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	align-items: stretch;
	border: 1px solid #cfd9e8;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 24px 60px rgba(35,59,96,.1);
}

.integration-map-image {
	min-height: 430px;
	display: grid;
	place-items: center;
	padding: 28px;
	background: #fff;
}

	.integration-map-image img {
		display: block;
		width: 100%;
		height: 100%;
		max-height: 520px;
		object-fit: contain;
	}

.integration-map figcaption {
	padding: 55px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: var(--night);
	color: #fff;
}

	.integration-map figcaption > span {
		margin-bottom: 26px;
		color: var(--blue-bright);
		font-size: .67rem;
		font-weight: 750;
		letter-spacing: .14em;
	}

	.integration-map figcaption strong {
		font-size: 1.75rem;
		line-height: 1.25;
		letter-spacing: -.025em;
	}

	.integration-map figcaption p {
		margin: 20px 0 0;
		color: #8fa0ba;
		font-size: .9rem;
		line-height: 1.75;
	}

.section-heading.compact {
	grid-template-columns: 1fr .55fr;
}

.process-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--line);
}

	.process-grid article {
		padding: 36px 45px 24px 0;
		border-right: 1px solid var(--line);
	}

		.process-grid article + article {
			padding-left: 45px;
		}

		.process-grid article:last-child {
			border-right: 0;
		}

	.process-grid span {
		color: var(--blue);
		font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
		font-size: .72rem;
	}

	.process-grid h3 {
		margin: 52px 0 15px;
		font-size: 1.3rem;
	}

	.process-grid p {
		margin: 0;
		color: var(--muted);
		font-size: .9rem;
		line-height: 1.75;
	}

.proof-section {
	max-width: 1400px;
	margin: 0 auto 128px;
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	border: 1px solid var(--line);
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
}

.proof-quote {
	padding: 66px;
	background: #f0f5ff;
}

	.proof-quote > svg {
		color: var(--blue);
	}

	.proof-quote blockquote {
		max-width: 730px;
		margin: 28px 0 22px;
		font-size: clamp(1.65rem, 2.8vw, 2.5rem);
		line-height: 1.28;
		letter-spacing: -.035em;
		font-weight: 650;
	}

	.proof-quote p {
		margin: 0;
		color: #64738b;
		font-size: .84rem;
		font-weight: 650;
	}

.proof-outcomes {
	padding: 66px;
}

	.proof-outcomes ul {
		display: flex;
		flex-direction: column;
		gap: 21px;
		margin: 38px 0 0;
		padding: 0;
		list-style: none;
	}

	.proof-outcomes li {
		display: flex;
		align-items: center;
		gap: 12px;
		color: #41506a;
		font-weight: 650;
		font-size: .88rem;
	}

		.proof-outcomes li svg {
			color: var(--blue);
		}

.contact-section {
	position: relative;
	min-height: 520px;
	padding: 105px max(40px, calc((100vw - 1400px)/2));
	display: grid;
	grid-template-columns: 1fr .7fr;
	gap: 100px;
	align-items: center;
	overflow: hidden;
	background: var(--blue);
	color: #fff;
}

	.contact-section::before {
		content: "";
		position: absolute;
		inset: 0;
		opacity: .12;
		background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
		background-size: 50px 50px;
	}

.contact-copy, .contact-actions {
	position: relative;
	z-index: 1;
}

	.contact-copy > p {
		max-width: 700px;
		margin-top: 28px;
		color: #bfd1ff;
	}

.contact-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.button-large {
	min-height: 64px;
	padding: 0 24px;
	font-size: 1rem;
}

	.button-large svg:last-child {
		margin-left: 12px;
	}

.phone-link {
	margin-top: 22px;
	font-size: 1.1rem;
	font-weight: 700;
}

.contact-actions > span {
	max-width: 420px;
	margin-top: 10px;
	color: #b7caff;
	font-size: .75rem;
}

.contact-orbit {
	position: absolute;
	width: 560px;
	height: 560px;
	right: -230px;
	top: -170px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 50%;
}

	.contact-orbit span {
		position: absolute;
		inset: 70px;
		border: 1px solid rgba(255,255,255,.12);
		border-radius: 50%;
	}

		.contact-orbit span:nth-child(2) {
			inset: 140px;
		}

		.contact-orbit span:nth-child(3) {
			inset: 210px;
			background: rgba(255,255,255,.08);
		}

footer {
	min-height: 120px;
	padding: 30px max(40px, calc((100vw - 1400px)/2));
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 30px;
	align-items: center;
	border-top: 1px solid var(--line);
	background: #fff;
	color: #0a1224;
	font-size: .75rem;
}

	footer .brand {
		color: #0a1224;
	}

	footer .original-brand-logo {
		box-shadow: none;
	}

	footer > p {
		text-align: center;
	}

	footer > div {
		justify-self: end;
		display: flex;
		gap: 20px;
	}

	footer a:not(.brand):hover {
		color: var(--blue);
	}

@media (max-width: 1480px) {
	.section, .proof-section {
		margin-left: 40px;
		margin-right: 40px;
	}

	.hero {
		grid-template-columns: 1fr 500px;
		gap: 40px;
	}

	.hero-proof > div {
		min-width: 0;
	}
}

@media (max-width: 1180px) {
	.site-header {
		width: 100%;
		padding-right: 24px;
		padding-left: 24px;
	}

	.desktop-nav {
		gap: 20px;
	}

	.hero {
		min-height: auto;
		padding: 155px 40px 80px;
		grid-template-columns: 1fr;
	}

	.hero-copy {
		max-width: 900px;
	}

	.hero-visual {
		justify-self: stretch;
		max-width: none;
	}

	.service-grid {
		grid-template-columns: 1fr 1fr;
	}

	.service-card {
		border-bottom: 1px solid var(--line);
	}

		.service-card:nth-child(2) {
			border-right: 0;
		}

		.service-card:nth-child(n+3) {
			border-bottom: 0;
		}

	.solutions-section {
		grid-template-columns: 1fr;
	}

	.solutions-intro {
		padding: 100px 40px;
	}

	.audience-list {
		border-left: 0;
		border-top: 1px solid rgba(255,255,255,.11);
	}

		.audience-list article {
			padding: 30px 40px;
		}

	.product-panel {
		grid-template-columns: 1fr;
	}

	.product-copy {
		max-width: 760px;
	}

	.integration-map {
		grid-template-columns: 1fr;
	}

	.proof-section {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	.site-header {
		width: 100%;
		height: 76px;
		padding-right: 18px;
		padding-left: 18px;
		grid-template-columns: 1fr auto;
	}

	.desktop-nav, .header-cta {
		display: none;
	}

	.mobile-menu {
		display: block;
	}

		.mobile-menu nav {
			position: absolute;
			top: 75px;
			right: 0;
			width: 240px;
			padding: 12px;
			display: flex;
			flex-direction: column;
			border: 1px solid var(--line);
			border-radius: 12px;
			background: #fff;
			box-shadow: 0 20px 50px rgba(0,0,0,.35);
		}

			.mobile-menu nav a {
				padding: 11px 12px;
				color: var(--ink-soft);
				font-size: .88rem;
			}

				.mobile-menu nav a:last-child {
					margin-top: 5px;
					border-radius: 8px;
					background: var(--blue);
					color: #fff;
				}

	.hero {
		padding: 128px 22px 58px;
	}

		.hero h1 {
			font-size: clamp(2rem, 9.5vw, 3.7rem);
		}

	.hero-lede {
		font-size: 1rem;
	}

	.hero-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.hero-proof {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 25px;
	}

		.hero-proof > div {
			padding: 0;
			margin: 0;
			border: 0;
		}

			.hero-proof > div:last-child {
				grid-column: 1 / -1;
			}

	.flow-canvas {
		height: 390px;
	}

	.flow-node {
		min-width: 88px;
		height: 42px;
	}

	.node-saas {
		top: 52px;
		left: 20px;
	}

	.node-mobile {
		top: 52px;
		right: 18px;
	}

	.node-web {
		bottom: 58px;
		left: 14px;
	}

	.node-api {
		bottom: 58px;
		right: 12px;
	}

	.visual-footer {
		display: none;
	}

	.trust-strip {
		padding-left: 22px;
		padding-right: 22px;
		justify-content: flex-start;
	}

	.section {
		margin: 0;
		padding: 90px 22px;
	}

	.section-heading, .section-heading.compact {
		grid-template-columns: 1fr;
		gap: 28px;
		margin-bottom: 45px;
	}

		.section-heading h2, .solutions-intro h2, .product-copy h2, .contact-copy h2 {
			font-size: clamp(2.5rem, 11vw, 3.7rem);
		}

	.service-grid {
		grid-template-columns: 1fr;
	}

	.service-card {
		min-height: auto;
		padding: 26px;
		border-right: 0;
		border-bottom: 1px solid var(--line) !important;
	}

		.service-card:last-child {
			border-bottom: 0 !important;
		}

	.service-card-top {
		margin-bottom: 35px;
	}

	.service-card > p {
		min-height: 0;
	}

	.solutions-intro {
		padding: 90px 22px;
	}

	.audience-list article {
		padding: 28px 22px;
		grid-template-columns: 28px 1fr;
	}

		.audience-list article > svg {
			display: none;
		}

	.product-section {
		padding: 90px 22px;
	}

	.product-panel {
		gap: 50px;
	}

	.integration-map {
		margin-top: 50px;
	}

	.integration-map-image {
		min-height: 280px;
		padding: 12px;
	}

	.integration-map figcaption {
		padding: 34px 26px;
	}

	.product-features {
		grid-template-columns: 1fr;
	}

	.console-body {
		grid-template-columns: 1fr;
	}

	.console-sidebar {
		display: none;
	}

	.console-main {
		padding: 20px;
	}

	.metric-grid {
		grid-template-columns: 1fr 1fr;
	}

		.metric-grid > div:last-child {
			grid-column: 1 / -1;
		}

	.process-grid {
		grid-template-columns: 1fr;
	}

		.process-grid article, .process-grid article + article {
			padding: 30px 0;
			border-right: 0;
			border-bottom: 1px solid var(--line);
		}

			.process-grid article:last-child {
				border-bottom: 0;
			}

		.process-grid h3 {
			margin-top: 25px;
		}

	.proof-section {
		margin: 0 22px 90px;
	}

	.proof-quote, .proof-outcomes {
		padding: 38px 26px;
	}

	.contact-section {
		min-height: 620px;
		padding: 85px 22px;
		grid-template-columns: 1fr;
		gap: 50px;
	}

	footer {
		padding: 34px 22px;
		grid-template-columns: 1fr;
		text-align: left;
	}

		footer > p {
			text-align: left;
		}

		footer > div {
			justify-self: start;
			flex-wrap: wrap;
		}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
