/* DiDe Rwanda theme - black, orange, white */
:root{--black:#0b0b0b;--ink:#1a1a1a;--orange:#ff6a13;--orange-d:#c2410c;--white:#fff;--grey:#f4f4f2;--line:#e5e5e2;--muted:#5b5b57;--r:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange-d);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:Poppins,Inter,Arial,sans-serif;line-height:1.2;color:var(--black);margin:0 0 .5em}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.narrow{max-width:800px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:#000;padding:10px 16px;z-index:100}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

/* top bar + header */
.topbar{background:var(--black);color:#ddd;font-size:13px}
.topbar-in{display:flex;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px}
.topbar a{color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--orange);transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 6px 20px rgba(0,0,0,.12)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.brand{display:flex;align-items:center;gap:12px;color:var(--black)}
.brand:hover{text-decoration:none}
.brand img{width:64px;height:64px;object-fit:contain}
.brand strong{display:block;font-family:Poppins,Arial,sans-serif;font-size:19px;line-height:1.1}
.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.brand-light{color:#fff}.brand-light small{color:#bbb}
.nav{display:flex;align-items:center;gap:18px}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.menu>li{position:relative}
.menu>li>a{display:block;padding:12px 12px;color:var(--black);font-weight:600;font-size:15px;border-radius:8px}
.menu>li>a:hover{background:var(--grey);text-decoration:none;color:var(--orange-d)}
.sub{list-style:none;margin:0;padding:8px;position:absolute;left:0;top:100%;min-width:240px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:0 0 12px 12px;box-shadow:0 14px 30px rgba(0,0,0,.14);display:none}
.menu>li:hover>.sub,.menu>li:focus-within>.sub{display:block}
.sub a{display:block;padding:9px 12px;color:var(--ink);border-radius:8px;font-size:15px}
.sub a:hover{background:var(--black);color:#fff;text-decoration:none}
.nav-tools{display:flex;align-items:center;gap:10px}
.search{display:flex}
.search input{width:150px;padding:9px 12px;border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;font:inherit;font-size:14px}
.search button{padding:0 14px;border:0;background:var(--black);color:#fff;border-radius:0 10px 10px 0;cursor:pointer;font-size:18px}
.burger{display:none;background:none;border:2px solid var(--black);border-radius:10px;padding:10px;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--black);margin:4px 0}

/* buttons */
.btn{display:inline-block;padding:12px 24px;border-radius:999px;font-weight:700;font-size:15px;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-orange{background:var(--orange);color:#000}.btn-orange:hover{background:#ff8238}
.btn-dark{background:var(--black);color:#fff}.btn-dark:hover{background:#222}
.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:#000}

/* hero */
.hero{position:relative;background-size:cover;background-position:center;color:#fff;min-height:560px;display:flex;align-items:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.6) 55%,rgba(0,0,0,.25) 100%)}
.hero-in{position:relative;padding-top:70px;padding-bottom:70px}
.hero h1{color:#fff;font-size:clamp(34px,5.4vw,62px);font-weight:800;max-width:780px}
.hero h1 span{color:var(--orange)}
.eyebrow{display:inline-block;background:var(--orange);color:#000;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin:0 0 18px}
.lead{font-size:20px;max-width:640px;color:#eee}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}

/* sections */
.section{padding:84px 0}
.section.alt{background:var(--grey)}
.kicker{color:var(--orange-d);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin:0 0 8px}
.kicker.light{color:var(--orange)}
.h-xl{font-size:clamp(28px,3.6vw,42px);font-weight:700}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.mt{margin-top:36px}
.focus{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:var(--ink);transition:transform .2s,box-shadow .2s}
.focus:hover,.card:hover,.tile:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(0,0,0,.12);text-decoration:none}
.focus img{width:100%;height:230px;object-fit:cover}
.focus div{padding:22px}
.focus h3{font-size:21px}
.focus p{color:var(--muted);margin:0 0 12px}
.more{color:var(--orange-d);font-weight:700}
.band-dark{background:var(--black);color:#e8e8e8;padding:84px 0}
.band-dark h2{color:#fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.rounded{border-radius:var(--r);width:100%;max-height:520px;object-fit:cover;border:4px solid var(--orange)}
.ticks{list-style:none;padding:0;margin:18px 0 26px}
.ticks li{padding:6px 0 6px 32px;position:relative}
.ticks li:before{content:"✓";position:absolute;left:0;top:6px;width:22px;height:22px;border-radius:50%;background:var(--orange);color:#000;font-weight:800;font-size:13px;text-align:center;line-height:22px}

/* cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card-img img{width:100%;height:200px;object-fit:cover}
.card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:19px}
.card h3 a{color:var(--black)}
.meta{color:var(--muted);font-size:14px;margin:0 0 6px}
.excerpt{color:var(--muted);font-size:15px;flex:1}
.excerpt p{margin:0 0 10px}
.tile{display:block;background:var(--black);color:#ddd;padding:28px;border-radius:var(--r);border-left:6px solid var(--orange);transition:transform .2s,box-shadow .2s}
.tile h3{color:#fff}
.tile .more{color:var(--orange)}

/* call to action */
.cta{background:var(--orange);padding:56px 0}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta h2{margin:0;color:#000;font-size:clamp(24px,3vw,34px)}

/* inner pages */
.page-hero{background:var(--black);color:#fff;padding:64px 0;border-bottom:6px solid var(--orange)}
.page-hero h1{color:#fff;font-size:clamp(30px,4.4vw,48px);font-weight:800}
.page-hero .lead{color:#ddd}
.crumbs{font-size:14px;color:#bbb;margin-bottom:14px}
.crumbs a{color:#fff}
.prose{font-size:18px}
.prose img{border-radius:10px;margin:18px 0}
.prose a{text-decoration:underline}
.prose h2,.prose h3{margin-top:1.6em}
.prose blockquote{border-left:5px solid var(--orange);margin:20px 0;padding:6px 20px;background:var(--grey)}
.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.prose td,.prose th{border:1px solid var(--line);padding:8px 12px}
.chapo{font-size:21px;color:var(--muted)}
.article-img{margin:0 0 28px}.article-img img{width:100%;border-radius:var(--r)}
.pager{margin-top:30px;text-align:center}
.search-big{max-width:560px;margin-top:20px}
.search-big input{flex:1;width:auto;padding:14px 16px;font-size:16px}
.search-big button{font-size:16px;font-weight:700;background:var(--orange);color:#000;padding:0 22px}

/* footer */
.site-footer{background:var(--black);color:#cfcfcf;padding:64px 0 0;border-top:6px solid var(--orange)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.site-footer h3{color:#fff;font-size:16px;text-transform:uppercase;letter-spacing:.08em}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:6px 0}
.site-footer a{color:#fff}
.site-footer .btn-orange{color:#000;margin-top:10px}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #2a2a2a;margin-top:44px;padding-top:20px;padding-bottom:26px;font-size:14px;color:#999}

/* responsive */
@media(max-width:980px){
  .grid3{grid-template-columns:1fr 1fr}
  .split,.foot-grid{grid-template-columns:1fr}
  .burger{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:14px 22px 22px;border-bottom:3px solid var(--orange);max-height:80vh;overflow:auto}
  .nav.open{display:flex}
  .menu{flex-direction:column}
  .sub{display:block;position:static;box-shadow:none;border:0;border-left:3px solid var(--orange);border-radius:0;padding:0 0 0 12px;margin:0 0 8px}
  .nav-tools{flex-direction:column;align-items:stretch}
  .search input{flex:1;width:auto}
}
@media(max-width:620px){
  .grid3{grid-template-columns:1fr}
  .topbar-in span{display:none}
  .hero{min-height:480px}
  .section,.band-dark{padding:56px 0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
