:root{
	--bg-deep: #050a14;
	--bg-raise: #0a1322;
	--accent: #2e8fff;
	--accent-soft: #0c4ea3;
	--accent-glow: rgba(90, 167, 255, .35);
	--text: #e6eef8;
	--text-dim: #9fb3cc;
	--scrim: rgba(5, 10, 20, .68);
	--line: rgba(90, 167, 255, .18);
	--light-bg: #f5f8fc;
	--light-surface: #ffffff;
	--light-text: #14202f;
	--light-text-dim: #44566c;
	--light-line: #d8e2ee;
	--font-sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--font-mono: "Cascadia Code", "IBM Plex Mono", Consolas, "Courier New", monospace;
	--w-content: 1180px;
	--w-narrow: 780px;
	--r-md: 10px;
	--r-lg: 16px;
	--header-h: 72px
}
*,*:before,*:after{
	box-sizing:border-box
}
*{
	margin:0
}
html{
	-webkit-text-size-adjust:100%
}
html.lenis,html.lenis body{
	height:auto
}
.lenis.lenis-smooth{
	scroll-behavior:auto!important
}
body{
	font-family:var(--font-sans);
	font-size:17px;
	line-height:1.65;
	color:var(--text);
	background:var(--bg-deep);
	-webkit-font-smoothing:antialiased
}
body.page-light{
	background:var(--light-bg);
	color:var(--light-text)
}
img,svg,canvas{
	display:block;
	max-width:100%
}
h1,h2,h3,h4{
	line-height:1.18;
	font-weight:700;
	letter-spacing:-.015em;
	text-wrap:balance
}
p{
	text-wrap:pretty
}
a{
	color:inherit
}
.container{
	width:min(var(--w-content),100% - 48px);
	margin-inline:auto
}
.container-narrow{
	width:min(var(--w-narrow),100% - 48px);
	margin-inline:auto
}
:focus-visible{
	outline:2px solid var(--accent);
	outline-offset:3px;
	border-radius:2px
}
.skip-link{
	position:absolute;
	left:-9999px;
	top:12px;
	z-index:200;
	padding:10px 18px;
	background:var(--accent);
	color:#04101f;
	font-weight:600;
	border-radius:var(--r-md);
	text-decoration:none
}
.skip-link:focus-visible{
	left:12px
}
.btn{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:13px 26px;
	border-radius:999px;
	font-weight:600;
	font-size:16px;
	text-decoration:none;
	border:1px solid transparent;
	cursor:pointer;
	transition:transform .18s ease,box-shadow .18s ease,background .18s ease
}
.btn:hover{
	transform:translateY(-2px)
}
.btn-primary{
	background:var(--accent);
	color: #fff;
}
.btn-primary:hover{
	box-shadow:0 6px 28px var(--accent-glow)
}
.btn-ghost{
	border-color:var(--line);
	color:var(--text)
}
.btn-ghost:hover{
	border-color:var(--accent)
}
body.page-light .btn-ghost{
	color:var(--light-text);
	border-color:var(--light-line)
}
.site-header{
	position:fixed;
	inset:0 0 auto;
	z-index:100;
	height:var(--header-h);
	transition:background .3s ease,box-shadow .3s ease
}
.site-header.is-scrolled{
	background:#050a14d1;
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	box-shadow:0 1px 0 var(--line)
}
body.page-light .site-header{
	position:sticky;
	background:#ffffffe0;
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	box-shadow:0 1px 0 var(--light-line)
}
.header-inner{
	width:min(var(--w-content),100% - 48px);
	margin-inline:auto;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px
}
.brand{
	font-size:24px;
	font-weight:800;
	letter-spacing:.04em;
	text-decoration:none;
	color:var(--text)
}
body.page-light .brand{
	color:var(--light-text)
}
.brand-dot{
	color:var(--accent)
}
.site-nav{
	display:flex;
	align-items:center;
	gap:28px
}
.site-nav>a{
	text-decoration:none;
	font-size:15.5px;
	font-weight:500;
	color:var(--text-dim);
	transition:color .15s ease;
}

.site-nav>a:hover {
    border-bottom: .3rem solid var(--accent);
}

site-nav>a[aria-current=page]{
	background-color:var(--accent);
	color: #fff;
}

body.page-light .site-nav>a{
	color:var(--light-text-dim);
}
body.page-light .site-nav>a[aria-current=page]{
	color: #fff;
}
.site-nav .nav-cta{
	color:#04101f;
	padding:10px 22px;
	font-size:15px
}
.badge-new{
	display:inline-block;
	margin-left:4px;
	padding:1px 8px;
	border-radius:999px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	background:var(--accent);
	color:#fff;
	vertical-align:2px
}
.nav-toggle{
	display:none;
	flex-direction:column;
	justify-content:center;
	gap:5px;
	width:44px;
	height:44px;
	padding:10px;
	background:none;
	border:0;
	cursor:pointer
}
.nav-toggle span{
	display:block;
	height:2px;
	background:var(--text);
	border-radius:2px;
	transition:transform .25s ease,opacity .25s ease
}
body.page-light .nav-toggle span{
	background:var(--light-text)
}
@media(max-width:920px){
	.nav-toggle{
		display:flex
	}
	.site-nav{
		position:fixed;
		inset:0;
		z-index:-1;
		flex-direction:column;
		justify-content:center;
		gap:30px;
		background:#050a14f7;
		opacity:0;
		pointer-events:none;
		transition:opacity .25s ease
	}
	.site-nav>a{
		font-size:24px;
		color:var(--text)
	}
	body.nav-open .site-nav{
		opacity:1;
		pointer-events:auto;
		z-index:99
	}
	body.nav-open .nav-toggle span:nth-child(1){
		transform:translateY(7px) rotate(45deg)
	}
	body.nav-open .nav-toggle span:nth-child(2){
		opacity:0
	}
	body.nav-open .nav-toggle span:nth-child(3){
		transform:translateY(-7px) rotate(-45deg)
	}
	body.nav-open{
		overflow:hidden
	}
}
.site-footer{
	position:relative;
	z-index:2;
	background:#030712;
	color:var(--text-dim);
	border-top:1px solid var(--line);
	padding:64px 0 32px;
	font-size:15px
}
.footer-grid{
	width:min(var(--w-content),100% - 48px);
	margin-inline:auto;
	display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr;
	gap:40px
}
@media(max-width:860px){
	.footer-grid{
		grid-template-columns:1fr 1fr
	}
}
@media(max-width:520px){
	.footer-grid{
		grid-template-columns:1fr
	}
}
.footer-brand{
	font-size:19px;
	font-weight:800;
	letter-spacing:.04em;
	color:var(--text);
	margin-bottom:14px
}
.site-footer h2{
	font-size:13px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.1em;
	color:var(--text);
	margin-bottom:14px
}
.site-footer ul{
	list-style:none;
	padding:0;
	display:grid;
	gap:9px
}
.site-footer a{
	color:var(--text-dim);
	text-decoration:none
}
.site-footer a:hover{
	color:var(--accent)
}
.site-footer address{
	font-style:normal;
	line-height:1.8
}
.footer-line{
	width:min(var(--w-content),100% - 48px);
	margin:48px auto 0;
	padding-top:24px;
	border-top:1px solid rgba(90,167,255,.1);
	font-size:13.5px;
	color:#5d7088
}
@media(prefers-reduced-motion:reduce){
	*,*:before,*:after{
		animation-duration:.01ms!important;
		transition-duration:.01ms!important;
		scroll-behavior:auto!important
	}
}
