:root{
	--bg:#050505;
	--bg-soft:#0d0d0f;
	--panel:#121215;
	--line:rgba(255,255,255,.08);
	--text:#f5f5f5;
	--muted:#b7bcc7;
	--accent:#65d37a;
	--accent-2:#94f0a6;
	--shadow:0 24px 70px rgba(0,0,0,.45);
	--radius:26px;
	--max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background-color:#000000;}
body{
	margin:0;
	background:
		radial-gradient(circle at top center, rgba(101,211,122,.12), transparent 24%),
		linear-gradient(180deg,#050505 0%,#09090a 60%,#050505 100%);
	color:var(--text);
	font-family:Inter,system-ui,sans-serif;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.site-shell{min-height:100vh}
.topbar{
	max-width:var(--max);
	margin:0 auto;
	padding:24px 20px 0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
}
.brand-logo{width:min(44vw,340px);height:auto}
.nav{
	display:flex;
	gap:30px;
	font-weight:600;
	color:var(--muted);
}
.nav a{position:relative}
.nav a::after{
	content:"";
	position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--accent);
	transition:width .24s ease;
}
.nav a:hover::after{width:100%}

.hero{
	max-width:var(--max);
	margin:0 auto;
	padding:38px 20px 54px;
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:40px;
	align-items:center;
}
.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:10px 14px;
	border:1px solid var(--line);
	border-radius:999px;
	color:var(--accent-2);
	font-size:.82rem;
	font-weight:800;
	letter-spacing:.22em;
}
h1,h2{
	font-family:Manrope, Inter, sans-serif;
	text-transform:uppercase;
	letter-spacing:.02em;
	line-height:.95;
	margin:18px 0 14px;
}
h1{font-size:clamp(3.1rem,6vw,6.6rem)}
h2{font-size:clamp(2.1rem,3vw,3.4rem)}
.hero-text{
	max-width:650px;
	font-size:1.1rem;
	line-height:1.7;
	color:var(--muted);
}
.hero-actions{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin:28px 0 16px;
}
.btn{
	min-height:54px;
	padding:0 24px;
	border-radius:14px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-weight:800;
	letter-spacing:.03em;
	transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
	background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
	color:#041107;
	box-shadow:0 18px 35px rgba(101,211,122,.22);
}
.btn-secondary{
	border:1px solid var(--line);
	color:var(--text);
	background:rgba(255,255,255,.02);
}
.microcopy{color:#9096a2;font-size:.95rem}

.hero-visual{position:relative}
.visual-frame{
	position:relative;
	min-height:560px;
	border-radius:34px;
	overflow:hidden;
	/*background:
		linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
		linear-gradient(180deg, #0c0d0f 0%, #050505 100%);*/
	border:5px solid var(--line);
	box-shadow:var(--shadow);
}
.glow{
	position:absolute;border-radius:50%;filter:blur(36px);opacity:.75;pointer-events:none
}
.glow-1{width:200px;height:200px;background:rgba(101,211,122,.28);top:4%;right:6%}
.glow-2{width:260px;height:260px;background:rgba(101,211,122,.16);bottom:8%;left:4%}
.teaser-image{
	position:absolute;inset:0;
	width:100%;height:100%;
	object-fit:cover;
	/*opacity:.78;*/
	/*mix-blend-mode:screen;*/
}
.visual-frame::after{
	content:"";
	position:absolute; inset:0;
	/*background:
		linear-gradient(180deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.1) 36%, rgba(0,0,0,.74) 100%); */
}
.visual-caption{
	position:absolute;left:22px;right:22px;bottom:20px;z-index:2;
	display:flex;flex-wrap:wrap;gap:10px;
}
.visual-caption span{
	padding:10px 12px;
	border-radius:999px;
	background:rgba(0,0,0,.46);
	border:1px solid rgba(255,255,255,.09);
	color:#eef8ef;
	font-size:.82rem;
	font-weight:700;
	letter-spacing:.06em;
}

.strip{
	max-width:var(--max);
	margin:0 auto;
	padding:16px 20px 0;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
}
.strip div{
	border:1px solid var(--line);
	border-radius:18px;
	padding:16px 18px;
	background:rgba(255,255,255,.025);
	color:#e6eaf0;
	font-weight:700;
	text-align:center;
}

.content-grid{
	max-width:var(--max);
	margin:0 auto;
	padding:26px 20px 0;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
}
.panel{
	border-radius:var(--radius);
	padding:34px;
	border:1px solid var(--line);
	box-shadow:var(--shadow);
}
.panel-dark{background:linear-gradient(180deg,#0d0d10,#0b0b0c)}
.panel-light{
	background:linear-gradient(180deg,#f7f7f8,#ededf1);
	color:#111319;
}
.panel p, .feature-list{font-size:1.04rem;line-height:1.75}
.panel-label{
	color:#d9dde5;
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.24em;
}
.panel-light .panel-label{color:#414754}
.panel-label.accent{color:#106921}
.feature-list{padding-left:1.2rem;margin:0}
.feature-list li+li{margin-top:.6rem}

.waitlist-section{
	max-width:var(--max);
	margin:0 auto;
	padding:24px 20px 64px;
}
.waitlist-card{
	position:relative;
	overflow:hidden;
	border-radius:34px;
	padding:42px;
	background:
		radial-gradient(circle at top left, rgba(101,211,122,.16), transparent 22%),
		linear-gradient(180deg,#0f1012 0%,#09090a 100%);
	border:1px solid var(--line);
	box-shadow:var(--shadow);
}
.waitlist-card::before{
	content:"";
	position:absolute;inset:auto -80px -120px auto;width:220px;height:220px;
	background:rgba(101,211,122,.09);filter:blur(40px);border-radius:50%;
}
.waitlist-card p{max-width:720px;color:var(--muted);font-size:1.04rem;line-height:1.75}
.waitlist-form{
	position:relative;z-index:1;
	display:grid;
	grid-template-columns:1fr auto;
	gap:12px;
	margin-top:22px;
}
.waitlist-form input{
	min-height:58px;
	border-radius:14px;
	border:1px solid rgba(255,255,255,.1);
	background:#0a0b0c;
	color:#fff;
	font:600 1rem Inter,sans-serif;
	padding:0 18px;
	outline:none;
}
.waitlist-form input::placeholder{color:#8d93a0}
.waitlist-form input:focus{
	border-color:rgba(101,211,122,.45);
	box-shadow:0 0 0 4px rgba(101,211,122,.12);
}
.waitlist-form button{
	min-height:58px;
	border:none;
	padding:0 22px;
	border-radius:14px;
	background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
	color:#041107;
	font:800 1rem Inter,sans-serif;
	cursor:pointer;
}
.form-message{
	min-height:24px;
	margin-top:14px;
	font-weight:700;
}
.form-note{font-size:.9rem;color:#8b91a0}
.footer{
	max-width:var(--max);
	margin:0 auto;
	padding:0 20px 36px;
	text-align:center;
	color:#8f95a1;
}
.footer-logo{width:min(38vw,280px);margin:0 auto 14px}
.sr-only{
	position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

@media (max-width: 980px){
	.topbar{flex-direction:column;align-items:flex-start}
	.nav{gap:18px;flex-wrap:wrap}
	.hero{grid-template-columns:1fr}
	.visual-frame{min-height:520px}
	.strip{grid-template-columns:repeat(2,1fr)}
	.content-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
	.brand-logo{width:min(82vw,320px)}
	.hero{padding-top:18px}
	.strip{grid-template-columns:1fr}
	.waitlist-card,.panel{padding:24px}
	.waitlist-form{grid-template-columns:1fr}
	h1{font-size:clamp(2.4rem,13vw,4.2rem)}
	h2{font-size:clamp(1.8rem,10vw,2.6rem)}
}
