/* Nairobi Web & App Pricing Pages. Everything is scoped under .nwp */
body.nwp-body{margin:0;background:#fff}
.nwp{--ink:#12161c;--muted:#586272;--line:#e6e9ee;--wash:#f4f6f9;--accent:var(--nwp-accent,#1d4ed8);--tint:color-mix(in srgb,var(--accent) 9%,#fff);--sun:#f5b83d;--ease:cubic-bezier(.22,.8,.24,1);
  color:var(--ink);background:#fff;font:400 17px/1.65 Figtree,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
.nwp *,.nwp *::before,.nwp *::after{box-sizing:border-box}
.nwp a{color:inherit}
.nwp h1,.nwp h2,.nwp h3{font-family:"Bricolage Grotesque",Figtree,ui-sans-serif,system-ui,sans-serif;font-weight:700;line-height:1.08;letter-spacing:-.025em;margin:0;color:var(--ink)}
.nwp h1{font-size:clamp(2.3rem,5.4vw,4rem);font-weight:800;letter-spacing:-.035em;text-wrap:balance}
.nwp h2{font-size:clamp(1.65rem,3vw,2.35rem);text-wrap:balance}
.nwp h3{font-size:1.2rem;letter-spacing:-.015em}
.nwp p{margin:0}
.nwp-wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.nwp-narrow{width:min(760px,100% - 40px)}
.nwp-section{padding:clamp(48px,7vw,88px) 0;border-top:1px solid var(--line)}
.nwp-section>.nwp-wrap>h2+*{margin-top:14px}
.nwp-sub{color:var(--muted);max-width:60ch}
.nwp-note{margin-top:22px;color:var(--muted)}
.nwp-note a,.nwp-switch a{text-decoration-color:var(--sun);text-decoration-thickness:2px;text-underline-offset:4px;transition:color .25s var(--ease)}
.nwp-note a:hover,.nwp-switch a:hover{color:var(--accent)}
.nwp :focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,#fff);outline-offset:3px;border-radius:6px}

/* header */
.nwp-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}
.nwp-header.is-stuck{border-color:var(--line)}
.nwp-header__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.nwp-brand{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:-.03em;text-decoration:none}
.nwp-header nav{display:flex;align-items:center;gap:26px;font-weight:500}
.nwp-header nav a:not(.nwp-btn){text-decoration:none;color:var(--muted);transition:color .25s var(--ease)}
.nwp-header nav a:not(.nwp-btn):hover{color:var(--ink)}
@media(max-width:560px){.nwp-header nav a:not(.nwp-btn){display:none}}

/* buttons */
.nwp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;border:1.5px solid var(--ink);background:var(--ink);color:#fff!important;font:600 1rem/1 Figtree,sans-serif;text-decoration:none;cursor:pointer;transition:transform .35s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .35s var(--ease)}
.nwp-btn:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);box-shadow:0 10px 24px -10px color-mix(in srgb,var(--accent) 70%,transparent)}
.nwp-btn:active{transform:translateY(0)}
.nwp-btn--sm{padding:10px 18px;font-size:.92rem}
.nwp-btn--ghost{background:transparent;color:var(--ink)!important;border-color:var(--line)}
.nwp-btn--ghost:hover{background:var(--ink);color:#fff!important;border-color:var(--ink);box-shadow:none}
.nwp-btn--light{background:#fff;color:var(--ink)!important;border-color:#fff}
.nwp-btn--light:hover{background:var(--sun);border-color:var(--sun);color:var(--ink)!important;box-shadow:none}
.nwp-btn[disabled]{opacity:.6;pointer-events:none}

/* hero */
.nwp-hero{padding:clamp(36px,6vw,72px) 0 clamp(48px,7vw,88px)}
.nwp-hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center}
@media(max-width:900px){.nwp-hero__in{grid-template-columns:1fr}}
.nwp-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.88rem;color:var(--muted);margin-bottom:22px}
.nwp-crumbs a{text-decoration:none}.nwp-crumbs a:hover{color:var(--ink)}
.nwp-crumbs i{font-style:normal;opacity:.5}
.nwp-lede{margin-top:22px;font-size:1.15rem;color:var(--muted);max-width:56ch}
.nwp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.nwp-switch{margin-top:20px;font-size:.95rem}

/* price ladder (the signature element) */
.nwp-ladder{display:grid;gap:26px;padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(#fff,#fff) padding-box}
.nwp-rung__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:600}
.nwp-rung__top b{font-family:"Bricolage Grotesque",sans-serif;font-size:1.5rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nwp-rung__top small{font:500 .8rem Figtree,sans-serif;color:var(--muted)}
.nwp-rung__bar{height:12px;margin-top:10px;border-radius:99px;background:var(--wash);overflow:hidden}
.nwp-rung__bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--accent);transform-origin:left;animation:nwp-grow 1.1s var(--ease) both;animation-delay:calc(var(--i) * 140ms + 250ms)}
.nwp-rung:last-child .nwp-rung__bar i{background:linear-gradient(90deg,var(--accent),var(--sun))}
.nwp-rung.is-out{opacity:.38;transition:opacity .3s}
@keyframes nwp-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.nwp-hero__copy>*{animation:nwp-in .8s var(--ease) both}
.nwp-hero__copy>*:nth-child(2){animation-delay:.08s}.nwp-hero__copy>*:nth-child(3){animation-delay:.16s}.nwp-hero__copy>*:nth-child(4){animation-delay:.24s}.nwp-hero__copy>*:nth-child(5){animation-delay:.3s}
@keyframes nwp-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* plans */
.nwp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:36px;align-items:stretch}
.nwp-plan{position:relative;display:flex;flex-direction:column;gap:6px;padding:30px;border:1px solid var(--line);border-radius:26px;background:#fff;transition:transform .5s var(--ease),border-color .35s var(--ease),box-shadow .5s var(--ease)}
.nwp-plan:hover{transform:translateY(-6px);border-color:var(--ink);box-shadow:0 28px 50px -34px rgba(18,22,28,.45)}
.nwp-plan__tag{color:var(--muted);min-height:3.2em}
.nwp-price{margin-top:14px;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:2.6rem;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.nwp-price small{display:block;margin-bottom:6px;font:500 .85rem Figtree,sans-serif;letter-spacing:0;color:var(--muted)}
.nwp-plan__days{margin:10px 0 14px;font-size:.92rem;color:var(--muted)}
.nwp-ticks{list-style:none;margin:0 0 26px;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:9px;flex:1}
.nwp-ticks li{position:relative;padding-left:26px;font-size:.97rem}
.nwp-ticks li::before{content:"";position:absolute;left:0;top:.42em;width:15px;height:15px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.500l3.200 3.200L13 4.800' fill='none' stroke='%23000' stroke-width='2.200' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.500l3.200 3.200L13 4.800' fill='none' stroke='%23000' stroke-width='2.200' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.nwp-plan.is-featured{background:var(--ink);border-color:var(--ink);color:#fff}
.nwp-plan.is-featured h3,.nwp-plan.is-featured .nwp-price{color:#fff}
.nwp-plan.is-featured .nwp-plan__tag,.nwp-plan.is-featured .nwp-plan__days,.nwp-plan.is-featured .nwp-price small{color:rgba(255,255,255,.72)}
.nwp-plan.is-featured .nwp-ticks{border-color:rgba(255,255,255,.18)}
.nwp-plan.is-featured .nwp-ticks li::before{background:var(--sun)}
.nwp-badge{position:absolute;top:22px;right:22px;padding:5px 12px;border-radius:99px;background:var(--sun);color:var(--ink);font-size:.8rem;font-weight:600}
.nwp-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease),border-color .35s var(--ease),box-shadow .5s var(--ease);transition-delay:calc(var(--i,0) * 110ms)}
.nwp-reveal.is-in{opacity:1;transform:none}
.nwp-reveal.is-in:hover{transition-delay:0s}

/* tabs */
.nwp-tablist{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:99px}
.nwp-tablist button{padding:11px 22px;border:0;border-radius:99px;background:transparent;font:600 .98rem Figtree,sans-serif;color:var(--muted);cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease)}
.nwp-tablist button.is-active{background:var(--ink);color:#fff}
.nwp-panel{display:none}
.nwp-panel.is-active{display:block;animation:nwp-in .55s var(--ease) both}
.nwp-tabs .nwp-grid{margin-top:28px}

/* definition list of features */
.nwp-defs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;margin:34px 0 0}
@media(max-width:760px){.nwp-defs{grid-template-columns:1fr}}
.nwp-defs>div{padding:20px 0;border-top:1px solid var(--line)}
.nwp-defs dt{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:-.015em}
.nwp-defs dd{margin:6px 0 0;color:var(--muted)}

/* tables */
.nwp-tablewrap{margin-top:30px;overflow-x:auto;border:1px solid var(--line);border-radius:20px}
.nwp-table{width:100%;border-collapse:collapse;min-width:620px;font-size:.98rem}
.nwp-table th,.nwp-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.nwp-table thead th{background:var(--wash);font-weight:600;font-size:.9rem;color:var(--muted)}
.nwp-table tbody tr:last-child>*{border-bottom:0}
.nwp-table tbody th{font-weight:600}
.nwp-table tbody tr{transition:background .25s var(--ease)}
.nwp-table tbody tr:hover{background:var(--wash)}
.nwp-table td{font-variant-numeric:tabular-nums}
.nwp-table td.is-in{background:var(--tint);font-weight:600;color:var(--accent)}
.nwp-table a{text-decoration:none}.nwp-table a:hover{text-decoration:underline}

/* process */
.nwp-steps{list-style:none;counter-reset:s;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.nwp-steps li{counter-increment:s;position:relative;padding-top:54px}
.nwp-steps li::before{content:counter(s);position:absolute;top:0;left:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 1rem "Bricolage Grotesque",sans-serif}
.nwp-steps li::after{content:"";position:absolute;top:19px;left:50px;right:-14px;height:1.5px;background:var(--line)}
.nwp-steps li:last-child::after{display:none}
.nwp-steps p{margin-top:8px;color:var(--muted);font-size:.97rem}

/* directory */
.nwp-dir{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:0 40px}
.nwp-dir li{display:flex;align-items:center;border-top:1px solid var(--line)}
.nwp-dir a{display:flex;flex:1;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;text-decoration:none;transition:padding .35s var(--ease),color .3s var(--ease)}
.nwp-dir a:hover{padding-left:10px;color:var(--accent)}
.nwp-dir a{min-width:0}
.nwp-dir span{font-weight:600;overflow-wrap:anywhere}
.nwp-dir em{font-style:normal;color:var(--muted);font-size:.93rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.nwp-dir .nwp-dir__app{flex:0 0 auto;padding-left:12px}
@media(max-width:520px){.nwp-dir em{white-space:normal;text-align:right;font-size:.86rem}.nwp-dir{gap:0 20px}}.nwp-dir .nwp-dir__app:hover{padding-left:16px}

/* chips */
.nwp-chips{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.nwp-chips a{display:inline-block;padding:10px 18px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-weight:500;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .35s var(--ease)}
.nwp-chips a:hover,.nwp-chips a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}

/* faq */
.nwp-faq{border-top:1px solid var(--line)}
.nwp-faq:last-of-type{border-bottom:1px solid var(--line)}
.nwp-faq:first-of-type{margin-top:28px}
.nwp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;font-weight:600;font-size:1.05rem;cursor:pointer;list-style:none;transition:color .25s var(--ease)}
.nwp-faq summary::-webkit-details-marker{display:none}
.nwp-faq summary::after{content:"";flex:0 0 14px;height:14px;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat;transition:transform .45s var(--ease)}
.nwp-faq[open] summary::after{transform:rotate(135deg)}
.nwp-faq summary:hover{color:var(--accent)}
.nwp-faq[open] .nwp-ans{animation:nwp-in .5s var(--ease) both}
.nwp-ans{padding:0 36px 22px 0;color:var(--muted)}

/* quote form */
.nwp-quote__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,80px);align-items:start}
@media(max-width:860px){.nwp-quote__in{grid-template-columns:1fr}}
.nwp-form{display:grid;gap:16px;padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:28px}
.nwp-form label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
.nwp-form input,.nwp-form select,.nwp-form textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:400 1rem Figtree,sans-serif;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.nwp-form input:focus,.nwp-form select:focus,.nwp-form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}
.nwp-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.nwp-row{grid-template-columns:1fr}}
.nwp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nwp-form__status{min-height:1.4em;font-weight:500}
.nwp-form__status.is-error{color:#b42318}
.nwp-form.is-done{text-align:center;padding:48px 28px;animation:nwp-in .6s var(--ease) both}
.nwp-form.is-done h3{margin-bottom:8px}

/* footer + whatsapp */
.nwp-footer{padding:40px 0 56px;border-top:1px solid var(--line);color:var(--muted)}
.nwp-footer .nwp-fine{margin-top:10px;font-size:.88rem}
.nwp-fab{position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff!important;box-shadow:0 12px 30px -10px rgba(18,22,28,.55);transition:transform .4s var(--ease),background .3s var(--ease)}
.nwp-fab:hover{transform:translateY(-3px) scale(1.05);background:var(--accent)}

.nwp--embed .nwp-section:first-child{border-top:0}

@media(prefers-reduced-motion:reduce){
  .nwp,.nwp *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .nwp-reveal{opacity:1;transform:none}
}
