:root{--ink:#122b29;--paper:#f7f7ef;--muted:#52625c;--lime:#d7f77a;--line:#d8ded1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #647d24;outline-offset:5px}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}header{border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px}.brand{text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand svg{width:32px;height:36px}.navlinks{display:flex;gap:28px;align-items:center;font-size:14px}.navlinks a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 24px;border:1px solid var(--ink);border-radius:5px;font-size:14px;font-weight:700;text-decoration:none;background:var(--ink);color:white;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button.light{background:var(--lime);color:var(--ink);border-color:var(--lime)}.button.outline{background:transparent;color:var(--ink)}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;display:flex;gap:10px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:#769436}.hero{padding:80px 0 60px;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}h1{font-size:clamp(46px,5.8vw,76px);line-height:1.04;letter-spacing:-4px;font-weight:500;margin:25px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#527847}p{color:var(--muted)}.hero p{font-size:17px;max-width:510px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 18px}.small{font-size:12px}.hero-art{background:#e8edde;border:1px solid #d5deca;border-radius:12px;padding:28px;position:relative;min-height:435px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.art-top{display:flex;justify-content:space-between;font:10px monospace;letter-spacing:1px;margin-bottom:25px}.product{background:#fff;border:1px solid #d4dcca;border-radius:8px;box-shadow:0 12px 30px #122b2910;padding:22px}.product-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700;border-bottom:1px solid #edf0e6;padding-bottom:15px}.pill{font-size:9px;background:#eef6dc;padding:3px 8px;border-radius:20px}.product-content{display:grid;grid-template-columns:1fr 100px;gap:22px;margin-top:22px}.chart{height:100px;display:flex;align-items:end;gap:9px}.chart i{display:block;background:#d2e8b4;flex:1;border-radius:4px 4px 0 0}.chart i:last-child{background:#3e6252}.phone{background:var(--ink);color:white;border-radius:18px;padding:10px;border:4px solid #23433d;transform:rotate(7deg);font-size:9px;box-shadow:0 10px 20px #122b2920}.phone .screen{background:#f5f8ed;color:var(--ink);border-radius:9px;padding:10px 6px;margin-top:8px;min-height:110px}.phone b{display:block;font-size:18px;margin:10px 0}.phone-line{height:6px;background:#d3dfc5;margin:8px 0;border-radius:5px}.flow{background:var(--ink);color:white;margin:18px -9px -5px;padding:18px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:10px}.flow span{border:1px solid #49615c;padding:8px;border-radius:4px}.flow b{color:var(--lime)}.caption{font:10px monospace;color:#61735a;margin-top:20px}.strip{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:23px 0;font-size:12px;color:#52625c}.strip span:before{content:'↗';margin-right:10px;color:#49663d}section{padding:85px 0}.sectionhead{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px}h2{font-size:clamp(32px,4vw,47px);line-height:1.12;letter-spacing:-1.8px;font-weight:500;margin:14px 0 0}.sectionhead p{max-width:345px;font-size:14px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:7px;padding:28px;display:flex;flex-direction:column}.number{font:12px monospace;color:#6c7f5f}.icon{font:28px monospace;margin:20px 0;color:#436645}h3{font-size:23px;letter-spacing:-.6px;line-height:1.2;margin:0 0 12px}.card p{font-size:14px;margin:0 0 20px}.card ul{list-style:none;padding:0;margin:0 0 24px;font-size:13px}.card li{padding:7px 0;border-bottom:1px solid #e1e5da}.card li:before{content:'+';margin-right:10px;color:#527847}.textlink{font-size:13px;font-weight:bold;margin-top:auto;text-underline-offset:5px}.work{background:#eaf0e2}.team-card{display:grid;grid-template-columns:160px 1fr;gap:36px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:32px;background:#fff}.team-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}.team-info .tag{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#617354;font-weight:700}.team-info h3{font-size:30px;letter-spacing:-1px;margin:12px 0 4px}.team-role{font:13px monospace;color:#527847;margin:0 0 18px}.team-info p{color:var(--muted);font-size:15px}.team-creds{list-style:none;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:8px}.team-creds li{border:1px solid var(--line);border-radius:99px;padding:5px 12px;font-size:12px;font-weight:700}.team-callout{background:var(--ink);color:#e3eadf;border-radius:8px;padding:18px 20px;font-size:14px;line-height:1.55}.team-callout strong{color:var(--lime);display:block;margin-bottom:4px}.team-links{display:flex;gap:18px;margin-top:20px;font-size:14px;font-weight:700}.team-links a{color:var(--ink)}@media(max-width:800px){.team-card{grid-template-columns:1fr;gap:24px;padding:22px}.team-card picture{max-width:96px}}.project{background:var(--paper);text-decoration:none;border-radius:7px;padding:26px;border:1px solid #d8e0cd;display:block}.project:hover{border-color:#6f895b}.project .tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#617354}.project h3{margin-top:32px}.project p{font-size:13px}.project .arrow{font-size:20px;float:right}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.step{border-top:1px solid #a8b79d;padding-top:20px}.step h3{font-size:20px;margin:17px 0}.step p{font-size:14px}.contact{padding:65px;border-radius:12px;background:var(--ink);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact p{color:#c1cfc5;font-size:15px}.contact h2{font-size:47px}.contact .eyebrow{color:var(--lime)}.contact-links{display:flex;flex-direction:column;gap:16px;align-items:start}.contact-links>a:not(.button){color:#e2ebdb;text-underline-offset:5px;font-size:14px}.faq{padding-top:0;max-width:820px;margin:auto}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:15px;font-weight:700}details p{font-size:14px}footer{border-top:1px solid var(--line);padding:30px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.foot-links{display:flex;gap:20px}.skip{position:absolute;top:-80px;left:12px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:900px){.hero{gap:28px}h1{letter-spacing:-2.5px}.cards{gap:12px}.card{padding:20px}.contact{padding:40px;gap:30px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}nav{min-height:78px}.navlinks>a:not(.button){display:none}.navlinks .button{padding:10px 14px;font-size:12px}.brand{font-size:19px}.hero{grid-template-columns:1fr;padding:45px 0 35px;gap:32px}h1{font-size:53px;letter-spacing:-2.7px}.hero-art{min-height:360px;padding:23px}.strip{flex-wrap:wrap;gap:10px;font-size:11px;justify-content:start}.strip span{width:46%}section{padding:55px 0}.sectionhead{display:block}.sectionhead p{margin-top:20px}.cards,.process,.contact{grid-template-columns:1fr}.cards{gap:16px}.card{padding:26px}.contact{padding:30px 24px;gap:20px}.contact h2{font-size:38px}.foot{flex-wrap:wrap}.foot-links{flex-wrap:wrap}.faq{padding-top:0}.product-content{grid-template-columns:1fr 90px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.partners{position:relative}.partner-cards{align-items:stretch}.partner-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--paper);border:1px solid #d4ddca;border-radius:10px;text-decoration:none;transition:border-color .2s,box-shadow .2s}.partner-card:hover{border-color:#607951;box-shadow:0 8px 28px #122b2912}.partner-card:focus-visible{outline:3px solid #527847;outline-offset:5px}.partner-brand{height:125px;padding:22px;display:flex;align-items:center;justify-content:center;gap:14px;background:#fff}.partner-brand--neuro img{width:72px;height:72px;object-fit:contain}.partner-brand--neuro>span{font-size:20px;font-weight:700;letter-spacing:-.5px;line-height:1.2}.partner-brand--neuro small{display:block;font-size:12px;font-weight:400;letter-spacing:1.5px;margin-top:5px;color:#617057}.partner-brand--kip{background:#101b18}.partner-brand--kip img{width:220px;height:auto;max-height:80px;max-width:90%;object-fit:contain}.partner-brand--closet{background:#f3eee5}.partner-brand--boda{background:#fbf8f2}.partner-brand--boda img{width:210px;height:auto;max-width:90%}.closet-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:26px;letter-spacing:1px;color:#25221e}.partner-preview{aspect-ratio:2/1;overflow:hidden;border-block:1px solid #dce2d4;background:#e7ecdf}.partner-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.partner-info{padding:24px;display:flex;flex-direction:column;flex:1}.partner-info .tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#617354}.partner-info h3{font-size:22px;margin:15px 0 12px}.partner-info p{font-size:13px;line-height:1.7;margin:0 0 24px}.partner-visit{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #d8ded1;padding-top:17px;margin-top:auto;font-size:12px;font-weight:700}.partner-visit>span{font-size:20px}@media(max-width:900px) and (min-width:701px){.partner-brand{padding:16px;gap:8px}.partner-brand--neuro img{width:50px;height:50px}.partner-brand--neuro>span{font-size:16px}.closet-wordmark{font-size:21px}.partner-info{padding:18px}}@media(max-width:700px){.partner-cards{gap:24px}.partner-brand{height:125px}.partner-info{padding:25px}.partner-info p{font-size:14px}}@media(prefers-reduced-motion:reduce){.partner-card{transition:none}}

.partner-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-brand--institute{background:#fbf8f2;gap:13px}.institute-mark{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:#16305f;color:#fbf8f2;border-radius:50%;font-size:21px;font-weight:700}.institute-wordmark{font-size:20px;color:#16305f;font-weight:700;line-height:1.2;letter-spacing:-.5px}.institute-wordmark small{display:block;font-size:8px;line-height:1.5;letter-spacing:1.1px;text-transform:uppercase;color:#147c8b;margin-top:5px}.partner-brand--institute+.partner-preview img{object-position:center 40%}@media(max-width:700px){.partner-cards{grid-template-columns:1fr}.institute-wordmark{font-size:18px}.partner-brand--institute{gap:10px;padding:18px}.institute-mark{width:38px;height:38px}}
/* Service pages (/web/, /mobile/, /automation/, /mpesa-integration/) and shared additions */
.textlink.more{margin-top:10px;color:#527847}
.team-callout a{color:var(--lime)}
.foot-links{flex-wrap:wrap}
.svc-hero{padding:70px 0 40px}
.svc-hero h1{max-width:900px}
.crumbs{display:block;min-height:0;font-size:13px;color:var(--muted);margin-bottom:22px}
.crumbs a{color:var(--muted)}
.svc-lead{font-size:19px;max-width:680px;color:var(--muted);margin:0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.button.ghost{background:transparent;color:var(--ink)}
.svc-cards .card h3{margin-top:0}
.svc-cards .card p{margin:0;color:var(--muted);font-size:15px}
.svc-focus{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;border-top:1px solid var(--line);padding-top:48px}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checklist li{position:relative;padding-left:32px;font-size:16px}
.checklist li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:var(--lime);box-shadow:inset 0 0 0 5px var(--ink)}
.svc-example{margin-top:28px;background:#eaf0e2;border-radius:10px;padding:22px}
.svc-example p{margin:8px 0 0;color:var(--muted);font-size:15px}
.svc-founder{display:flex;gap:24px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff}
.svc-founder img{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block}
.svc-founder p{margin:0;font-size:15px;color:var(--muted)}
.svc-founder strong{color:var(--ink)}
.svc-more{padding:0 0 60px;display:flex;flex-wrap:wrap;gap:16px;font-size:14px;font-weight:700}
.svc-more span{color:var(--muted);font-weight:400}
@media(max-width:800px){.svc-hero{padding:40px 0 24px}.svc-focus{grid-template-columns:1fr;gap:24px}.svc-founder{flex-direction:column;align-items:flex-start}}
.partner-built{font-size:13px!important;line-height:1.6;margin:0 0 20px!important;padding:12px 14px;border-radius:6px;background:#f1f5ea;color:var(--ink)}
.partner-built strong{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#527847;margin-bottom:2px}
/* Four service cards: 2x2 on desktop, one column on phones */
.services .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.services .cards{grid-template-columns:1fr}}
.contact--form{grid-template-columns:1fr 1.15fr;align-items:start;background:radial-gradient(circle at 100% 0,#d7f77a21,transparent 380px),radial-gradient(circle at 0 100%,#4f8a6a40,transparent 320px),var(--ink)}.lead-card{position:relative}.contact-direct{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-top:30px;padding-top:22px;border-top:1px solid #ffffff1f;font-size:14px;color:#93a69b}.contact-direct a{color:#e2ebdb;text-underline-offset:5px}.lead-form,.lf-done{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:18px;padding:30px;box-shadow:0 30px 70px #0000003d}.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lf-field{display:block;margin:0}.lead-form .lf-field+.lf-chips,.lf-chips+.lf-field{margin-top:20px}.lf-field>span,.lf-chips legend{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:#a9bbb0;margin-bottom:8px;padding:0}.lf-field b{color:var(--lime);margin-left:3px}.lf-chips legend small{text-transform:none;letter-spacing:0;font-weight:400}.lead-form input:not([type=checkbox]):not([type=radio]),.lead-form textarea{width:100%;background:#ffffff0f;border:1px solid #ffffff2b;border-radius:10px;padding:12px 14px;color:#fff;font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.lead-form textarea{resize:vertical;min-height:110px;display:block}.lead-form ::placeholder{color:#ffffff66}.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #d7f77a33}.lf-chips{border:0;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.lf-chips label{position:relative}.lf-chips input{position:absolute;opacity:0;width:1px;height:1px}.lf-chips span{display:inline-block;border:1px solid #ffffff2b;border-radius:99px;padding:7px 14px;font-size:13px;color:#e2ebdb;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.lf-chips label:hover span{border-color:#ffffff66}.lf-chips input:checked+span{background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:700}.lf-chips input:focus-visible+span{outline:3px solid var(--lime);outline-offset:3px}.lf-submit{width:100%;margin-top:24px;padding:16px 24px;font-size:15px;cursor:pointer;font-family:inherit}.lf-submit:disabled{opacity:.6;cursor:progress;transform:none}.contact .lf-status{margin:12px 0 0;font-size:13px;color:#e2ebdb}.contact .lf-status:empty{display:none}.contact .lf-status.is-error{color:#ffc2b5}.lf-status a{color:var(--lime)}.contact .lf-note{margin:14px 0 0;font-size:12px;color:#93a69b;text-align:center}.lf-note a{color:#c1cfc5;text-underline-offset:3px}.lf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.lf-done{text-align:left}.lf-done:focus{outline:none}.lf-tick{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:22px;font-weight:700}.lf-done h3{color:#fff;font-size:26px;margin:20px 0 8px}.lf-done .button{margin-top:10px}@media(max-width:1000px){.contact--form{grid-template-columns:1fr}}@media(max-width:700px){.lead-form,.lf-done{padding:20px;border-radius:14px}.lf-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.lead-form input,.lead-form textarea,.lf-chips span{transition:none}}

/* Oct 2026 positioning: eTIMS, healthcare (SHA HMIS) and payments as the headline offers */
.hero-lead{font-size:19px!important;color:var(--ink)!important;font-weight:700;max-width:520px}
.ledger{display:grid;gap:10px;margin-top:4px}
.ledger-row{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;border:1px solid #edf0e6;border-radius:6px;padding:11px 13px;font-size:12px}
.ledger-row b{font-size:13px}
.ledger-row small{grid-column:1;color:#66755e;font:10px monospace;letter-spacing:.3px}
.ledger-row .ok{grid-row:1/3;grid-column:2;font-size:10px;font-weight:700;background:#eef6dc;color:#3e6252;padding:4px 9px;border-radius:20px;white-space:nowrap}
.ledger-row .ok:before{content:'✓ '}
.outcomes .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.outcomes .card{background:#fff}
.outcomes .card h3{margin-top:20px}
.card .textlink+.textlink{margin-top:10px}
.delivery .cards .card{background:transparent}
.delivery .card h3{font-size:20px;margin-top:16px}
.notice{display:inline-flex;gap:10px;align-items:center;background:#fff3d6;border:1px solid #f0d58f;color:#5b4511;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:700;margin-bottom:22px}
.notice:before{content:'';width:7px;height:7px;border-radius:50%;background:#c98a0b;flex-shrink:0}
.svc-cards .card .number{display:block;margin-bottom:14px}
.process--4{grid-template-columns:repeat(4,1fr);gap:28px}
.problem .card{background:#fff}
.problem .card h3{font-size:19px}
.svc-band{background:#eaf0e2;border-radius:12px;padding:40px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc-band .card{background:#fff}
.closing{text-align:left}
@media(max-width:1000px){.outcomes .cards{grid-template-columns:1fr}.process--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.process--4,.cards.two{grid-template-columns:1fr}.svc-band{padding:24px 18px}.hero-lead{font-size:17px!important}}
