:root{
  --navy-950:#060A13;
  --navy-900:#0B1220;
  --navy-800:#121B2E;
  --navy-700:#1B2740;
  --silver-100:#EDEFF3;
  --silver-300:#C7CEDB;
  --slate-400:#7C879B;
  --slate-500:#5B6578;
  --blue-400:#6E93FF;
  --blue-500:#4C7EFF;
  --brass-400:#D4AD73;
  --brass-500:#C89B5C;
  --paper-50:#F6F3EC;
  --paper-100:#EFE9DC;
  --ok:#7CBE8C;
  --err:#C97C6C;
  --max:1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--navy-900);
  color:var(--silver-100);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Fraunces',serif;
  font-weight:500;
  letter-spacing:-0.01em;
  color:var(--silver-100);
}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass-400);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";
  width:18px; height:1px;
  background:var(--brass-400);
  display:inline-block;
}
section{padding:120px 0;}
@media(max-width:720px){ section{padding:76px 0;} .wrap{padding:0 22px;} }

/* ---------- NAV ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(6,10,19,0.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
nav.wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{display:flex; align-items:center; gap:12px; font-weight:600; font-size:17px; letter-spacing:0.01em;}
.brand .mark{width:26px; height:26px; flex-shrink:0;}
.brand b{font-weight:600;}
.brand b span{color:var(--blue-400);}
.navlinks{display:flex; gap:36px; font-size:14.5px; color:var(--slate-400);}
.navlinks a{transition:color .2s;}
.navlinks a:hover{color:var(--silver-100);}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 22px;
  border-radius:3px;
  font-size:14px; font-weight:500;
  font-family:'Inter',sans-serif;
  cursor:pointer;
  border:1px solid transparent;
  transition:all .2s ease;
}
.btn-primary{background:var(--blue-500); color:#fff;}
.btn-primary:hover{background:var(--blue-400); transform:translateY(-1px);}
.btn-ghost{border-color:rgba(255,255,255,0.18); color:var(--silver-100);}
.btn-ghost:hover{border-color:rgba(255,255,255,0.4);}
.navcta{display:flex; align-items:center; gap:18px;}
@media(max-width:900px){ .navlinks{display:none;} }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:220px 0 120px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 900px 500px at 18% 0%, rgba(76,126,255,0.16), transparent 60%),
    radial-gradient(ellipse 700px 600px at 100% 30%, rgba(200,155,92,0.08), transparent 55%),
    var(--navy-950);
}
.starfield{position:absolute; inset:0; pointer-events:none; opacity:0.6;}
.starfield span{position:absolute; width:2px; height:2px; background:var(--silver-300); border-radius:50%; opacity:0.5;}
.hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center; position:relative; z-index:2;}
@media(max-width:900px){ .hero-grid{grid-template-columns:1fr;} .hero-compass-wrap{order:-1; margin-bottom:20px;} }
.hero h1{font-size:clamp(36px,5vw,58px); line-height:1.08; margin-bottom:24px;}
.hero h1 em{font-style:normal; color:transparent; -webkit-text-stroke:1px var(--blue-400);}
.hero p.lede{font-size:18.5px; color:var(--slate-400); max-width:520px; margin-bottom:36px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; align-items:center;}
.hero-ctas .subtle-link{font-size:13.5px; color:var(--slate-400); border-bottom:1px solid rgba(124,135,155,0.4);}
.btn-lg{padding:14px 26px; font-size:15px;}
.hero-compass-wrap{display:flex; align-items:center; justify-content:center; position:relative;}
.compass-orbit{width:100%; max-width:380px; aspect-ratio:1; position:relative;}
.compass-ring{position:absolute; inset:0; border:1px solid rgba(199,206,219,0.18); border-radius:50%;}
.compass-ring.r2{inset:14%; border-color:rgba(199,206,219,0.1);}
.compass-star{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; animation:spin 60s linear infinite;}
@keyframes spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .compass-star{animation:none;} }
.compass-glow{position:absolute; inset:20%; border-radius:50%; background:radial-gradient(circle, rgba(76,126,255,0.22), transparent 70%); filter:blur(6px);}

/* ---------- TICKER ---------- */
.ticker-strip{border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); background:var(--navy-950); overflow:hidden; padding:16px 0;}
.ticker-track{display:flex; gap:48px; white-space:nowrap; animation:ticker 32s linear infinite; width:max-content;}
@media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }
@keyframes ticker{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.ticker-track span{font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.1em; color:var(--slate-400); text-transform:uppercase; display:flex; align-items:center; gap:48px;}
.ticker-track span.dot::before{content:"◆"; color:var(--brass-500); margin-right:48px; font-size:8px;}

/* ---------- SPLIT / COMPARISON ---------- */
.split{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:center;}
@media(max-width:900px){ .split{grid-template-columns:1fr;} }
.split h2{font-size:clamp(28px,3.4vw,38px); margin-bottom:20px; line-height:1.15;}
.split p.body{color:var(--slate-400); font-size:16px; max-width:440px;}
.tag-stage{position:relative;}
.tag{position:relative; background:var(--navy-800); border:1px solid rgba(255,255,255,0.08); border-radius:6px; padding:26px 26px 22px; transition:opacity .4s ease;}
.tag-header{display:flex; justify-content:space-between; align-items:center; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px;}
.tag.raw .tag-header{color:var(--err);}
.tag.ready .tag-header{color:var(--ok);}
.tag-photo{height:170px; border-radius:4px; margin-bottom:16px; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:12px; text-align:center; padding:0 20px;}
.tag.raw .tag-photo{background:repeating-linear-gradient(45deg, #1A2338, #1A2338 10px, #182035 10px, #182035 20px); color:var(--slate-500); border:1px dashed rgba(255,255,255,0.14);}
.tag.ready .tag-photo{background:linear-gradient(160deg, var(--paper-100), var(--paper-50)); color:var(--slate-500);}
.tag-title{font-family:'Fraunces',serif; font-size:19px; margin-bottom:8px; color:var(--silver-100);}
.tag.raw .tag-title{color:var(--slate-400); font-style:italic; font-weight:400; font-size:16px;}
.tag-desc{font-size:13.5px; color:var(--slate-500); margin-bottom:14px;}
.tag-foot{display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px dashed rgba(255,255,255,0.1); font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--slate-400);}
.tag.ready .tag-foot{color:var(--brass-400);}
.compare-toggle{display:flex; margin-bottom:22px; border:1px solid rgba(255,255,255,0.14); border-radius:4px; width:fit-content; overflow:hidden;}
.compare-toggle button{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; padding:10px 18px; background:transparent; color:var(--slate-400); border:none; cursor:pointer; transition:all .2s;}
.compare-toggle button.active{background:var(--blue-500); color:#fff;}
.tag-hidden{display:none;}

/* ---------- STAT BANNER ---------- */
.stat-banner{background:var(--navy-950); border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); padding:64px 0;}
.stat-row{display:flex; align-items:center; justify-content:center; gap:34px; flex-wrap:wrap; text-align:center;}
.stat-block .num{font-family:'Fraunces',serif; font-size:clamp(36px,6vw,64px); line-height:1;}
.stat-block .lbl{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--slate-400); margin-top:10px;}
.stat-block.before .num{color:var(--slate-400);}
.stat-block.after .num{color:var(--blue-400);}
.stat-arrow{font-size:28px; color:var(--brass-400);}
.stat-note{text-align:center; font-size:13px; color:var(--slate-500); max-width:480px; margin:22px auto 0;}

/* ---------- WORKFLOW DIAGRAM ---------- */
.flow-head{max-width:640px; margin-bottom:56px;}
.flow-head h2{font-size:clamp(28px,3.4vw,40px); margin-bottom:16px;}
.flow-head p{color:var(--slate-400); font-size:16.5px;}
.flow-row{display:flex; align-items:flex-start; position:relative;}
.flow-row::before{content:""; position:absolute; top:19px; left:0; right:0; height:1px; background:rgba(255,255,255,0.12);}
.flow-step{flex:1; text-align:center; position:relative; padding:0 6px;}
.flow-dot{width:38px; height:38px; border-radius:50%; background:var(--navy-800); border:1px solid rgba(255,255,255,0.16); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; position:relative; z-index:2; font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--brass-400);}
.flow-step h4{font-size:14.5px; font-weight:600; font-family:'Inter',sans-serif; margin-bottom:8px; color:var(--silver-100);}
.flow-step p{font-size:12.5px; color:var(--slate-500); line-height:1.5;}
@media(max-width:920px){
  .flow-row{flex-direction:column; gap:26px;}
  .flow-row::before{left:19px; top:0; bottom:0; right:auto; width:1px; height:100%;}
  .flow-step{display:flex; align-items:flex-start; gap:18px; text-align:left; padding:0;}
  .flow-dot{margin:0; flex-shrink:0;}
}

/* ---------- PRODUCT SCREENS ---------- */
.screens-note{font-size:13px; color:var(--slate-500); margin-bottom:44px; max-width:560px;}
.screens-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media(max-width:960px){ .screens-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .screens-grid{grid-template-columns:1fr;} }
.screen-card{background:var(--navy-800); border:1px solid rgba(255,255,255,0.08); border-radius:8px; overflow:hidden;}
.screen-chrome{display:flex; align-items:center; gap:6px; padding:11px 14px; border-bottom:1px solid rgba(255,255,255,0.08);}
.screen-chrome span{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.14);}
.screen-body{height:150px; position:relative; background:linear-gradient(160deg, var(--navy-700), var(--navy-800)); display:flex; align-items:center; justify-content:center;}
.screen-badge{position:absolute; top:10px; right:10px; font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--slate-500); border:1px solid rgba(255,255,255,0.12); padding:3px 8px; border-radius:100px;}
.screen-wire{opacity:0.5;}
.screen-caption{padding:16px 18px 20px;}
.screen-caption h4{font-size:15px; font-weight:600; font-family:'Inter',sans-serif; margin-bottom:6px;}
.screen-caption p{font-size:13px; color:var(--slate-500); line-height:1.5;}

/* ---------- INTEGRATION ---------- */
.integrate{background:var(--navy-950); border-top:1px solid rgba(255,255,255,0.06); border-bottom:1px solid rgba(255,255,255,0.06);}
.integrate-inner{text-align:center; max-width:680px; margin:0 auto;}
.integrate h2{font-size:clamp(26px,3.2vw,36px); margin-bottom:18px;}
.integrate p{color:var(--slate-400); font-size:16.5px; margin-bottom:36px;}
.chip-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.chip{font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.05em; border:1px solid rgba(255,255,255,0.14); color:var(--silver-300); padding:10px 18px; border-radius:100px;}
.integrate-fine{font-size:12.5px; color:var(--slate-500); margin-top:26px;}

/* ---------- WHO IT'S FOR ---------- */
.who-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.08); border-radius:8px; overflow:hidden;}
@media(max-width:860px){ .who-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .who-grid{grid-template-columns:1fr;} }
.who-card{background:var(--navy-900); padding:34px 28px;}
.who-card h4{font-size:17px; font-weight:600; font-family:'Inter',sans-serif; margin-bottom:10px;}
.who-card p{font-size:14px; color:var(--slate-400); line-height:1.55;}

/* ---------- PILOT FORM ---------- */
.pilot-wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start;}
@media(max-width:900px){ .pilot-wrap{grid-template-columns:1fr;} }
.pilot-wrap h2{font-size:clamp(28px,3.6vw,42px); margin-bottom:18px; line-height:1.15;}
.pilot-wrap p.body{color:var(--slate-400); font-size:16px; max-width:420px; margin-bottom:26px;}
.pilot-alt{font-size:13.5px; color:var(--slate-500);}
.pilot-alt a{color:var(--blue-400); border-bottom:1px solid rgba(110,147,255,0.4);}
.pilot-form{background:var(--navy-800); border:1px solid rgba(255,255,255,0.08); border-radius:10px; padding:34px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
@media(max-width:560px){ .form-row{grid-template-columns:1fr;} }
.field{display:flex; flex-direction:column; gap:7px; margin-bottom:16px;}
.field label{font-size:12.5px; color:var(--slate-400); font-family:'IBM Plex Mono',monospace; letter-spacing:0.03em;}
.field input, .field select, .field textarea{
  background:var(--navy-950); border:1px solid rgba(255,255,255,0.14); border-radius:4px;
  padding:11px 13px; color:var(--silver-100); font-family:'Inter',sans-serif; font-size:14.5px;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--blue-400); outline-offset:1px; border-color:transparent;}
.field textarea{resize:vertical; min-height:80px;}
.pilot-form .btn{width:100%; justify-content:center; padding:13px; font-size:14.5px; margin-top:6px;}
.form-fine{font-size:11.5px; color:var(--slate-500); margin-top:14px; text-align:center;}
.form-success{display:none; text-align:center; padding:20px; font-size:14px; color:var(--ok);}

/* ---------- COMPANY / FOUNDER ---------- */
.company-wrap{display:grid; grid-template-columns:1fr; gap:48px;}
.company-top{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start;}
@media(max-width:900px){ .company-top{grid-template-columns:1fr;} }
.company-top h2{font-size:clamp(28px,3.4vw,38px); margin-bottom:16px; line-height:1.15;}
.company-top p.body{color:var(--slate-400); font-size:16px;}
.ledger{background:var(--navy-800); border:1px solid rgba(255,255,255,0.08); border-radius:8px; padding:8px 0;}
.ledger-row{display:flex; align-items:center; gap:16px; padding:16px 26px; border-bottom:1px solid rgba(255,255,255,0.06); font-size:14.5px;}
.ledger-row:last-child{border-bottom:none;}
.ledger-row .stamp{width:8px; height:8px; border-radius:50%; background:var(--ok); flex-shrink:0;}
.story-block{border-top:1px solid rgba(255,255,255,0.08); padding-top:44px; display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:flex-start;}
@media(max-width:560px){ .story-block{grid-template-columns:1fr;} }
.story-avatar{width:56px; height:56px; border-radius:50%; background:linear-gradient(160deg, var(--blue-500), var(--navy-700)); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:20px; flex-shrink:0;}
.story-text p{color:var(--slate-400); font-size:15.5px; line-height:1.7; margin-bottom:14px; max-width:640px;}
.story-sig{font-size:14px; color:var(--silver-300);}
.story-sig b{color:var(--silver-100);}
.story-sig .role{color:var(--slate-500); font-size:13px; display:block; margin-top:2px;}

/* ---------- SIMPLE PAGE (legal/investor header) ---------- */
.page-hero{padding:170px 0 60px; background:var(--navy-950); border-bottom:1px solid rgba(255,255,255,0.08);}
.page-hero .eyebrow{margin-bottom:14px;}
.page-hero h1{font-size:clamp(30px,4.4vw,46px); line-height:1.12;}
.page-hero p{color:var(--slate-400); font-size:16.5px; max-width:560px; margin-top:16px;}
.legal-body{padding:70px 0 100px; max-width:760px; margin:0 auto;}
.legal-body h2{font-size:20px; margin:36px 0 12px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{color:var(--slate-400); font-size:15px; margin-bottom:14px;}
.legal-body ul{color:var(--slate-400); font-size:15px; margin:0 0 14px 20px;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid rgba(255,255,255,0.08); padding:56px 0;}
.footer-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:36px; margin-bottom:36px;}
.footer-cols{display:flex; gap:56px; flex-wrap:wrap;}
.footer-col h5{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--slate-500); margin-bottom:14px;}
.footer-col a, .footer-col span{display:block; font-size:13.5px; color:var(--slate-400); margin-bottom:10px;}
.footer-col a:hover{color:var(--silver-100);}
.footer-col span.disabled{color:var(--slate-500); opacity:0.6;}
.footer-fine{padding-top:24px; border-top:1px solid rgba(255,255,255,0.06); font-size:12.5px; color:var(--slate-500); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

:focus-visible{outline:2px solid var(--blue-400); outline-offset:3px;}
