/* Karibu Pwani shared primitives. Opt-in only; other brands define their own tokens. */
.kp-brand-system{--kp-ink:#173b3a;--kp-sand:#f5f1e8;--kp-sun:#efc974;--kp-muted:#536866;--kp-line:#d8dfd6;--kp-paper:#fffdf8;--kp-display:Georgia,serif;--kp-body:Arial,sans-serif;--kp-radius:8px;--kp-control-radius:4px;--kp-focus:#b77b13;--ink:var(--kp-ink);--sand:var(--kp-sand);--sun:var(--kp-sun);--muted:var(--kp-muted);--line:var(--kp-line);margin:0;background:var(--kp-sand);color:var(--kp-ink);font:16px/1.55 var(--kp-body)}
.kp-brand-system *{box-sizing:border-box}.kp-brand-system :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--kp-focus);outline-offset:5px}.kp-brand-system :is(button,input,select,textarea){font-family:var(--kp-body)}
.kp-brand-system .kp-site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 5%;background:#f8f7f1;color:var(--kp-ink)}.kp-brand-system .kp-site-brand{font:700 27px/1 var(--kp-display);letter-spacing:normal;text-decoration:none;color:var(--kp-ink)}.kp-brand-system .kp-site-brand small{display:block;font:normal 9px/1 var(--kp-body);letter-spacing:.17em;margin-top:8px;text-transform:uppercase}.kp-brand-system .kp-site-header nav{display:flex;align-items:center;gap:26px;font-size:13px;flex-wrap:wrap}.kp-brand-system .kp-site-header nav a{color:var(--kp-ink);text-decoration:none}.kp-brand-system .kp-site-header .header-help{border:1px solid var(--kp-ink);border-radius:99px;padding:10px 18px}
.kp-brand-system :is(.button,.np-button){border-radius:var(--kp-control-radius);border:0;background:var(--kp-ink);color:white;font:700 14px/1.55 var(--kp-body);padding:15px 22px;min-height:49px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:22px}.kp-brand-system .button.sun{background:var(--kp-sun);color:#213735}.kp-brand-system .np-button.np-light{background:var(--kp-paper);color:var(--kp-ink);border:1px solid var(--kp-line)}.kp-brand-system :is(.button,.np-button):disabled{cursor:not-allowed;opacity:.55}
.kp-brand-system :is(.notice,.draft-banner){padding:9px 18px;background:#fff1c8;color:#514011;text-align:center;font:12px/1.55 var(--kp-body);letter-spacing:.035em}
@media(max-width:620px){.kp-brand-system .kp-site-header{padding:13px 20px;min-height:80px;align-items:center}.kp-brand-system .kp-site-brand{font-size:23px}.kp-brand-system .kp-site-header nav{gap:6px;flex-direction:column;align-items:end}.kp-brand-system .kp-site-header nav a{font-size:11px}.kp-brand-system .kp-site-header nav a:first-child,.kp-brand-system .kp-site-header nav a:nth-child(2){display:none}.kp-brand-system .kp-site-header .header-help{padding:6px 10px}}
.kp-currency{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:12px max(20px,5%);background:#eef2eb;border-bottom:1px solid var(--kp-line);color:var(--kp-ink);font-size:12px}.kp-currency label{font-weight:bold}.kp-currency select{max-width:100%;background:var(--kp-paper);border:1px solid #aabdb4;border-radius:5px;padding:8px;color:inherit}.kp-currency #currency-feedback{font-size:11px}.currency-details{font-size:11px}.currency-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.currency-details p{max-width:650px}.currency-details button{padding:7px 10px;background:var(--kp-paper);border:1px solid var(--kp-line);border-radius:4px;margin-right:12px;color:inherit;cursor:pointer}.currency-details[open]{flex-basis:100%}@media(max-width:620px){.kp-currency{gap:7px 10px}.kp-currency #currency-feedback{flex-basis:100%}}
.kp-section-footer{background:var(--kp-ink);color:#f5f1e8;padding:42px 0 22px}.section-footer-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:26px;border-bottom:1px solid #ffffff30}.section-footer-brand{font:normal 29px var(--kp-display);text-decoration:none}.section-footer-intro p{font-size:13px;color:#d0dcd3;margin:0}.section-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:28px 0}.section-footer-links h3{font-size:12px;color:#f6da98;margin:0 0 14px}.section-footer-links a{display:block;width:fit-content;font-size:12px;color:#e2e8de;text-decoration:none;padding:5px 0}.section-footer-links a:hover{text-decoration:underline}.section-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff30;padding-top:18px;font-size:10px;color:#c1d1c7}.section-footer-bottom p{margin:0;max-width:700px}.kp-section-footer a:focus-visible{outline:2px solid #f6da98;outline-offset:4px}@media(max-width:620px){.section-footer-intro{display:block}.section-footer-intro p{margin-top:10px}.section-footer-links{grid-template-columns:1fr 1fr;gap:22px}.section-footer-links nav:last-child{grid-column:1/-1}.section-footer-links nav:last-child a{display:inline-block;margin-right:16px}.section-footer-bottom{display:block}.section-footer-bottom a{display:inline-block;margin-top:13px}}

/* A quiet explanation of the unchanged Karibu Pwani name. */
footer .kp-brand-meaning{font:13px/1.65 system-ui,sans-serif!important;color:#d0ded7!important;max-width:64ch;margin:18px 0 0!important;letter-spacing:normal}
