:root{
  --m:#C0392B;--ml:#E8524A;--mp:#FBEAEA;--ms:#F5C6C6;
  --gold:#D4AF37;--gl:#F0CC55;
  --white:#FFF;--off:#FAFAFA;--bg:#F7F2F2;
  --text:#1A0A0A;--tm:#5A3535;--tl:#9A7070;--border:#ECDCDC;
  --ss:0 2px 12px rgba(192,57,43,.08);
  --sm:0 6px 32px rgba(192,57,43,.12);
  --sl:0 16px 64px rgba(192,57,43,.16);
  --r:6px;--t:all .35s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;background:var(--white);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
.container{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px);}
.page{display:none;animation:pgIn .4s ease;}
.page.active{display:flex;flex-direction:column;flex:1 0 auto;}
@keyframes pgIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--m);}
.h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(32px,5vw,60px);line-height:1.05;letter-spacing:1px;}
.lead{font-size:clamp(14px,1.8vw,17px);line-height:1.75;color:var(--tm);}
.btn{display:inline-flex;align-items:center;gap:8px;padding:5px 16px;border-radius:var(--r);font-size:14px;font-weight:700;letter-spacing:.5px;transition:var(--t);cursor:pointer;white-space:nowrap;}
.btn-primary{background:var(--m);color:#fff;}
.btn-primary:hover{background:var(--ml);transform:translateY(-2px);box-shadow:var(--sm);}
.btn-gold{background:var(--gold);color:#1A0A0A;}
.btn-gold:hover{background:var(--gl);transform:translateY(-2px);}
.btn-outline{border:2px solid var(--m);color:var(--m);background:transparent;}
.btn-outline:hover{background:var(--m);color:#fff;}
.btn-ghost{border:2px solid rgba(255,255,255,.5);color:#fff;background:transparent;}
.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:#fff;}

/* ── HEADER ── */
#header{position:fixed;top:0;left:0;right:0;z-index:900;transition:var(--t);}
.topbar{background:var(--m);color:rgba(255,255,255,.9);font-size:12px;padding:7px 0;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topbar a{color:rgba(255,255,255,.8);}
.topbar a:hover{color:var(--gold);}
.topbar-soc{display:flex;gap:14px;}
.navbar{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:10px 0;transition:var(--t);}
#header.scrolled .navbar{padding:7px 0;box-shadow:var(--ss);}
.navbar .container{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.logo{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0;}
.logo-img{height:44px;width:auto;object-fit:contain;border-radius:4px;}
.logo-text-w{display:flex;flex-direction:column;}
.logo-name{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--m);line-height:1;}
.logo-tag{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tl);}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-item{position:relative;}
.nav-link{display:block;padding:8px 11px;font-size:13px;font-weight:600;color:var(--tm);border-radius:var(--r);transition:var(--t);white-space:nowrap;}
.nav-link:hover,.nav-link.active{color:var(--m);background:var(--mp);}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border-radius:10px;box-shadow:var(--sl);border:1px solid var(--border);border-top:3px solid var(--m);min-width:200px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:var(--t);z-index:100;}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:10px 16px;font-size:13px;color:var(--tm);transition:var(--t);}
.dropdown a:hover{color:var(--m);background:var(--mp);padding-left:22px;}
.nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r);background:var(--bg);color:var(--tm);font-size:15px;transition:var(--t);cursor:pointer;border:1px solid var(--border);}
.icon-btn:hover{background:var(--m);color:#fff;border-color:var(--m);}
/* HAMBURGER — always visible on mobile */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;background:var(--m);border-radius:var(--r);cursor:pointer;flex-shrink:0;border:none;}
.hamburger span{width:20px;height:2px;background:#fff;border-radius:2px;transition:var(--t);display:block;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* MOBILE NAV */
.nav-overlay{position:fixed;inset:0;background:rgba(26,10,10,.6);z-index:1000;opacity:0;visibility:hidden;transition:var(--t);}
.nav-overlay.show{opacity:1;visibility:visible;}
.mobile-nav{position:fixed;top:0;right:-100%;width:280px;max-width:85vw;height:100vh;background:#fff;z-index:1001;transition:var(--t);overflow-y:auto;display:flex;flex-direction:column;box-shadow:var(--sl);}
.mobile-nav.open{right:0;}
.mob-head{background:var(--m);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;}
.mob-head-logo{height:38px;width:auto;object-fit:contain;}
.close-nav{color:#fff;font-size:24px;cursor:pointer;line-height:1;padding:4px;}
.mob-links{padding:8px 0;flex:1;}
.mob-link{display:flex;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:600;color:var(--tm);border-bottom:1px solid var(--border);transition:var(--t);cursor:pointer;}
.mob-link:hover{color:var(--m);background:var(--mp);}
.mob-link .mob-icon{font-size:16px;width:22px;text-align:center;}
.mob-foot{padding:16px 18px;background:var(--mp);}

/* HERO */
.hero{position:relative;height:100vh;min-height:640px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#1A0A0A;}
.hero-bg{position:absolute;inset:0;z-index:0;background:#1A0A0A;}
.hero-bg img,.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:center top;}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(155deg,rgba(192,57,43,.80) 0%,rgba(26,10,10,.45) 40%,rgba(26,10,10,.88) 100%);}
.hero-vid-ctrl{position:absolute;bottom:22px;right:24px;z-index:4;display:flex;gap:8px;}
.hero-vid-btn{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.hero-vid-btn:hover{background:rgba(212,175,55,.55);}
.ca-scroll{display:flex;gap:18px;overflow-x:auto;padding:8px 4px 20px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.ca-scroll::-webkit-scrollbar{height:6px;}
.ca-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:4px;}
.ca-card{flex:0 0 280px;scroll-snap-align:start;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s;}
.ca-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.14);}
.ca-img{height:130px;display:flex;align-items:center;justify-content:center;font-size:44px;color:#fff;}
.ca-body{padding:16px 16px 18px;}
.ca-status{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:9px;}
.ca-live{background:rgba(46,125,50,.14);color:#2E7D32;}
.ca-upcoming{background:rgba(212,175,55,.18);color:#8A6D1E;}
.ca-complete{background:rgba(31,97,141,.14);color:#1F618D;}
.ca-title{font-weight:700;font-size:15px;color:var(--m);margin-bottom:6px;}
.ca-desc{font-size:12.5px;color:var(--tl);line-height:1.6;margin-bottom:10px;}
.ca-loc{font-size:11px;color:var(--tl);margin-bottom:8px;}
.ca-more{font-size:12px;font-weight:700;color:var(--gold);cursor:pointer;}
.carousel-wrap{position:relative;}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--border);box-shadow:0 4px 14px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;font-size:16px;color:var(--m);transition:var(--t);}
.carousel-arrow:hover{background:var(--m);color:#fff;}
.carousel-arrow.left{left:-6px;}
.carousel-arrow.right{right:-6px;}
.ca-view-all{display:flex;justify-content:center;margin-top:6px;}
@media(max-width:640px){.carousel-arrow{width:34px;height:34px;font-size:14px;}.carousel-arrow.left{left:-2px;}.carousel-arrow.right{right:-2px;}}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;background:#1A0A0A;color:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 12px 40px rgba(0,0,0,.35);z-index:9999;display:none;border:1px solid rgba(212,175,55,.3);}
.cookie-banner.show{display:block;animation:cookieUp .4s ease;}
@keyframes cookieUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.cookie-banner p{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.8);margin-bottom:14px;}
.cookie-banner a{color:var(--gold);cursor:pointer;text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-btn{padding:9px 18px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;border:none;}
.cookie-accept{background:var(--gold);color:#1A0A0A;}
.cookie-reject{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)!important;}
@media(max-width:480px){.cookie-banner{left:10px;right:10px;bottom:10px;padding:16px;}}
.hero-geo{position:absolute;top:0;right:0;width:50%;height:100%;z-index:1;pointer-events:none;}
.hero-geo::before{content:'';position:absolute;top:-10%;right:-10%;width:70%;height:120%;background:rgba(212,175,55,.07);clip-path:polygon(30% 0%,100% 0%,100% 100%,0% 100%);border-left:1px solid rgba(212,175,55,.2);}
.hero-inner{position:relative;z-index:2;padding-bottom:clamp(36px,7vh,72px);}
.hero-inner .container{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:flex-end;}
.hero-left{color:#fff;}
.hero-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(212,175,55,.18);border:1px solid rgba(212,175,55,.45);padding:6px 16px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;backdrop-filter:blur(8px);}
.hero-headline{font-family:'Bebas Neue',sans-serif;font-size:clamp(54px,9vw,108px);line-height:.9;letter-spacing:3px;color:#fff;margin-bottom:10px;}
.hero-headline em{font-style:normal;color:var(--gold);display:block;}
.hero-sub{font-size:clamp(14px,1.8vw,17px);line-height:1.7;color:rgba(255,255,255,.82);max-width:460px;margin-bottom:28px;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
.hero-right{display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.hero-stat-stack{display:flex;flex-direction:column;gap:9px;width:100%;max-width:260px;}
.hsc{background:rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:11px;transition:var(--t);}
.hsc:hover{background:rgba(255,255,255,.16);transform:translateX(-4px);}
.hsc-icon{font-size:24px;flex-shrink:0;}
.hsc-num{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--gold);line-height:1;}
.hsc-lbl{font-size:11px;color:rgba(255,255,255,.75);margin-top:1px;}
.hero-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;text-align:center;animation:bounce 2.5s infinite;}
.hero-scroll span{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:5px;}
.hero-scroll-line{width:1px;height:32px;background:linear-gradient(to bottom,rgba(212,175,55,.6),transparent);margin:0 auto;}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(7px);}}


/* PAGE HERO */
.page-hero{position:relative;padding:clamp(96px,13vh,150px) 0 clamp(32px,5vh,56px);overflow:hidden;}
.ph-bg{position:absolute;inset:0;}
.ph-bg img{width:100%;height:100%;object-fit:cover;}
.ph-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(192,57,43,.88),rgba(26,10,10,.72));}
.ph-content{position:relative;z-index:1;color:#fff;}
.ph-content .eyebrow{color:var(--gold);}
.ph-content h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,6vw,76px);letter-spacing:2px;margin:7px 0 10px;color:#fff;}
.ph-content p{font-size:clamp(13px,1.7vw,16px);color:rgba(255,255,255,.8);max-width:540px;line-height:1.7;}
.breadcrumb{display:flex;align-items:center;gap:7px;font-size:11px;color:rgba(255,255,255,.5);margin-bottom:12px;flex-wrap:wrap;}
.breadcrumb .cur{color:var(--gold);}
.bc-sep{opacity:.4;}
/* ── HERO BACKGROUND ── */
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

/* ── HERO SECTION ── */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0f172a; /* fallback color */
}

/* ── BACKGROUND WRAPPER ── */
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

/* ── BACKGROUND IMAGE (fallback, webp) ── */
.hero-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  display: block;
}

/* ── BACKGROUND VIDEO ── */
#heroVideo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
  background: #000;
}

/* ── DARK OVERLAY – dims the background ── */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: rgba(0, 0, 0, 0.75); /* adjust 0.3–0.6 for desired darkness */
  pointer-events: none; /* allows clicks to pass through to video controls */
}

/* ── HERO CONTENT (on top of overlay) ── */
.hero-inner {
  position: relative;
  z-index: 3;
  padding: 120px 0 80px;
  color: #fff;
  width: 100%;
}

/* ── PLAY/PAUSE BUTTON ── */
.hero-vid-ctrl {
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 10;
}
.hero-vid-btn {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  font-size: 20px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-vid-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.05);
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .hero-inner {
    padding: 100px 0 60px;
  }
  .hero-vid-ctrl {
    bottom: 16px;
    right: 16px;
  }
  .hero-vid-btn {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }
  .hero-overlay {
    background: rgba(0, 0, 0, 0.55); /* slightly darker on mobile for readability */
  }
}




/* SECTIONS */
section{padding:clamp(48px,6.5vw,88px) 0;}
.sh{margin-bottom:clamp(28px,4vw,48px);}
.sh.c{text-align:center;}
.sh.c .sec-sub{margin:0 auto;}
.sec-sub{max-width:540px;margin-top:10px;}

/* WELCOME */
.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center;}
.welcome-vis{position:relative;}
.welcome-main-img{width:100%;height:clamp(300px,40vw,500px);object-fit:cover;border-radius:12px;}
.welcome-badge{position:absolute;top:20px;left:-16px;background:var(--m);color:#fff;padding:14px 18px;border-radius:10px;text-align:center;box-shadow:var(--sm);}
.wb-num{font-family:'Bebas Neue',sans-serif;font-size:34px;line-height:1;color:var(--gold);}
.wb-lbl{font-size:9px;letter-spacing:1px;text-transform:uppercase;opacity:.8;margin-top:2px;}
.welcome-accent{position:absolute;bottom:-16px;right:-16px;width:145px;height:115px;border-radius:8px;object-fit:cover;border:4px solid #fff;box-shadow:var(--sm);}
.wf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;}
.wf-card{display:flex;gap:10px;align-items:flex-start;background:var(--mp);border-radius:8px;padding:12px;}
.wf-icon{font-size:16px;width:32px;height:32px;background:var(--ms);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wf-title{font-size:12px;font-weight:700;margin-bottom:2px;}
.wf-desc{font-size:11px;color:var(--tl);line-height:1.4;}

/* PROGRAMS PREVIEW */
.progs-hrow{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(22px,3.5vw,40px);flex-wrap:wrap;gap:12px;}
.progs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.pc{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:var(--t);cursor:pointer;}
.pc:hover{transform:translateY(-7px);box-shadow:var(--sl);border-color:var(--ms);}
.pc-img{height:138px;display:flex;align-items:center;justify-content:center;font-size:40px;}
.pc-img img{width:100%;height:100%;object-fit:cover;}
.pc-body{padding:15px;}
.pc-title{font-size:14px;font-weight:700;margin-bottom:4px;}
.pc-desc{font-size:11px;color:var(--tl);line-height:1.5;}
.pc-link{display:inline-flex;align-items:center;gap:4px;margin-top:9px;font-size:11px;font-weight:700;color:var(--m);}

/* IMPACT */
.impact-banner{background:var(--m);position:relative;overflow:hidden;}
.impact-banner::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(212,175,55,.04) 0,rgba(212,175,55,.04) 1px,transparent 0,transparent 50%);background-size:26px 26px;}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:1;}
.ic{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:24px;text-align:center;transition:var(--t);}
.ic:hover{background:rgba(255,255,255,.13);transform:translateY(-4px);}
.ic-icon{font-size:32px;margin-bottom:9px;}
.ic-num{font-family:'Bebas Neue',sans-serif;font-size:48px;color:var(--gold);line-height:1;}
.ic-lbl{font-size:12px;color:rgba(255,255,255,.8);margin-top:5px;font-weight:600;}
.ic-desc{font-size:11px;color:rgba(255,255,255,.45);margin-top:4px;line-height:1.5;}

/* STORIES */
.stories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(22px,3.5vw,42px);}
.story-card{background:var(--off);border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:var(--t);cursor:pointer;}
.story-card:hover{transform:translateY(-6px);box-shadow:var(--sl);}
.story-img{height:210px;overflow:hidden;position:relative;}
.story-img img{width:100%;height:100%;object-fit:cover;transition:var(--t);}
.story-card:hover .story-img img{transform:scale(1.05);}
.story-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,10,10,.7),transparent);}
.story-tag{position:absolute;bottom:11px;left:11px;background:var(--gold);color:#1A0A0A;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:3px 8px;border-radius:4px;}
.story-body{padding:16px;}
.story-name{font-family:'DM Serif Display',serif;font-size:16px;margin-bottom:3px;}
.story-loc{font-size:11px;color:var(--tl);margin-bottom:7px;}
.story-quote{font-size:12px;color:var(--tm);font-style:italic;line-height:1.6;}

/* NEWS */
.news-grid{display:grid;grid-template-columns:5fr 3fr;gap:22px;margin-top:clamp(22px,3.5vw,40px);}
.nf{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--ss);}
.nf-img{height:355px;overflow:hidden;}
.nf-img img{width:100%;height:100%;object-fit:cover;}
.nf-body{padding:24px;}
.ncat{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--m);margin-bottom:8px;}
.nf-title{font-family:'DM Serif Display',serif;font-size:clamp(16px,2vw,22px);margin-bottom:9px;line-height:1.3;}
.nexcerpt{font-size:12px;color:var(--tl);line-height:1.7;}
.nmeta{display:flex;align-items:center;gap:11px;font-size:11px;color:var(--tl);margin-top:14px;flex-wrap:wrap;}
.nmeta a{color:var(--m);font-weight:700;}
.news-sidebar{display:flex;flex-direction:column;gap:11px;}
.ns-card{background:#fff;border-radius:10px;padding:13px;display:flex;gap:11px;align-items:flex-start;border:1px solid var(--border);transition:var(--t);cursor:pointer;}
.ns-card:hover{border-color:var(--ms);transform:translateX(3px);}
.ns-img{width:48px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;}
.ns-img img{width:100%;height:100%;object-fit:cover;}
.ns-title{font-size:12px;font-weight:600;margin-bottom:3px;line-height:1.35;}
.ns-date{font-size:10px;color:var(--tl);}

/* CTA */
.cta-section{position:relative;overflow:hidden;}
.cta-bg{position:absolute;inset:0;}
.cta-bg img{width:100%;height:100%;object-fit:cover;}
.cta-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(192,57,43,.92),rgba(26,10,10,.85));}
.cta-inner{position:relative;z-index:1;text-align:center;color:#fff;}
.cta-inner h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,5vw,58px);letter-spacing:2px;margin-bottom:10px;color:#fff;}
.cta-inner p{font-size:clamp(13px,1.7vw,17px);color:rgba(255,255,255,.8);max-width:560px;margin:0 auto 28px;}
.cta-btns{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;}

/* PARTNERS */
.partners{background:#fff;border-top:1px solid var(--border);padding:clamp(28px,4vw,48px) 0;}
.pt{text-align:center;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--tl);margin-bottom:24px;}
.partners-row{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;}
.pi{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;transition:var(--t);min-width:100px;text-align:center;}
.pi:hover{border-color:var(--ms);box-shadow:var(--ss);}
.pi-img{width:80px;height:40px;object-fit:contain;transition:var(--t);}
.pi:hover .pi-img{transform:scale(1.05);}
.pi-name{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--tl);}

/* FOOTER */
footer{background:#0D0005;color:rgba(255,255,255,.7);flex-shrink:0;}
.footer-main{padding:clamp(40px,6vw,72px) 0 clamp(24px,3.5vw,40px);}
.fg{display:grid;grid-template-columns:2.5fr 1fr 1fr 1.4fr;gap:clamp(18px,3.5vw,40px);}
.fb p{font-size:12px;line-height:1.7;margin-top:11px;color:rgba(255,255,255,.5);}
.fl-logo{height:38px;width:auto;object-fit:contain;border-radius:4px;}
.fsoc{display:flex;gap:7px;margin-top:14px;}
.fsoc a{width:30px;height:30px;background:rgba(255,255,255,.08);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:var(--t);cursor:pointer;}
.fsoc a:hover{background:var(--gold);color:#1A0A0A;}
.fh{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.fl{display:flex;flex-direction:column;gap:8px;}
.fl a{font-size:12px;color:rgba(255,255,255,.5);transition:var(--t);cursor:pointer;}
.fl a:hover{color:var(--gold);padding-left:4px;}
.fci{display:flex;gap:8px;margin-bottom:10px;font-size:12px;color:rgba(255,255,255,.5);}
.fc-icon{color:var(--gold);flex-shrink:0;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 0;}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:7px;}
.footer-bottom a{color:var(--gold);cursor:pointer;}

/* ABOUT */
.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.mvv-card{padding:clamp(22px,3.5vw,40px);border-right:1px solid var(--border);}
.mvv-card:last-child{border-right:none;}
.mvv-bar{width:42px;height:4px;background:var(--m);border-radius:2px;margin-bottom:14px;}
.mvv-title{font-family:'DM Serif Display',serif;font-size:20px;margin-bottom:8px;}
.mvv-text{font-size:13px;line-height:1.8;color:var(--tm);}
.vals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(22px,3.5vw,40px);}
.vc{background:#fff;border-radius:10px;padding:20px;border-top:4px solid var(--m);box-shadow:var(--ss);}
.vc-icon{font-size:24px;margin-bottom:9px;}
.vc-title{font-weight:700;font-size:14px;margin-bottom:5px;}
.vc-desc{font-size:12px;color:var(--tl);line-height:1.6;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(22px,3.5vw,40px);}
.tc{background:#fff;border-radius:12px;overflow:hidden;text-align:center;border:1px solid var(--border);transition:var(--t);}
.tc:hover{transform:translateY(-5px);box-shadow:var(--sl);}
.tc-av{height:185px;overflow:hidden;}
.tc-av img{width:100%;height:100%;object-fit:cover;}
.tc-info{padding:14px;}
.tc-name{font-family:'DM Serif Display',serif;font-size:16px;}
.tc-role{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--m);margin-top:3px;}
.tc-bio{font-size:11px;color:var(--tl);margin-top:6px;line-height:1.6;}
.tl-track{max-width:720px;margin:clamp(22px,3.5vw,40px) auto 0;position:relative;}
.tl-track::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translateX(-50%);}
.tl-item{display:flex;gap:26px;margin-bottom:32px;align-items:flex-start;}
.tl-content{flex:1;background:#fff;border-radius:10px;padding:18px;border:1px solid var(--border);position:relative;box-shadow:var(--ss);}
.tl-content::after{content:'';position:absolute;top:14px;width:12px;height:12px;background:var(--m);border:3px solid var(--gold);border-radius:50%;z-index:1;}
.tl-item:nth-child(odd) .tl-content::after{right:-33px;}
.tl-item:nth-child(even) .tl-content::after{left:-33px;}
.tl-year{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--m);}
.tl-title{font-weight:700;font-size:13px;margin:4px 0 3px;}
.tl-desc{font-size:12px;color:var(--tl);line-height:1.6;}
.tl-spacer{flex:1;}

/* PROGRAMS */
.pfc{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border);margin-bottom:20px;box-shadow:var(--ss);}
.pfc-head{display:flex;gap:20px;padding:22px 26px;border-bottom:1px solid var(--border);align-items:center;}
.pfc-icon{width:64px;height:64px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;overflow:hidden;}
.pfc-icon img{width:100%;height:100%;object-fit:cover;}
.pfc-meta h3{font-family:'DM Serif Display',serif;font-size:21px;}
.pfc-meta p{font-size:12px;color:var(--tl);margin-top:3px;}
.ptabs{display:flex;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.ptab{padding:11px 18px;font-size:12px;font-weight:600;cursor:pointer;transition:var(--t);border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--tl);}
.ptab.active,.ptab:hover{color:var(--m);border-color:var(--m);}
.ptab-content{padding:22px 26px;display:none;}
.ptab-content.active{display:block;}

/* ── PROGRAM CARDS ── */
.pfc {
  margin-bottom: 24px;
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s;
  scroll-margin-top: 130px; /* keeps the card's heading clear of the fixed header when jumped to from the Programs menu */
}
@media (max-width: 640px) {
  .pfc { scroll-margin-top: 100px; }
}
.pfc:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.07);
}

.pfc-head {
  display: flex;
  flex-direction: column;      /* mobile-first: stack */
  align-items: center;
  gap: 12px;
  padding: 16px 16px 12px;
  background: #fafcff;
  border-bottom: 1px solid #eef2f6;
  text-align: center;
}

.pfc-icon {
  flex-shrink: 0;
  background: #eaf0fb;
  width: 50px;
  height: 50px;
  font-size: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.pfc-meta {
  flex: 1;
  width: 100%;
}
.pfc-meta h3 {
  margin: 0 0 6px 0;
  font-size: clamp(17px, 2.5vw, 20px);
  font-weight: 700;
  color: #0f172a;
}
.pfc-meta > div {
  line-height: 1.7;
  color: #334155;
  font-size: clamp(13px, 1.8vw, 14px);
  word-break: break-word;
}

/* ── TABS ── */
.ptabs {
  display: flex;
  flex-wrap: wrap;            /* wrap tabs on small screens */
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
  padding: 0 12px;
  gap: 2px;
}
.ptab {
  padding: 10px 14px;
  cursor: pointer;
  font-size: clamp(13px, 1.8vw, 16px);
  font-weight: 600;
  color: #475569;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
  user-select: none;
  background: transparent;
  border-top: none;
  border-left: none;
  border-right: none;
  flex: 0 1 auto;
  text-align: center;
}
.ptab.active {
  color: #1e293b;
  border-bottom-color: #f59e0b;
  background: #fff;
  border-radius: 8px 8px 0 0;
}
.ptab:hover {
  background: #f1f5f9;
  border-radius: 8px 8px 0 0;
}

.ptab-content {
  padding: 16px 16px;
  display: none;
  background: #ffffff;
  line-height: 1.8;
  color: #1e293b;
  font-size: clamp(13px, 1.8vw, 14px);
}
.ptab-content.active {
  display: block;
}
.ptab-content ul {
  padding-left: 20px;
  margin: 0;
  line-height: 1.8;
}
.ptab-content ul li {
  margin-bottom: 4px;
  color: #1e293b;
  word-break: break-word;
}

/* ── TABLES / LONG CONTENT SAFETY ── */
.pfc * {
  max-width: 100%;
}
img, svg, video {
  max-width: 100%;
  height: auto;
}

/* ── TABLET AND DESKTOP (min-width: 600px) ── */
@media (min-width: 600px) {
  .pfc-head {
    flex-direction: row;       /* back to row on larger screens */
    align-items: flex-start;
    text-align: left;
    gap: 16px;
    padding: 20px 24px;
  }
  .pfc-icon {
    width: 54px;
    height: 54px;
    font-size: 28px;
  }
  .ptab {
    padding: 12px 22px;
  }
  .ptab-content {
    padding: 18px 24px;
  }
  .program-menu {
    flex-wrap: wrap;           /* allow wrapping on tablets */
    padding: 12px 24px;
    gap: 6px 14px;
  }
  .program-menu li a {
    font-size: 13px;
    padding: 5px 14px;
  }
}

/* ── EXTRA SMALL SCREENS (under 400px) ── */
@media (max-width: 400px) {
  .pfc-head {
    padding: 12px 10px;
  }
  .pfc-icon {
    width: 44px;
    height: 44px;
    font-size: 22px;
  }
  .ptab {
    padding: 8px 10px;
    font-size: 12px;
  }
  .ptab-content {
    padding: 12px 12px;
    font-size: 12px;
  }
  .program-menu li a {
    font-size: 9px;
    padding: 3px 8px;
  }
}
/* ── PARTNERS SECTION ── */
  .partners {
    background: #ffffff;
    border-top: 1px solid var(--border, #e2e8f0);
    padding: clamp(28px, 4vw, 48px) 0;
    overflow-x: hidden; /* prevents horizontal scroll on the page */
  }

  .pt {
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--tl, #475569);
    margin-bottom: 24px;
  }

  /* ── SCROLLING TRACK WRAPPER ── */
  .partners-track-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 6px 0; /* gives a little breathing space */
  }

  /* ── FADE MASKS (smooth edges) ── */
  .partners-track-wrapper::before,
  .partners-track-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    width: 50px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
  }
  .partners-track-wrapper::before {
    left: 0;
    background: linear-gradient(to right, #ffffff 15%, transparent);
  }
  .partners-track-wrapper::after {
    right: 0;
    background: linear-gradient(to left, #ffffff 15%, transparent);
  }

  /* ── THE SCROLLING TRACK ── */
  .partners-track {
    display: flex;
    gap: clamp(16px, 2.5vw, 30px);
    width: max-content;
    animation: scrollPartners 24s linear infinite;
    will-change: transform;
  }

  /* Pause on hover */
  .partners-track-wrapper:hover .partners-track {
    animation-play-state: paused;
  }

  /* ── ANIMATION: scroll right → left ── */
  @keyframes scrollPartners {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }

  /* ── PARTNER ITEM ── */
  .pi {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 10px;
    background: #fff;
    min-width: 100px;
    flex-shrink: 0;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .pi:hover {
    border-color: var(--ms, #f59e0b);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  }

  .pi-img {
    height: 35px;
    width: auto;
    max-width: 80px;
    object-fit: contain;
    display: block;
  }

  .pi-name {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--tl, #475569);
    text-align: center;
    white-space: nowrap; /* keeps names on one line */
  }

  /* ── EXTRA SMALL SCREENS (under 400px) ── */
  @media (max-width: 400px) {
    .pi {
      padding: 8px 12px;
      min-width: 80px;
    }
    .pi-img {
      height: 28px;
      max-width: 60px;
    }
    .pi-name {
      font-size: 8px;
    }
    .partners-track-wrapper::before,
    .partners-track-wrapper::after {
      width: 30px;
    }
  }


/* DISTRICTS */
.dist-filters{display:flex;gap:11px;flex-wrap:wrap;margin-bottom:24px;align-items:flex-end;}
.dist-filters label{display:block;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--tl);margin-bottom:5px;}
.fsel,.finput{padding:9px 12px;border:1px solid var(--border);border-radius:var(--r);font-family:inherit;font-size:13px;color:var(--text);background:#fff;outline:none;transition:var(--t);}
.fsel:focus,.finput:focus{border-color:var(--m);}
.fwrap{position:relative;flex:1;min-width:180px;}
.fwrap .si{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--tl);}
.fwrap .finput{width:100%;padding-left:32px;}
.dg{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;}
.dc{background:#fff;border-radius:10px;padding:14px;border:1px solid var(--border);cursor:pointer;transition:var(--t);}
.dc:hover{border-color:var(--m);transform:translateY(-3px);box-shadow:var(--sm);}
.dc-name{font-weight:700;font-size:14px;margin-bottom:3px;}
.dc-reg{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--tl);margin-bottom:9px;}
.dc-stats{display:flex;gap:9px;}
.dcs{text-align:center;}
.dcs-num{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--m);}
.dcs-lbl{font-size:9px;color:var(--tl);}

/* DISTRICT DETAIL */
.dd{display:none;}
.dd.show{display:block;}
.dd-hero{background:var(--m);padding:clamp(72px,10vw,120px) 0 clamp(22px,3.5vw,40px);color:#fff;position:relative;overflow:hidden;}
.dd-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(212,175,55,.04) 0,rgba(212,175,55,.04) 1px,transparent 0,transparent 50%);background-size:22px 22px;}
.dd-back{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:rgba(255,255,255,.7);margin-bottom:16px;cursor:pointer;transition:var(--t);}
.dd-back:hover{color:var(--gold);}
.dd-cnt{display:grid;grid-template-columns:2fr 1fr;gap:32px;padding:clamp(28px,4vw,48px) 0;}
.dd-stats-panel{background:var(--m);color:#fff;border-radius:10px;padding:20px;}
.dsr{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.dsr:last-child{border-bottom:none;}
.dsk{font-size:11px;color:rgba(255,255,255,.6);}
.dsv{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--gold);}

/* DISTRICT BENEFICIARY PROFILE CARDS */
.bp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;}
.bp-card{background:var(--mp);border-radius:10px;padding:16px;border-left:4px solid var(--m);}
.bp-name{font-weight:700;font-size:14px;color:var(--text);margin-bottom:3px;}
.bp-trade{font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:1px;margin-bottom:7px;}
.bp-desc{font-size:12px;color:var(--tm);line-height:1.55;}
.bp-stat{display:flex;gap:12px;margin-top:9px;flex-wrap:wrap;}
.bp-s{text-align:center;background:rgba(192,57,43,.08);border-radius:6px;padding:5px 10px;}
.bp-s-num{font-family:'Bebas Neue',sans-serif;font-size:16px;color:var(--m);line-height:1;}
.bp-s-lbl{font-size:9px;color:var(--tl);}

/* MAP SECTION */
.map-section{background:var(--bg);}
.map-container{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-top:32px;}
.map-svg-wrap{background:#fff;border-radius:14px;padding:20px;box-shadow:var(--sm);border:1px solid var(--border);}
.map-stats{display:flex;flex-direction:column;gap:14px;}
.ms-card{background:#fff;border-radius:10px;padding:18px;border:1px solid var(--border);display:flex;gap:14px;align-items:center;box-shadow:var(--ss);}
.ms-icon{font-size:28px;flex-shrink:0;}
.ms-num{font-family:'Bebas Neue',sans-serif;font-size:32px;color:var(--m);line-height:1;}
.ms-lbl{font-size:12px;color:var(--tl);margin-top:2px;}

/* GROW */
.grow-hero{position:relative;padding:clamp(92px,13vh,150px) 0 clamp(32px,5vh,56px);overflow:hidden;}
.gh-bg{position:absolute;inset:0;}
.gh-bg img{width:100%;height:100%;object-fit:cover;}
.gh-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,10,96,.85),rgba(192,57,43,.8));}
.gh-inner{position:relative;z-index:1;color:#fff;}
.grow-obj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(22px,3.5vw,40px);}
.go{background:#fff;border-radius:10px;padding:20px;border-left:4px solid var(--gold);}
.go-num{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--m);opacity:.25;}
.go-title{font-weight:700;font-size:13px;margin-bottom:4px;}
.go-desc{font-size:12px;color:var(--tl);line-height:1.6;}
.grow-facts{background:var(--m);border-radius:12px;padding:24px;color:#fff;}
.gfr{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.gfr:last-child{border-bottom:none;}
.gfl{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.5);}
.gfv{font-weight:600;font-size:13px;margin-top:2px;}
.grow-phases{display:flex;overflow-x:auto;padding-bottom:6px;margin-top:clamp(22px,3.5vw,40px);gap:0;}
.gp{flex:1;min-width:110px;text-align:center;padding:0 5px;}
.gp-line{height:4px;background:var(--border);margin-bottom:11px;}
.gp.done .gp-line{background:var(--m);}
.gp-dot{width:12px;height:12px;border-radius:50%;background:var(--tl);border:3px solid #fff;margin:-6px auto 0;box-shadow:0 0 0 2px var(--border);}
.gp.done .gp-dot{background:var(--m);box-shadow:0 0 0 2px var(--ms);}
.gp-year{font-size:10px;color:var(--tl);margin-top:8px;}
.gp-title{font-size:11px;font-weight:700;margin-top:3px;color:var(--text);}

/* STORIES PAGE */
.sf{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden;box-shadow:var(--sl);margin-bottom:clamp(28px,4vw,48px);}
.sf-img{position:relative;height:400px;width:100%;}
.sf-img img{width:100%;height:100%;object-fit:cover;}
.sf-body{background:#fff;padding:clamp(22px,3.5vw,40px);}
.sf-quote{font-family:'DM Serif Display',serif;font-size:clamp(14px,2vw,20px);font-style:italic;line-height:1.5;color:var(--text);margin:12px 0 20px;padding-left:16px;border-left:3px solid var(--gold);}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(22px,3.5vw,40px);}
.test-card{background:#fff;border-radius:10px;padding:20px;border:1px solid var(--border);box-shadow:var(--ss);}
.test-text{font-size:12px;color:var(--tm);line-height:1.7;font-style:italic;margin-bottom:14px;}
.test-auth{display:flex;align-items:center;gap:9px;}
.tav{width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.tav img{width:100%;height:100%;object-fit:cover;}
.t-name{font-weight:700;font-size:12px;}
.t-loc{font-size:10px;color:var(--tl);}

/* NEWS PAGE */
.nfg{display:grid;grid-template-columns:3fr 1fr;gap:26px;}
.na-list{display:flex;flex-direction:column;gap:16px;}
.nac{background:#fff;border-radius:10px;overflow:hidden;display:flex;border:1px solid var(--border);transition:var(--t);box-shadow:var(--ss);}
.nac:hover{transform:translateY(-3px);box-shadow:var(--sm);}
.nac-img{width:160px;flex-shrink:0;overflow:hidden;}
.nac-img img{width:100%;height:100%;object-fit:cover;}
.nac-body{padding:16px;}
.ev-widget,.nl-widget{background:#fff;border-radius:10px;padding:18px;border:1px solid var(--border);box-shadow:var(--ss);}
.ev-item{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--border);}
.ev-item:last-child{border-bottom:none;}
.ev-date{width:44px;text-align:center;background:var(--m);color:#fff;border-radius:6px;padding:5px 3px;flex-shrink:0;}
.ev-day{font-family:'Bebas Neue',sans-serif;font-size:22px;line-height:1;}
.ev-mon{font-size:9px;text-transform:uppercase;letter-spacing:1px;}
.ev-title{font-size:12px;font-weight:600;margin-bottom:2px;line-height:1.3;}
.ev-loc{font-size:10px;color:var(--tl);}
.nl-widget{background:var(--m);color:#fff;margin-top:12px;}
.nl-widget h4{font-family:'DM Serif Display',serif;font-size:18px;margin-bottom:6px;}
.nl-widget p{font-size:12px;color:rgba(255,255,255,.75);margin-bottom:12px;}
.nl-inp{width:100%;padding:10px 12px;border:none;border-radius:5px;font-family:inherit;font-size:13px;margin-bottom:8px;outline:none;}

/* REPORTS */
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(22px,3.5vw,40px);}
.rc{background:#fff;border-radius:10px;padding:20px;border:1px solid var(--border);box-shadow:var(--ss);transition:var(--t);display:flex;flex-direction:column;gap:8px;}
.rc:hover{transform:translateY(-3px);box-shadow:var(--sm);}
.rc-icon{font-size:28px;}
.rc-type{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--m);}
.rc-title{font-family:'DM Serif Display',serif;font-size:15px;line-height:1.3;}
.rc-year{font-size:11px;color:var(--tl);}
.rc-desc{font-size:11px;color:var(--tl);line-height:1.5;}
.rc-dl{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--m);margin-top:auto;transition:var(--t);}
.rc-dl:hover{color:var(--gold);}

/* MEDIA */
.mtabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:clamp(22px,3.5vw,40px);flex-wrap:wrap;}
.mtab{padding:12px 20px;font-size:12px;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--tl);transition:var(--t);}
.mtab.active,.mtab:hover{color:var(--m);border-color:var(--m);}
.mc{display:none;}
.mc.active{display:block;}
.gg{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;}
.gi{border-radius:8px;overflow:hidden;aspect-ratio:1;cursor:pointer;position:relative;}
.gi img{width:100%;height:100%;object-fit:cover;transition:var(--t);}
.gi:hover img{transform:scale(1.07);}
.gi-ov{position:absolute;inset:0;background:rgba(192,57,43,.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--t);font-size:20px;color:#fff;}
.gi:hover .gi-ov{opacity:1;}
.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.vcard{background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:var(--t);display:block;color:inherit;text-decoration:none;}
.vcard:hover{transform:translateY(-3px);box-shadow:var(--sm);}
.vthumb{height:154px;overflow:hidden;position:relative;}
.vthumb img{width:100%;height:100%;object-fit:cover;}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:var(--t);}
.vcard:hover .play-btn{background:var(--gold);}
.pg{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.pcard{background:#fff;border-radius:10px;padding:16px;display:flex;gap:13px;border:1px solid var(--border);align-items:flex-start;}
.pcard-icon{width:54px;height:54px;border-radius:8px;overflow:hidden;flex-shrink:0;}
.pcard-icon img{width:100%;height:100%;object-fit:cover;}
.pod-title{font-weight:700;font-size:13px;margin-bottom:3px;}
.pod-meta{font-size:11px;color:var(--tl);margin-bottom:8px;}
.ap{display:flex;align-items:center;gap:7px;}
.pp{width:27px;height:27px;background:var(--m);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-size:10px;flex-shrink:0;transition:var(--t);}
.pp:hover{background:var(--gold);color:#1A0A0A;}
.pb{flex:1;height:3px;background:var(--border);border-radius:2px;cursor:pointer;}
.pf{height:100%;border-radius:2px;background:var(--m);}
.at{font-size:10px;color:var(--tl);}

/* CONTACT */
.cg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4.5vw,56px);}
.ci-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.ci-icon{width:38px;height:38px;background:var(--mp);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;color:var(--m);}
.ci-title{font-weight:700;font-size:12px;margin-bottom:2px;}
.ci-text{font-size:12px;color:var(--tl);}
.fg2{margin-bottom:14px;}
.fg2 label{display:block;font-size:11px;font-weight:700;margin-bottom:5px;color:var(--tm);}
.fc{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);font-family:inherit;font-size:13px;color:var(--text);background:#fff;outline:none;transition:var(--t);}
.fc:focus{border-color:var(--m);box-shadow:0 0 0 3px rgba(192,57,43,.09);}
textarea.fc{resize:vertical;min-height:120px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.map-ph{margin-top:20px;background:var(--bg);border-radius:10px;overflow:hidden;border:1px solid var(--border);}
.map-ph-inner{padding:16px;text-align:center;font-size:12px;color:var(--tl);}
.off-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.off-item{background:var(--mp);padding:11px;border-radius:8px;font-size:12px;}
.off-item strong{display:block;font-weight:700;color:var(--m);margin-bottom:1px;}

/* UTILITIES */
.back-top{position:fixed;bottom:24px;right:24px;width:40px;height:40px;background:var(--m);color:#fff;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;z-index:500;opacity:0;visibility:hidden;transform:translateY(12px);transition:var(--t);}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-top:hover{background:var(--gold);color:#1A0A0A;}
.sov{position:fixed;inset:0;background:rgba(26,10,10,.96);z-index:3000;display:none;align-items:center;justify-content:center;flex-direction:column;gap:20px;}
.sov.open{display:flex;}
.sov-inp{width:100%;max-width:540px;padding:14px 16px;font-size:18px;background:transparent;border:none;border-bottom:2px solid var(--gold);color:#fff;outline:none;font-family:'Bebas Neue',sans-serif;letter-spacing:2px;}
.sov-inp::placeholder{color:rgba(255,255,255,.3);}
.sov-close{position:absolute;top:24px;right:24px;font-size:24px;color:#fff;cursor:pointer;}
.lb{position:fixed;inset:0;background:rgba(26,10,10,.97);z-index:4000;display:none;align-items:center;justify-content:center;}
.lb.open{display:flex;}
.lb img{max-width:90vw;max-height:90vh;border-radius:8px;object-fit:contain;}
.lb-close{position:absolute;top:20px;right:20px;font-size:24px;color:#fff;cursor:pointer;}
.vm{position:fixed;inset:0;background:rgba(26,10,10,.97);z-index:4000;display:none;align-items:center;justify-content:center;}
.vm.open{display:flex;}
.vm-inner{background:#000;border-radius:10px;overflow:hidden;max-width:760px;width:90vw;position:relative;}
.vm-close{position:absolute;top:9px;right:11px;font-size:20px;color:#fff;cursor:pointer;z-index:1;}
.fk-vid{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a0060,var(--m));font-size:52px;opacity:.5;}
.yt-frame-wrap{width:100%;aspect-ratio:16/9;background:#000;}
.yt-frame-wrap iframe{width:100%;height:100%;border:0;display:block;}
#formSuccess{display:none;background:rgba(0,150,0,.08);border:1px solid rgba(0,150,0,.25);color:green;padding:13px;border-radius:8px;font-weight:600;margin-bottom:16px;font-size:13px;}
.counter{display:inline;}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media(max-width:1024px){
  .progs-grid{grid-template-columns:repeat(2,1fr);}
  .impact-grid{grid-template-columns:repeat(2,1fr);}
  .fg{grid-template-columns:1fr 1fr;}
  .welcome-grid{grid-template-columns:1fr;gap:32px;}
  .welcome-vis{max-width:440px;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .mvv-grid{grid-template-columns:1fr;}
  .mvv-card{border-right:none;border-bottom:1px solid var(--border);}
  .mvv-card:last-child{border-bottom:none;}
  .vals-grid{grid-template-columns:repeat(2,1fr);}
  .news-grid{grid-template-columns:1fr;}
  .sf{grid-template-columns:1fr;}
  .sf-img{height:250px;}
  .cg{grid-template-columns:1fr;}
  .dd-cnt{grid-template-columns:1fr;}
  .grow-obj-grid{grid-template-columns:repeat(2,1fr);}
  .nfg{grid-template-columns:1fr;}
  .map-container{grid-template-columns:1fr;}
}
@media(max-width:768px){
  /* CRITICAL: Show hamburger, hide desktop nav */
  .nav-links,.topbar-soc{display:none!important;}
  .hamburger{display:flex!important;}
  /* Hide donate button on mobile to save space */
  .nav-donate-desktop{display:none!important;}
  .hero-inner .container{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-headline{font-size:clamp(48px,13vw,76px);}
  .progs-grid,.stories-grid,.test-grid,.rg,.gg,.vg,.pg{grid-template-columns:repeat(2,1fr);}
  .dg{grid-template-columns:repeat(2,1fr);}
  .nac{flex-direction:column;}
  .nac-img{width:100%;height:160px;}
  .fg{grid-template-columns:1fr;}
  .tl-track::before{display:none;}
  .tl-item,.tl-item:nth-child(even){flex-direction:column;}
  .tl-content::after{display:none;}
  .frow{grid-template-columns:1fr;}
  .progs-hrow{flex-direction:column;align-items:flex-start;}
  .grow-obj-grid{grid-template-columns:1fr;}
  .cta-btns{flex-direction:column;align-items:center;}
  .mtabs{gap:0;}
  .mtab{padding:9px 12px;font-size:11px;}
  .bp-grid{grid-template-columns:1fr;}
  .hero-cta{flex-direction:column;gap:9px;}
  .hero-pill{font-size:9px;padding:5px 12px;}
}
@media(max-width:480px){
  .progs-grid,.stories-grid,.test-grid,.rg,.gg,.vg,.pg,.dg{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .vals-grid,.off-grid{grid-template-columns:1fr;}
  .wf-grid{grid-template-columns:1fr;}
  .welcome-badge{left:0;top:12px;}
  .partners-row{gap:8px;}
  .pi{min-width:84px;padding:8px 10px;}
  .impact-grid{grid-template-columns:1fr;}
  .topbar .container{justify-content:center;}
  .topbar span{font-size:10px;text-align:center;}
  .hero-headline{font-size:clamp(44px,12vw,64px);}
  section{padding:clamp(36px,5vw,60px) 0;}
}

/* ── HERO BACKGROUND ── */
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

/* ── HERO SECTION ── */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0f172a; /* fallback color */
}

/* ── BACKGROUND WRAPPER ── */
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

/* ── BACKGROUND IMAGE (fallback, webp) ── */
.hero-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  display: block;
}

/* ── BACKGROUND VIDEO ── */
#heroVideo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
  background: #000;
}

/* ── DARK OVERLAY – dims the background ── */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: rgba(0, 0, 0, 0.25); /* adjust 0.3–0.6 for desired darkness */
  pointer-events: none; /* allows clicks to pass through to video controls */
}

/* ── HERO CONTENT (on top of overlay) ── */
.hero-inner {
  position: relative;
  z-index: 3;
  padding: 120px 0 80px;
  color: #fff;
  width: 100%;
}

/* ── PLAY/PAUSE BUTTON ── */
.hero-vid-ctrl {
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 10;
}
.hero-vid-btn {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  font-size: 20px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-vid-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.05);
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .hero-inner {
    padding: 100px 0 60px;
  }
  .hero-vid-ctrl {
    bottom: 16px;
    right: 16px;
  }
  .hero-vid-btn {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }
  .hero-overlay {
    background: rgba(0, 0, 0, 0.20); /* slightly darker on mobile for readability */
  }
}





/* ---- extracted from page-districts ---- */

  /* ── Row: map 9 cols, stats 3 cols ── */
  .map-row {
    display: flex;
    gap: 20px;
    margin-top: 18px;
    align-items: stretch;
  }
  .map-col {
    flex: 0 0 75%; /* 9/12 */
    max-width: 75%;
  }
  .stats-col {
    flex: 0 0 25%; /* 3/12 */
    max-width: 25%;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  /* ── Stats cards (vertical, compact) ── */
  .stats-col .ms-card {
    background: #fff;
    padding: 14px 16px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #f0e8e8;
    flex: 1;
  }
  .stats-col .ms-icon {
    font-size: 24px;
  }
  .stats-col .ms-num {
    font-size: 18px;
    font-weight: 700;
    color: #1A0A0A;
    line-height: 1.2;
  }
  .stats-col .ms-lbl {
    font-size: 11px;
    color: #7A5A5A;
  }

  /* ── Legend ── */
  .map-legend {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(4px);
    padding: 14px 18px;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    border: 1px solid rgba(192,57,43,0.12);
    font-size: 13px;
    line-height: 1.8;
    pointer-events: none;
    z-index: 600;
  }
  .map-legend div {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .map-legend span {
    display: inline-block;
    width: 18px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
  }
  .map-legend .legend-hub {
    border-top: 1px solid #eee;
    padding-top: 6px;
    margin-top: 4px;
  }
  .map-legend .legend-hub span {
    border-radius: 50%;
    width: 14px;
    height: 14px;
    border: 1px solid #B8941E;
  }

  /* ── Badge ── */
  .district-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(192,57,43,0.92);
    backdrop-filter: blur(4px);
    color: #fff;
    padding: 10px 18px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(192,57,43,0.30);
    pointer-events: none;
    z-index: 600;
    letter-spacing: 0.3px;
    border: 1px solid rgba(255,255,255,0.15);
  }

  /* ── Responsive ── */
  @media (max-width: 768px) {
    .map-row {
      flex-direction: column;
      gap: 18px;
    }
    .map-col,
    .stats-col {
      flex: 0 0 100%;
      max-width: 100%;
    }
    .stats-col {
      flex-direction: row;
      flex-wrap: wrap;
    }
    .stats-col .ms-card {
      flex: 1 1 calc(50% - 6px);
      padding: 12px 14px;
    }
    .stats-col .ms-num {
      font-size: 16px;
    }
    #northern-uganda-map {
      height: 340px !important;
      width:680px !important;
    }
  }
  @media (max-width: 640px) {
    .map-legend {
      font-size: 11px !important;
      padding: 10px 14px !important;
      bottom: 12px !important;
      left: 12px !important;
    }
    .map-legend span {
      width: 14px !important;
      height: 10px !important;
    }
    .district-badge {
      font-size: 11px !important;
      padding: 6px 14px !important;
      top: 10px !important;
      right: 10px !important;
    }
  }
  @media (max-width: 480px) {
    #northern-uganda-map {
      height: 280px !important;
    }
    .stats-col .ms-card {
      flex: 1 1 100%;
      padding: 10px 14px;
    }
    .stats-col .ms-num {
      font-size: 15px;
    }
  }


/* ---- extracted from page-contact ---- */

  .contact-map-legend {
    position: absolute;
    bottom: 16px;
    left: 16px;
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(4px);
    padding: 10px 14px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border: 1px solid rgba(192,57,43,0.08);
    font-size: 12px;
    line-height: 1.7;
    pointer-events: none;
    z-index: 600;
  }
  .contact-map-legend div {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .contact-map-legend span {
    display: inline-block;
    width: 16px;
    height: 11px;
    border-radius: 3px;
    flex-shrink: 0;
  }
  .contact-map-legend .legend-hub {
    border-top: 1px solid #eee;
    padding-top: 4px;
    margin-top: 4px;
  }
  .contact-map-legend .legend-hub span {
    border-radius: 50%;
    width: 12px;
    height: 12px;
    border: 1px solid #B8941E;
  }
  @media (max-width: 640px) {
    .contact-map-legend {
      font-size: 11px;
      padding: 8px 12px;
      bottom: 10px;
      left: 10px;
    }
    .contact-map-legend span {
      width: 14px;
      height: 10px;
    }
    .contact-map-legend .legend-hub span {
      width: 11px;
      height: 11px;
    }
  }


/* ---- WordPress additions (does not alter original layout) ---- */
img{ -webkit-user-drag:none; user-drag:none; }
.nw-protect img{ pointer-events:auto; }
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.nw-form-notice{padding:12px 16px;border-radius:8px;margin-bottom:14px;font-size:13px;font-weight:600;}
.nw-form-notice.ok{background:rgba(46,125,50,.12);color:#2E7D32;border:1px solid rgba(46,125,50,.3);}
.nw-form-notice.err{background:rgba(192,57,43,.1);color:#C0392B;border:1px solid rgba(192,57,43,.3);}
/* Member cards on single district (reuses original card language) */
.nw-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:14px;}
.nw-member-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s;}
.nw-member-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(26,10,10,.12);}
.nw-member-img{height:170px;background:var(--bg);}
.nw-member-img img{width:100%;height:100%;object-fit:cover;display:block;}
.nw-member-body{padding:13px 14px 15px;}
.nw-member-name{font-weight:700;font-size:14px;color:var(--td);}
.nw-member-trade{font-size:11px;color:var(--m);font-weight:600;margin-top:2px;}
.nw-member-x{font-size:11px;color:var(--tl);margin-top:6px;line-height:1.6;}
.nw-badge-grow{display:inline-block;background:rgba(212,175,55,.15);color:#8A6D1E;border:1px solid rgba(212,175,55,.4);padding:2px 9px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-top:8px;}
.nw-mfilters{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.nw-mfilters .fsel{min-width:170px;}
