@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Geist-Regular.woff2) format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Geist-Medium.woff2) format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Geist-SemiBold.woff2) format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Geist-Bold.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/GeistMono-Medium.woff2) format('woff2')}


:root{
  --bg:#080A09; --bg-2:#0E1211; --bg-3:#141917;
  --ink:#F4F7F5; --ink-2:#9BA39E; --ink-3:#69716C;
  --rule:#1C211F; --rule-2:#2A312D;
  --green:#00C46A; --green-ink:#3FE195; --green-dim:#0C2A1B;
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(1.25rem,5vw,4rem); --maxw:1120px;
}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --bg:#FFFFFF; --bg-2:#FAFBFA; --bg-3:#F2F5F3;
  --ink:#0A0D0B; --ink-2:#494F4B; --ink-3:#7D847F;
  --rule:#E4E8E5; --rule-2:#D2D8D4;
  --green:#00C46A; --green-ink:#00764A; --green-dim:#E9F9F1;
}}
:root[data-theme="light"]{
  --bg:#FFFFFF; --bg-2:#FAFBFA; --bg-3:#F2F5F3;
  --ink:#0A0D0B; --ink-2:#494F4B; --ink-3:#7D847F;
  --rule:#E4E8E5; --rule-2:#D2D8D4;
  --green:#00C46A; --green-ink:#00764A; --green-dim:#E9F9F1;
}

*{box-sizing:border-box;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.eyebrow{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;
  letter-spacing:.18em;color:var(--ink-3);font-weight:500;}
a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;}

nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:.85rem var(--pad);
  display:flex;align-items:center;gap:1.5rem;}
.logo{display:flex;align-items:center;gap:.42em;font-weight:600;
  font-size:1.15rem;letter-spacing:-.05em;}
.logo .d{width:.19em;height:.19em;border-radius:50%;background:var(--green);flex:none;}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:1.5rem;
  font-size:.9rem;color:var(--ink-2);}
.nav-links a:hover{color:var(--ink);}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;
  font-size:.9rem;padding:.6rem 1.1rem;border:1px solid var(--green);
  background:var(--green);color:#04120A;transition:opacity .15s;}
.btn:hover{opacity:.85;}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule-2);}
.btn.ghost:hover{border-color:var(--ink-3);opacity:1;}
@media(max-width:760px){.nav-links a[data-hide]{display:none;}}

.hero{padding:clamp(3.5rem,9vw,6.5rem) 0 clamp(2.5rem,6vw,4rem);}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,4rem);
  align-items:center;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;}}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:600;letter-spacing:-.05em;
  line-height:1.02;margin:1.1rem 0 0;text-wrap:balance;}
h1 em{font-style:normal;color:var(--green-ink);}
.sub{font-size:clamp(1.02rem,1.6vw,1.18rem);color:var(--ink-2);
  max-width:34em;margin:1.4rem 0 0;}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;align-items:center;}
.phone{font-family:var(--mono);font-size:1.02rem;letter-spacing:.02em;
  display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .95rem;
  border:1px solid var(--rule-2);background:var(--bg-2);}
.phone .d{width:7px;height:7px;border-radius:50%;background:var(--green);
  flex:none;animation:pulse 2.4s ease-out infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,196,106,.5);}
  70%{box-shadow:0 0 0 8px rgba(0,196,106,0);}100%{box-shadow:0 0 0 0 rgba(0,196,106,0);}}
.micro{font-size:.82rem;color:var(--ink-3);margin-top:.9rem;max-width:38em;}

/* ---- demo switcher ---- */
.demo-tabs{display:flex;gap:1px;background:var(--rule);border:1px solid var(--rule);
  border-bottom:0;}
.demo-tabs button{flex:1;background:var(--bg);border:0;cursor:pointer;
  font-family:var(--mono);font-size:.6rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--ink-3);padding:.7rem .4rem;
  transition:color .15s,background .15s;font-weight:500;}
.demo-tabs button:hover{color:var(--ink-2);}
.demo-tabs button[aria-selected="true"]{color:var(--green-ink);background:var(--bg-2);}
.call{border:1px solid var(--rule);background:var(--bg-2);}
.call-top{display:flex;align-items:center;gap:.6rem;padding:.7rem .95rem;
  border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:.62rem;
  text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);}
.call-top .d{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;
  animation:pulse 2.4s ease-out infinite;}
.call-top .t{margin-left:auto;font-variant-numeric:tabular-nums;}
.call-body{padding:.35rem 0;min-height:270px;}
.turn{display:grid;grid-template-columns:60px minmax(0,1fr);gap:.85rem;
  padding:.55rem .95rem;opacity:0;animation:rise .45s ease forwards;}
@keyframes rise{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.turn .who{font-family:var(--mono);font-size:.56rem;text-transform:uppercase;
  letter-spacing:.13em;color:var(--ink-3);padding-top:.3rem;}
.turn.a .who{color:var(--green-ink);}
.turn .said{font-size:.91rem;line-height:1.55;}
.call-foot{border-top:1px solid var(--rule);padding:.7rem .95rem;
  display:flex;align-items:center;gap:.55rem;font-size:.8rem;color:var(--ink-2);
  background:var(--green-dim);opacity:0;animation:rise .45s ease forwards;}
.call-foot b{color:var(--ink);font-weight:600;}
@media(prefers-reduced-motion:reduce){
  .turn,.call-foot{animation:none!important;opacity:1!important;}
  .phone .d,.call-top .d{animation:none;}
}

section.band{border-top:1px solid var(--rule);padding:clamp(3rem,7vw,5.5rem) 0;}
h2{font-size:clamp(1.75rem,3.6vw,2.75rem);font-weight:600;letter-spacing:-.04em;
  line-height:1.08;text-wrap:balance;}
.lead{color:var(--ink-2);max-width:54ch;margin-top:1rem;font-size:1.02rem;}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:2.25rem;}
.stat{background:var(--bg);padding:1.5rem 1.25rem;}
.stat .n{font-size:clamp(2rem,4vw,2.9rem);font-weight:600;letter-spacing:-.04em;
  line-height:1;color:var(--green-ink);font-variant-numeric:tabular-nums;}
.stat .l{font-size:.86rem;color:var(--ink-2);margin-top:.6rem;line-height:1.45;}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:2.25rem;}
.step{background:var(--bg);padding:1.6rem 1.35rem;display:flex;
  flex-direction:column;gap:.6rem;}
.step .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--green-ink);}
.step h3{font-size:1.05rem;font-weight:600;letter-spacing:-.015em;}
.step p{font-size:.9rem;color:var(--ink-2);}

.does{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.75rem;margin-top:2.25rem;}
ul{list-style:none;}
ul li{padding:.6rem 0 .6rem 1.5rem;position:relative;font-size:.94rem;
  border-bottom:1px solid var(--rule);}
ul li::before{content:"";position:absolute;left:0;top:1.18rem;width:6px;height:6px;
  border-radius:50%;background:var(--green);}
ul.no li::before{background:var(--rule-2);}
ul.no li{color:var(--ink-2);}
.col-h{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--ink-3);padding-bottom:.4rem;
  border-bottom:1px solid var(--rule-2);}

/* ---- comparison ---- */
.compare{margin-top:2.5rem;border:1px solid var(--rule);overflow-x:auto;}
table{width:100%;border-collapse:collapse;min-width:560px;}
th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--rule);
  font-size:.9rem;}
thead th{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--ink-3);font-weight:500;background:var(--bg-2);}
tbody tr:last-child td{border-bottom:0;}
tbody tr.us{background:var(--green-dim);}
tbody tr.us td{color:var(--ink);font-weight:500;}
td.cost{font-variant-numeric:tabular-nums;white-space:nowrap;}
.tick{color:var(--green-ink);} .cross{color:var(--ink-3);}

/* ---- pricing ---- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:2.5rem;}
.tier{background:var(--bg);padding:1.8rem 1.45rem;display:flex;flex-direction:column;gap:1rem;}
.tier.feature{background:var(--bg-2);position:relative;}
.flag{position:absolute;top:0;right:0;background:var(--green);color:#04120A;
  font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;
  text-transform:uppercase;padding:.3rem .6rem;font-weight:500;}
.tier-nm{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--ink-3);}
.tier.feature .tier-nm{color:var(--green-ink);}
.price{font-size:2.6rem;font-weight:600;letter-spacing:-.045em;line-height:1;
  font-variant-numeric:tabular-nums;}
.price span{font-size:.9rem;font-weight:400;color:var(--ink-3);letter-spacing:0;}
.who-for{font-size:.88rem;color:var(--ink-2);min-height:2.6em;}
.setup{font-family:var(--mono);font-size:.68rem;color:var(--ink-3);
  letter-spacing:.04em;padding-bottom:.2rem;}
.tier ul{margin-top:-.2rem;}
.tier ul li{font-size:.86rem;padding:.42rem 0 .42rem 1.3rem;line-height:1.45;}
.tier ul li::before{top:.95rem;width:5px;height:5px;}
.tier ul li:last-child{border-bottom:0;}
.sub-h{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--green-ink);padding:.9rem 0 .1rem;}

.care-box{border:1px solid var(--rule);background:var(--bg-2);padding:1.35rem 1.4rem;
  margin-top:2rem;display:flex;flex-direction:column;gap:.7rem;max-width:70ch;}
.care-box .tag{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--green-ink);}
.care-box h3{font-size:1.05rem;font-weight:600;letter-spacing:-.02em;}
.care-box p{font-size:.92rem;color:var(--ink-2);}

.faq{margin-top:2.25rem;border-top:1px solid var(--rule);}
details{border-bottom:1px solid var(--rule);}
summary{padding:1.1rem 0;cursor:pointer;font-weight:500;font-size:1rem;
  display:flex;align-items:center;gap:1rem;list-style:none;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";margin-left:auto;color:var(--ink-3);
  font-family:var(--mono);font-size:1.1rem;flex:none;}
details[open] summary::after{content:"\2013";color:var(--green-ink);}
details p{padding:0 0 1.15rem;color:var(--ink-2);max-width:66ch;font-size:.94rem;}

.close{text-align:center;padding:clamp(3.5rem,8vw,6rem) 0;}
.close h2{max-width:16ch;margin:0 auto;}
.close .cta-row{justify-content:center;}
.close .lead{margin-left:auto;margin-right:auto;}

footer{border-top:1px solid var(--rule);padding:2.25rem 0 3rem;
  display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;
  font-size:.82rem;color:var(--ink-3);}
footer .by{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;
  letter-spacing:.22em;}
footer .r{margin-left:auto;display:flex;gap:1.25rem;flex-wrap:wrap;}
.note{font-size:.78rem;color:var(--ink-3);margin-top:1.5rem;max-width:62ch;}

/* ---- early access ---- */
.start-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);
  align-items:start;margin-top:.5rem}
@media(max-width:880px){.start-grid{grid-template-columns:1fr}}
.req{border:1px solid var(--rule);background:var(--bg-2);padding:1.5rem 1.4rem;
  display:flex;flex-direction:column;gap:1rem;position:relative}
.req-h{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;
  letter-spacing:.16em;color:var(--green-ink)}
.req label.f{display:flex;flex-direction:column;gap:.4rem}
.req label.f span{font-size:.82rem;color:var(--ink-2)}
.req label.f span em{font-style:normal;color:var(--ink-3)}
.req input{font-family:var(--sans);font-size:.95rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--rule-2);padding:.65rem .75rem;
  width:100%;transition:border-color .15s;border-radius:0;-webkit-appearance:none}
.req input::placeholder{color:var(--ink-3)}
.req input:focus{outline:none;border-color:var(--green)}
.req input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.req-go{justify-content:center;border:0;cursor:pointer;font-family:var(--sans);
  padding:.8rem 1.1rem;font-size:.95rem;margin-top:.2rem}
.req-go[disabled]{opacity:.6;cursor:default}
.req-note{font-size:.78rem;color:var(--ink-3);line-height:1.5}
.req-note.err{color:var(--ink)}
.req.done{min-height:300px;justify-content:center;gap:.75rem}
.req .done-h{font-size:1.35rem;font-weight:600;letter-spacing:-.03em}
.req .done-p{font-size:.92rem;color:var(--ink-2);line-height:1.6}

/* ---- legal / doc pages ---- */
.doc{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(3rem,7vw,5rem)}
.doc-head{border-bottom:1px solid var(--rule);padding-bottom:1.75rem;margin-bottom:2.25rem}
.doc-head h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:600;letter-spacing:-.045em;
  line-height:1.02;margin:1rem 0 0}
.doc-date{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--ink-3);margin-top:1rem}
.doc-body{max-width:68ch}
.doc-lede{font-size:1.06rem;color:var(--ink);line-height:1.65;
  border-left:2px solid var(--green);padding:.15rem 0 .15rem 1.1rem;margin-bottom:2.25rem}
.doc-body h2{font-size:1.12rem;font-weight:600;letter-spacing:-.015em;
  margin:2.1rem 0 .65rem;line-height:1.3}
.doc-body h2:first-of-type{margin-top:0}
.doc-body p{color:var(--ink-2);margin-bottom:.9rem;line-height:1.68;font-size:.97rem}
.doc-body p strong{color:var(--ink);font-weight:600}
.doc-body a{color:var(--green-ink);border-bottom:1px solid var(--rule-2)}
.doc-body a:hover{border-bottom-color:var(--green)}
ul.doc-list{margin:.4rem 0 1rem}
ul.doc-list li{padding:.5rem 0 .5rem 1.35rem;font-size:.95rem;color:var(--ink-2);
  border-bottom:1px solid var(--rule)}
ul.doc-list li::before{top:1.05rem;width:5px;height:5px}
ul.doc-list li strong{color:var(--ink);font-weight:600}
.doc-body ul.doc-list li:last-child{border-bottom:0}
