/* ──────────────────────────────────────────────────────
   BIF THEME — MAIN STYLESHEET
   Converted from the HTML prototype, with WP overrides.
   ────────────────────────────────────────────────────── */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bif-green:#0F5E3B;
  --bif-gl:#177549;
  --bif-gv:#2A9D6B;
  --bif-yellow:#F4ED2C;
  --bif-dark:#1a1a1a;
  --bif-charcoal:#1c1c1c;
  --bif-navy:#1d2e4e;
  --bif-blue:#1d4ed8;
  --bif-lgrey:#f7f7f7;
  --bif-text:#555555;
  --bif-white:#ffffff;
  /* legacy aliases so inline HTML from prototype keeps working */
  --green:var(--bif-green);
  --gl:var(--bif-gl);
  --gv:var(--bif-gv);
  --dark:var(--bif-dark);
  --charcoal:var(--bif-charcoal);
  --lgrey:var(--bif-lgrey);
  --text:var(--bif-text);
  --white:var(--bif-white);
}

html{scroll-behavior:smooth}
body{font-family:'Open Sans',sans-serif;color:var(--bif-dark);font-size:15px;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased;background:#fff}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block;height:auto}
.container{max-width:1160px;margin:0 auto;padding:0 20px}

/* Accessibility — skip link */
.screen-reader-text{
  clip:rect(1px,1px,1px,1px);
  position:absolute!important;
  height:1px;width:1px;
  overflow:hidden;
  word-wrap:normal!important;
}
.skip-link{
  background:#000;color:#fff;padding:8px 16px;
  position:absolute;left:-9999px;top:8px;z-index:10000;
  font-family:'Oswald',sans-serif;letter-spacing:1px;text-transform:uppercase;font-size:12px;
}
.skip-link:focus{left:8px}

*:focus-visible{outline:2px solid var(--bif-gv);outline-offset:2px}

/* ── TOP BAR ── */
.topbar{background:var(--bif-green);color:#fff;font-size:14px;padding:9px 0}
.topbar .container{display:flex;align-items:center;justify-content:center;gap:12px}
.topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topbar-right a{color:#fff;cursor:pointer;transition:opacity .2s;white-space:nowrap;display:inline-flex;align-items:center}
.topbar-right a:hover{opacity:.78}
.topbar-divider{width:1px;height:16px;background:rgba(255,255,255,.35);flex-shrink:0}
.topbar-contact{gap:8px}
.topbar-contact-icon{display:inline-flex;align-items:center}
.topbar-contact-icon svg{width:18px;height:18px;display:block}
.topbar-social{display:flex;align-items:center;gap:16px}
.topbar-social a{color:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s;cursor:pointer}
.topbar-social a:hover{opacity:.85;transform:translateY(-1px)}
.topbar-social svg{width:20px;height:20px;display:block}
.topbar-whatsapp svg{width:22px;height:22px}
.topbar-tiktok svg{width:20px;height:20px}

/* ── HEADER MAIN BAR ── */
.header-main{background:#fff;border-bottom:1px solid #eee;padding:0}
.header-main .container{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:0}
.header-contact-blocks{display:flex;gap:28px;align-items:center}
.header-contact-block{display:flex;align-items:center;gap:12px}
.hcb-icon{width:44px;height:44px;background:var(--bif-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hcb-icon svg{width:20px;height:20px;fill:#fff}
.hcb-text .hcb-lbl{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#999;font-family:'Oswald',sans-serif;margin-bottom:1px}
.hcb-text .hcb-val{display:block;font-size:14px;font-weight:600;color:var(--bif-dark);white-space:nowrap}

.nav-logo{display:flex;align-items:center;cursor:pointer;flex-shrink:0}
.nav-logo a, .nav-logo .custom-logo-link{display:inline-flex;align-items:center;line-height:0}
.nav-logo img,
.nav-logo .custom-logo,
.nav-logo .bif-logo{height:auto;max-height:56px;width:auto;max-width:150px;object-fit:contain;display:block}
.header-contact-block{margin-top:0}
.nav-logo-mobile{display:none;align-items:center;cursor:pointer;flex-shrink:0}
.nav-logo-mobile a, .nav-logo-mobile .custom-logo-link{display:inline-flex;align-items:center;line-height:0}
.nav-logo-mobile img,
.nav-logo-mobile .custom-logo,
.nav-logo-mobile .bif-logo{height:auto;max-height:36px;width:auto;max-width:130px;object-fit:contain;display:block}

/* Mobile submenu chevron — injected by JS, hidden on desktop */
.nav-menu>li>.submenu-toggle{display:none}

.btn-apply{background:var(--bif-green);color:#fff;padding:14px 28px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;cursor:pointer;border:none;transition:background .2s;text-transform:uppercase;white-space:nowrap;display:inline-block}
.btn-apply:hover{background:var(--bif-gl)}

/* ── NAVBAR ── */
.navbar{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.09);position:sticky;top:0;z-index:1000;transition:box-shadow .2s}
.navbar.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.15)}
.navbar .container{display:flex;align-items:center;justify-content:flex-end;height:56px;position:relative}
.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.nav-menu-wrap{display:contents}
.nav-menu-header{display:none}
.nav-menu{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);list-style:none;margin:0;padding:0}
.nav-menu>li{position:relative}
.nav-menu>li>a{display:block;padding:0 14px;line-height:56px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:500;letter-spacing:.6px;color:var(--bif-dark);border-bottom:3px solid transparent;transition:color .2s,border-color .2s;cursor:pointer;white-space:nowrap;text-transform:uppercase}
.nav-menu>li:hover>a,.nav-menu>li.current-menu-item>a,.nav-menu>li.current-menu-parent>a,.nav-menu>li.current-menu-ancestor>a{color:var(--bif-green);border-bottom-color:var(--bif-green)}
.nav-menu>li.menu-item-has-children>a::after{content:' ▾'}

.nav-menu .sub-menu, .dropdown{position:absolute;top:100%;left:0;background:#fff;min-width:220px;box-shadow:0 8px 30px rgba(0,0,0,.14);opacity:0;pointer-events:none;transform:translateY(8px);transition:all .22s;border-top:3px solid var(--bif-green);list-style:none;padding:0;margin:0}
.nav-menu>li:hover .sub-menu, .nav-menu>li:hover .dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.nav-menu .sub-menu li a, .dropdown li a{display:block;padding:9px 18px;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.5px;color:var(--bif-dark);border-bottom:1px solid #f0f0f0;transition:background .2s,color .2s;cursor:pointer;text-transform:uppercase}
.nav-menu .sub-menu li a:hover, .dropdown li a:hover{background:var(--bif-green);color:#fff}

.nav-search{display:flex;align-items:center;padding:0 6px;cursor:pointer;color:#666;transition:color .2s;flex-shrink:0;position:relative;z-index:1}
.nav-search:hover{color:var(--bif-green)}
.nav-search svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.nav-search-overlay{
  display:none;position:fixed;top:0;left:0;right:0;background:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.15);padding:28px 0;z-index:10000;
}
.nav-search-overlay.active{display:block}
.nav-search-overlay form{display:flex;gap:10px;align-items:center;max-width:720px;margin:0 auto}
.nav-search-overlay input{flex:1;padding:12px 16px;border:1px solid #e5e5e5;font-family:'Open Sans',sans-serif;font-size:14px;outline:none}
.nav-search-overlay input:focus{border-color:var(--bif-green)}
.nav-search-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;line-height:1}

/* Sticky anchor offset */
#about-who,#about-vision-mission,#about-objectives,
#funding-purpose,#funding-definition,#funding-criteria,#funding-costs,#funding-exclusions,
#faqs-general,#faqs-trl,#faqs-apply,
#complaints-process,#appeals-process,
#news-articles,#news-gallery,
#tenders-notices,
#contact-info,#contact-form{scroll-margin-top:72px}

/* ── PAGE HERO ── */
.page-hero{position:relative;height:clamp(220px,24vw,360px);overflow:hidden;display:flex;align-items:center}
.page-hero.tall{height:clamp(260px,28vw,420px)}
.page-hero img,.page-hero .page-hero-bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;z-index:0;display:block}
.funded-count-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,94,59,.25)}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,30,0,.82) 50%,rgba(0,0,0,.4));z-index:1}
.page-hero .container{position:relative;z-index:2;width:100%}
.page-hero-content{color:#fff;padding-left:80px}
.page-hero-content h1{font-family:'Oswald',sans-serif;font-size:44px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;color:#fff}
.breadcrumb{display:flex;gap:8px;font-size:12px;color:rgba(255,255,255,.7);font-family:'Oswald',sans-serif;letter-spacing:.5px}
.breadcrumb a{color:rgba(255,255,255,.7)}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{color:var(--bif-gv)}

/* ── SECTION LABELS ── */
.section-label{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--bif-green);margin-bottom:14px;display:block;padding-top:20px;position:relative}
.section-label::before{content:'';position:absolute;top:0;left:0;width:54px;height:3px;background:var(--bif-green)}
.section-label.center{text-align:center}
.section-label.center::before{left:50%;transform:translateX(-50%)}
.section-title{font-family:'Oswald',sans-serif;font-size:44px;font-weight:700;color:var(--bif-dark);line-height:1.2;text-transform:uppercase;margin-bottom:24px}
.section-title.white{color:#fff}

/* ── BUTTONS ── */
.btn-primary{background:var(--bif-green);color:#fff;padding:13px 32px;font-family:'Oswald',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;border:2px solid var(--bif-green);transition:all .2s;cursor:pointer;display:inline-block}
.btn-primary:hover{background:var(--bif-gl);border-color:var(--bif-gl);color:#fff}
.btn-outline{background:transparent;color:#fff;padding:13px 32px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;border:2px solid rgba(255,255,255,.65);transition:all .2s;display:inline-block;cursor:pointer;text-transform:uppercase}
.btn-outline:hover{background:#fff;color:var(--bif-dark)}
.btn-white{background:#fff;color:var(--bif-green);padding:13px 32px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border:2px solid #fff;transition:all .2s;display:inline-block;cursor:pointer}
.btn-white:hover{background:transparent;color:#fff}
.btn-green{background:var(--bif-green);color:#fff;padding:11px 26px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;border:none;cursor:pointer;transition:background .2s;display:inline-block;text-transform:uppercase}
.btn-green:hover{background:var(--bif-gl)}

/* ── STATS STRIP ── */
.stats-strip{background:var(--bif-dark);padding:20px 0 40px}
.stats-strip .container{display:grid;grid-template-columns:repeat(3,1fr)}
.stat-item{text-align:center;padding:16px 20px;border-right:1px solid rgba(255,255,255,.08)}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Oswald',sans-serif;font-size:52px;font-weight:700;color:var(--bif-gv);line-height:1;margin-bottom:8px}
.stat-num sup{font-size:26px;color:var(--bif-green);vertical-align:super;line-height:0}
.stat-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* ── PAGE FEATURE STRIP ── */
.page-feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:60px}
.page-feature-box{background:#f5f6f8;padding:40px 36px;border-top:4px solid transparent;transition:all .25s}
.page-feature-box:hover{border-top-color:var(--bif-green);background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.page-feature-box.highlight{background:var(--bif-green);border-top-color:var(--bif-green)}
.page-feature-box.highlight:hover{background:var(--bif-gl)}
.page-feature-box.highlight h4{color:#fff}
.page-feature-box.highlight p{color:rgba(255,255,255,.85)}
.page-feature-box.highlight .pf-icon svg{stroke:rgba(255,255,255,.9)}
.pf-icon{display:flex;align-items:center;margin-bottom:20px}
.pf-icon svg{width:42px;height:42px;stroke:var(--bif-green);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.page-feature-box h4{font-family:'Oswald',sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:.5px;color:var(--bif-dark);margin-bottom:12px}
.page-feature-box p{font-size:15px;line-height:1.75;color:var(--bif-text)}

.hero-feature-strip{position:relative;z-index:5;margin-top:-80px;background:transparent}
.hero-feature-strip .page-feature-strip{margin-bottom:0}
.hero-feature-strip .page-feature-box{background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.14);border-top:none}
.hero-feature-strip .page-feature-box:hover{box-shadow:0 14px 40px rgba(0,0,0,.18);transform:translateY(-3px)}
.hero-feature-strip .page-feature-box.highlight{background:var(--bif-green);box-shadow:0 8px 32px rgba(0,0,0,.2)}
.hero-feature-strip + .inner-wrap{padding-top:32px}

/* ─────────────── HOME PAGE ─────────────── */
.hero{position:relative;overflow:hidden;height:clamp(440px,42vw,720px);background:#0e3e22}
.slides{display:flex;transition:transform .7s cubic-bezier(.77,0,.18,1);height:100%;width:100%}
.slide{min-width:100%;position:relative;background:#0e3e22}
.slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:0}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,40,20,.45) 0%,rgba(0,40,20,.15) 45%,rgba(0,40,20,0) 70%);display:flex;align-items:center;z-index:1}
.slide-content{padding-left:clamp(24px,7vw,120px);padding-right:clamp(24px,4vw,40px);color:#fff;max-width:min(780px,92%);position:relative;z-index:2}
.slide-content h2{font-family:'Oswald',sans-serif;font-size:clamp(28px,5.2vw,64px);font-style:italic;font-weight:700;line-height:1.05;margin-bottom:clamp(14px,2vw,28px);animation:fadeUp .7s ease both;color:var(--bif-yellow);word-wrap:break-word;hyphens:auto;text-align:center;display:inline-block;max-width:100%}
.slide-content p{font-size:clamp(14px,1.6vw,22px);font-style:italic;line-height:1.5;margin-bottom:0;color:#fff;animation:fadeUp .7s .1s ease both;max-width:640px;text-align:left}
.slide-btns{display:flex;gap:12px;margin-top:clamp(16px,2vw,28px);animation:fadeUp .7s .2s ease both;flex-wrap:wrap}
.slide-tagline{position:absolute;left:clamp(24px,7vw,120px);width:min(640px,80%);bottom:clamp(40px,8vw,110px);color:var(--bif-yellow);font-family:'Oswald',sans-serif;font-style:italic;font-weight:700;font-size:clamp(14px,1.6vw,22px);letter-spacing:.3px;text-align:right;animation:fadeUp .7s .3s ease both;z-index:2;pointer-events:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);color:#fff;border:none;cursor:pointer;width:44px;height:44px;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}
.slide-arrow:hover{background:var(--bif-green)}.slide-arrow.prev{left:16px}.slide-arrow.next{right:16px}
.slide-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;border:none;transition:background .2s;padding:0}
.dot.active{background:var(--bif-gv)}

/* Features strip */
.features-strip{background:var(--bif-charcoal)}
.features-strip .container{display:grid;grid-template-columns:repeat(3,1fr)}
.feature-item{display:flex;align-items:flex-start;gap:20px;padding:36px 32px;border-right:1px solid rgba(255,255,255,.07);color:#fff}
.feature-item:last-child{border-right:none}
.feature-icon{width:56px;height:56px;flex-shrink:0;background:transparent;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;transition:border-color .2s}
.feature-item:hover .feature-icon{border-color:var(--bif-gv)}
.feature-icon svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.feature-icon-text{font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;color:#fff;letter-spacing:1px}
.feature-item:hover .feature-icon-text{color:var(--bif-gv)}
.feature-item h4{font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;color:#fff}
.feature-item p{font-size:15px;color:#aaa;line-height:1.6}

/* About home */
.about-home{padding:28px 0 64px}
.about-home .container{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start}
.about-home p{margin-bottom:14px;font-size:15px;line-height:1.8;color:#000;text-align:justify}
.objectives{padding:0;margin:0;list-style:none}
.objectives li{display:flex;gap:10px;align-items:flex-start;font-size:15px;padding:8px 0;border-bottom:1px solid #eee;color:#000;text-align:justify}
.objectives li::before{content:'✓';color:var(--bif-green);font-weight:700;flex-shrink:0;margin-top:2px}
.about-badge{background:var(--bif-charcoal);color:#fff;padding:28px;display:flex;gap:20px;align-items:flex-start;margin-top:30px}
.about-badge-icon{width:60px;height:60px;background:var(--bif-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.about-badge-icon svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.badge-info h5{font-family:'Oswald',sans-serif;font-size:15px;letter-spacing:.5px;margin-bottom:4px;color:#fff}
.badge-info span{font-size:11px;color:var(--bif-gv);letter-spacing:1px;text-transform:uppercase}
.badge-info p{font-size:14px;color:#bbb;margin-top:8px;line-height:1.7}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.value-box{background:var(--bif-lgrey);padding:16px;border-left:3px solid var(--bif-green)}
.value-box h5{font-family:'Oswald',sans-serif;font-size:16px;color:var(--bif-dark);text-transform:uppercase;margin-bottom:4px;letter-spacing:.5px}
.value-box p{font-size:14px;line-height:1.6}
blockquote{border-left:4px solid var(--bif-green);padding:14px 20px;background:#f0f7f0;font-style:italic;font-size:15px;color:#555;margin-top:20px;line-height:1.7}

/* Funded */
.funded,.logo-carousel-section{padding:28px 0 64px;background:var(--bif-lgrey)}
.funded-header{text-align:center;margin-bottom:36px}
.filter-tabs{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:32px;gap:2px}
.filter-btn{padding:8px 20px;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;border:1px solid #ddd;background:#fff;cursor:pointer;transition:all .2s;color:var(--bif-dark)}
.filter-btn.active,.filter-btn:hover{background:var(--bif-green);color:#fff;border-color:var(--bif-green)}
.funded-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.funded-card{position:relative;overflow:hidden;background:#fff;border:1px solid #eee;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 20px 26px;min-height:220px;transition:border-color .25s,transform .25s,box-shadow .25s}
.funded-card:hover{border-color:var(--bif-green);transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,94,59,.12)}
.funded-card.hidden{display:none}
.funded-icon{color:var(--bif-green);width:160px;height:96px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:transform .35s}
.funded-icon svg{width:64px;height:64px}
.funded-icon img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.funded-card:hover .funded-icon{transform:scale(1.08)}
.funded-card-body{display:flex;flex-direction:column;gap:4px}
.funded-card-name{font-family:'Oswald',sans-serif;font-size:15px;letter-spacing:.5px;text-transform:uppercase;color:var(--bif-dark);margin:0;line-height:1.3}
.funded-card-sector{font-size:12px;color:var(--bif-text);letter-spacing:.3px}
.funded-overlay{position:absolute;inset:0;background:rgba(15,94,59,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;color:#fff;text-align:center;padding:20px}
.funded-card:hover .funded-overlay{opacity:1}
.funded-overlay h4{font-family:'Oswald',sans-serif;font-size:18px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px;color:#fff}
.funded-overlay span{font-size:14px;color:rgba(255,255,255,.8)}

.portfolio-modal{position:fixed;inset:0;background:rgba(15,20,15,.72);display:none;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:pm-fade .22s ease}
.portfolio-modal.open{display:flex}
@keyframes pm-fade{from{opacity:0}to{opacity:1}}
.portfolio-modal-inner{background:#fff;max-width:560px;width:100%;max-height:90vh;overflow:auto;border-top:4px solid var(--bif-green);box-shadow:0 20px 60px rgba(0,0,0,.35);position:relative;animation:pm-pop .25s ease}
@keyframes pm-pop{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
.pm-close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:none;background:transparent;font-size:22px;color:#666;cursor:pointer;line-height:1;z-index:5}
.pm-close:hover{color:var(--bif-green)}
.pm-logo{background:#f5f5f5;padding:36px 24px;display:flex;align-items:center;justify-content:center}
.pm-logo img{max-height:140px;max-width:80%;object-fit:contain}
.pm-body{padding:28px 32px 32px}
.pm-sector{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--bif-green);margin-bottom:6px;display:block}
.pm-name{font-family:'Oswald',sans-serif;font-size:24px;font-weight:600;color:var(--bif-dark);text-transform:uppercase;margin-bottom:14px;line-height:1.2}
.pm-desc{font-size:15px;line-height:1.8;color:var(--bif-text);margin-bottom:22px}
.pm-site{display:inline-block;background:var(--bif-green);color:#fff;padding:12px 24px;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;transition:background .2s}
.pm-site:hover{background:var(--bif-gl);color:#fff}
.pm-site.disabled{background:#ccc;pointer-events:none;color:#fff}
.pm-logo-fallback{color:var(--bif-green);width:96px;height:96px;display:flex;align-items:center;justify-content:center}
.pm-logo-fallback svg{width:96px;height:96px;stroke-width:2}
.pm-contact{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:6px}
.pm-contact-item{display:flex;align-items:stretch}
.pm-contact-item a{display:flex;align-items:center;gap:14px;flex:1;padding:10px 14px;background:var(--bif-lgrey);border-left:3px solid transparent;color:var(--bif-dark);transition:background .2s,border-color .2s,color .2s;text-decoration:none}
.pm-contact-item a:hover{background:#fff;border-left-color:var(--bif-green);color:var(--bif-green)}
.pm-contact-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--bif-green);border-radius:50%}
.pm-contact-icon svg{width:18px;height:18px}
.pm-contact-item a:hover .pm-contact-icon{background:var(--bif-green);color:#fff}
.pm-contact-label{display:block;font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#888;margin-bottom:2px}
.pm-contact-item a:hover .pm-contact-label{color:var(--bif-green)}
.pm-contact-value{display:block;font-size:14px;line-height:1.5;color:inherit;word-break:break-word}
.pm-contact-whatsapp .pm-contact-icon{background:#25D366;color:#fff}
.pm-contact-item.pm-contact-whatsapp a:hover .pm-contact-icon{background:#128C7E}

/* Services */
.services{padding:28px 0 64px;background:#fff}
.services-header{text-align:center;margin-bottom:56px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.service-card{background:var(--bif-lgrey);padding:52px 32px;text-align:center;border-top:4px solid transparent;border:1px solid transparent;transition:all .28s;cursor:default}
.service-card:hover{border-top:4px solid var(--bif-green);background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.11);transform:translateY(-4px)}
.service-icon{margin:0 auto 28px;display:flex;align-items:center;justify-content:center;width:88px;height:88px;background:#fff;transition:background .28s}
.service-card:hover .service-icon{background:var(--bif-lgrey)}
.service-icon svg{width:44px;height:44px;stroke:var(--bif-green);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.service-card h4{font-family:'Oswald',sans-serif;font-size:18px;letter-spacing:1px;text-transform:uppercase;color:var(--bif-dark);margin-bottom:12px}
.service-card p{font-size:15px;line-height:1.75;margin-bottom:18px}
.read-more{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;color:var(--bif-green);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.read-more::after{content:' →'}
.read-more:hover{color:var(--bif-dark)}

/* Contact strip */
.contact-strip{display:grid;grid-template-columns:1.4fr 1fr;background:#fff}
.contact-strip .cs-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.contact-strip .cs-item{display:flex;flex-direction:column;align-items:center;gap:8px}
.contact-strip .cs-item p{margin:0;text-align:center}
.contact-strip .cs-lbl{display:block;font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;opacity:.85;margin-bottom:2px}
.contact-strip .cs-item a{font-size:15px;font-weight:600}
.contact-strip-box{padding:18px 36px;text-align:center;border:1px solid #ebebeb;border-right:none;position:relative}
.contact-strip-box:last-child{border-right:1px solid #ebebeb}
.contact-strip-box.highlight{background:var(--bif-green);border-color:var(--bif-green);color:#fff;display:flex;flex-direction:column;justify-content:flex-start;padding-top:18px;padding-bottom:18px}
.contact-strip-box.highlight h4,.contact-strip-box.highlight p,.contact-strip-box.highlight a{color:#fff}
.cs-icon{width:60px;height:60px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:var(--bif-lgrey);flex-shrink:0}
.contact-strip-box.highlight .cs-icon{background:rgba(255,255,255,.15)}
.cs-icon svg{width:28px;height:28px;stroke:var(--bif-green);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.contact-strip-box.highlight .cs-icon svg{stroke:#fff}
.contact-strip-box h4{font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:1px;text-transform:uppercase;color:var(--bif-dark);margin-bottom:14px}
.contact-strip-box.highlight h4{color:#fff}
.contact-strip-box p{font-size:15px;line-height:1.8;color:var(--bif-text)}
.contact-strip-box a{color:var(--bif-green)}
.cs-map{width:100%;aspect-ratio:16/6;margin:0 0 10px;overflow:hidden;background:var(--bif-lgrey)}
.cs-map iframe{width:100%;height:100%;border:0;display:block}
.cs-socials{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:14px}
.cs-socials a{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:var(--bif-lgrey);color:var(--bif-green);border-radius:50%;transition:background .2s,color .2s}
.cs-socials a:hover{background:var(--bif-green);color:#fff}
.contact-strip-box.highlight .cs-socials a{background:#fff;color:var(--bif-green)}
.contact-strip-box.highlight .cs-socials a:hover{background:#fff;color:var(--bif-gl);transform:translateY(-1px)}
.contact-strip-box.highlight .cs-row{margin-top:auto}
.contact-strip-box.highlight .cs-socials{margin-bottom:auto}
.contact-strip-box.highlight .cs-socials a.cs-whatsapp{background:#25D366;color:#fff}
.contact-strip-box.highlight .cs-socials a.cs-whatsapp:hover{background:#1ebe57;color:#fff}
.cs-socials svg{width:18px;height:18px;fill:currentColor}
.cs-socials a.cs-whatsapp{background:#25D366;color:#fff}
.cs-socials a.cs-whatsapp:hover{background:#1ebe57;color:#fff}

/* Testimonials */
.testimonials{padding:28px 0 64px;background:#1c1c1c;background-image:url('../images/testimonials-bg.jpg');background-size:cover;background-position:center}
.testimonials-header{text-align:center;margin-bottom:48px}
.testi-track{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.testi-item{background:rgba(255,255,255,.05);padding:28px;border-top:3px solid var(--bif-green)}
.testi-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.testi-avatar-ph{width:60px;height:60px;border-radius:50%;background:var(--bif-green);display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:22px;color:#fff;flex-shrink:0}
.testi-item h5{font-family:'Oswald',sans-serif;font-size:15px;color:#fff;margin-bottom:2px}
.testi-item .company{font-size:11px;color:var(--bif-gv);letter-spacing:1px;text-transform:uppercase}
.testi-item p{font-size:15px;color:#aaa;line-height:1.7;font-style:italic}
.stars{color:var(--bif-gv);font-size:12px;margin-bottom:10px}
.trl-bar{display:flex;gap:3px;margin-top:12px}
.trl-step{flex:1;height:6px;background:rgba(255,255,255,.15);border-radius:2px}
.trl-step.active{background:var(--bif-gv)}

/* CTA Banner */
.cta-banner{background:var(--bif-green);padding:20px 0 40px}
.cta-banner .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cta-text h3{font-family:'Oswald',sans-serif;font-size:24px;color:#fff;font-weight:600;margin-bottom:6px;text-transform:uppercase}
.cta-text p{font-size:15px;color:rgba(255,255,255,.88);max-width:620px;line-height:1.7}
.subscribe-form{display:flex;gap:0;align-items:stretch;flex-shrink:0;max-width:440px;width:100%}
.subscribe-form input{flex:1;min-width:0;padding:13px 16px;border:2px solid #fff;border-right:none;background:#fff;font-family:'Open Sans',sans-serif;font-size:14px;color:var(--bif-dark);outline:none;transition:border-color .2s}
.subscribe-form input:focus{border-color:var(--bif-gv)}
.subscribe-form input.invalid{border-color:#e53935;animation:shake .35s}
.subscribe-form button{padding:13px 22px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:2px solid var(--bif-dark);background:var(--bif-dark);color:#fff;white-space:nowrap;transition:background .2s,border-color .2s}
.subscribe-form button:hover{background:#000;border-color:#000}
.subscribe-success{font-family:'Open Sans',sans-serif;font-size:15px;color:#fff;background:rgba(0,0,0,.18);padding:14px 18px;border-left:3px solid #fff;line-height:1.5;max-width:440px}
.subscribe-success strong{display:block;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}
.subscribe-banner{background:var(--bif-green);padding:38px 0}
.subscribe-banner .container{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.subscribe-banner .cta-text{flex:1 1 360px;min-width:280px}
.subscribe-banner .cta-text h3{font-family:'Oswald',sans-serif;font-size:24px;color:#fff;font-weight:600;margin-bottom:6px;text-transform:uppercase}
.subscribe-banner .cta-text p{font-size:15px;color:rgba(255,255,255,.92);max-width:620px;line-height:1.7}
.subscribe-banner .subscribe-wrap{flex:0 1 460px;width:100%;max-width:460px}
@media (max-width:768px){
  .subscribe-banner{padding:20px 0}
  .subscribe-banner .container{flex-direction:column;align-items:stretch;text-align:center;gap:12px}
  /* Override desktop flex-basis (360px) which becomes a vertical height in column mode */
  .subscribe-banner .cta-text{flex:0 0 auto;min-width:0}
  .subscribe-banner .cta-text h3{font-size:18px;margin-bottom:4px}
  .subscribe-banner .cta-text p{font-size:13px;line-height:1.45;margin:0}
  .subscribe-banner .subscribe-wrap{flex:0 0 auto;max-width:100%}
}

@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}


/* News home */
.news-home{padding:28px 0 64px;background:var(--bif-lgrey)}
.news-header{text-align:center;margin-bottom:56px}
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.news-card{background:#fff;overflow:hidden;transition:box-shadow .25s}
.news-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1)}
.news-card img{width:100%;height:180px;object-fit:cover;transition:transform .4s}
.news-card:hover img{transform:scale(1.05)}
.news-card-body{padding:18px}
.news-meta{font-size:11px;color:#aaa;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.news-tag{background:var(--bif-green);color:#fff;font-size:10px;font-family:'Oswald',sans-serif;letter-spacing:1px;padding:2px 8px;text-transform:uppercase}
.news-card h5{font-family:'Oswald',sans-serif;font-size:17px;color:var(--bif-dark);line-height:1.4;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}
.news-card h5 a{color:var(--bif-dark)}
.news-card h5 a:hover{color:var(--bif-green)}
.news-card p{font-size:14px;line-height:1.7}

/* ── FOCUS AREAS ── */
.focus-areas{padding:24px 0 50px;background:var(--bif-lgrey)}
.focus-areas-inner{display:grid;grid-template-columns:1fr 1.6fr;gap:50px;align-items:start;background:#fff;padding:50px;border-top:4px solid var(--bif-green)}
.focus-areas-left p{font-size:15px;line-height:1.8;margin-top:16px;color:var(--bif-text)}
.focus-areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-left:3px solid var(--bif-green)}
.focus-area-item{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid #eee;transition:background .2s}
.focus-area-item:last-child{border-bottom:none}
.focus-area-item:hover{background:var(--bif-lgrey)}
.fa-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px}
.fa-icon svg{width:22px;height:22px;stroke:var(--bif-green);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.fa-label{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:var(--bif-dark)}

/* ── HOW WE WORK / TRL ── */
.how-we-work{padding:28px 0 60px;background:#fff}
.trl-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.trl-stage-card{background:var(--bif-lgrey);padding:28px 22px;border-top:4px solid transparent;border-right:1px solid #eee;text-align:center;transition:all .25s}
.trl-stage-card:last-child{border-right:none}
.trl-stage-card:hover{border-top-color:var(--bif-green);background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.08);transform:translateY(-3px)}
.trl-stage-num{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--bif-green);margin-bottom:10px;font-weight:600}
.trl-stage-card h4{font-family:'Oswald',sans-serif;font-size:14px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.trl-stage-card p{font-size:14px;line-height:1.7;color:var(--bif-text)}

/* ─────────────── INNER PAGES ─────────────── */
.inner-wrap{padding:24px 0 50px}
.about-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;margin-bottom:60px}
.about-intro p{margin-bottom:14px;font-size:15px;line-height:1.8}
.vision-mission{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:60px}
.vm-card{background:var(--bif-lgrey);padding:40px 32px;border-top:4px solid var(--bif-green);text-align:center;transition:all .25s}
.vm-card:hover{background:#fff;box-shadow:0 10px 36px rgba(0,0,0,.1);transform:translateY(-3px)}
.vm-card .vm-icon{margin:0 auto 20px;display:flex;align-items:center;justify-content:center;width:76px;height:76px;background:#fff;transition:background .25s}
.vm-card:hover .vm-icon{background:var(--bif-lgrey)}
.vm-card .vm-icon svg{width:36px;height:36px;stroke:var(--bif-green);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.vm-card h4{font-family:'Oswald',sans-serif;font-size:20px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}
.vm-card p{font-size:15px;line-height:1.8}
.objectives-full{background:var(--bif-charcoal);padding:50px;margin-bottom:60px}
.objectives-full h3{font-family:'Oswald',sans-serif;font-size:24px;color:#fff;text-transform:uppercase;margin-bottom:24px;letter-spacing:.5px}
.obj-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.obj-item{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.05);padding:18px;border-left:3px solid var(--bif-green)}
.obj-num{font-family:'Oswald',sans-serif;font-size:28px;color:var(--bif-gv);font-weight:700;line-height:1;flex-shrink:0}
.obj-item p{font-size:15px;color:#bbb;line-height:1.7}

/* Funding */
.funding-intro{background:var(--bif-lgrey);padding:40px;margin-bottom:40px;border-left:5px solid var(--bif-green)}
.funding-intro p{font-size:15px;line-height:1.8;margin-bottom:10px}
.funding-section{margin-bottom:52px}
.funding-section h3{font-family:'Oswald',sans-serif;font-size:22px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:22px;padding-top:18px;position:relative;display:block}
.funding-section h3::before{content:'';position:absolute;top:0;left:0;width:54px;height:3px;background:var(--bif-green)}
.funding-section p{font-size:15px;line-height:1.8;margin-bottom:12px}
.funding-section ul{list-style:disc;padding-left:22px;margin-bottom:16px}
.funding-section ul li{font-size:15px;line-height:1.8;color:var(--bif-text);margin-bottom:6px}
.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
.cost-card{background:#fff;border:1px solid #eee;padding:22px}
.cost-card h5{font-family:'Oswald',sans-serif;font-size:13px;color:var(--bif-green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.cost-card ul{list-style:disc;padding-left:18px}
.cost-card ul li{font-size:14px;line-height:1.7;color:var(--bif-text);margin-bottom:4px}
.eligible-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:'Oswald',sans-serif;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;margin-bottom:8px}
.eligible-badge.yes{background:#e8f5e9;color:var(--bif-green)}
.eligible-badge.no{background:#fce4e4;color:#c62828}
.exclusion-list{background:#fff8f0;border-left:4px solid #e65100;padding:24px;list-style:none}
.exclusion-list li{font-size:15px;line-height:1.8;padding:6px 0;border-bottom:1px dashed #ffe0b2;display:flex;gap:10px;align-items:flex-start}
.exclusion-list li::before{content:'✗';color:#e65100;flex-shrink:0;font-weight:700}

/* FAQs */
.faq-item{border-bottom:1px solid #eee;overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 0;cursor:pointer;font-family:'Oswald',sans-serif;font-size:15px;color:var(--bif-dark);letter-spacing:.3px;text-transform:uppercase;transition:color .2s}
.faq-q:hover{color:var(--bif-green)}
.faq-q .icon{font-size:18px;color:var(--bif-green);flex-shrink:0;transition:transform .3s}
.faq-item.open .faq-q .icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}
.faq-item.open .faq-a{max-height:800px;padding-bottom:18px}
.faq-a p{font-size:15px;line-height:1.9;margin-bottom:10px}
.faq-a ul{padding-left:0;margin-bottom:10px;list-style:none}
.faq-a ul li{font-size:15px;line-height:1.8;padding:5px 0;border-bottom:1px dotted #ddd;display:flex;gap:8px}
.faq-a ul li::before{content:'▸';color:var(--bif-green);flex-shrink:0}
.trl-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}
.trl-table th{background:var(--bif-green);color:#fff;padding:8px 12px;text-align:left;font-family:'Oswald',sans-serif;letter-spacing:.5px;text-transform:uppercase}
.trl-table td{padding:8px 12px;border-bottom:1px solid #eee;vertical-align:top;line-height:1.6}
.trl-table tr:nth-child(even) td{background:var(--bif-lgrey)}
.trl-badge{display:inline-block;padding:2px 8px;font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.5px;background:var(--bif-green);color:#fff}

/* FAQ category sections (v1.6.0) */
.faq-section{margin-bottom:48px;padding-top:8px}
.faq-section + .faq-section{border-top:2px solid var(--bif-lgrey);padding-top:36px;margin-top:36px}
.faq-section-title{font-family:'Oswald',sans-serif;font-size:22px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:10px;position:relative}
.faq-section-title::after{content:'';position:absolute;bottom:0;left:0;width:54px;height:3px;background:var(--bif-green)}
.faq-section-intro{font-size:15px;line-height:1.8;color:#555;margin-bottom:18px;max-width:760px}

/* TRL "BIF funds 4–8" range bar visual (v1.6.0) */
.trl-range-bar{display:grid;grid-template-columns:1fr 2fr 1fr;gap:6px;margin:18px 0 28px;background:var(--bif-lgrey);padding:6px;border-radius:4px}
.trl-range-step{padding:14px 12px;text-align:center;background:#fff;border-radius:3px}
.trl-range-step.inside{background:var(--bif-green);color:#fff}
.trl-step-label{font-family:'Oswald',sans-serif;font-size:18px;letter-spacing:1px;font-weight:700;margin-bottom:4px}
.trl-step-name{font-size:13px;line-height:1.4;margin-bottom:6px;opacity:.85}
.trl-step-status{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;display:inline-block;border-radius:2px}
.trl-range-step .trl-step-status.in{background:rgba(255,255,255,.2);color:#fff}
.trl-range-step .trl-step-status.out{background:#eee;color:#666}

/* Complaints */
.complaints-intro{background:var(--bif-lgrey);padding:30px;border-left:5px solid var(--bif-green);margin-bottom:40px;font-size:14px;line-height:1.8}
.process-section{margin-bottom:56px}
.process-section h3{font-family:'Oswald',sans-serif;font-size:20px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:24px;padding-top:18px;position:relative;display:block}
.process-section h3::before{content:'';position:absolute;top:0;left:0;width:54px;height:3px;background:var(--bif-green)}
.process-steps{display:grid;gap:0}
.process-step{display:flex;gap:0;position:relative}
.step-num{width:52px;flex-shrink:0;display:flex;flex-direction:column;align-items:center}
.step-circle{width:42px;height:42px;border-radius:50%;background:var(--bif-green);color:#fff;font-family:'Oswald',sans-serif;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-line{flex:1;width:2px;background:#d0e8d0;margin:6px 0}
.process-step:last-child .step-line{display:none}
.step-content{padding:0 0 32px 20px;flex:1}
.step-content h4{font-family:'Oswald',sans-serif;font-size:15px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.step-content p{font-size:15px;line-height:1.8}
.step-content ul{margin-top:8px;padding-left:0;list-style:none}
.step-content ul li{font-size:15px;line-height:1.8;padding:4px 0;display:flex;gap:8px}
.step-content ul li::before{content:'•';color:var(--bif-green);flex-shrink:0}
.confidentiality-box{background:var(--bif-charcoal);color:#fff;padding:32px;display:flex;gap:20px;align-items:flex-start;margin-top:40px}
.conf-icon{flex-shrink:0;display:flex;align-items:center}
.conf-icon svg{width:28px;height:28px;stroke:var(--bif-green);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.confidentiality-box h4{font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px;color:#fff}
.confidentiality-box p{font-size:15px;color:#bbb;line-height:1.7}

/* News page */
.news-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:50px}
.news-article{background:#fff;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.news-article .na-img{overflow:hidden;display:block}
.news-article img{width:100%;height:240px;object-fit:cover;transition:transform .4s}
.news-article:hover img{transform:scale(1.04)}
.news-article .na-body{padding:24px}
.news-article .na-meta{font-size:11px;color:#aaa;margin-bottom:10px}
.news-article h3{font-family:'Oswald',sans-serif;font-size:18px;color:var(--bif-dark);text-transform:uppercase;margin-bottom:12px;line-height:1.3}
.news-article h3 a{color:var(--bif-dark)}
.news-article h3 a:hover{color:var(--bif-green)}
.news-article p{font-size:15px;line-height:1.8;margin-bottom:14px}
.news-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:20px}
.news-gallery img{width:100%;height:120px;object-fit:cover;cursor:pointer;transition:opacity .2s}
.news-gallery img:hover{opacity:.85}

/* Tenders */
.tender-box{background:var(--bif-lgrey);border:1px solid #e5e5e5;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.tender-box h4{font-family:'Oswald',sans-serif;font-size:18px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.tender-box p{font-size:15px;line-height:1.7}
.download-btn{background:var(--bif-green);color:#fff;padding:13px 28px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;border:none;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;text-transform:uppercase}
.download-btn:hover{background:var(--bif-gl);color:#fff}
.notice-empty{background:var(--bif-lgrey);padding:50px;text-align:center;color:#999;font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:.5px;text-transform:uppercase}

.tender-card{background:#fff;border:1px solid #eee;border-left:4px solid var(--bif-green);padding:24px 28px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.tender-status{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;display:inline-block}
.tender-status.open{background:var(--bif-green);color:#fff}
.tender-status.closed{background:#888;color:#fff}
.tender-status.awarded{background:var(--bif-navy);color:#fff}

/* Contact */
.contact-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:start}
.contact-info-block{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}
.ci-icon{width:50px;height:50px;background:var(--bif-green);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.ci-icon svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ci-text strong{display:block;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:var(--bif-dark);margin-bottom:4px}
.ci-text p{font-size:15px;line-height:1.7}
.contact-form-box{background:var(--bif-lgrey);padding:36px}
.contact-form-box h3{font-family:'Oswald',sans-serif;font-size:20px;color:var(--bif-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:24px;padding-top:18px;position:relative;display:block}
.contact-form-box h3::before{content:'';position:absolute;top:0;left:0;width:54px;height:3px;background:var(--bif-green)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-group label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--bif-dark)}
.form-group input,.form-group textarea,.form-group select{padding:10px 14px;border:1px solid #e5e5e5;font-family:'Open Sans',sans-serif;font-size:15px;color:var(--bif-dark);outline:none;transition:border-color .2s;background:#fff;width:100%}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--bif-green)}
.form-group textarea{resize:vertical;min-height:120px}
.form-success{background:#e8f5e9;border:1px solid var(--bif-green);color:var(--bif-green);padding:14px 20px;font-size:15px;margin-top:12px;display:none}
.form-success.error{background:#fce4e4;border-color:#c62828;color:#c62828}
.form-success.visible{display:block}
.map-embed{width:100%;height:280px;border:0;margin-top:30px;filter:saturate(.8)}

/* Calendly booking button on Contact Us */
.contact-calendly-box{margin-top:24px;padding:22px 24px;background:var(--bif-lgrey,#f5f5f5);border-left:4px solid var(--bif-green);border-radius:4px}
.contact-calendly-heading{font-family:'Oswald',sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;color:var(--bif-green)}
.contact-calendly-text{margin:0 0 14px;font-size:14px;line-height:1.6;color:#444}
.btn-calendly{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.btn-calendly-icon{width:18px;height:18px;flex-shrink:0}
.contact-calendly-admin-note{margin:14px 0 0;padding:10px 12px;background:#fff8e1;border:1px dashed #c69b00;font-size:12px;line-height:1.5;color:#5a4500}
.contact-calendly-admin-note a{color:#5a4500;text-decoration:underline}

/* ─────────────── FOOTER ─────────────── */
footer{background:#1c1c1c;color:#fff;padding:0}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-top:48px;margin-bottom:24px}
.footer-widget h4{font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--bif-green);display:inline-block}
.footer-logo{height:auto;max-height:60px;width:auto;max-width:180px;margin:0 0 24px;display:block;object-fit:contain;filter:brightness(0) invert(1)}
.footer-about{display:flex;flex-direction:column;align-items:flex-start}
.footer-about .custom-logo-link{display:inline-block;margin:0 0 24px;line-height:0}
.footer-about .custom-logo{height:auto;max-height:60px;width:auto;max-width:180px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:24px}
.footer-widget.footer-about>h4{margin-top:0}
.footer-about p{font-size:14px;line-height:1.7;margin-bottom:8px;color:#fff}
.footer-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.footer-socials a{
    width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.08);color:#fff;border-radius:50%;
    transition:background .2s,color .2s,transform .2s;
}
.footer-socials a:hover{background:var(--bif-green);color:#fff;transform:translateY(-2px)}
.footer-socials svg{width:18px;height:18px;display:block}
.footer-socials a.footer-whatsapp{background:#25D366;color:#fff}
.footer-socials a.footer-whatsapp:hover{background:#1ebe57}
.footer-contact-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;font-size:14px;color:#fff}
.f-ci-icon{width:34px;height:34px;background:var(--bif-green);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.f-ci-icon svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-item strong{color:#fff;font-size:12px;letter-spacing:.5px;text-transform:uppercase;display:block;margin-bottom:2px}
.footer-contact-item a{color:#fff}
.footer-links{padding:0;margin:0;list-style:none}
.footer-links li{margin-bottom:7px}
.footer-links li a{font-size:13px;color:#fff;display:flex;align-items:center;gap:6px;transition:color .2s,padding-left .2s;cursor:pointer}
.footer-links li a::before{content:'›';color:var(--bif-gv);font-size:14px}
.footer-links li a:hover{color:var(--bif-gv);padding-left:4px}
.footer-bottom{background:#111;text-align:center;padding:16px;font-size:14px;color:#fff}
.footer-bottom a{color:var(--bif-gv)}
.back-top{position:fixed;bottom:30px;right:30px;background:var(--bif-green);color:#fff;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,background .2s;z-index:999;border:none}
.back-top.visible{opacity:1;pointer-events:all}
.back-top:hover{background:var(--bif-dark)}

/* ── MOBILE NAV ── */
.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:none;cursor:pointer;gap:5px;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--bif-dark);transition:all .3s ease;transform-origin:center}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Transparent overlay — captures outside-clicks to close the drawer without darkening the page */
.nav-overlay{display:none;position:fixed;inset:0;background:transparent;z-index:9998}
.nav-overlay.visible{display:block}

/* Single news layout */
.single-news-layout{display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start}
.widget{margin-bottom:36px}
.widget-title{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--bif-dark);border-bottom:2px solid var(--bif-green);padding-bottom:8px;margin-bottom:16px}

/* Quick Links inside sidebar widgets — `.footer-links` is reused on light
   backgrounds (e.g. funding sidebar). Override the white footer colour so
   the links are visible without hovering. */
.widget .footer-links li a{color:var(--bif-dark)}
.widget .footer-links li a::before{color:var(--bif-green)}
.widget .footer-links li a:hover{color:var(--bif-green)}
aside .footer-links li a{color:var(--bif-dark)}
aside .footer-links li a::before{color:var(--bif-green)}
aside .footer-links li a:hover{color:var(--bif-green)}

/* Pagination */
.bif-pagination{display:flex;justify-content:center;gap:6px;margin-top:48px;flex-wrap:wrap}
.bif-pagination a, .bif-pagination span{font-family:'Oswald',sans-serif;font-size:13px;padding:8px 14px;border:1px solid #ddd;color:var(--bif-dark);transition:all .2s;display:inline-block}
.bif-pagination .current, .bif-pagination a:hover{background:var(--bif-green);color:#fff;border-color:var(--bif-green)}

/* ── WORDPRESS RESETS ── */
.wp-block-image img{max-width:100%;height:auto}
.aligncenter{margin:0 auto;display:block}
.alignleft{float:left;margin:0 20px 20px 0}
.alignright{float:right;margin:0 0 20px 20px}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.alignwide{max-width:1400px;margin-left:auto;margin-right:auto}

/* Gallery */
.wp-block-gallery, .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:20px 0}
.wp-block-gallery img, .gallery img{width:100%;height:140px;object-fit:cover}
.gallery-item{margin:0}

/* ── ELEMENTOR COMPAT ── */
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1160px}
.elementor-widget-wrap{padding:0}
body.elementor-editor-active .navbar{position:relative}
.bif-elementor-page .entry-content{max-width:none}

/* BIF widgets own their internal padding/widths — strip Elementor's default
   widget-container spacing so they look identical to the hardcoded template-
   parts they replaced. Safe globally: only affects bif-* widgets. */
[class*="elementor-widget-bif-"] > .elementor-widget-container{padding:0;margin:0}

/* Auto-converted BIF pages get .bif-fullwidth-section on each section so the
   sections render edge-to-edge (matching the hardcoded design) without
   Elementor's container max-width or column padding. Scoped — won't affect
   sections the user adds manually in Elementor. */
.elementor-section.bif-fullwidth-section > .elementor-container{max-width:none;padding:0;margin:0;display:block}
.elementor-section.bif-fullwidth-section .elementor-column,
.elementor-section.bif-fullwidth-section .elementor-element-populated{padding:0;width:100%}
.elementor-section.bif-fullwidth-section .elementor-widget:not(:last-child){margin-bottom:0}

/* ── ADMIN BAR OFFSET ── */
body.admin-bar .navbar{top:32px}
@media (max-width:782px){body.admin-bar .navbar{top:46px}}

/* ── SEARCH RESULTS ── */
.search-results-wrap{padding:80px 0}
.search-result-item{padding:24px 0;border-bottom:1px solid #eee}
.search-result-item h3{font-family:'Oswald',sans-serif;margin-bottom:6px}
.search-result-item h3 a{color:var(--bif-dark);font-size:20px;text-transform:uppercase;letter-spacing:.5px}
.search-result-item h3 a:hover{color:var(--bif-green)}

/* ── WPFORMS LITE COMPAT ── */
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea{
  border:1px solid #ddd!important;
  border-radius:0!important;
  font-family:'Open Sans',sans-serif!important;
  font-size:13px!important;
}
.wpforms-submit{
  background:var(--bif-green)!important;
  border-color:var(--bif-green)!important;
  font-family:'Oswald',sans-serif!important;
  letter-spacing:1.5px!important;
  text-transform:uppercase!important;
  border-radius:0!important;
}

/* ─────────────── GALLERY ALBUMS ─────────────── */
.album-archive{padding:80px 0}
.album-archive-header{text-align:center;margin-bottom:48px}
.album-archive-header p{max-width:680px;margin:14px auto 0;font-size:15px;line-height:1.7;color:var(--bif-text)}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.album-card{background:#fff;border:1px solid #ececec;display:block;color:inherit;transition:transform .3s,box-shadow .3s;overflow:hidden}
.album-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.10)}
.album-card-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bif-lgrey)}
.album-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.album-card:hover .album-card-img img{transform:scale(1.05)}
.album-card-count{position:absolute;left:14px;bottom:14px;background:rgba(15,94,59,.92);color:#fff;font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 12px}
.album-card-body{padding:22px 24px 26px}
.album-card-body h3{font-family:'Oswald',sans-serif;font-size:20px;text-transform:uppercase;letter-spacing:.5px;color:var(--bif-dark);margin-bottom:6px;line-height:1.25}
.album-card-date{font-size:12px;color:var(--bif-green);font-family:'Oswald',sans-serif;letter-spacing:1.5px;text-transform:uppercase}
.album-card-body p{margin-top:10px;font-size:15px;line-height:1.7;color:var(--bif-text)}
.album-empty{text-align:center;padding:60px 0;color:var(--bif-text);font-style:italic}
.album-pagination{margin-top:40px;text-align:center}
.album-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid #e0e0e0;color:var(--bif-dark);font-family:'Oswald',sans-serif;font-size:13px;margin:0 3px;text-decoration:none}
.album-pagination .page-numbers.current,.album-pagination .page-numbers:hover{background:var(--bif-green);color:#fff;border-color:var(--bif-green)}

.album-single{padding:60px 0 90px}
.album-single-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid #ececec}
.album-back{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--bif-green)}
.album-back:hover{color:var(--bif-dark)}
.album-single-event{font-size:13px;color:var(--bif-text);font-family:'Oswald',sans-serif;letter-spacing:1px;text-transform:uppercase}
.album-event-date{color:var(--bif-green)}
.album-single-intro{max-width:860px;margin:0 auto 36px;font-size:15px;line-height:1.8;color:#000}
.album-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.album-photo{padding:0;border:0;background:none;cursor:pointer;overflow:hidden;position:relative;aspect-ratio:1/1;display:block}
.album-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s,filter .3s}
.album-photo:hover img{transform:scale(1.05);filter:brightness(.9)}
.album-photo:focus-visible{outline:3px solid var(--bif-green);outline-offset:2px}

/* Lightbox */
.album-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:10000;display:none;align-items:center;justify-content:center;padding:60px 24px}
.album-lightbox.is-open{display:flex}
.album-lightbox-figure{margin:0;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:16px}
.album-lightbox-figure img{max-width:100%;max-height:80vh;object-fit:contain;display:block;background:#000}
.album-lightbox-caption{color:rgba(255,255,255,.7);font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase}
.album-lightbox-close,.album-lightbox-prev,.album-lightbox-next{position:absolute;background:rgba(255,255,255,.1);border:0;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.album-lightbox-close:hover,.album-lightbox-prev:hover,.album-lightbox-next:hover{background:var(--bif-green)}
.album-lightbox-close{top:24px;right:24px;width:44px;height:44px;font-size:28px;line-height:1}
.album-lightbox-prev,.album-lightbox-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:36px;line-height:1}
.album-lightbox-prev{left:24px}
.album-lightbox-next{right:24px}

/* Homepage gallery preview */
.gallery-home{padding:90px 0;background:var(--bif-lgrey)}
.gallery-home-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:36px}
.gallery-home-header .gh-text{flex:1;min-width:260px}
.gallery-home-header h2{font-family:'Oswald',sans-serif;font-size:32px;font-weight:600;color:var(--bif-dark);text-transform:uppercase;line-height:1.2;margin-bottom:8px}
.gallery-home-header p{font-size:14px;color:var(--bif-text);max-width:560px}
.gallery-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
