:root{
	--navy:#154360;
	--navy-deep:#0d2c40;
	--teal-1:#EBF5FB;
	--teal-2:#D6EAF8;
	--teal-3:#AED6F1;
	--gold:#C9821A;
	--ink:#132433;
	--paper:#FAFBFC;
	--line:rgba(21,67,96,0.14);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	background:var(--paper);
	color:var(--ink);
	font-family:'Source Serif Pro', Georgia, 'Iowan Old Style', serif;
	line-height:1.6;
}
h1,h2,h3,.eyebrow,.stat-num,.logo{
	font-family:'Iowan Old Style','Source Serif Pro', Georgia, serif;
}
.mono{
	font-family:'IBM Plex Mono','Courier New',monospace;
	letter-spacing:0.03em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ---- NAV ---- */
header{
	position:sticky; top:0; z-index:50;
	background:rgba(250,251,252,0.92);
	backdrop-filter:blur(8px);
	border-bottom:1px solid var(--line);
}
nav{
	max-width:1180px; margin:0 auto;
	display:flex; align-items:center; justify-content:space-between;
	padding:18px 32px;
}
.logo{
	font-size:1.15rem; font-weight:700; color:var(--navy);
	letter-spacing:0.01em;
}
.logo span{color:var(--gold);}
.navlinks{display:flex; gap:34px; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; list-style:none;}
.navlinks a{color:var(--navy); opacity:0.75; transition:opacity .2s;}
.navlinks a:hover{opacity:1;}
.nav-cta{
	background:var(--navy); color:#fff; padding:10px 20px; border-radius:2px;
	font-family:'IBM Plex Mono',monospace; font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase;
}

/* ---- HERO ---- */
.hero{
	max-width:1180px; margin:0 auto;
	padding:88px 32px 60px;
	display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center;
}
.eyebrow{
	font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.14em;
	text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--gold); display:inline-block;}
.hero h1{
	font-size:3.1rem; line-height:1.08; color:var(--navy-deep); font-weight:600; letter-spacing:-0.01em;
}
.hero h1 em{font-style:italic; color:var(--gold);}
.hero p.lead{
	margin-top:24px; font-size:1.12rem; color:#3a5468; max-width:46ch;
}
.hero-actions{display:flex; gap:16px; margin-top:34px;}
.btn-primary{
	background:var(--navy); color:#fff; padding:14px 26px; border-radius:2px;
	font-family:'IBM Plex Mono',monospace; font-size:0.8rem; letter-spacing:0.05em; text-transform:uppercase;
	border:1px solid var(--navy); transition:all .2s;
}
.btn-primary:hover{background:var(--navy-deep);}
.btn-ghost{
	padding:14px 22px; border:1px solid var(--line); border-radius:2px;
	font-family:'IBM Plex Mono',monospace; font-size:0.8rem; letter-spacing:0.05em; text-transform:uppercase;
	color:var(--navy);
}

/* signature: live vitals monitor */
.monitor{
	background:var(--navy-deep);
	border-radius:6px;
	padding:26px 22px 20px;
	box-shadow:0 30px 60px -20px rgba(13,44,64,0.45);
	position:relative;
	overflow:hidden;
}
.monitor::before{
	content:'';
	position:absolute; inset:0;
	background:radial-gradient(circle at 80% 0%, rgba(201,130,26,0.10), transparent 55%);
}
.monitor-head{
	display:flex; justify-content:space-between; align-items:center;
	font-family:'IBM Plex Mono',monospace; color:var(--teal-3); font-size:0.7rem;
	letter-spacing:0.1em; text-transform:uppercase; margin-bottom:14px;
}
.dot{width:7px; height:7px; border-radius:50%; background:#4fd1a5; display:inline-block; margin-right:6px; box-shadow:0 0 8px #4fd1a5; animation:blink 1.6s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
.ecg-wrap{background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:4px; padding:6px 0; overflow:hidden;}
svg.ecg{width:200%; height:110px; display:block;}
.ecg-line{fill:none; stroke:#4fd1a5; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
	animation:scroll-ecg 6s linear infinite;}
@keyframes scroll-ecg{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.vitals-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px;}
.vital{border-top:1px solid rgba(255,255,255,0.1); padding-top:10px;}
.vital .num{font-family:'IBM Plex Mono',monospace; color:#fff; font-size:1.35rem; font-weight:600;}
.vital .label{font-family:'IBM Plex Mono',monospace; color:var(--teal-3); font-size:0.62rem; text-transform:uppercase; letter-spacing:0.08em; margin-top:3px;}
.vital .num small{font-size:0.65rem; color:var(--teal-3); margin-left:2px;}

/* ---- SECTION SHARED ---- */
section{padding:100px 32px;}
.inner{max-width:1180px; margin:0 auto;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:2.1rem; color:var(--navy-deep); font-weight:600; letter-spacing:-0.01em;}
.section-head p{margin-top:16px; color:#4a6273; font-size:1.02rem;}

/* ---- ABOUT / HOW IT WORKS ---- */
.how{background:var(--teal-1);}
.how-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.how-card{background:var(--paper); padding:34px 28px;}
.how-card .tag{font-family:'IBM Plex Mono',monospace; font-size:0.7rem; color:var(--gold); letter-spacing:0.1em; text-transform:uppercase;}
.how-card h3{margin-top:14px; font-size:1.2rem; color:var(--navy-deep);}
.how-card p{margin-top:10px; color:#4a6273; font-size:0.95rem;}

/* ---- VERTICALS ---- */
.verticals .inner{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
.vcard{
	border:1px solid var(--line); border-radius:6px; padding:40px 34px;
	position:relative; background:var(--paper);
}
.vcard.ilc{background:linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%); color:#fff;}
.vcard.ilc h3, .vcard.ilc .tag{color:#fff;}
.vcard.ilc p{color:var(--teal-2);}
.vcard .tag{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold);}
.vcard h3{margin-top:14px; font-size:1.55rem; color:var(--navy-deep);}
.vcard p{margin-top:14px; color:#4a6273; font-size:0.98rem;}
.vcard ul{margin-top:20px; display:flex; flex-direction:column; gap:10px;}
.vcard li{font-size:0.9rem; padding-left:18px; position:relative; list-style:none;}
.vcard li::before{content:'\2022'; position:absolute; left:0; color:var(--gold);}
.vlink{
	display:inline-block; margin-top:26px; font-family:'IBM Plex Mono',monospace; font-size:0.8rem;
	letter-spacing:0.04em; color:var(--gold); border-bottom:1px solid var(--gold); padding-bottom:2px;
	transition:opacity .2s;
}
.vlink:hover{opacity:0.7;}
.vcard.ilc .vlink{color:var(--teal-3); border-bottom-color:var(--teal-3);}
.vcard.ilc li::before{color:var(--gold);}

/* ---- FOUNDER / INVESTOR ---- */
.founder{background:var(--navy-deep); color:#fff;}
.founder .inner{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center;}
.founder-photo{
	aspect-ratio:4/5; border-radius:6px;
	background:linear-gradient(150deg, var(--navy) 0%, #0a2033 100%);
	display:flex; align-items:center; justify-content:center;
	font-family:'IBM Plex Mono',monospace; color:var(--teal-3); font-size:0.75rem; letter-spacing:0.08em;
	border:1px solid rgba(255,255,255,0.08);
	text-align:center;
}
.founder .eyebrow{color:var(--gold);}
.founder h2{font-size:1.9rem; color:#fff; font-weight:600;}
.founder p.role{font-family:'IBM Plex Mono',monospace; color:var(--teal-3); font-size:0.85rem; margin-top:8px; letter-spacing:0.03em;}
.founder p.bio{margin-top:22px; color:#cfe0ea; max-width:56ch; font-size:1.02rem;}
.credentials{display:flex; gap:28px; margin-top:30px; flex-wrap:wrap;}
.cred{border-left:2px solid var(--gold); padding-left:14px;}
.cred .n{font-family:'IBM Plex Mono',monospace; font-size:1.4rem; color:#fff;}
.cred .l{font-family:'IBM Plex Mono',monospace; font-size:0.65rem; color:var(--teal-3); text-transform:uppercase; letter-spacing:0.08em; margin-top:2px;}

/* ---- CONTACT ---- */
.contact .inner{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
.contact h2{font-size:2.1rem; color:var(--navy-deep); font-weight:600;}
.contact p{margin-top:16px; color:#4a6273; max-width:46ch;}
.contact-list{margin-top:32px; display:flex; flex-direction:column; gap:18px;}
.contact-list div{border-bottom:1px solid var(--line); padding-bottom:14px;}
.contact-list .l{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--gold);}
.contact-list .v{margin-top:5px; font-size:1.02rem; color:var(--navy-deep);}
.form{background:var(--teal-1); border:1px solid var(--line); border-radius:6px; padding:34px;}
.form label{display:block; font-family:'IBM Plex Mono',monospace; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--navy); margin-bottom:6px; margin-top:18px;}
.form label:first-child{margin-top:0;}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form textarea{
	width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:3px;
	font-family:'Source Serif Pro',Georgia,serif; font-size:0.98rem; background:#fff; color:var(--ink);
}
.form textarea{min-height:90px; resize:vertical;}
.form input[type="submit"],
.form button{
	margin-top:24px; width:100%; background:var(--navy); color:#fff; padding:14px; border:none; border-radius:3px;
	font-family:'IBM Plex Mono',monospace; font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer;
	transition:background .2s;
}
.form input[type="submit"]:hover,
.form button:hover{background:var(--navy-deep);}

footer{
	border-top:1px solid var(--line); padding:34px 32px; text-align:center;
	font-family:'IBM Plex Mono',monospace; font-size:0.75rem; color:#5c7688;
}
footer .inner{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; color:#5c7688;}

@media (max-width:900px){
	.hero{grid-template-columns:1fr; padding-top:56px;}
	.how-grid{grid-template-columns:1fr;}
	.verticals .inner{grid-template-columns:1fr;}
	.founder .inner{grid-template-columns:1fr;}
	.founder-photo{aspect-ratio:16/9;}
	.contact .inner{grid-template-columns:1fr;}
	.navlinks{display:none;}
	.hero h1{font-size:2.3rem;}
}
