:root{
  --navy:#0B2540; --navy2:#0d2c4d; --teal:#0A8A83; --green:#02C39A;
  --page:#F2F5F4; --panel:#ffffff; --ink:#11233a; --slate:#5B7287; --line:#dde4ea;
  --warn:#d4930d; --warnbg:#fff6e6; --goodbg:#e7faf4;
  --radius:14px; --shadow:0 1px 3px rgba(11,37,64,.07),0 8px 24px rgba(11,37,64,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);
  font:16px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;line-height:1.12;margin:0}
b{font-weight:700}
a{color:var(--teal)}

/* top bar */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px clamp(16px,4vw,40px);background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.brand{font-weight:800;font-size:20px;color:#fff;text-decoration:none;font-family:Inter,sans-serif}
.brand-rev{color:var(--green)} .brand-dot{color:var(--teal)}
.topbar nav a{color:#cdd9e6;text-decoration:none;font-size:14px;font-weight:600}
.topbar nav a:hover{color:#fff}

/* hero */
.hero{background:linear-gradient(165deg,var(--navy),var(--navy2));color:#fff;padding:clamp(48px,8vw,96px) 0}
.hero .eyebrow{color:var(--green);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;margin:0 0 14px}
.hero h1{font-size:clamp(34px,6vw,62px);font-weight:700;max-width:16ch}
.hero .lede{color:#cdd9e6;font-size:clamp(16px,2vw,21px);max-width:62ch;margin:22px 0 0}
.hero .lede b{color:#fff}
.hero-rev{margin-top:34px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  background:rgba(2,195,154,.10);border:1px solid rgba(2,195,154,.4);border-radius:var(--radius);padding:20px 24px;max-width:820px}
.hr-num{font-size:clamp(34px,6vw,52px);font-weight:800;color:var(--green);font-family:Inter,sans-serif;white-space:nowrap}
.hr-num span{font-size:15px;font-weight:600;color:#9fcfc4;margin-left:4px}
.hr-txt{color:#dff3ee;font-size:15px;flex:1;min-width:240px}

/* edge callouts */
.edge{padding:clamp(40px,6vw,72px) 0}
.edge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.edge-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow)}
.edge-card .ico{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;
  background:var(--navy);border-radius:12px;margin-bottom:14px}
.edge-card .ico svg{width:24px;height:24px}
.edge-card h3{font-size:22px;margin-bottom:8px}
.edge-card p{color:var(--slate);font-size:14.5px;margin:0}

/* kpis */
.kpis{padding:0 0 8px}
.kpis .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.kpi-card.good{background:var(--goodbg);border-color:rgba(2,195,154,.4)}
.kpi-card.warn{background:var(--warnbg);border-color:rgba(212,147,13,.35)}
.kpi-card .v{font-family:Inter,sans-serif;font-weight:800;font-size:clamp(22px,3vw,30px)}
.kpi-card.good .v{color:var(--teal)} .kpi-card.warn .v{color:var(--warn)}
.kpi-card .l{color:var(--slate);font-size:13px;margin-top:4px}

/* table */
.tbl-sec{padding:clamp(40px,6vw,64px) 0}
.tbl-sec h2{font-size:clamp(26px,4vw,40px)}
.tbl-sec .sub{color:var(--slate);max-width:90ch;margin:12px 0 0;font-size:15px}
.legend{display:flex;flex-wrap:wrap;gap:18px;margin:16px 0;font-size:13px;color:var(--slate);align-items:center}
.legend .dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.legend .dot.good{background:var(--green)} .legend .dot.warn{background:var(--warn)}
.est-key{font-style:italic}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:920px;font-size:14px}
thead th{position:sticky;top:0;background:var(--navy);color:#fff;text-align:left;padding:12px 14px;
  font-weight:600;font-size:12.5px;white-space:nowrap;cursor:pointer;user-select:none}
thead th small{display:block;font-weight:400;color:#9fb3c6;font-size:10.5px;text-transform:none}
thead th.num{text-align:right}
thead th.sorted{color:var(--green)}
thead th:hover{background:var(--navy2)}
tbody td{padding:11px 14px;border-top:1px solid var(--line);vertical-align:top}
tbody td.num{text-align:right;font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;font-weight:600}
tbody tr:hover{background:#f7faf9}
.code{font-weight:700;color:var(--navy)}
.kind-rcm{display:inline-block;margin-top:2px;font-size:11px;color:var(--teal);font-weight:600}
.muted{color:var(--slate)}
.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.5}
.pill.add{background:#fdeef0;color:#c0392b}            /* AI add-on / not included */
.pill.inc{background:var(--goodbg);color:var(--teal)}  /* included */
.pill.bill{background:var(--warnbg);color:var(--warn)}
.pill.nobill{background:var(--goodbg);color:var(--teal)}
.eff-bad{color:var(--warn);font-weight:700}
.est{font-size:10px;color:#9aa7b4;margin-left:4px;font-style:italic}
tr.rev-row{background:linear-gradient(160deg,rgba(2,195,154,.13),rgba(10,138,131,.06))}
tr.rev-row td{border-top:2px solid var(--green);font-weight:600}
tr.rev-row .code{color:var(--teal)}
.eff-best{color:var(--teal);font-weight:800}
.method{color:var(--slate);font-size:12.5px;margin-top:16px;max-width:95ch;line-height:1.6}

/* net-revenue table (TCO + Net headline, compact, fits on a page) */
#tbl{min-width:680px}
thead th small{display:block;font-weight:400;color:#9fb3c6;font-size:10px;text-transform:none;margin-top:2px}
.nd-vendor{min-width:240px}
.nd-vbtn{display:block;width:100%;text-align:left;background:transparent;border:0;cursor:pointer;padding:0;color:inherit;font:inherit}
.nd-vname{font-weight:800;color:var(--navy);font-size:15px;font-family:Inter,sans-serif}
tr.rev-row .nd-vname{color:var(--teal)}
.nd-tag{display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  padding:2px 7px;border-radius:999px;margin-left:6px;color:var(--slate);border:1px solid var(--line);vertical-align:middle}
.nd-tag-rev{color:#06241c;background:var(--green);border-color:var(--green)}
.nd-stack{display:block;margin-top:6px}
.nd-sl{display:block;font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;font-size:12px;
  color:var(--slate);line-height:1.55;font-weight:600}
.nd-sl-net{color:var(--ink);font-weight:700}
tr.rev-row .nd-sl-net{color:var(--teal)}
.nd-toggle{display:inline-block;margin-top:7px;font-size:11px;color:var(--teal);font-weight:700}
.nd-h{min-width:120px}
.amt{font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;font-size:19px;font-weight:800;color:var(--ink)}
.amt-warn{color:var(--warn)}
.amt-rev{color:var(--teal)}
.amt-unit{display:block;font-size:10.5px;color:var(--slate);margin-top:2px;font-weight:400}
.nd-cap{min-width:88px}
.nd-cap>span:first-child{font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;color:var(--ink)}
.nd-good{color:var(--teal) !important}
.nd-capn{display:block;font-size:11px;color:var(--slate);margin-top:3px}
/* expandable detail row */
tr.nd-detail td{padding:0 14px 16px;background:#fafcfb}
tr.nd-detail[hidden]{display:none}
.nd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:14px;
  background:#f4f8f7;border:1px solid var(--line);border-radius:10px;margin-top:4px}
.nd-d{display:flex;flex-direction:column;gap:2px}
.nd-d-wide{grid-column:1 / -1}
.nd-dl{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--slate);font-weight:700}
.nd-dv{font-size:14px;color:var(--ink);font-weight:700}
.nd-dn{font-size:12px;color:var(--slate);line-height:1.5}

/* cta */
.cta{background:var(--navy);color:#fff;padding:clamp(48px,7vw,84px) 0;text-align:center}
.cta h2{font-size:clamp(26px,4vw,42px)}
.cta p{color:#cdd9e6;max-width:60ch;margin:16px auto 26px}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 24px;border-radius:11px;font-weight:700;text-decoration:none;font-size:15px}
.btn-primary{background:var(--green);color:#06241c}
.btn-ghost{border:1px solid rgba(255,255,255,.35);color:#fff}
.btn-ghost:hover{border-color:#fff}

/* footer */
.foot{background:#08192c;color:#8da4ba;font-size:12.5px;padding:26px 0}

/* responsive */
@media (max-width:860px){
  .edge-grid{grid-template-columns:1fr}
  .kpis .wrap{grid-template-columns:1fr 1fr}
  thead th.c-cat,tbody td.c-cat,thead th.c-eff2,tbody td.c-eff2{display:none} /* simplify on small screens */
}
@media (max-width:520px){
  .kpis .wrap{grid-template-columns:1fr}
  thead th.c-rcm,tbody td.c-rcm{display:none}
}
