/*
Theme Name: CBC Kenya
Theme URI: https://cbckenya.or.ke
Author: Capacity Building Consultants Ltd
Description: Professional climate, natural-resource and capacity-building theme with Ken Burns hero slider, Customizer theme options, dropdown menus, app-launch button and one-click demo content (Côte d’Ivoire Cashew Sector Carbon Program).
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: cbc-kenya
*/
:root{--g:#14352A;--a:#E0A526;--ink:#1c2a23;--mut:#5b6b61;--bg:#f3f6f2;--line:#d5ddd6;--g2:#3E8E5A}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 "Public Sans",system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,h4{font-family:Newsreader,Georgia,serif;line-height:1.2;color:var(--g);font-weight:600}
h1{font-size:clamp(2rem,4.5vw,3.4rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:2.2rem 0 .6rem}h3{font-size:1.3rem}
a{color:var(--g2)}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--a);outline-offset:2px}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:20px;min-height:76px}
.brand img{height:54px;width:auto}.brand{margin-right:auto;text-decoration:none}
.nav ul{list-style:none;margin:0;padding:0}.nav>ul{display:flex;gap:2px}
.nav li{position:relative}.nav a{display:block;padding:10px 13px;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.nav a:hover,.nav .current-menu-item>a,.nav .current-menu-ancestor>a{color:var(--g2)}
.nav .menu-item-has-children>a:after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;vertical-align:-2px}
.nav .sub-menu{position:absolute;left:0;top:100%;min-width:260px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--a);box-shadow:0 12px 28px rgba(20,53,42,.14);display:none}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{display:block}
.nav .sub-menu a{padding:10px 16px;font-size:.92rem}.nav .sub-menu a:hover{background:var(--bg)}
.btn-app,.btn{display:inline-block;background:var(--a);color:#14352A;font-weight:700;padding:11px 22px;border-radius:4px;text-decoration:none;border:0;cursor:pointer}
.btn-app{padding:12px 26px;font-size:1rem;box-shadow:0 3px 0 #a87a10}.btn-app:hover,.btn:hover{background:#f0b937}
.btn.alt{background:transparent;color:#fff;border:2px solid #fff}
.burger{display:none;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:4px;font-size:1rem}
.hero{position:relative;height:min(78vh,680px);min-height:440px;background:var(--g);overflow:hidden;color:#fff}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}.slide.on{opacity:1;z-index:1}
.slide .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.slide.on .bg{animation:kb var(--kb,9s) ease-out forwards}
.slide:nth-child(even).on .bg{animation-name:kb2}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.16) translate(-2%,-1.5%)}}
@keyframes kb2{from{transform:scale(1.16) translate(2%,1%)}to{transform:scale(1)}}
.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,24,.85),rgba(10,32,24,.25) 70%)}
.cap{position:absolute;z-index:2;left:0;right:0;bottom:16%}.cap h2{color:#fff;margin:0 0 12px;max-width:760px;font-size:clamp(2rem,4.6vw,3.6rem)}
.cap p{max-width:600px;font-size:1.15rem;margin:0 0 22px}.cap .btn+.btn{margin-left:10px}
.dots{position:absolute;z-index:3;left:0;right:0;bottom:22px;display:flex;gap:8px;padding:0 24px;max-width:1160px;margin:auto}.dots button{width:34px;height:5px;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0}.dots .on{background:var(--a)}
.arrows{position:absolute;z-index:3;right:24px;bottom:14px;display:flex;gap:6px}.arrows button{width:42px;height:42px;background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.5);cursor:pointer;font-size:1.2rem}
@media(prefers-reduced-motion:reduce){.slide.on .bg{animation:none}.slide{transition:none}}
.sec{padding:64px 0}.sec.alt{background:var(--bg)}
.page-hd{background:var(--g);color:#fff;padding:54px 0}.page-hd h1{color:#fff;margin:0}.crumb{opacity:.75;font-size:.9rem;margin-bottom:8px}.crumb a{color:#fff}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px;margin:1.4rem 0}
.fig{margin:0}.fig img{width:100%;aspect-ratio:4/3;object-fit:cover}.fig figcaption{font-size:.88rem;color:var(--mut);padding-top:6px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:3px solid var(--g);margin:1.5rem 0}
.stats div{padding:18px 20px 18px 0}.stats b{display:block;font:600 2.3rem Newsreader,serif;color:var(--g)}.stats span{color:var(--mut);font-size:.92rem}
table{border-collapse:collapse;width:100%;margin:1rem 0}th{background:var(--g);color:#fff;text-align:left}th,td{padding:10px 12px;border:1px solid var(--line);vertical-align:top}tr:nth-child(even) td{background:var(--bg)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:1.4rem 0}.gal img{width:100%;aspect-ratio:1;object-fit:cover}
.note{border-left:4px solid var(--a);background:var(--bg);padding:12px 18px;margin:1.4rem 0}
.entry{padding:48px 0 72px}.entry .wrap>p,.entry .wrap>ul,.entry .wrap>ol,.entry .wrap>h2,.entry .wrap>h3,.entry .wrap>.note{max-width:820px}
.site-footer{background:#0f2a21;color:#cfe0d5;padding:48px 0 24px;font-size:.93rem}.site-footer a{color:#fff}.site-footer h4{color:#fff;font-family:inherit;margin:0 0 8px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:36px}.site-footer ul{list-style:none;padding:0;margin:0}.copy{border-top:1px solid #2c4a3d;margin-top:30px;padding-top:16px;color:#9bb5a6}
@media(max-width:980px){.burger{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);max-height:75vh;overflow:auto}.nav.open{display:block}.nav>ul{display:block}.nav .sub-menu{position:static;display:block;border:0;box-shadow:none;padding-left:14px}.hd>.btn-app{padding:10px 14px;font-size:.85rem}.fgrid{grid-template-columns:1fr}}
