:root{
	--navy:#09111f;
	--navy-soft:#132036;
	--ink:#162236;
	--muted:#64748b;
	--offwhite:#f7f8fb;
	--paper:#eef2f7;
	--paper-strong:#e6ebf2;
	--card:rgba(255,255,255,.78);
	--card-strong:rgba(255,255,255,.9);
	--border:rgba(15,23,42,.1);
	--border-strong:rgba(15,23,42,.16);
	--violet:#6d28d9;
	--cyan:#22d3ee;
	--shadow-sm:0 8px 22px rgba(2,6,23,.05);
	--shadow:0 18px 44px rgba(2,6,23,.08);
	--shadow-lg:0 28px 72px rgba(2,6,23,.14);
	--shadow-xl:0 42px 110px rgba(2,6,23,.18);
	--radius-sm:12px;
	--radius-md:18px;
	--radius-lg:26px;
	--radius-xl:36px;
	--ease:cubic-bezier(.22,1,.36,1);
	--font-display:'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
	--font-body:'DM Sans', ui-sans-serif, system-ui, sans-serif;
	--nav-height:74px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.menu-open{overflow:hidden}
body{
	margin:0;
	font-family:var(--font-body);
	font-size:17px;
	color:var(--ink);
	background:
		radial-gradient(circle at top left, rgba(109,40,217,.08), transparent 26%),
		radial-gradient(circle at top right, rgba(34,211,238,.08), transparent 24%),
		linear-gradient(180deg, #f4f6fa 0%, #edf1f6 38%, #f7f8fb 100%);
}
a{
	color:var(--violet);
	text-decoration:none;
	transition:color .2s var(--ease);
}
a:hover{color:#5b21b6}
img{display:block; max-width:100%}

.container{
	width:min(1280px, 100%);
	margin:0 auto;
	padding:0 clamp(20px, 4vw, 40px);
}

.skip-link{
	position:absolute;
	left:-9999px;
	top:8px;
	z-index:100;
	padding:10px 16px;
	background:var(--navy);
	color:#fff;
	border-radius:var(--radius-sm);
	font-weight:700;
}
.skip-link:focus{left:8px}

a:focus-visible,
button:focus-visible{
	outline:2px solid var(--violet);
	outline-offset:3px;
	border-radius:3px;
}
.hero-shell a:focus-visible,
.hero-shell button:focus-visible,
.case-studies-section a:focus-visible,
.case-studies-section button:focus-visible,
.contact-band a:focus-visible,
.contact-band button:focus-visible,
.footer a:focus-visible,
.footer button:focus-visible{
	outline-color:#7dd3fc;
}

.nav{
	position:sticky;
	top:0;
	z-index:50;
	isolation:isolate;
	backdrop-filter:saturate(170%) blur(18px);
	background:rgba(242,245,250,.76);
	border-bottom:1px solid rgba(15,23,42,.08);
	box-shadow:0 10px 30px rgba(15,23,42,.04);
	transition:background .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.nav.nav-open{
	background:rgba(244,247,251,.96);
	border-bottom-color:rgba(15,23,42,.12);
	box-shadow:0 18px 36px rgba(15,23,42,.08);
}
.nav-progress{
	position:absolute;
	left:0;
	right:0;
	top:0;
	height:3px;
	background:rgba(15,23,42,.05);
	overflow:hidden;
}
.nav-progress-bar{
	display:block;
	width:100%;
	height:100%;
	background:linear-gradient(90deg, var(--violet), var(--cyan));
	transform:scaleX(var(--nav-progress, 0));
	transform-origin:left;
	transition:transform .18s linear;
}
.nav-inner{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:14px 0;
	flex-wrap:wrap;
}
.brand{
	display:inline-flex;
	align-items:center;
	gap:12px;
	font-family:var(--font-display);
	font-size:1.02rem;
	font-weight:700;
	letter-spacing:.06em;
	color:var(--navy);
}
.brand-mark{
	position:relative;
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	border-radius:12px;
	background:linear-gradient(160deg, #09101d 0%, #17103c 58%, #143650 100%);
	border:1px solid rgba(255,255,255,.08);
	box-shadow:0 10px 24px rgba(11,18,32,.24);
}
.brand-mark::before{
	content:'';
	position:absolute;
	inset:-10px;
	border-radius:18px;
	background:radial-gradient(circle, rgba(34,211,238,.22), transparent 66%);
	z-index:-1;
}
.brand-mark svg{width:22px; height:22px; overflow:visible}
.brand-mark-image{
	display:block;
	width:22px;
	height:22px;
}

.nav-current-section{
	display:none;
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--muted);
	white-space:nowrap;
}
.nav-current-section.is-empty,
.mobile-menu-current.is-empty{
	opacity:0;
}

.nav-links{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px 20px;
	flex-wrap:wrap;
}
.nav-links a{
	position:relative;
	padding:8px 2px;
	font-size:.92rem;
	font-weight:700;
	color:var(--muted);
}
.nav-links a::after{
	content:'';
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:2px;
	background:linear-gradient(90deg, var(--violet), var(--cyan));
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .28s var(--ease);
}
.nav-links a:hover,
.nav-links a.is-active{color:var(--navy)}
.nav-links a:hover::after,
.nav-links a.is-active::after{transform:scaleX(1)}

.nav-actions{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}
.nav-cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:11px 16px;
	border-radius:999px;
	background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(240,244,249,.82));
	border:1px solid var(--border-strong);
	box-shadow:var(--shadow-sm);
	font-size:.88rem;
	font-weight:700;
	color:var(--navy);
	white-space:nowrap;
	transition:transform .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease);
}
.nav-cta:hover{
	transform:translateY(-1px);
	box-shadow:var(--shadow);
	color:var(--violet);
}

.nav-toggle{
	display:none;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:5px;
	width:42px;
	height:42px;
	padding:0;
	border:1px solid var(--border-strong);
	border-radius:14px;
	background:rgba(255,255,255,.82);
	color:var(--navy);
	box-shadow:var(--shadow-sm);
	cursor:pointer;
}
.nav-toggle span{
	display:block;
	width:18px;
	height:2px;
	border-radius:999px;
	background:currentColor;
	transition:transform .25s var(--ease), opacity .2s var(--ease);
}
.nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{
	display:none;
}

section[id]{scroll-margin-top:var(--nav-height)}
.section{
	position:relative;
	padding:clamp(68px, 8vw, 120px) 0;
}
.section::before{
	content:'';
	position:absolute;
	left:50%;
	top:0;
	width:min(1240px, calc(100% - 40px));
	height:1px;
	transform:translateX(-50%);
	background:linear-gradient(90deg, rgba(15,23,42,0), rgba(15,23,42,.08), rgba(15,23,42,0));
}

.eyebrow{
	margin:0 0 12px;
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--violet);
}
h1,h2,h3{
	margin:0;
	font-family:var(--font-display);
	color:var(--navy);
	letter-spacing:-.03em;
}
h1{
	font-size:clamp(3rem, 7vw, 6rem);
	line-height:.95;
	max-width:11ch;
}
h2{
	font-size:clamp(2rem, 4vw, 3.5rem);
	line-height:.98;
	max-width:12ch;
}
h3{
	font-size:clamp(1.15rem, 2vw, 1.45rem);
	line-height:1.08;
}
p{
	margin:0 0 16px;
	line-height:1.65;
	color:var(--muted);
}
.lead{
	font-size:clamp(1.06rem, 1.7vw, 1.35rem);
	line-height:1.55;
	max-width:38rem;
	color:#dfe8f4;
}
.kicker{
	max-width:28rem;
	font-size:1rem;
	line-height:1.55;
	color:var(--muted);
}

.btns,
.contact-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:15px 22px;
	border-radius:999px;
	font-size:.94rem;
	font-weight:700;
	border:1px solid transparent;
	transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.btn.primary{
	background:linear-gradient(135deg, var(--violet), #7c3bed);
	color:#fff;
	box-shadow:0 16px 34px rgba(109,40,217,.34);
}
.btn.primary:hover{
	transform:translateY(-2px);
	box-shadow:0 24px 42px rgba(109,40,217,.4);
}
.btn.secondary{
	background:rgba(255,255,255,.1);
	color:var(--navy);
	border-color:rgba(15,23,42,.14);
	backdrop-filter:blur(10px);
}
.btn.secondary:hover{
	transform:translateY(-2px);
	border-color:rgba(109,40,217,.28);
	color:var(--violet);
}

.hero-shell{
	position:relative;
	min-height:100vh;
	padding:clamp(44px, 6vw, 72px) 0 clamp(48px, 5vw, 72px);
	background:
		linear-gradient(180deg, rgba(5,10,20,.82) 0%, rgba(8,16,30,.76) 55%, rgba(20,27,43,.58) 100%),
		linear-gradient(180deg, #09111f 0%, #0d1527 100%);
	color:#fff;
	overflow:clip;
	--parallax-media-shift:0px;
}
.hero-shell::before{
	content:'';
	position:absolute;
	inset:auto -10% -24% auto;
	width:44vw;
	height:44vw;
	border-radius:50%;
	background:radial-gradient(circle, rgba(109,40,217,.24), transparent 68%);
	filter:blur(10px);
	opacity:.8;
	pointer-events:none;
}
.hero-media{
	position:absolute;
	inset:0;
	overflow:hidden;
	transform:translate3d(0, var(--parallax-media-shift), 0);
	will-change:transform;
}
.hero-media-image{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	filter:saturate(.96) contrast(1.04) brightness(.68);
	transform:scale(1.04);
	animation:heroPhotoDrift 26s ease-in-out infinite;
}
.hero-media-wash{
	position:absolute;
	inset:0;
	background:
		linear-gradient(90deg, rgba(5,10,20,.62) 0%, rgba(5,10,20,.34) 42%, rgba(5,10,20,.08) 100%),
		linear-gradient(180deg, rgba(3,8,16,.02) 0%, rgba(3,8,16,.4) 100%),
		radial-gradient(circle at 78% 22%, rgba(34,211,238,.12), transparent 20%),
		radial-gradient(circle at 18% 18%, rgba(109,40,217,.14), transparent 22%);
}
.hero-grid{
	position:absolute;
	inset:0;
	background:
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size:56px 56px;
	opacity:.24;
}
.hero-orbit{
	position:absolute;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.12);
}
.hero-orbit-a{
	right:10%;
	top:16%;
	width:220px;
	height:220px;
	animation:heroOrbitRotate 26s linear infinite;
}
.hero-orbit-b{
	right:-4%;
	bottom:12%;
	width:360px;
	height:360px;
	border-color:rgba(34,211,238,.12);
	animation:heroOrbitRotateReverse 36s linear infinite;
}

.hero-layout{
	position:relative;
	z-index:1;
	display:block;
	min-height:calc(100vh - 240px);
	padding-top:clamp(64px, 10vw, 128px);
}
.hero-copy{
	max-width:780px;
}
.hero-eyebrow{color:#7dd3fc}
.hero-copy h1{
	color:#fff;
	max-width:10ch;
	text-shadow:0 6px 24px rgba(2,6,23,.3);
}
.hero-copy .btns{margin-top:24px}
.hero-copy .btn.secondary{
	background:rgba(5,10,20,.72);
	color:#fff;
	border-color:rgba(255,255,255,.22);
}
.hero-copy .btn.secondary:hover{
	color:#fff;
	border-color:rgba(34,211,238,.42);
}

.hero-fade{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:140px;
	background:linear-gradient(180deg, rgba(247,248,251,0) 0%, rgba(247,248,251,.98) 100%);
	pointer-events:none;
}

.chapter-head,
.section-head{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px 48px;
	flex-wrap:wrap;
	margin-bottom:38px;
}
.chapter-head > div:first-child,
.section-head > div:first-child{
	display:grid;
	gap:16px;
}
.chapter-head > div:first-child > *,
.section-head > div:first-child > *{
	margin:0;
}
.chapter-head h2{max-width:15ch}

.intro-section{
	background:
		radial-gradient(circle at left center, rgba(34,211,238,.025), transparent 28%),
		linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
}
.intro-list{
	display:grid;
	gap:0;
	border-top:1px solid rgba(15,23,42,.1);
	border-bottom:1px solid rgba(15,23,42,.1);
}
.intro-item{
	display:grid;
	grid-template-columns:56px minmax(0, 1fr);
	gap:18px;
	align-items:start;
	padding:18px 0;
	border-top:1px solid rgba(15,23,42,.08);
}
.intro-item:first-child{
	border-top:0;
}
.intro-index{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:999px;
	background:rgba(109,40,217,.08);
	color:var(--violet);
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.intro-item p{
	margin:0;
	max-width:42rem;
	font-size:1.02rem;
	line-height:1.5;
	color:var(--ink);
}

.services-section{
	background:
		linear-gradient(180deg, rgba(255,255,255,.3), rgba(255,255,255,.08)),
		radial-gradient(circle at right top, rgba(109,40,217,.06), transparent 30%);
}
.service-stack{
	display:grid;
	gap:22px;
}
.service-row{
	display:grid;
	grid-template-columns:84px minmax(0, 1.4fr) minmax(240px, .72fr);
	gap:24px;
	padding:28px 0;
	border-top:1px solid rgba(15,23,42,.1);
}
.service-row:last-child{
	border-bottom:1px solid rgba(15,23,42,.1);
}
.service-index{
	font-family:var(--font-display);
	font-size:clamp(1.8rem, 3vw, 2.4rem);
	line-height:1;
	color:rgba(109,40,217,.34);
}
.service-super{
	margin:0 0 10px;
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--muted);
}
.service-content{
	display:grid;
	gap:14px;
}
.service-content > *{
	margin:0;
}
.service-content h3{
	max-width:22ch;
}
.service-summary{
	max-width:36rem;
	font-size:1rem;
}
.service-content ul{
	padding-left:20px;
	color:var(--muted);
}
.service-content li{margin-bottom:8px}
.service-fit-box{
	padding:22px;
	border-radius:26px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.72)),
		radial-gradient(circle at top right, rgba(34,211,238,.08), transparent 34%);
	border:1px solid var(--border);
	box-shadow:var(--shadow-sm);
}
.service-fit-label{
	display:block;
	margin-bottom:10px;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--violet);
}
.service-fit-box p{margin:0; color:var(--ink)}
.service-mobile-fit{
	display:none;
	margin:0;
	font-size:.95rem;
	line-height:1.5;
	color:var(--ink);
}

.industries-section{
	background:
		linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.04)),
		radial-gradient(circle at left top, rgba(109,40,217,.05), transparent 24%);
}
.industries-layout{
	display:grid;
	grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
	gap:32px 40px;
	align-items:start;
}
.industries-intro{
	position:sticky;
	top:calc(var(--nav-height) + 28px);
	align-self:start;
	display:grid;
	gap:16px;
}
.industries-intro > *{margin:0}
.industries-intro h2{max-width:10ch}
.sector-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:18px;
}
.sector-card{
	position:relative;
	display:grid;
	gap:12px;
	padding:24px 0 0 24px;
	border-left:1px solid rgba(109,40,217,.18);
	min-height:180px;
	background:linear-gradient(90deg, rgba(109,40,217,.04), transparent 42%);
}
.sector-card > *{
	margin:0;
}
.sector-card::before{
	content:'';
	position:absolute;
	left:-1px;
	top:0;
	width:2px;
	height:72px;
	background:linear-gradient(180deg, var(--violet), var(--cyan));
	border-radius:999px;
}
.sector-card ul{
	margin:0;
	padding-left:18px;
	color:var(--muted);
}
.sector-card li{margin-bottom:8px}
.sector-eyebrow{
	display:inline-flex;
	margin-bottom:10px;
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--violet);
}

.case-studies-section{
	background:
		linear-gradient(180deg, rgba(11,17,31,.98), rgba(13,21,39,.96)),
		radial-gradient(circle at right top, rgba(109,40,217,.24), transparent 24%);
}
.case-studies-section::before{
	background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.08), rgba(255,255,255,0));
}
.case-studies-section h2,
.case-studies-section h3{color:#fff}
.case-studies-section .eyebrow{color:#7dd3fc}
.case-studies-section .kicker,
.case-studies-section p,
.case-studies-section li{color:rgba(248,250,252,.78)}

.featured-case{
	display:block;
	margin-top:12px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:38px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
		radial-gradient(circle at top right, rgba(34,211,238,.08), transparent 28%);
	box-shadow:var(--shadow-xl);
}
.featured-case-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px 24px;
	flex-wrap:wrap;
	margin-bottom:20px;
}
.featured-case-badge{
	padding:10px 14px;
	border-radius:999px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.16);
	font-size:.74rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:#fff;
	backdrop-filter:blur(12px);
}
.featured-case-signals{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.featured-case-signals span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:9px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.08);
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(248,250,252,.74);
}
.featured-case-body{
	padding:clamp(28px, 5vw, 46px);
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:18px;
}
.featured-case-lead{
	font-size:1.08rem;
	max-width:34rem;
	color:#fff;
}
.featured-case-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:18px 22px;
	margin-top:24px;
}
.featured-case-grid div{
	display:grid;
	gap:10px;
}
.featured-case-grid div > *{
	margin:0;
}
.case-study-type,
.case-detail-label{
	display:block;
	margin-bottom:10px;
	font-size:.74rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.case-study-type{color:#7dd3fc}
.case-detail-label{color:rgba(255,255,255,.58)}

.case-study-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	margin-top:22px;
}
.support-card{
	position:relative;
	display:grid;
	gap:14px;
	padding:24px;
	border-radius:30px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
		radial-gradient(circle at top right, rgba(109,40,217,.12), transparent 34%);
	border:1px solid rgba(255,255,255,.08);
	min-height:100%;
}
.support-card > *{
	margin:0;
}
.support-card ul{
	padding-left:20px;
}
.section-cta{margin-top:26px}
.case-studies-section .btn.secondary{
	background:transparent;
	color:#fff;
	border-color:rgba(255,255,255,.18);
}
.case-studies-section .btn.secondary:hover{
	color:#7dd3fc;
	border-color:#7dd3fc;
}

.founder-section{
	background:
		radial-gradient(circle at 14% 22%, rgba(34,211,238,.08), transparent 20%),
		linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.14));
}
.founder-layout{
	display:grid;
	grid-template-columns:minmax(320px, .95fr) minmax(0, 1.05fr);
	gap:28px;
	align-items:stretch;
}
.founder-visual{
	position:relative;
	min-height:560px;
	border-radius:38px;
	overflow:hidden;
	background:linear-gradient(145deg, rgba(9,17,31,.98), rgba(19,32,54,.94));
	box-shadow:var(--shadow-lg);
}
.founder-visual-art{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	filter:saturate(.96) brightness(.8);
}
.founder-visual-inner{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	padding:34px;
	z-index:1;
	display:grid;
	gap:14px;
	background:linear-gradient(180deg, rgba(5,10,20,0) 0%, rgba(5,10,20,.3) 18%, rgba(5,10,20,.78) 100%);
}
.founder-visual-inner > *{margin:0}
.founder-visual-eyebrow{color:#7dd3fc}
.founder-visual h2,
.founder-visual-tagline,
.founder-visual p{color:#fff}
.founder-visual-tagline{
	font-family:var(--font-display);
	font-size:clamp(2rem, 4vw, 3.5rem);
	line-height:.98;
	max-width:12ch;
	letter-spacing:-.03em;
	margin:0;
}
.founder-visual p{
	max-width:28rem;
	color:rgba(248,250,252,.8);
}

.founder-copy{
	padding:16px 0;
	display:grid;
	gap:18px;
}
.founder-copy > *{margin:0}
.founder-copy h2{max-width:12ch}

.trust-section{
	background:
		linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
		radial-gradient(circle at right center, rgba(109,40,217,.06), transparent 24%);
}
.trust-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:22px;
}
.trust-card{
	display:grid;
	gap:10px;
	padding-top:18px;
	border-top:1px solid rgba(15,23,42,.12);
}
.trust-card > *{margin:0}
.trust-card p{max-width:24rem}

.contact-section{
	padding-top:0;
}
.contact-band{
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(320px, .85fr);
	gap:24px 36px;
	align-items:start;
	padding:clamp(32px, 5vw, 48px);
	border-radius:38px;
	background:
		linear-gradient(135deg, #09101d 0%, #17103c 54%, #143650 100%),
		radial-gradient(circle at top right, rgba(34,211,238,.16), transparent 24%);
	border:1px solid rgba(255,255,255,.08);
	box-shadow:var(--shadow-xl);
	position:relative;
	overflow:hidden;
}
.contact-band::before{
	content:'';
	position:absolute;
	inset:auto -12% -46% auto;
	width:320px;
	height:320px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(109,40,217,.32), transparent 66%);
}
.contact-band h2,
.contact-band p,
.contact-band a{position:relative; z-index:1}
.contact-copy{
	display:grid;
	gap:18px;
}
.contact-band h2{color:#fff; max-width:10ch}
.contact-band .eyebrow{color:#7dd3fc}
.contact-band p{color:rgba(248,250,252,.84)}
.contact-band a{color:#7dd3fc}
.contact-band a:hover{color:#fff}
.contact-strong{color:#fff}
.contact-details p{
	margin-bottom:18px;
	padding-bottom:18px;
	border-bottom:1px solid rgba(255,255,255,.1);
}
.contact-details p:last-of-type{margin-bottom:22px}
.contact-actions .btn.primary{
	background:#fff;
	color:var(--navy);
	box-shadow:none;
}
.contact-actions .btn.primary:hover{
	background:#7dd3fc;
	color:var(--navy);
}
.contact-actions .btn.secondary{
	background:transparent;
	color:#fff;
	border-color:rgba(255,255,255,.18);
}
.contact-actions .btn.secondary:hover{
	border-color:#7dd3fc;
	color:#7dd3fc;
}

.footer{
	padding:44px 0 32px;
	background:
		linear-gradient(180deg, #09111f 0%, #0a1324 100%),
		radial-gradient(circle at top right, rgba(109,40,217,.18), transparent 20%);
	color:#fff;
}
.footer a{color:#7dd3fc}
.footer a:hover{color:#fff}
.footer-grid{
	display:grid;
	grid-template-columns:1fr auto auto;
	gap:28px 40px;
}
.footer-grid > div{
	min-width:0;
}
.footer-grid > div:first-child{
	display:grid;
	gap:10px;
}
.footer-brand{
	font-family:var(--font-display);
	font-size:1.2rem;
	font-weight:700;
	letter-spacing:.06em;
}
.footer-tag{
	margin-top:0;
	font-size:.96rem;
	color:rgba(248,250,252,.72);
}
.footer-col-title{
	margin-bottom:12px;
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:rgba(248,250,252,.56);
}
.footer-col{
	display:grid;
	align-content:start;
	gap:4px;
}
.footer-col a{
	display:block;
	padding:6px 0;
	color:rgba(248,250,252,.84);
	font-weight:500;
	overflow-wrap:anywhere;
	word-break:break-word;
}
.hr{
	height:1px;
	margin:28px 0 20px;
	border:none;
	background:rgba(248,250,252,.12);
}
.small{
	margin:0;
	font-size:.88rem;
	color:rgba(248,250,252,.6);
}

.brand-kit-page h1{
	font-size:clamp(1.9rem, 4vw, 3rem);
	max-width:none;
	color:var(--navy);
}
.brand-kit-page .page-intro{
	max-width:52rem;
	margin-bottom:28px;
}
.brand-kit-page .back-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-bottom:24px;
	font-weight:700;
}
.brand-kit-stack{margin-top:20px}
.grid-3{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
}
.prompt-card{margin-top:20px}
.prompt-card-title{margin-top:0; margin-bottom:8px}
.prompt-list{
	margin:0;
	padding-left:20px;
	color:var(--muted);
}
.brand-appendix .card{
	padding:24px;
	border-radius:26px;
	background:rgba(255,255,255,.82);
	border:1px solid var(--border);
	box-shadow:var(--shadow-sm);
}
.logo-system-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	align-items:stretch;
}
.export-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	align-items:stretch;
}
.logo-system-card{
	display:grid;
	grid-template-rows:auto minmax(0, 1fr) auto auto;
	gap:14px;
	height:100%;
}
.export-card{
	display:grid;
	grid-template-rows:minmax(7.5rem, auto) minmax(112px, 1fr) auto;
	gap:16px;
	height:100%;
}
.export-card-copy{
	display:flex;
	flex-direction:column;
	gap:10px;
}
.export-card-copy h3,
.export-card-copy p{
	margin:0;
}
.export-thumb{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:112px;
	padding:14px;
	border-radius:18px;
	border:1px solid var(--border);
	overflow:hidden;
}
.export-thumb-light{
	background:
		linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72)),
		radial-gradient(circle at top right, rgba(109,40,217,.06), transparent 34%);
}
.export-thumb-dark{
	background:
		linear-gradient(135deg, #09101d 0%, #17103c 54%, #143650 100%),
		radial-gradient(circle at top right, rgba(34,211,238,.12), transparent 26%);
}
.export-thumb img{
	display:block;
	max-width:100%;
	max-height:76px;
	width:auto;
	height:auto;
}
.logo-example-grid,
.application-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	align-items:stretch;
}
.logo-system-label{
	display:inline-flex;
	margin-bottom:14px;
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--violet);
}
.brand-specimen{
	margin:0;
}
.brand-specimen-surface{
	display:grid;
	place-items:center;
	min-height:220px;
	padding:24px;
	border-radius:22px;
	border:1px solid var(--border);
	background:
		linear-gradient(135deg, #09101d 0%, #17103c 54%, #143650 100%),
		radial-gradient(circle at top right, rgba(34,211,238,.14), transparent 24%);
	box-shadow:var(--shadow-sm);
}
.brand-mark-large{
	width:88px;
	height:88px;
	border-radius:24px;
}
.brand-mark-large svg,
.brand-mark-large .brand-mark-image{
	width:50px;
	height:50px;
}
.brand-specimen-lockup-surface{
	justify-items:start;
}
.brand-lockup-image{
	display:block;
	width:min(100%, 240px);
	height:auto;
}
.logo-example-card,
.application-card{
	display:grid;
	height:100%;
}
.logo-example-card{
	grid-template-rows:auto minmax(168px, 1fr) auto auto;
	gap:14px;
}
.application-card{
	grid-template-rows:auto minmax(168px, 1fr) auto;
	gap:14px;
}
.logo-example-badge,
.application-label{
	display:inline-flex;
	align-self:flex-start;
	padding:7px 11px;
	border-radius:999px;
	background:rgba(109,40,217,.08);
	color:var(--violet);
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.logo-example-figure,
.application-preview{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:168px;
	padding:18px;
	border-radius:20px;
	border:1px solid var(--border);
	overflow:hidden;
}
.logo-example-good,
.application-preview-light{
	background:
		linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.76)),
		radial-gradient(circle at top right, rgba(109,40,217,.08), transparent 34%);
}
.logo-example-dark,
.application-preview-dark,
.application-preview-tab{
	background:
		linear-gradient(135deg, #09101d 0%, #17103c 54%, #143650 100%),
		radial-gradient(circle at top right, rgba(34,211,238,.14), transparent 26%);
}
.logo-example-bad{
	background:
		linear-gradient(180deg, rgba(255,245,245,.96), rgba(255,255,255,.86)),
		radial-gradient(circle at top right, rgba(239,68,68,.1), transparent 34%);
}
.logo-example-mark img,
.application-lockup img,
.application-stacked img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
}
.logo-example-ghost{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:86px;
	border-radius:18px;
	border:1px dashed rgba(239,68,68,.3);
	background:rgba(255,255,255,.7);
	color:#b91c1c;
	font-family:var(--font-display);
	font-size:2rem;
	font-weight:700;
	letter-spacing:.24em;
}
.logo-example-stretched{
	transform:scaleX(1.22) scaleY(.88);
}
.application-preview{
	flex-direction:column;
	gap:14px;
}
.logo-example-card h3,
.logo-example-card p,
.application-card p{
	margin:0;
}
.application-header{
	align-self:stretch;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:rgba(248,250,252,.72);
}
.application-copy{
	max-width:15rem;
	text-align:center;
	font-size:.95rem;
	line-height:1.45;
	color:rgba(248,250,252,.82);
}
.application-stacked img{max-height:132px}
.browser-chip{
	display:grid;
	place-items:center;
	width:74px;
	height:74px;
	border-radius:18px;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.14);
}
.browser-chip img{
	width:42px;
	height:42px;
}
.browser-line{
	width:120px;
	height:8px;
	border-radius:999px;
	background:rgba(248,250,252,.2);
}
.browser-line-short{width:88px}
.brand-specimen-favicon-surface{
	background:
		linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.72)),
		radial-gradient(circle at top right, rgba(109,40,217,.08), transparent 34%);
}
.logo-favicon-preview{
	width:44px;
	height:44px;
	border-radius:12px;
	border:1px solid var(--border);
	background:#fff;
}
.logo-favicon-preview-large{
	width:82px;
	height:82px;
	border-radius:20px;
}
.export-links{
	display:flex;
	flex-wrap:wrap;
	gap:10px 14px;
}
.export-links a{
	font-weight:700;
}

.motion-ready [data-reveal]{
	opacity:0;
	filter:blur(3px);
	transform:translate3d(0, calc(18px + var(--scroll-parallax-y, 0px)), 0);
	transition:
		opacity .5s var(--ease),
		transform .65s var(--ease),
		filter .5s var(--ease);
	transition-delay:var(--reveal-delay, 0ms);
}
.motion-ready [data-reveal].is-visible{
	opacity:1;
	filter:blur(0);
	transform:translate3d(0, var(--scroll-parallax-y, 0px), 0);
}

.hover-card{
	transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .2s var(--ease);
	--tilt-x:0deg;
	--tilt-y:0deg;
}
.hover-card:hover{
	transform:translate3d(0, calc(var(--scroll-parallax-y, 0px) - 4px), 0) perspective(700px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
	box-shadow:var(--shadow-lg);
	will-change:transform;
}

@keyframes heroPhotoDrift{
	0%,100%{transform:scale(1.08) translate3d(0, 0, 0)}
	50%{transform:scale(1.12) translate3d(0, -12px, 0)}
}
@keyframes heroOrbitRotate{
	from{transform:rotate(0deg)}
	to{transform:rotate(360deg)}
}
@keyframes heroOrbitRotateReverse{
	from{transform:rotate(360deg)}
	to{transform:rotate(0deg)}
}

@media (max-width: 1100px){
	.hero-layout,
	.founder-layout,
	.contact-band{
		grid-template-columns:1fr;
	}
	.grid-3,
	.logo-system-grid,
	.export-grid,
	.logo-example-grid,
	.application-grid{
		grid-template-columns:1fr;
	}
	.industries-layout{
		grid-template-columns:1fr;
	}
	.industries-intro{
		position:relative;
		top:auto;
	}
	.service-row{
		grid-template-columns:72px minmax(0, 1fr);
	}
	.service-fit-box{
		grid-column:2;
	}
	.case-study-grid{
		grid-template-columns:1fr;
	}
}

@media (max-width: 900px){
	:root{--nav-height:60px}
	.nav{
		backdrop-filter:saturate(160%) blur(14px);
	}
	.nav-toggle{
		display:inline-flex;
		order:2;
		flex:0 0 auto;
	}
	.nav-current-section{
		display:block;
		order:1;
		flex:1 1 auto;
		min-width:0;
		margin-right:10px;
		max-width:none;
		overflow:hidden;
		text-overflow:ellipsis;
		text-align:right;
		transition:opacity .2s var(--ease);
	}
	.nav-actions{
		display:none;
	}
	.nav-inner{
		position:relative;
		flex-wrap:nowrap;
		padding:10px 0;
	}
	.brand{
		flex:0 1 auto;
		min-width:0;
	}
	.nav-links{
		display:none;
	}
	.mobile-menu{
		display:block;
		position:fixed;
		inset:0;
		z-index:70;
		opacity:0;
		pointer-events:none;
		transition:opacity .24s var(--ease);
	}
	.mobile-menu.is-open{
		opacity:1;
		pointer-events:auto;
	}
	.mobile-menu-backdrop{
		position:absolute;
		inset:0;
		border:0;
		padding:0;
		background:rgba(6,12,24,.48);
		backdrop-filter:blur(10px);
		cursor:pointer;
	}
	.mobile-menu-panel{
		position:absolute;
		inset:0;
		display:flex;
		flex-direction:column;
		padding:calc(18px + env(safe-area-inset-top, 0px)) 20px calc(28px + env(safe-area-inset-bottom, 0px));
		background:
			linear-gradient(180deg, rgba(10,18,33,.99), rgba(9,17,31,.975)),
			radial-gradient(circle at top right, rgba(34,211,238,.1), transparent 28%);
		color:#fff;
		transform:translateY(-10px);
		transition:transform .24s var(--ease);
		overflow-y:auto;
		overscroll-behavior:contain;
	}
	.mobile-menu.is-open .mobile-menu-panel{
		transform:translateY(0);
	}
	.mobile-menu-head{
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:18px;
		padding:10px 0 18px;
		border-bottom:1px solid rgba(255,255,255,.08);
	}
	.mobile-menu-head-copy{
		min-width:0;
	}
	.mobile-menu-head-row{
		display:flex;
		flex-direction:column;
		gap:6px;
	}
	.mobile-menu-title{
		font-size:clamp(1.85rem, 7vw, 2.4rem);
		line-height:1;
		color:#fff;
	}
	.mobile-menu-current{
		margin:0;
		font-size:.8rem;
		font-weight:700;
		letter-spacing:.12em;
		text-transform:uppercase;
		color:#7dd3fc;
		transition:opacity .2s var(--ease);
	}
	.mobile-menu-close{
		position:relative;
		flex:0 0 auto;
		width:44px;
		height:44px;
		border-radius:14px;
		border:1px solid rgba(255,255,255,.12);
		background:rgba(255,255,255,.06);
		box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
		cursor:pointer;
	}
	.mobile-menu-close span{
		position:absolute;
		top:50%;
		left:50%;
		width:18px;
		height:2px;
		border-radius:999px;
		background:#fff;
	}
	.mobile-menu-close span:first-child{
		transform:translate(-50%, -50%) rotate(45deg);
	}
	.mobile-menu-close span:last-child{
		transform:translate(-50%, -50%) rotate(-45deg);
	}
	.mobile-menu-links{
		display:flex;
		flex-direction:column;
		margin-top:18px;
	}
	.mobile-menu-links a{
		display:block;
		padding:18px 2px;
		border-top:1px solid rgba(255,255,255,.08);
		font-family:var(--font-display);
		font-size:clamp(1.35rem, 6vw, 1.8rem);
		line-height:1.05;
		letter-spacing:-.03em;
		color:rgba(241,245,249,.88);
	}
	.mobile-menu-links a:first-child{
		border-top:0;
	}
	.mobile-menu-links a.is-active{
		color:#fff;
		text-shadow:0 0 18px rgba(125,211,252,.2);
	}
	.mobile-menu-cta{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		margin-top:auto;
		padding:15px 18px;
		border-radius:999px;
		background:#fff;
		color:var(--navy);
		font-size:.94rem;
		font-weight:700;
		box-shadow:0 18px 34px rgba(2,6,23,.24);
	}
	.hero-layout{
		min-height:auto;
		padding-top:28px;
	}
	.hero-copy{
		max-width:680px;
	}
	.trust-grid,
	.sector-grid,
	.featured-case-grid,
	.footer-grid{
		grid-template-columns:1fr;
	}
	.support-card,
	.contact-band{
		padding-left:20px;
		padding-right:20px;
	}
	.section-head,
	.chapter-head{
		margin-bottom:24px;
	}
	.service-row{
		grid-template-columns:1fr;
		gap:14px;
		padding:22px 0;
	}
	.service-fit-box{
		grid-column:auto;
		padding:16px 18px;
		border-radius:20px;
	}
	.founder-visual{
		min-height:420px;
	}
}

@media (max-width: 700px){
	body{font-size:16px}
	:root{--nav-height:60px}
	.founder-visual{
		min-height:300px;
	}
	.founder-visual-inner{
		padding:22px;
	}
	h1{
		font-size:clamp(2.15rem, 11vw, 3rem);
		max-width:12ch;
	}
	h2{
		font-size:clamp(1.7rem, 7.8vw, 2.25rem);
		max-width:18ch;
	}
	.hero-shell{
		min-height:auto;
		padding:12px 0 30px;
	}
	.nav-inner{
		padding:8px 0;
	}
	.brand{
		font-size:.92rem;
		gap:9px;
	}
	.nav-current-section{
		font-size:.68rem;
		letter-spacing:.1em;
		margin-right:8px;
		max-width:none;
	}
	.brand-mark{
		width:32px;
		height:32px;
	}
	.nav-toggle{
		width:44px;
		height:44px;
		border-radius:13px;
	}
	.mobile-menu-panel{
		padding:calc(16px + env(safe-area-inset-top, 0px)) 18px calc(24px + env(safe-area-inset-bottom, 0px));
	}
	.mobile-menu-title{
		font-size:clamp(1.65rem, 8vw, 2rem);
	}
	.mobile-menu-links a{
		padding:16px 0;
		font-size:clamp(1.2rem, 6vw, 1.55rem);
	}
	.mobile-menu-cta{
		width:100%;
		margin-top:auto;
	}
	.hero-media-image{
		object-position:center;
		filter:saturate(.92) contrast(1.01) brightness(.62);
	}
	.hero-grid,
	.hero-orbit{
		display:none;
	}
	.btns,
	.contact-actions{
		flex-direction:column;
	}
	.btns .btn,
	.contact-actions .btn{
		width:100%;
	}
	.section{
		padding:46px 0;
	}
	.contact-section{
		padding-top:46px;
	}
	.hero-copy .btns{
		margin-top:16px;
	}
	.hero-fade{
		height:110px;
	}
	.chapter-head,
	.section-head{
		gap:14px 20px;
	}
	.kicker{
		font-size:.96rem;
	}
	.featured-case-body{
		padding:18px 16px;
	}
	.featured-case-top{
		margin-bottom:12px;
		align-items:flex-start;
	}
	.featured-case-signals{
		display:none;
	}
	.featured-case-lead{
		font-size:.98rem;
	}
	.featured-case-grid{
		grid-template-columns:1fr;
		gap:12px;
		margin-top:16px;
	}
	.featured-case-grid div{
		padding-top:12px;
		border-top:1px solid rgba(255,255,255,.08);
	}
	.featured-case{
		border-radius:24px;
	}
	.intro-item{
		grid-template-columns:44px minmax(0, 1fr);
		gap:14px;
	}
	.intro-item p{
		font-size:.96rem;
	}
	.service-content h3{
		margin-bottom:8px;
	}
	.service-summary{
		font-size:.96rem;
	}
	.service-content ul,
	.service-fit-box{
		display:none;
	}
	.service-mobile-fit{
		display:block;
		margin-top:2px;
		padding-top:12px;
		border-top:1px solid rgba(15,23,42,.08);
		font-size:.92rem;
	}
	.sector-grid .sector-card:nth-child(n+5){
		display:none;
	}
	.sector-grid{
		gap:14px;
	}
	.sector-card{
		min-height:auto;
		padding:16px 0 0 16px;
		background:linear-gradient(90deg, rgba(109,40,217,.035), transparent 58%);
	}
	.case-study-grid{
		gap:14px;
	}
	.support-card{
		padding:20px 18px;
	}
	.case-study-summary{
		font-size:.95rem;
	}
}

@media (prefers-reduced-motion: reduce){
	html{scroll-behavior:auto}
	.motion-ready [data-reveal]{
		opacity:1;
		filter:none;
		transform:none;
		transition:none;
	}
	.hero-media,
	.hero-media-image,
	.hero-orbit,
	.hover-card{
		transform:none;
		will-change:auto;
	}
	.hero-media-image,
	.hero-orbit-a,
	.hero-orbit-b{
		animation:none;
	}
	.mobile-menu,
	.mobile-menu-panel,
	.mobile-menu-current,
	.nav-current-section,
	.nav,
	.nav-progress-bar{
		transition:none;
	}
	.btn:hover,
	.nav-cta:hover,
	.hover-card:hover{
		transform:none;
	}
	a{
		transition:none;
	}
	.nav-links a::after{
		transition:none;
	}
}
