:root{
  --ground:#EFF2EE;
  --surface:#FFFFFF;
  --ink:#0C1A20;
  --ink-2:#41545B;
  --ink-3:#6B7E85;
  --rule:#D0D8D1;
  --rule-strong:#B3BFB5;
  --accent-fill:#9BDB37;
  --accent-ink:#4C7511;
  --copper:#9A5730;
  --copper-fill:#BA7E5A;
  --deep:#0C1A20;
  --deep-ink:#E9EFEA;
  --deep-ink-2:#9DB0B5;
  --deep-rule:#20343C;
  --shadow:0 1px 0 rgba(12,26,32,.06), 0 12px 28px -20px rgba(12,26,32,.5);

  --trace:rgba(12,26,32,.085);
  --via:rgba(12,26,32,.13);
  --gear:rgba(154,87,48,.16);
  --trace-deep:rgba(155,219,55,.20);
  --via-deep:rgba(155,219,55,.30);
  --gear-deep:rgba(186,126,90,.26);

  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --measure:66ch;
  --pad:clamp(20px,5vw,64px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0A1418; --surface:#101F26; --ink:#E9EFEA; --ink-2:#A6B7BB; --ink-3:#7C8E94;
    --rule:#1D2F37; --rule-strong:#2A414A;
    --accent-fill:#9BDB37; --accent-ink:#A9E24E; --copper:#D9966D; --copper-fill:#BA7E5A;
    --deep:#060F13; --deep-ink:#E9EFEA; --deep-ink-2:#93A6AB; --deep-rule:#1B2C33;
    --shadow:0 1px 0 rgba(0,0,0,.4), 0 12px 28px -20px rgba(0,0,0,.9);
    --trace:rgba(155,219,55,.13); --via:rgba(155,219,55,.20); --gear:rgba(186,126,90,.18);
    --trace-deep:rgba(155,219,55,.22); --via-deep:rgba(155,219,55,.32); --gear-deep:rgba(186,126,90,.28);
  }
}
:root[data-theme="dark"]{
  --ground:#0A1418; --surface:#101F26; --ink:#E9EFEA; --ink-2:#A6B7BB; --ink-3:#7C8E94;
  --rule:#1D2F37; --rule-strong:#2A414A;
  --accent-fill:#9BDB37; --accent-ink:#A9E24E; --copper:#D9966D; --copper-fill:#BA7E5A;
  --deep:#060F13; --deep-ink:#E9EFEA; --deep-ink-2:#93A6AB; --deep-rule:#1B2C33;
  --shadow:0 1px 0 rgba(0,0,0,.4), 0 12px 28px -20px rgba(0,0,0,.9);
  --trace:rgba(155,219,55,.13); --via:rgba(155,219,55,.20); --gear:rgba(186,126,90,.18);
  --trace-deep:rgba(155,219,55,.22); --via-deep:rgba(155,219,55,.32); --gear-deep:rgba(186,126,90,.28);
}

*{box-sizing:border-box}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:1140px;margin:0 auto;padding-inline:var(--pad)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.02em;line-height:1.04}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px;border-radius:2px}
.label{font-family:var(--mono);font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}

.board{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.board svg{width:100%;height:100%;display:block}
.tr{fill:none;stroke:var(--trace);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.vi{fill:var(--via)}
.gr{fill:none;stroke:var(--gear);stroke-width:1.6}
.board-deep .tr{stroke:var(--trace-deep)}
.board-deep .vi{fill:var(--via-deep)}
.board-deep .gr{stroke:var(--gear-deep)}
.masthead,main,footer{position:relative;z-index:1}

.masthead{border-bottom:1px solid var(--rule)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{display:block;height:60px;width:auto}
@media(max-width:600px){.brand img{height:44px}}
.masthead nav{display:flex;align-items:center;gap:28px}
.masthead nav a{font-size:.9rem;font-weight:500;text-decoration:none;color:var(--ink-2)}
.masthead nav a:hover{color:var(--ink)}
@media(max-width:760px){.masthead nav a.nav-hide{display:none}}

.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:-.01em;padding:.85em 1.35em;text-decoration:none;border:2px solid transparent;transition:transform .12s ease,border-color .12s ease}
.btn-primary{background:var(--accent-fill);color:#132008;border-color:var(--accent-fill)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--rule-strong);color:var(--ink);background:var(--surface)}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}

.hero{padding-block:clamp(44px,6vw,76px) clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,5vw,60px);align-items:start}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.2rem,4.4vw,3.3rem);font-weight:800;max-width:18ch}
.hero .lede{margin-top:22px;font-size:clamp(1.05rem,1.6vw,1.18rem);color:var(--ink-2);max-width:52ch}
.hero .actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px}
.hero .eyebrow{margin-bottom:20px}

.log{background:var(--deep);color:var(--deep-ink);box-shadow:var(--shadow)}
.log-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 18px;border-bottom:1px solid var(--deep-rule)}
.log-head .label{color:var(--deep-ink-2)}
.log-rows{display:grid;font-family:var(--mono);font-size:.8rem;font-variant-numeric:tabular-nums}
.row{display:grid;grid-template-columns:66px 116px 1fr;gap:10px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--deep-rule)}
.row:last-child{border-bottom:0}
.row .t{color:var(--deep-ink-2)}
.row .s{font-weight:600;letter-spacing:.05em}
.row .d{color:var(--deep-ink-2)}
.row.lost{background:rgba(186,126,90,.10)}
.row.lost .s{color:var(--copper-fill)}
.row.lost .d{color:var(--deep-ink)}
.row.won .s{color:#7FA83A}
.log-foot{padding:16px 18px;border-top:1px solid var(--deep-rule);color:var(--deep-ink-2);font-size:.9rem}
.log-foot strong{color:var(--deep-ink);font-weight:600}
@media(max-width:440px){.row{grid-template-columns:56px 100px 1fr;gap:8px;font-size:.72rem}}

section{padding-block:clamp(44px,6vw,78px)}
.rule-top{border-top:1px solid var(--rule)}
.sec-head{max-width:var(--measure)}
.sec-head h2{font-size:clamp(1.7rem,3.3vw,2.4rem);font-weight:700;margin-top:14px}
.sec-head p{margin-top:16px;color:var(--ink-2)}

.leaks{margin-top:38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));border-top:1px solid var(--rule)}
.leak{padding:26px 32px 26px 0;border-bottom:1px solid var(--rule)}
.leak .n{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--copper);letter-spacing:.14em}
.leak p{margin-top:10px;font-size:1.02rem}

.pb{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
@media(max-width:880px){.pb{grid-template-columns:1fr}}
.pb-body{padding:clamp(28px,4vw,44px);display:grid;gap:16px;align-content:start}
.pb-body h2{font-size:clamp(1.6rem,3vw,2.15rem);font-weight:700}
.pb-body p{color:var(--ink-2)}
.pb-side{border-left:1px solid var(--rule);padding:clamp(24px,3vw,36px);align-content:start}
@media(max-width:880px){.pb-side{border-left:0;border-top:1px solid var(--rule)}}
.opt{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--rule)}
.opt:last-of-type{border-bottom:0}
.opt .tier{display:block;font-family:var(--mono);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;color:var(--ink-3)}
.opt .nm{display:block;font-size:.95rem;margin-top:3px}
.opt .pr{font-family:var(--mono);color:var(--accent-ink);font-weight:600;font-variant-numeric:tabular-nums;font-size:.95rem}
.pb-side .cap{margin-top:18px;font-size:.85rem;color:var(--ink-3)}

.score{background:var(--deep);color:var(--deep-ink);box-shadow:var(--shadow);margin-top:38px}
.score-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 20px;border-bottom:1px solid var(--deep-rule)}
.score-head .label{color:var(--deep-ink-2)}
.score-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--deep-rule)}
.score-top>div{padding:20px;border-right:1px solid var(--deep-rule)}
.score-top>div:last-child{border-right:0}
@media(max-width:620px){.score-top{grid-template-columns:1fr}.score-top>div{border-right:0;border-bottom:1px solid var(--deep-rule)}}
.score-top .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--deep-ink-2)}
.score-top .v{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3vw,2.1rem);font-variant-numeric:tabular-nums;margin-top:8px;letter-spacing:-.02em}
.score-top .v.miss{color:var(--copper-fill)}
.badge{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.14em;padding:3px 8px;border:1px solid currentColor;color:var(--copper-fill)}
.drivers{padding:8px 20px 18px}
.drivers .cap-h{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--deep-ink-2);padding:14px 0 4px}
.driver{display:grid;grid-template-columns:minmax(110px,1fr) minmax(96px,1fr) minmax(70px,1.5fr) auto;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--deep-rule);font-family:var(--mono);font-size:.77rem}
.driver .nm{color:var(--deep-ink)}
.driver .de{color:var(--deep-ink-2)}
.driver .amt{color:var(--copper-fill);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.bar{height:8px;background:rgba(233,239,234,.08)}
.bar i{display:block;height:100%;background:var(--copper-fill);border-radius:0 4px 4px 0}
@media(max-width:660px){.driver{grid-template-columns:1fr auto;gap:4px 12px}.driver .de{grid-column:1/-1;font-size:.7rem}.driver .bar{grid-column:1/-1;margin-top:4px}}
.score-foot{padding:14px 20px;border-top:1px solid var(--deep-rule);color:var(--deep-ink-2);font-size:.84rem}
.closer{margin-top:32px;max-width:var(--measure);color:var(--ink-2);font-size:1.06rem}
.builds{margin-top:38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:transparent}
.build{background:var(--surface);padding:26px 24px;display:flex;flex-direction:column;gap:9px;box-shadow:0 0 0 1px var(--rule)}
#reporting .builds{grid-template-columns:1fr}
@media(min-width:680px){#reporting .builds{grid-template-columns:1fr 1fr}}
.build h3{font-size:1.06rem;font-weight:700}
.build p{color:var(--ink-2);font-size:.95rem}
.build .app-links{margin-top:auto;padding-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.build .app-links a:not(.btn){color:var(--accent-ink);font-weight:500}

.steps{margin-top:38px;display:grid}
.step{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.15fr);gap:clamp(16px,3vw,40px);align-items:start;padding-block:26px;border-top:1px solid var(--rule)}
.step:last-child{border-bottom:1px solid var(--rule)}
.step .num{font-family:var(--mono);font-weight:600;font-size:.85rem;color:var(--accent-ink);padding-top:.35em}
.step h3{font-size:1.24rem;font-weight:700}
.step .meta{margin-top:8px}
.step p.body{color:var(--ink-2)}
@media(max-width:820px){.step{grid-template-columns:44px 1fr}.step p.body{grid-column:2}}

.fit{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
@media(max-width:760px){.fit{grid-template-columns:1fr}}
.fit ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:14px}
.fit li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;color:var(--ink-2)}
.fit li span:first-child{font-family:var(--mono);font-weight:600;padding-top:.1em}
.fit .yes li span:first-child{color:var(--accent-ink)}
.fit .no li span:first-child{color:var(--copper)}

.pact{border:2px solid var(--ink);background:var(--surface);box-shadow:var(--shadow);max-width:940px}
.pact-inner{padding:clamp(30px,5vw,56px);display:grid;gap:20px;max-width:78ch}
.pact .lead{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3.2vw,2.2rem);line-height:1.08;letter-spacing:-.02em;max-width:20ch}
.pact p{color:var(--ink-2)}
.pact .rule{height:3px;width:64px;background:var(--accent-fill)}
.terms{display:grid;gap:0;margin:6px 0;border-top:1px solid var(--rule)}
.term{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:start}
.term .mk{font-family:var(--mono);font-weight:600;font-size:.85rem;color:var(--accent-ink);padding-top:.15em}
.term b{display:block;font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}
.term span.t{color:var(--ink-2);font-size:.97rem}
.pact .kicker{color:var(--ink);font-weight:600}
.founder{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow)}
.founder-inner{padding:clamp(28px,4vw,48px);display:grid;gap:18px;max-width:74ch}
.founder h2{font-size:clamp(1.5rem,3vw,2.05rem);font-weight:700}
.founder p{color:var(--ink-2)}
.founder .sig{font-family:var(--display);font-weight:700;color:var(--ink)}

.faq{margin-top:34px;border-top:1px solid var(--rule)}
.qa{border-bottom:1px solid var(--rule);padding-block:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(16px,4vw,48px)}
@media(max-width:820px){.qa{grid-template-columns:1fr;gap:10px}}
.qa h3{font-size:1.08rem;font-weight:700}
.qa p{color:var(--ink-2)}

.final{background:var(--deep);color:var(--deep-ink);position:relative;overflow:hidden}
.final .board{position:absolute}
.final .wrap{padding-block:clamp(52px,7vw,86px);position:relative;z-index:1}
.final h2{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800;max-width:18ch}
.final p{margin-top:18px;color:var(--deep-ink-2);max-width:56ch}
.final .actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.final .alt{font-size:.95rem;color:var(--deep-ink-2)}
.final .alt a{color:var(--deep-ink);text-underline-offset:3px}

footer{border-top:1px solid var(--rule);padding-block:26px;background:var(--ground)}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center}
footer p{font-size:.88rem;color:var(--ink-3)}
footer a{color:var(--ink-2);text-underline-offset:3px}

body{margin:0}

/* ---------- sticky masthead (desktop) ---------- */
@media(min-width:761px){
  .masthead{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--ground);transition:box-shadow .18s ease}
  .masthead.stuck{box-shadow:0 1px 0 var(--rule),0 12px 26px -22px rgba(12,26,32,.6)}
  /* stop anchor targets landing underneath the bar */
  main[id],main section[id]{scroll-margin-top:104px}
}
@media(prefers-reduced-motion:reduce){.masthead{transition:none}}

/* ---------- mobile menu ---------- */
.menu-btn{display:none;width:42px;height:38px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:none;border:1px solid var(--rule-strong);border-radius:6px;cursor:pointer;padding:0}
.menu-btn span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .18s ease,opacity .18s ease}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-btn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.mnav{display:none;border-top:1px solid var(--rule);background:var(--surface)}
.mnav a{display:block;padding:15px var(--pad);font-size:1rem;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.mnav a:last-child{border-bottom:0}
@media(max-width:760px){
  .menu-btn{display:flex}
  .mnav[data-open="1"]{display:block}
}

/* ---------- sticky call bar (mobile) ---------- */
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;gap:14px;align-items:center;justify-content:space-between;background:var(--deep);border-top:2px solid var(--accent-fill);padding:12px var(--pad);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.cta-bar .lab{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--deep-ink-2);min-width:0}
.cta-bar .btn{padding:.7em 1.1em;font-size:.95rem;white-space:nowrap}
@media(max-width:760px){
  .cta-bar.show{display:flex}
  body{padding-bottom:86px}
}

/* ---------- FAQ accordion (mobile) ---------- */
.qa-t{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:16px;background:none;border:0;padding:0;margin:0;text-align:left;font:inherit;color:inherit;cursor:default}
.qa-t .chev{display:none;flex:0 0 auto;width:11px;height:11px;border-right:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(45deg);transition:transform .18s ease;margin-top:5px}
@media(max-width:820px){
  .qa-t{cursor:pointer}
  .qa-t .chev{display:block}
  .qa[data-open="1"] .qa-t .chev{transform:rotate(-135deg)}
  .faq.acc > .qa > p{display:none}
  .faq.acc > .qa[data-open="1"] > p{display:block}
  .qa-t:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:14px}
.foot-links a{color:var(--ink-2)}

/* inner pages */
.page{padding-block:clamp(40px,6vw,72px) clamp(48px,7vw,88px)}
.page .crumbs{font-size:.85rem;color:var(--ink-3);margin-bottom:18px}
.page .crumbs a{color:var(--ink-3)}
.page h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:22ch}
.page .lede{margin-top:20px;font-size:clamp(1.05rem,1.6vw,1.18rem);color:var(--ink-2);max-width:60ch}
.page .actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:14px}
.prose{max-width:var(--measure);margin-top:clamp(36px,5vw,56px)}
.prose h2{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:700;margin:2.2em 0 .6em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.12rem;font-weight:700;margin:1.6em 0 .4em;letter-spacing:-.01em}
.prose p{margin:0 0 1em;color:var(--ink-2)}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.25em;color:var(--ink-2)}
.prose li{margin:.35em 0}
.prose strong{color:var(--ink)}
.prose a{color:var(--accent-ink)}
.callout{border-left:3px solid var(--accent-fill);background:var(--surface);padding:16px 20px;margin:0 0 1.4em}
.callout p{margin:0;color:var(--ink)}
.page-faq{max-width:var(--measure);margin-top:clamp(40px,5vw,60px);border-top:1px solid var(--rule)}
.page-faq h2{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:700;margin:1.4em 0 .4em}
.page-faq .q{padding:18px 0;border-bottom:1px solid var(--rule)}
.page-faq h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.page-faq p{color:var(--ink-2)}
.related{max-width:var(--measure);margin-top:clamp(40px,5vw,60px)}
.related ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.related a{color:var(--ink);font-weight:500}
.page-cta{margin-top:clamp(44px,6vw,72px);background:var(--deep);color:var(--deep-ink);padding:clamp(28px,4vw,44px)}
.page-cta h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800}
.page-cta p{margin-top:12px;color:var(--deep-ink-2);max-width:56ch}
.page-cta .actions{margin-top:22px}
.page-cta .alt{color:var(--deep-ink-2);font-size:.95rem;align-self:center}
.page-cta .alt a{color:var(--deep-ink)}
.phone-demo{margin:24px 0 8px;display:flex;flex-direction:column;align-items:center;gap:12px}
.phone{width:min(390px,100%);height:min(760px,82vh);border:10px solid var(--deep);border-radius:38px;overflow:hidden;background:var(--surface);box-shadow:0 24px 48px -28px rgba(12,26,32,.6)}
.phone iframe{display:block;width:100%;height:100%;border:0}
.phone-note{font-size:.95rem;color:var(--ink-3);margin:0}
.phone-open{display:none}
.prose a.btn-primary{color:#132008;text-decoration:none}
@media (max-width:560px){.phone,.phone-note{display:none}.phone-open{display:inline-flex}.phone-demo{align-items:flex-start}}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:14px}
.foot-links a{color:var(--ink-2)}
