:root{--g:#00693e;--lg:#9fca6a;--side:#f0f0f0;--ink:#111;--sw:190px;--hh:120px}
*{box-sizing:border-box}
html,body{margin:0}
body{font:17px/1.45 Carlito,Calibri,"Segoe UI",Arial,sans-serif;color:var(--ink);display:grid;grid-template-columns:var(--sw) 1fr;grid-template-rows:var(--hh) 1fr;min-height:100vh}
a{color:var(--g)}
.top{grid-column:1/3;display:grid;grid-template-columns:var(--sw) 1fr;background:var(--lg)}
.logo{background:#fff;display:flex;align-items:center;justify-content:center;padding:6px}
.logo img{width:100%;max-width:130px;height:auto;object-fit:contain}
.legal{justify-self:end;padding:12px 10px;color:var(--g)}
.legal a{text-decoration:none}.legal a:hover{text-decoration:underline}
.burger{display:none}
.side{background:var(--side);padding:20px 10px;border-right:1px solid var(--g);grid-row:2}
.side>a,.sub a{display:block;color:var(--ink);text-decoration:none;padding:3px 0}
.side a:hover{color:var(--g)}
.side a.on{color:var(--g);font-weight:700}
.sub{padding-left:16px}.sub a{font-size:.95em}
.ad{min-height:90px;overflow:hidden;text-align:center}
.side-ad{margin-top:36px;border:1px solid var(--g);min-height:100px}
.stage{position:relative;padding:14px;background:#1d3b2a url(kenya.png) center/cover fixed;display:flex;flex-direction:column;gap:14px;min-width:0;isolation:isolate}
#bgmap{position:absolute;inset:0;z-index:0;pointer-events:none}
.stage>*:not(#bgmap){position:relative;z-index:1}
.card{background:rgba(255,255,255,.88);padding:14px 16px;max-width:100%}
.card h1,.card h2,.card h3{margin:.1em 0 .3em;line-height:1.2}
.hero{text-align:center}.hero h1{color:var(--g);font-size:1.35rem}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 0 24px}
.btn{display:inline-block;background:rgba(124,179,66,.9);color:var(--g);font-weight:700;text-decoration:none;text-align:center;padding:12px 22px;font-size:1.1rem;border:0;cursor:pointer;font-family:inherit}
.btn:hover,.btn:focus-visible{background:var(--lg);outline:2px solid var(--g)}
.btn[disabled]{opacity:.6;cursor:wait}
.intro{display:flex;padding:0;max-width:640px;margin-left:8px}
.intro img{width:220px;object-fit:cover;flex:none}.intro div{padding:8px 12px}
p.date{font-weight:700;color:var(--g);margin:.2em 0 0}
.long{max-width:860px}.long h2{margin-top:1.1em}.long ul{margin:.4em 0;padding-left:1.3em}
.float-ad{align-self:flex-end;width:min(300px,100%);background:rgba(255,255,255,.88);margin-top:auto}
/* verified sites: panel + map */
.vs{padding:0;background:#222;display:grid;grid-template-columns:minmax(300px,390px) 1fr;min-height:calc(100vh - var(--hh))}
.vs .panel{background:rgba(255,255,255,.95);padding:14px 16px;overflow:auto;max-height:calc(100vh - var(--hh));position:sticky;top:0;align-self:start}
.vs h1{color:var(--g);font-size:1.4rem;margin:.1em 0 .3em}
.vs h2{color:var(--g);font-size:1.25rem;margin:.2em 0}
#map{position:relative;min-height:420px}
.picks{display:flex;flex-direction:column;gap:6px;margin:10px 0 14px;padding:0;list-style:none}
.picks a{display:block;padding:8px 10px;border:1px solid var(--g);text-decoration:none;color:var(--g)}
.picks a[aria-current=true]{background:var(--g);color:#fff;font-weight:700}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:2px 14px;margin:.4em 0 .8em}
.facts dt{font-weight:700;color:var(--g)}.facts dd{margin:0}
.thumbs{display:flex;gap:8px;margin:10px 0}.thumbs img{width:calc(50% - 4px);height:90px;object-fit:cover}
.note{font-size:.9em;color:#333;margin-top:14px}
/* audit form */
.form label{display:block;font-weight:700;margin-top:12px}
.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;padding:8px;font:inherit;border:1px solid #777;background:#fff}
.form textarea{min-height:130px}
.form .hint,.form .small{font-size:.9em;color:#333;margin:.2em 0;font-weight:400}
.form .err{color:#b00020;font-size:.9em;min-height:1.2em;margin:.2em 0}
.form [aria-invalid=true]{border-color:#b00020}
.form .consent{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.form .consent input{margin-top:5px}
.hp{position:absolute;left:-9999px}
.thanks{background:#e6f3e6;border-left:5px solid var(--g);padding:14px 16px}
@media(max-width:760px){
 body{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}
 .top{grid-column:1;grid-template-columns:90px 1fr auto;align-items:center;min-height:70px}
 .logo{height:70px}.logo img{max-width:60px}
 .legal{grid-column:2;grid-row:1;justify-self:start;font-size:.8rem;padding:6px}
 .burger{display:block;grid-column:3;grid-row:1;font-size:1.8rem;background:none;border:0;color:var(--g);padding:10px 16px}
 .side{display:none;grid-row:2;border-right:0;border-bottom:1px solid var(--g)}
 .open .side{display:block}
 .stage{grid-row:3;background-attachment:scroll}
 .intro{flex-direction:column}.intro img{width:100%;height:160px}
 .ctas{margin-left:0}
 .vs{display:flex;flex-direction:column;min-height:0}
 .vs .panel{display:contents}
 .vs .head{order:1;background:#fff;padding:12px 14px}
 #map{order:2;height:50vh;min-height:300px}
 .vs .sites{order:3;background:#fff;padding:12px 14px}
 .picks{flex-direction:row;flex-wrap:wrap}
 .float-ad{align-self:stretch;width:100%}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
