/*
 * ADEPE Theme — Design System
 * Colors: #81d742 green | #223e2f dark | #d3af61 gold
 * Fonts: Cormorant Garamond (headings) + DM Sans (body)
 */

/* ════════════════════════════════════════
   CSS CUSTOM PROPERTIES
════════════════════════════════════════ */
:root {
  --green:      #81d742;
  --green-dk:   #5fa520;
  --green-lt:   rgba(129,215,66,.1);
  --dark:       #223e2f;
  --dark-dk:    #1a3024;
  --gold:       #d3af61;
  --gold-lt:    rgba(211,175,97,.12);
  --light:      #f4faf0;
  --text:       #2c3e30;
  --text-muted: #6b7c6e;
  --border:     rgba(34,62,47,.09);
  --shadow-sm:  0 2px 12px rgba(34,62,47,.07);
  --shadow-md:  0 8px 32px rgba(34,62,47,.1);
  --shadow-lg:  0 20px 60px rgba(34,62,47,.14);
  --radius-sm:  8px;
  --radius-md:  14px;
  --radius-lg:  24px;
  --transition: .25s ease;
  --header-h:   76px;
}

/* ════════════════════════════════════════
   BASE
════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;line-height:1.7;color:var(--text);
  background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.drawer-open{overflow:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--dark);transition:color var(--transition);}
a:hover{color:var(--green-dk);}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--dark);}

/* ════════════════════════════════════════
   TYPOGRAPHY HELPERS
════════════════════════════════════════ */
.section-eyebrow{
  display:block;font-family:'DM Sans',sans-serif;
  font-size:.62rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:var(--green);margin-bottom:10px;
}
.section-heading{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;letter-spacing:-.03em;margin-bottom:.6rem;}
.section-lead{font-size:1.08rem;color:var(--text-muted);line-height:1.85;margin-bottom:1.5rem;}
.text-muted{color:var(--text-muted)!important;}

/* ════════════════════════════════════════
   HEADER
════════════════════════════════════════ */
.adepe-header{
  position:fixed;top:0;left:0;right:0;z-index:990;
  height:var(--header-h);
  /* Default state = dark green (matches transparent) so logo is always visible before JS */
  background:#223e2f;
  box-shadow:0 2px 24px rgba(34,62,47,.3);
  transition:background var(--transition),box-shadow var(--transition),color var(--transition);
}
/* Default text colours (white on dark green) before JS adds a state class */
.adepe-header .logo-acronym{color:#fff;}
.adepe-header .logo-tagline{color:rgba(255,255,255,.45);}
.adepe-header .logo-name{color:#fff;}
.adepe-header .logo-sub{color:rgba(255,255,255,.55);}
.adepe-header .nav-lnk{color:#fff;}
.adepe-header .mobile-toggler{color:#fff;}
.header-inner{height:100%;display:flex;align-items:center;}

.adepe-header.header-transparent{
  background:#223e2f;
  box-shadow:0 2px 24px rgba(34,62,47,.3);
}
.adepe-header.header-transparent .nav-lnk,
.adepe-header.header-transparent .logo-acronym{color:#fff;}
.adepe-header.header-transparent .logo-tagline{color:rgba(255,255,255,.45);}
.adepe-header.header-transparent .mobile-toggler{color:#fff;}
.adepe-header.header-transparent .btn-donate-hdr{background:#81d742;color:#1a3024!important;border-color:#81d742;}
.adepe-header.header-transparent .nav-lnk:hover,
.adepe-header.header-transparent .drop-toggle:hover{color:#81d742!important;}
.adepe-header.header-transparent .nav-chev{color:rgba(255,255,255,.5);}
.adepe-header.header-transparent .nav-drop{border-color:rgba(129,215,66,.15);}

.adepe-header.header-solid,
.adepe-header.scrolled{
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--border),var(--shadow-sm);
}
.adepe-header.header-solid .nav-lnk,
.adepe-header.scrolled .nav-lnk{color:var(--dark);}
.adepe-header.header-solid .logo-acronym,
.adepe-header.scrolled .logo-acronym{color:var(--dark);}
.adepe-header.header-solid .logo-tagline,
.adepe-header.scrolled .logo-tagline{color:var(--text-muted);}
.adepe-header.header-solid .mobile-toggler,
.adepe-header.scrolled .mobile-toggler{color:var(--dark);}

/* Logo */
.header-logo{text-decoration:none!important;display:flex;align-items:center;}
.logo-img-wrap{display:flex;align-items:center;gap:12px;}

/* Logo image — white circle keeps it readable on any background */
.site-logo-img{
  display:block;object-fit:contain;flex-shrink:0;
  border-radius:50%;background:#fff;padding:4px;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
  transition:transform var(--transition);
}
.header-logo:hover .site-logo-img{transform:scale(1.06);}
.site-logo-img--footer{border-radius:50%;background:#fff;padding:4px;box-shadow:0 2px 10px rgba(0,0,0,.3);}
.site-logo-img--drawer{border-radius:50%;background:#fff;padding:3px;box-shadow:0 2px 8px rgba(0,0,0,.22);}

/* Text stack beside logo */
.logo-text-stack{display:flex;flex-direction:column;gap:3px;}
.logo-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.45rem;font-weight:700;letter-spacing:.12em;
  color:#fff;line-height:1;transition:color var(--transition);
}
.logo-sub{
  font-size:.48rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.55);
  line-height:1.4;transition:color var(--transition);
  max-width:170px;
}

/* Adapt to white/solid header */
.adepe-header.header-solid .logo-name,
.adepe-header.scrolled .logo-name{color:var(--dark);}
.adepe-header.header-solid .logo-sub,
.adepe-header.scrolled .logo-sub{color:var(--text-muted);}

/* Legacy fallback */
.logo-text-mark{display:flex;flex-direction:column;line-height:1;}
.logo-acronym{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;letter-spacing:.05em;color:var(--dark);transition:color var(--transition);}
.logo-tagline{font-size:.48rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);transition:color var(--transition);margin-top:3px;max-width:160px;line-height:1.4;}

/* Nav links */
.nav-lnk{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.84rem;font-weight:500;
  color:var(--dark);padding:8px 14px;
  border-radius:var(--radius-sm);border:none;background:none;cursor:pointer;
  text-decoration:none!important;
  transition:color var(--transition),background var(--transition);
  position:relative;white-space:nowrap;
}
.nav-lnk:hover{color:var(--green-dk);background:var(--green-lt);}
.nav-lnk.active{color:var(--green-dk);}
.nav-lnk.active::after{
  content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);
  width:20px;height:2px;background:var(--green);border-radius:2px;
}
.nav-chev{font-size:.6rem;transition:transform var(--transition);}
.has-drop:hover .nav-chev{transform:rotate(180deg);}

/* Dropdown */
.has-drop{position:relative;}
.nav-drop{
  position:absolute;top:calc(100% + 8px);left:50%;
  transform:translateX(-50%) translateY(-8px);
  min-width:280px;background:#fff;
  border:1px solid var(--border);border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);padding:8px;
  opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;z-index:100;
}
.nav-drop.open{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.drop-item{
  display:flex;align-items:flex-start;gap:12px;padding:12px 14px;
  border-radius:var(--radius-sm);text-decoration:none!important;
  transition:background var(--transition);
}
.drop-item:hover{background:var(--green-lt);}
.di{font-size:1.1rem;color:var(--green);flex-shrink:0;margin-top:2px;}
.drop-item span{display:flex;flex-direction:column;gap:2px;}
.drop-item strong{font-size:.88rem;font-weight:600;color:var(--dark);}
.drop-item small{font-size:.75rem;color:var(--text-muted);}

/* Donate button */
.btn-donate-hdr{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 22px;background:var(--green);color:var(--dark-dk)!important;
  font-size:.82rem;font-weight:700;border-radius:50px;
  text-decoration:none!important;margin-left:8px;
  transition:background var(--transition),transform var(--transition),box-shadow var(--transition);
}
.btn-donate-hdr:hover{background:var(--green-dk);transform:translateY(-1px);box-shadow:0 6px 20px rgba(129,215,66,.3);}

.mobile-toggler{background:none;border:none;cursor:pointer;font-size:1.6rem;color:inherit;padding:6px;line-height:1;}

/* ════════════════════════════════════════
   MOBILE DRAWER
════════════════════════════════════════ */
.adepe-drawer{
  position:fixed;top:0;right:0;width:min(360px,92vw);height:100%;
  background:var(--dark);z-index:1100;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;overflow-y:auto;
}
.adepe-drawer.open{transform:translateX(0);}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1099;opacity:0;pointer-events:none;transition:opacity .3s;}
.drawer-overlay.visible{opacity:1;pointer-events:auto;}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08);}
.drawer-head button{background:none;border:none;color:rgba(255,255,255,.6);font-size:1.3rem;cursor:pointer;padding:4px;transition:color var(--transition);}
.drawer-head button:hover{color:#fff;}
.drawer-nav{padding:16px 0 32px;}
.d-link,.d-group-btn{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:14px 24px;font-size:.94rem;font-weight:500;
  color:rgba(255,255,255,.85);background:none;border:none;cursor:pointer;
  text-decoration:none!important;transition:color var(--transition),background var(--transition);text-align:left;
}
.d-link:hover,.d-group-btn:hover{color:var(--green);background:rgba(129,215,66,.06);}
.d-group-btn i{transition:transform var(--transition);font-size:.75rem;}
.d-group.open .d-group-btn i{transform:rotate(180deg);}
.d-sub{max-height:0;overflow:hidden;transition:max-height .3s ease;background:rgba(0,0,0,.15);}
.d-sub a{display:block;padding:11px 24px 11px 36px;font-size:.88rem;color:rgba(255,255,255,.6);text-decoration:none!important;transition:color var(--transition);}
.d-sub a:hover{color:var(--green);}
.d-donate{
  display:flex;align-items:center;justify-content:center;
  margin:20px 24px 0;padding:14px 20px;background:var(--green);
  color:var(--dark-dk)!important;font-weight:700;font-size:.9rem;
  border-radius:50px;text-decoration:none!important;transition:background var(--transition);
}
.d-donate:hover{background:var(--green-dk);}

/* ════════════════════════════════════════
   LAYOUT
════════════════════════════════════════ */
#adepe-main{padding-top:var(--header-h);}
.adepe-hero{margin-top:calc(-1 * var(--header-h));}

/* ════════════════════════════════════════
   HERO SLIDESHOW
════════════════════════════════════════ */
.adepe-hero{position:relative;height:100vh;min-height:640px;max-height:960px;}
.hero-swiper{width:100%;height:100%;}
.hero-slide{
  position:relative;
  background:var(--slide-img,#1a3024) center/cover no-repeat;
  display:flex;align-items:center;
}
.slide-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(34,62,47,.82) 0%,rgba(26,48,36,.55) 50%,rgba(34,62,47,.28) 100%);
}
.hero-content{position:relative;z-index:2;padding-top:80px;}
.hero-badge{
  display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:var(--green);border:1px solid rgba(129,215,66,.35);background:rgba(129,215,66,.1);
  padding:6px 16px;border-radius:4px;margin-bottom:20px;
}
.hero-title{font-size:clamp(2.4rem,6vw,5rem);font-weight:300;color:#fff;line-height:1.08;letter-spacing:-.04em;margin-bottom:20px;max-width:720px;}
.hero-sub{font-size:clamp(.95rem,1.8vw,1.15rem);color:rgba(255,255,255,.75);max-width:560px;line-height:1.8;margin-bottom:36px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-btn-primary{
  display:inline-flex;align-items:center;padding:16px 34px;
  background:var(--green);color:var(--dark-dk)!important;
  font-weight:700;font-size:.88rem;letter-spacing:.06em;border-radius:50px;
  text-decoration:none!important;
  transition:background var(--transition),transform var(--transition),box-shadow var(--transition);
}
.hero-btn-primary:hover{background:var(--green-dk);transform:translateY(-2px);box-shadow:0 8px 28px rgba(129,215,66,.35);}
.hero-btn-outline{
  display:inline-flex;align-items:center;gap:6px;padding:15px 30px;
  border:1px solid rgba(255,255,255,.45);color:#fff!important;
  font-weight:600;font-size:.88rem;border-radius:50px;text-decoration:none!important;
  transition:background var(--transition),border-color var(--transition);
}
.hero-btn-outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);}

.hero-nav{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;z-index:10;}
.hero-pagination{display:flex;gap:6px;}
.hero-pagination .swiper-pagination-bullet{width:24px;height:3px;border-radius:2px;background:rgba(255,255,255,.4);opacity:1;transition:background var(--transition),width var(--transition);}
.hero-pagination .swiper-pagination-bullet-active{background:var(--green);width:40px;}
.swiper-button-custom{
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background var(--transition);
}
.swiper-button-custom:hover{background:var(--green);border-color:var(--green);color:var(--dark-dk);}
.scroll-indicator{position:absolute;bottom:32px;right:40px;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none!important;z-index:10;}
.scroll-line{width:1px;height:40px;background:rgba(255,255,255,.3);position:relative;overflow:hidden;}
.scroll-line::after{content:'';position:absolute;top:-100%;width:100%;height:100%;background:var(--green);animation:scrollDrop 1.8s ease-in-out infinite;}
@keyframes scrollDrop{0%{top:-100%}100%{top:200%}}
.scroll-indicator span{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);writing-mode:vertical-rl;}

/* ════════════════════════════════════════
   IMPACT TICKER
════════════════════════════════════════ */
.impact-ticker{background:var(--dark);padding:14px 0;overflow:hidden;border-bottom:1px solid rgba(129,215,66,.15);}
.ticker-track{display:flex;animation:tickerScroll 28s linear infinite;white-space:nowrap;}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-item{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);padding:0 24px;}
.ticker-item i{color:var(--green);font-size:1.2rem;}

/* ════════════════════════════════════════
   STATS BAR
════════════════════════════════════════ */
.stats-bar{background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);}
.stats-bar .row{--bs-gutter-x:0;}
.stat-cell{text-align:center;padding:28px 20px;border-right:1px solid var(--border);}
.stat-cell:last-child{border-right:none;}
.stat-icon{font-size:1.2rem;color:var(--green);margin-bottom:8px;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:300;color:var(--dark);line-height:1;}
.stat-label{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-top:6px;}

/* ════════════════════════════════════════
   SECTION SPACING
════════════════════════════════════════ */
.section-purpose,.section-programs,.section-impact-strip,.section-gallery-preview,
.section-testimonials,.section-news,.section-cta,.section-news-list{padding:96px 0;}

/* ════════════════════════════════════════
   MISSION & VISION
════════════════════════════════════════ */
.section-purpose{background:#fff;}
.purpose-img-wrap{position:relative;padding-bottom:60px;padding-right:40px;}
.purpose-img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover;}
.purpose-img-float{position:absolute;bottom:0;right:0;width:55%;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:4px solid #fff;aspect-ratio:4/3;object-fit:cover;}
.purpose-stat-badge{
  position:absolute;top:24px;left:-20px;background:var(--dark);color:#fff;
  border-radius:var(--radius-md);padding:16px 20px;box-shadow:var(--shadow-md);
  display:flex;flex-direction:column;align-items:center;gap:4px;min-width:120px;
}
.psb-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--gold);line-height:1;}
.psb-num small{font-size:1.2rem;}
.psb-label{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);text-align:center;}
.purpose-cards{display:flex;flex-direction:column;gap:16px;margin:24px 0 28px;}
.purpose-card{display:flex;gap:16px;padding:22px 24px;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;transition:box-shadow var(--transition),transform var(--transition);}
.purpose-card:hover{box-shadow:var(--shadow-md);transform:translateX(4px);}
.purpose-card.mission{border-left:3px solid var(--green);}
.purpose-card.vision{border-left:3px solid var(--gold);}
.pc-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--green-lt);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--green);flex-shrink:0;}
.purpose-card.vision .pc-icon{background:var(--gold-lt);color:var(--gold);}
.purpose-card h4{font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:700;color:var(--dark);margin-bottom:6px;}
.purpose-card p{font-size:.88rem;color:var(--text-muted);margin:0;line-height:1.75;}
.btn-text-link{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dk);text-decoration:none!important;transition:gap var(--transition);}
.btn-text-link:hover{gap:10px;color:var(--green-dk);}

/* ════════════════════════════════════════
   PROGRAMS
════════════════════════════════════════ */
.section-programs{background:var(--light);}
.prog-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:32px 28px;height:100%;transition:box-shadow var(--transition),transform var(--transition);position:relative;overflow:hidden;}
.prog-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform var(--transition);}
.prog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.prog-card:hover::before{transform:scaleX(1);}
.prog-icon{width:52px;height:52px;border-radius:var(--radius-sm);background:rgba(129,215,66,.1);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--icon-color,var(--green));margin-bottom:18px;}
.prog-title{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:10px;}
.prog-desc{font-size:.88rem;color:var(--text-muted);margin-bottom:16px;line-height:1.75;}
.prog-link{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dk);text-decoration:none!important;display:inline-flex;align-items:center;gap:4px;}
.prog-link:hover{gap:8px;}

/* ════════════════════════════════════════
   IMPACT STRIP
════════════════════════════════════════ */
.section-impact-strip{position:relative;background:var(--dark);overflow:hidden;}
.impact-strip-bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:.18;}
.impact-strip-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(34,62,47,.95),rgba(34,62,47,.75));}
.big-stat{text-align:center;}
.big-stat-num{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:300;line-height:1;margin-bottom:8px;}
.big-stat-label{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.btn-outline-light-adepe{display:inline-flex;align-items:center;padding:13px 28px;border:1px solid rgba(255,255,255,.35);color:#fff!important;font-size:.84rem;font-weight:600;border-radius:50px;text-decoration:none!important;transition:background var(--transition),border-color var(--transition);margin-top:8px;}
.btn-outline-light-adepe:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);}

/* ════════════════════════════════════════
   GALLERY STRIP
════════════════════════════════════════ */
.section-gallery-preview{background:var(--light);padding-bottom:32px;}
.gallery-strip{display:flex;overflow-x:auto;gap:4px;scroll-snap-type:x mandatory;padding:0 0 8px;-webkit-overflow-scrolling:touch;}
.gallery-strip::-webkit-scrollbar{height:4px;}
.gallery-strip::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
.gallery-strip-item{position:relative;flex:0 0 320px;height:220px;scroll-snap-align:start;overflow:hidden;border-radius:var(--radius-sm);}
.gallery-strip-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-strip-item:hover img{transform:scale(1.06);}
.gallery-strip-overlay{position:absolute;inset:0;background:rgba(34,62,47,.45);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;opacity:0;transition:opacity var(--transition);}
.gallery-strip-item:hover .gallery-strip-overlay{opacity:1;}

/* ════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════ */
.section-testimonials{background:var(--dark);}
.section-testimonials .section-eyebrow{color:rgba(129,215,66,.8);}
.section-testimonials .section-heading{color:#fff;}
.section-testimonials .btn-text-link{color:var(--gold);}
.testimonial-swiper{padding-bottom:48px!important;}
.testi-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:32px 28px;height:100%;position:relative;transition:background var(--transition),border-color var(--transition);}
.testi-card:hover{background:rgba(255,255,255,.09);border-color:rgba(129,215,66,.25);}
.testi-quote{font-size:2.5rem;color:rgba(129,215,66,.25);margin-bottom:12px;line-height:1;}
.testi-text{font-style:italic;color:rgba(255,255,255,.8);font-size:.92rem;line-height:1.9;margin-bottom:16px;}
.testi-badge{display:inline-block;background:rgba(129,215,66,.1);border:1px solid rgba(129,215,66,.25);color:var(--green);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:50px;margin-bottom:18px;}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-initials{width:42px;height:42px;border-radius:50%;background:rgba(129,215,66,.15);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;color:var(--green);flex-shrink:0;}
.testi-photo{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.testi-author strong{font-size:.88rem;color:#fff;display:block;}
.testi-author small{font-size:.72rem;color:rgba(255,255,255,.45);}
.testi-pagination{text-align:center;}
.testi-pagination .swiper-pagination-bullet{background:rgba(255,255,255,.3);opacity:1;height:3px;width:20px;border-radius:2px;transition:background var(--transition),width var(--transition);}
.testi-pagination .swiper-pagination-bullet-active{background:var(--green);width:36px;}

/* ════════════════════════════════════════
   NEWS CARDS
════════════════════════════════════════ */
.section-news{background:#fff;}
.news-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;height:100%;transition:box-shadow var(--transition),transform var(--transition);}
.news-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.news-card-img-wrap{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;}
.news-card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.news-card:hover .news-card-img-wrap img{transform:scale(1.04);}
.news-card-type{position:absolute;top:12px;left:12px;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:50px;}
.news-card-type.past{background:rgba(129,215,66,.9);color:var(--dark-dk);}
.news-card-type.upcoming{background:rgba(211,175,97,.9);color:var(--dark-dk);}
.news-card-type:not(.past):not(.upcoming){background:rgba(34,62,47,.8);color:#fff;}
.news-card-body{padding:20px;}
.news-card-meta{font-size:.72rem;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.news-card-title{font-family:'DM Sans',sans-serif;font-size:.98rem;font-weight:700;color:var(--dark);margin-bottom:8px;line-height:1.4;}
.news-card-title a{text-decoration:none!important;color:inherit;transition:color var(--transition);}
.news-card-title a:hover{color:var(--green-dk);}
.news-card-excerpt{font-size:.85rem;color:var(--text-muted);margin-bottom:14px;line-height:1.7;}
.news-card-link{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dk);text-decoration:none!important;display:inline-flex;align-items:center;gap:4px;}
.news-card-link:hover{gap:8px;}

/* ════════════════════════════════════════
   CTA
════════════════════════════════════════ */
.section-cta{position:relative;padding:120px 0;text-align:center;}
.cta-bg{position:absolute;inset:0;background:center/cover no-repeat;}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(34,62,47,.92),rgba(26,48,36,.88));}
.cta-content{position:relative;z-index:2;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-btn-primary{display:inline-flex;align-items:center;padding:16px 36px;background:var(--green);color:var(--dark-dk)!important;font-weight:700;font-size:.88rem;letter-spacing:.06em;border-radius:50px;text-decoration:none!important;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);}
.cta-btn-primary:hover{background:var(--green-dk);transform:translateY(-2px);box-shadow:0 8px 28px rgba(129,215,66,.35);}
.cta-btn-outline{display:inline-flex;align-items:center;padding:15px 32px;border:1px solid rgba(255,255,255,.4);color:#fff!important;font-weight:600;font-size:.88rem;border-radius:50px;text-decoration:none!important;transition:background var(--transition),border-color var(--transition);}
.cta-btn-outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);}

/* ════════════════════════════════════════
   PAGE HERO (inner pages)
════════════════════════════════════════ */
.page-hero{background:var(--dark);padding:calc(var(--header-h) + 60px) 0 0;position:relative;overflow:hidden;}
.page-hero h1{color:#fff;font-size:clamp(2rem,5vw,4rem);font-weight:300;letter-spacing:-.03em;margin-bottom:.75rem;}
.page-hero > .container{position:relative;z-index:2;}
.page-hero p{color:rgba(255,255,255,.6);max-width:600px;}
.page-hero-decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.dot-grid{position:absolute;top:0;right:0;width:280px;height:280px;background-image:radial-gradient(rgba(129,215,66,.2) 1.5px,transparent 1.5px);background-size:22px 22px;opacity:.5;}
.ring{position:absolute;bottom:-80px;left:-80px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(211,175,97,.12);}
.line{position:absolute;top:0;right:140px;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(211,175,97,.15) 30%,rgba(211,175,97,.15) 70%,transparent);}
.page-hero-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:18px;}
.page-hero-breadcrumb a{color:rgba(129,215,66,.7);text-decoration:none!important;}
.page-hero-breadcrumb a:hover{color:var(--green);}
.sep{color:rgba(255,255,255,.2);}
.page-hero-wave{margin-top:56px;}
.page-hero-wave svg{display:block;width:100%;}

/* ════════════════════════════════════════
   NEWS TABS
════════════════════════════════════════ */
.news-tabs-bar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);}
.news-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.news-tabs::-webkit-scrollbar{display:none;}
.news-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:16px 20px;font-size:.82rem;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:color var(--transition),border-color var(--transition);white-space:nowrap;}
.news-tab:hover{color:var(--dark);}
.news-tab.active{color:var(--green-dk);border-bottom-color:var(--green);}
.news-panel{display:none;}
.news-panel.active{display:block;}

/* ════════════════════════════════════════
   GALLERY MASONRY
════════════════════════════════════════ */
.gallery-masonry{columns:2;column-gap:12px;}
@media(min-width:576px){.gallery-masonry{columns:3;}}
@media(min-width:992px){.gallery-masonry{columns:4;}}
.gallery-item{display:block;position:relative;overflow:hidden;border-radius:var(--radius-sm);margin-bottom:12px;break-inside:avoid;}
.gallery-item img{width:100%;transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-item-overlay{position:absolute;inset:0;background:rgba(34,62,47,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:1.4rem;opacity:0;transition:opacity var(--transition);}
.gallery-item:hover .gallery-item-overlay{opacity:1;}
.gallery-item-overlay span{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-align:center;padding:0 12px;}

/* ════════════════════════════════════════
   VIDEOS
════════════════════════════════════════ */
.video-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;height:100%;transition:box-shadow var(--transition),transform var(--transition);}
.video-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.video-embed-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:#111;}
.video-embed-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;}
.video-thumb-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--dark);cursor:pointer;}
.video-thumb-wrap img{width:100%;height:100%;object-fit:cover;opacity:.7;}
.video-play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;}
.video-card-body{padding:18px;}
.video-card-body h4{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:6px;}
.video-card-body p{font-size:.83rem;color:var(--text-muted);margin:0;}

/* ════════════════════════════════════════
   EMPTY STATE
════════════════════════════════════════ */
.empty-state{text-align:center;padding:80px 24px;}
.empty-state i{font-size:3rem;color:var(--border);display:block;margin-bottom:18px;}
.empty-state h4{font-family:'DM Sans',sans-serif;font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:10px;}
.empty-state p{font-size:.9rem;color:var(--text-muted);max-width:420px;margin:0 auto 20px;}

/* ════════════════════════════════════════
   BUTTONS
════════════════════════════════════════ */
.btn-primary-sm{display:inline-flex;align-items:center;padding:10px 20px;background:var(--green);color:var(--dark-dk)!important;font-size:.78rem;font-weight:700;border-radius:50px;text-decoration:none!important;transition:background var(--transition),transform var(--transition);}
.btn-primary-sm:hover{background:var(--green-dk);transform:translateY(-1px);}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.adepe-footer{background:var(--dark);color:rgba(255,255,255,.65);font-size:.88rem;}
.footer-top{padding:72px 0 56px;border-bottom:1px solid rgba(255,255,255,.07);}
.footer-logo .logo-acronym{color:var(--green);}
.footer-about{color:rgba(255,255,255,.55);line-height:1.8;margin:14px 0 20px;max-width:280px;}
.footer-socials{display:flex;gap:10px;}
.footer-social-link{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.9rem;text-decoration:none!important;transition:border-color var(--transition),color var(--transition),background var(--transition);}
.footer-social-link:hover{border-color:var(--green);color:var(--green);background:rgba(129,215,66,.1);}
.footer-heading{font-family:'DM Sans',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:18px;}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:10px;}
.footer-links a{color:rgba(255,255,255,.55);text-decoration:none!important;font-size:.88rem;transition:color var(--transition),padding-left var(--transition);display:inline-block;}
.footer-links a:hover{color:var(--green);padding-left:4px;}
.footer-contact-item{display:flex;gap:10px;margin-bottom:12px;font-size:.85rem;color:rgba(255,255,255,.55);}
.footer-contact-item i{color:var(--green);font-size:.9rem;flex-shrink:0;margin-top:2px;}
.footer-contact-item a{color:rgba(255,255,255,.55);text-decoration:none!important;}
.footer-contact-item a:hover{color:var(--green);}
.footer-bottom{padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:rgba(255,255,255,.3);}
.footer-bottom a{color:rgba(255,255,255,.4);text-decoration:none!important;}
.footer-bottom a:hover{color:var(--green);}

/* ════════════════════════════════════════
   ARTICLE BODY
════════════════════════════════════════ */
.adepe-article-body{font-size:1.05rem;line-height:1.92;color:var(--text);}
.adepe-article-body h2,.adepe-article-body h3{margin-top:2.4rem;margin-bottom:.8rem;}
.adepe-article-body h2{font-size:1.7rem;}
.adepe-article-body h3{font-size:1.3rem;}
.adepe-article-body p{margin-bottom:1.5rem;}
.adepe-article-body img{border-radius:var(--radius-md);margin:1.5rem 0;box-shadow:var(--shadow-md);}
.adepe-article-body blockquote{border-left:3px solid var(--green);padding:16px 24px;background:var(--green-lt);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;color:var(--dark);margin:2rem 0;}
.adepe-article-body ul,.adepe-article-body ol{padding-left:1.4rem;margin-bottom:1.4rem;}
.adepe-article-body li{margin-bottom:.5rem;}
.adepe-article-body a{color:var(--green-dk);text-decoration:underline;}

/* ════════════════════════════════════════
   FORM
════════════════════════════════════════ */
.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(129,215,66,.18);}

/* ════════════════════════════════════════
   BACK TO TOP
════════════════════════════════════════ */
#back-to-top{position:fixed;bottom:28px;right:28px;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--dark);font-size:1.1rem;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s,box-shadow .3s;z-index:500;box-shadow:0 4px 16px rgba(211,175,97,.35);}
#back-to-top.visible{opacity:1;pointer-events:auto;}
#back-to-top:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(211,175,97,.45);}

/* ════════════════════════════════════════
   AOS
════════════════════════════════════════ */
[data-aos]{pointer-events:auto!important;}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media(max-width:991px){
  .section-purpose,.section-programs,.section-impact-strip,.section-gallery-preview,
  .section-testimonials,.section-news,.section-news-list{padding:64px 0;}
  .purpose-img-float{display:none;}
  .purpose-img-wrap{padding:0;}
  .purpose-stat-badge{left:16px;}
  .stat-label{font-size:.55rem;}
}
@media(max-width:767px){
  .page-hero{padding-top:calc(var(--header-h) + 40px);}
  .hero-title{font-size:2.2rem;}
  .section-purpose,.section-programs,.section-impact-strip,
  .section-testimonials,.section-news,.section-news-list{padding:56px 0;}
  .stat-cell{border-right:none;border-bottom:1px solid var(--border);}
  .stat-cell:last-child{border-bottom:none;}
  .gallery-masonry{columns:2;}
  .hero-nav{bottom:16px;}
  .scroll-indicator{display:none;}
}
@media(max-width:480px){
  :root{--header-h:64px;}
  .hero-btn-primary,.hero-btn-outline{padding:13px 22px;font-size:.82rem;}
  .logo-acronym{font-size:1.3rem;}
}

/* ════════════════════════════════════════
   PAGE TEMPLATES — INNER PAGES
════════════════════════════════════════ */
.page-content-section{padding:80px 0;}
.page-content-section + .page-content-section{/* spacing already via section padding */}

/* Subtitle label */
.subtitle{
  display:block;font-size:.6rem;font-weight:700;letter-spacing:.28em;
  text-transform:uppercase;color:var(--green);margin-bottom:10px;
}

/* Contact icon blocks */
.icon{
  width:46px;height:46px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
}

/* Contact form wrapper */
.form-wrapper{
  background:#f4faf0;border:1px solid rgba(129,215,66,.15);
  border-radius:var(--radius-md);padding:36px;
}
@media(max-width:767px){.form-wrapper{padding:24px;}}

/* Mission / Vision cards */
.mission-vision-card{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius-md);padding:36px;height:100%;
  transition:box-shadow var(--transition),transform var(--transition);
}
.mission-vision-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.mission-vision-card .bi{color:var(--green);}

/* Sector / values card */
.sector-card{
  background:#f4faf0;border:1px solid rgba(129,215,66,.15);
  border-radius:var(--radius-md);padding:28px 22px;height:100%;
  transition:box-shadow var(--transition);
}
.sector-card:hover{box-shadow:var(--shadow-sm);}
.sector-card .icon{
  width:52px;height:52px;background:rgba(129,215,66,.1);
  border-radius:var(--radius-sm);display:flex;align-items:center;
  justify-content:center;font-size:1.3rem;color:var(--green);
  margin-bottom:16px;
}

/* Region tags */
.region-tag{
  display:inline-block;padding:6px 16px;margin:4px;
  border:1px solid rgba(129,215,66,.25);border-radius:50px;
  background:rgba(129,215,66,.07);font-size:.75rem;font-weight:600;
  letter-spacing:.06em;color:var(--dark);
  transition:background var(--transition),color var(--transition);
}
.region-tag:hover{background:var(--green);color:#fff;}

/* Page hero tweaks */
.page-hero .separator{margin:0 8px;opacity:.4;}
.hero-label{
  display:inline-block;padding:5px 14px;border-radius:50px;
  font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  margin-bottom:16px;
}

/* Spacing helpers — fix gaps between buttons/cards */
.btn + .btn{margin-left:0;}
.gap-3{gap:1rem!important;}
.gap-4{gap:1.5rem!important;}
.gap-5{gap:2rem!important;}
.mt-5{margin-top:2.5rem!important;}
.mb-5{margin-bottom:2.5rem!important;}

/* Partnership page marquee animation */
@keyframes adepeMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ════════════════════════════════════════
   LANGUAGE SWITCHER
════════════════════════════════════════ */
.lang-switcher{position:relative;margin-left:8px;}
.lang-toggle{
  display:flex;align-items:center;gap:7px;
  padding:8px 14px;border:1px solid rgba(255,255,255,.25);border-radius:50px;
  background:rgba(255,255,255,.12);color:#fff;cursor:pointer;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  transition:background var(--transition),border-color var(--transition),color var(--transition);
  white-space:nowrap;
}
.lang-toggle:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.45);}
.adepe-header.header-solid .lang-toggle,
.adepe-header.scrolled .lang-toggle{
  border-color:rgba(34,62,47,.2);background:rgba(34,62,47,.06);color:var(--dark);
}
.adepe-header.header-solid .lang-toggle:hover,
.adepe-header.scrolled .lang-toggle:hover{
  background:rgba(34,62,47,.1);border-color:rgba(34,62,47,.3);
}
.lang-flag{border-radius:2px;object-fit:cover;flex-shrink:0;}
.lang-code{font-size:.65rem;}
.lang-chev{font-size:.55rem;transition:transform var(--transition);}
.lang-switcher.open .lang-chev{transform:rotate(180deg);}

.lang-drop{
  position:absolute;top:calc(100% + 10px);right:0;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-md);min-width:160px;
  opacity:0;pointer-events:none;transform:translateY(-8px);
  transition:opacity .2s ease,transform .2s ease;z-index:100;overflow:hidden;
}
.lang-switcher.open .lang-drop{opacity:1;pointer-events:auto;transform:translateY(0);}
.lang-option{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;font-size:.82rem;color:var(--dark);text-decoration:none!important;
  transition:background var(--transition);border-bottom:1px solid var(--border);
}
.lang-option:last-child{border-bottom:none;}
.lang-option:hover{background:var(--light);}
.lang-option.lang-active{background:rgba(129,215,66,.07);font-weight:700;}

/* Mobile language switcher */
.lang-switcher--mobile{margin:12px 16px 0;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);}
.lang-switcher--mobile .lang-toggle{width:100%;justify-content:center;border-radius:10px;padding:10px 14px;}
.lang-switcher--mobile .lang-drop{position:static;box-shadow:none;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);transform:none;opacity:1;pointer-events:auto;margin-top:8px;display:none;}
.lang-switcher--mobile.open .lang-drop{display:block;}
.lang-switcher--mobile .lang-option{color:#fff;border-color:rgba(255,255,255,.08);}
.lang-switcher--mobile .lang-option:hover{background:rgba(255,255,255,.08);}
.lang-switcher--mobile .lang-option.lang-active{background:rgba(129,215,66,.12);}

/* ════════════════════════════════════════
   NEWSLETTER FORM (footer)
════════════════════════════════════════ */
.footer-newsletter-form{display:flex;flex-direction:column;gap:10px;}
.newsletter-input-group{position:relative;}
.newsletter-input{
  width:100%;padding:11px 16px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:50px;color:#fff;font-size:.83rem;font-family:inherit;
  outline:none;transition:border-color var(--transition),background var(--transition);
}
.newsletter-input::placeholder{color:rgba(255,255,255,.35);}
.newsletter-input:focus{border-color:var(--green);background:rgba(255,255,255,.1);}
.newsletter-btn{
  padding:12px 20px;background:var(--green);color:var(--dark-dk);
  border:none;border-radius:50px;font-size:.82rem;font-weight:700;
  font-family:inherit;cursor:pointer;letter-spacing:.04em;
  transition:background var(--transition),transform var(--transition);
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.newsletter-btn:hover{background:var(--green-dk);transform:translateY(-1px);}

/* ════════════════════════════════════════
   RESOURCE CARDS
════════════════════════════════════════ */
.resource-card:hover .resource-download-btn{
  background:var(--green)!important;color:var(--dark-dk)!important;
}

/* Footer column fix for wider newsletter layout */
@media(max-width:991px){
  .footer-newsletter-form .newsletter-input{font-size:.9rem;}
}
@media(max-width:767px){
  .lang-switcher{margin-left:4px;}
  .lang-toggle{padding:6px 10px;}
}
