/* ═══════════════════════════════════════
   IMPACT.PHP — Page-unique styles only
   ═══════════════════════════════════════ */

/* 1. HERO */
#imp-hero{min-height:78svh;display:flex;align-items:flex-end}
.imph-bg{position:absolute;inset:0;background-image:url('https://i.ibb.co/m5TL3gFq/23.png');background-size:cover;background-position:center 20%;opacity:.14;pointer-events:none}
.kc-photo{width:100%;aspect-ratio:21/8;overflow:hidden;border-bottom:var(--b);position:relative}
.kc-photo img{width:100%;height:100%;object-fit:cover;display:block}
.kc-photo-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(29,38,49,.9));padding:48px 40px 22px;font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.65)}
.pc-img{width:100%;aspect-ratio:16/8;overflow:hidden;margin-bottom:20px;position:relative}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(15%);transition:transform .5s ease,filter .4s ease}
.pc:hover .pc-img img{transform:scale(1.04);filter:grayscale(0%)}
#imp-strip{display:grid;grid-template-columns:1fr 1fr 1fr;height:280px;border-top:var(--b);border-bottom:var(--b);overflow:hidden}
.is-cell{overflow:hidden;border-right:var(--b);position:relative}
.is-cell:last-child{border-right:none}
.is-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.is-cell:hover img{transform:scale(1.05)}
.is-cell-lbl{position:absolute;bottom:0;left:0;right:0;background:rgba(29,38,49,.78);padding:10px 14px;font-family:var(--font-ui);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.75);transform:translateY(100%);transition:transform .28s ease}
.is-cell:hover .is-cell-lbl{transform:translateY(0)}
@media(max-width:700px){#imp-strip{grid-template-columns:1fr;height:auto}.is-cell{height:200px;border-right:none;border-bottom:var(--b)}.is-cell:last-child{border-bottom:none}.is-cell-lbl{transform:translateY(0)}}

.ih-inner{position:relative;z-index:2;width:100%}
.ih-rule{width:100%;height:4px;background:var(--red)}
.ih-body{padding:52px 0 0}
.ih-tag{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:rgba(255,255,255,.35);display:block;margin-bottom:18px}
.ih-h1{font-family:var(--font-head);font-size:clamp(52px,9.5vw,118px);font-weight:900;line-height:.88;letter-spacing:-.04em;text-transform:uppercase;color:#fff}
.ih-h1 em{font-style:italic;color:var(--red)}
.ih-sub{font-size:clamp(15px,1.6vw,19px);font-weight:500;color:rgba(255,255,255,.58);line-height:1.75;max-width:560px;margin:22px 0 0;padding-bottom:52px}
.ih-strip{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.08)}
.ih-cell{padding:22px 0;border-right:1px solid rgba(255,255,255,.06)}
.ih-cell:last-child{border-right:none}
.ih-cell+.ih-cell{padding-left:16px}
.ih-num{font-family:var(--font-head);font-size:clamp(17px,2.4vw,30px);font-weight:900;line-height:1;display:block;color:var(--yellow)}
.ih-lbl{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;display:block;margin-top:5px;color:rgba(255,255,255,.3)}
@media(max-width:900px){.ih-strip{grid-template-columns:repeat(3,1fr)}.ih-cell:nth-child(3n){border-right:none}.ih-cell:nth-child(n+4){border-top:1px solid rgba(255,255,255,.06)}}
@media(max-width:580px){.ih-strip{grid-template-columns:1fr 1fr}.ih-cell:nth-child(2n){border-right:none}.ih-cell:nth-child(n+3){border-top:1px solid rgba(255,255,255,.06)}}

/* 2. KYANJA CASE STUDY */
#kyanja{background:var(--yellow);border-bottom:var(--b)}
.kc-wrap{display:grid;grid-template-columns:1fr 1fr}
.kc-left{padding:64px 48px;border-right:var(--b);position:relative;z-index:2}
.kc-right{padding:64px 48px;background:var(--navy);position:relative;overflow:hidden}
.kc-tag{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(29,38,49,.42);display:block;margin-bottom:14px}
.kc-prize{font-family:var(--font-head);font-size:clamp(34px,5vw,66px);font-weight:900;line-height:.9;letter-spacing:-.03em;text-transform:uppercase;font-style:italic;color:var(--navy);margin-bottom:18px}
.kc-prize span{color:var(--red)}
.kc-body{font-size:15px;font-weight:500;line-height:1.8;color:rgba(29,38,49,.72);max-width:420px;margin-bottom:22px}
.kc-body strong{color:var(--navy);font-weight:700}
.kc-what{display:flex;flex-direction:column;gap:0;border:var(--b);overflow:hidden;margin-top:28px}
.kc-what-row{padding:14px 18px;border-bottom:var(--b);display:flex;align-items:flex-start;gap:12px;background:#fff;transition:background .15s}
.kc-what-row:last-child{border-bottom:none}
.kc-what-row:hover{background:var(--cream)}
.kc-what-label{font-family:var(--font-head);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--red);flex-shrink:0;min-width:64px;padding-top:2px}
.kc-what-text{font-size:13px;font-weight:600;color:var(--navy);line-height:1.5}
.kc-r-eyebrow{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.35);display:block;margin-bottom:16px}
.kc-r-h{font-family:var(--font-head);font-size:clamp(20px,2.5vw,32px);font-weight:900;font-style:italic;line-height:1.05;color:#fff;margin-bottom:22px}
.kc-r-h .yellow{color:var(--yellow)}
.kc-quote{font-family:var(--font-head);font-size:clamp(15px,1.8vw,20px);font-weight:700;font-style:italic;line-height:1.5;color:rgba(255,255,255,.82);padding:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);margin-bottom:22px}
.kc-quote-attr{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.3);margin-top:12px;display:block}
.kc-facts{display:flex;flex-direction:column;gap:10px}
.kf{display:flex;align-items:center;gap:14px;padding:14px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.kf-n{font-family:var(--font-head);font-size:20px;font-weight:900;color:var(--yellow);flex-shrink:0;min-width:52px;line-height:1}
.kf-t{font-size:13px;font-weight:600;color:rgba(255,255,255,.62);line-height:1.4}
@media(max-width:900px){.kc-wrap{grid-template-columns:1fr}.kc-left{border-right:none;border-bottom:var(--b);padding:40px 24px}.kc-right{padding:40px 24px}}

/* 3. PROGRAMME METRICS */
#prog-metrics{background:var(--cream);padding:88px 0;border-bottom:var(--b)}
.prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:var(--b);overflow:hidden;box-shadow:var(--shadow);margin-top:48px;position:relative;z-index:2}
.pc{padding:40px 36px;border-right:var(--b);border-bottom:var(--b);display:flex;flex-direction:column}
.pc:nth-child(2n){border-right:none}
.pc:nth-last-child(-n+2){border-bottom:none}
.pc.c-navy{background:var(--navy)}
.pc.c-red{background:var(--red)}
.pc.c-teal{background:var(--teal)}
.pc.c-blue{background:var(--blue)}
.pc-tag{font-family:var(--font-head);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;opacity:.32;display:block;margin-bottom:12px}
.pc.c-navy .pc-tag,.pc.c-red .pc-tag{color:#fff;opacity:.5}
.pc-h{font-family:var(--font-head);font-size:clamp(20px,2.4vw,28px);font-weight:900;text-transform:uppercase;font-style:italic;line-height:1;margin-bottom:12px}
.pc.c-navy .pc-h,.pc.c-red .pc-h{color:#fff}
.pc-body{font-size:14px;line-height:1.8;font-weight:500;opacity:.7;margin-bottom:24px;flex:1}
.pc.c-navy .pc-body,.pc.c-red .pc-body{color:#fff;opacity:.78}
.pc-stats{display:flex;border:var(--b-thin);overflow:hidden;margin-bottom:20px}
.pc.c-navy .pc-stats,.pc.c-red .pc-stats{border-color:rgba(255,255,255,.2)}
.pc.c-teal .pc-stats,.pc.c-blue .pc-stats{border-color:rgba(29,38,49,.15)}
.pc-s{flex:1;padding:12px 8px;text-align:center;border-right:var(--b-thin)}
.pc-s:last-child{border-right:none}
.pc.c-navy .pc-s,.pc.c-red .pc-s{border-right-color:rgba(255,255,255,.15)}
.pc.c-teal .pc-s,.pc.c-blue .pc-s{border-right-color:rgba(29,38,49,.12)}
.pc-s b{display:block;font-family:var(--font-head);font-size:18px;font-weight:900;line-height:1;margin-bottom:3px}
.pc.c-navy .pc-s b,.pc.c-red .pc-s b{color:var(--yellow)}
.pc-s small{font-family:var(--font-ui);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.45}
.pc.c-navy .pc-s small,.pc.c-red .pc-s small{color:#fff;opacity:.5}
.pc-list{display:flex;flex-direction:column;gap:7px}
.pc-li{font-size:12px;font-weight:600;opacity:.65;line-height:1.45;display:flex;align-items:flex-start;gap:8px}
.pc.c-navy .pc-li,.pc.c-red .pc-li{color:#fff;opacity:.72}
.pc-li::before{content:"—";flex-shrink:0;opacity:.4;font-size:10px;margin-top:2px}
@media(max-width:760px){.prog-grid{grid-template-columns:1fr}.pc{border-right:none}.pc:nth-last-child(-n+2){border-bottom:var(--b)}.pc:last-child{border-bottom:none}}

/* 4. YOSKILLS + OFA */
#secondary-progs{background:#fff;padding:88px 0;border-bottom:var(--b)}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:var(--b);overflow:hidden;box-shadow:var(--shadow);margin-top:48px}
.sp-card{padding:40px 36px;border-right:var(--b);display:flex;flex-direction:column}
.sp-card:last-child{border-right:none}
.sp-card.c-gold{background:var(--gold)}
.sp-card.c-cream{background:var(--cream)}
.sp-tag{font-family:var(--font-head);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;opacity:.32;display:block;margin-bottom:12px}
.sp-card.c-gold .sp-tag{color:#fff;opacity:.6}
.sp-h{font-family:var(--font-head);font-size:clamp(20px,2.4vw,28px);font-weight:900;text-transform:uppercase;font-style:italic;line-height:1;margin-bottom:12px}
.sp-card.c-gold .sp-h{color:#fff}
.sp-stat-big{font-family:var(--font-head);font-size:clamp(32px,4vw,52px);font-weight:900;line-height:1;margin-bottom:6px}
.sp-card.c-gold .sp-stat-big{color:#fff}
.sp-stat-lbl{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;opacity:.45;display:block;margin-bottom:18px}
.sp-card.c-gold .sp-stat-lbl{color:#fff;opacity:.6}
.sp-body{font-size:14px;line-height:1.8;font-weight:500;color:rgba(29,38,49,.7);margin-bottom:22px;flex:1}
.sp-card.c-gold .sp-body{color:rgba(255,255,255,.82)}
.sp-items{display:flex;flex-direction:column;gap:7px}
.sp-item{font-size:12px;font-weight:600;color:rgba(29,38,49,.62);display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.sp-card.c-gold .sp-item{color:rgba(255,255,255,.7)}
.sp-item::before{content:"—";flex-shrink:0;opacity:.4;font-size:9px;margin-top:2px}
@media(max-width:760px){.sp-grid{grid-template-columns:1fr}.sp-card{border-right:none;border-bottom:var(--b)}.sp-card:last-child{border-bottom:none}}

/* 5. PULSE + ESSENTIALS */
#pulse-essentials{background:var(--cream);padding:88px 0;border-bottom:var(--b)}
.pe-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:var(--b);overflow:hidden;box-shadow:var(--shadow);margin-top:48px}
.pe-card{padding:40px 36px;border-right:var(--b);display:flex;flex-direction:column}
.pe-card:last-child{border-right:none}
.pe-card.c-navy{background:var(--navy)}
.pe-card.c-white{background:#fff}
.pe-tag{font-family:var(--font-head);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;opacity:.32;display:block;margin-bottom:12px}
.pe-card.c-navy .pe-tag{color:#fff;opacity:.45}
.pe-h{font-family:var(--font-head);font-size:clamp(20px,2.4vw,28px);font-weight:900;text-transform:uppercase;font-style:italic;line-height:1;margin-bottom:12px}
.pe-card.c-navy .pe-h{color:#fff}
.pe-stat-big{font-family:var(--font-head);font-size:clamp(32px,4vw,52px);font-weight:900;line-height:1;margin-bottom:5px}
.pe-card.c-navy .pe-stat-big{color:var(--yellow)}
.pe-stat-lbl{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;opacity:.45;display:block;margin-bottom:18px}
.pe-card.c-navy .pe-stat-lbl{color:#fff;opacity:.5}
.pe-body{font-size:14px;line-height:1.8;font-weight:500;color:rgba(29,38,49,.7);margin-bottom:22px;flex:1}
.pe-card.c-navy .pe-body{color:rgba(255,255,255,.72)}
.pe-items{display:flex;flex-direction:column;gap:7px}
.pe-item{font-size:12px;font-weight:600;color:rgba(29,38,49,.62);display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.pe-card.c-navy .pe-item{color:rgba(255,255,255,.65)}
.pe-item::before{content:"—";flex-shrink:0;opacity:.4;font-size:9px;margin-top:2px}
@media(max-width:760px){.pe-grid{grid-template-columns:1fr}.pe-card{border-right:none;border-bottom:var(--b)}.pe-card:last-child{border-bottom:none}}

/* 6. HOW WE MEASURE */
#how-we-measure{background:var(--navy);padding:88px 0;border-bottom:var(--b)}
.hwm-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;position:relative;z-index:2}
.hwm-big{font-family:var(--font-head);font-size:clamp(26px,3.8vw,46px);font-weight:900;line-height:1.1;font-style:italic;color:#fff}
.hwm-big .red{color:var(--red)}
.hwm-big .teal{color:var(--teal)}
.hwm-body{font-size:15px;line-height:1.85;font-weight:500;color:rgba(255,255,255,.55);margin-top:22px}
.hwm-body p+p{margin-top:14px}
.measure-list{display:flex;flex-direction:column;border:var(--b-thin);border-color:rgba(255,255,255,.12);overflow:hidden}
.ml-row{padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:flex-start;gap:16px;transition:background .15s}
.ml-row:last-child{border-bottom:none}
.ml-row:hover{background:rgba(255,255,255,.04)}
.ml-num{font-family:var(--font-head);font-size:11px;font-weight:900;color:var(--teal);flex-shrink:0;width:26px;padding-top:2px}
.ml-t strong{display:block;font-family:var(--font-head);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:3px}
.ml-t span{font-size:13px;font-weight:500;color:rgba(255,255,255,.5);line-height:1.55}
@media(max-width:900px){.hwm-grid{grid-template-columns:1fr;gap:40px}}

/* 7. RECOGNITION */
#recognition{background:var(--cream);padding:88px 0;border-bottom:var(--b)}
.rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;margin-top:48px}
.rec-block-h{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:rgba(29,38,49,.38);display:block;margin-bottom:18px;padding-bottom:10px;border-bottom:var(--b-thin)}
.rec-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.rec-pill{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:8px 16px;border:var(--b-thin);background:#fff;color:var(--navy);transition:all .15s}
.rec-pill:hover{background:var(--navy);color:#fff}
.rec-pill.hl{background:var(--yellow);border-color:var(--navy)}
.rec-pill.hl:hover{background:var(--navy);color:#fff}
.partner-list{display:flex;flex-direction:column;border:var(--b);overflow:hidden;box-shadow:var(--shadow-sm)}
.partner-row{padding:15px 20px;border-bottom:var(--b);display:flex;align-items:center;justify-content:space-between;background:#fff;transition:background .15s}
.partner-row:last-child{border-bottom:none}
.partner-row:hover{background:var(--cream)}
.partner-name{font-family:var(--font-head);font-size:13px;font-weight:800;text-transform:uppercase;font-style:italic}
.partner-type{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(29,38,49,.35)}
@media(max-width:900px){.rec-grid{grid-template-columns:1fr;gap:40px}}

/* 8. FINAL CTA */
#imp-cta{background:var(--red);padding:88px 0;border-top:var(--b)}
#imp-cta .halftone{opacity:.06}
.imp-cta-inner{text-align:center;position:relative;z-index:2;max-width:520px;margin:0 auto}
.imp-cta-h{font-family:var(--font-head);font-size:clamp(32px,5vw,60px);font-weight:900;line-height:.92;text-transform:uppercase;font-style:italic;color:#fff;margin:16px 0 16px;letter-spacing:-.02em}
.imp-cta-p{font-size:17px;font-weight:500;color:rgba(255,255,255,.88);margin-bottom:30px;line-height:1.65}
.imp-cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.imp-cta-note{font-size:11px;font-weight:500;font-style:italic;color:rgba(255,255,255,.42);margin-top:18px}
