:root{--g:#438817;--dg:#0d3d25;--lg:#eaf5ee;--gold:#c8a95b;--ink:#17221b;--muted:#657269;--white:#fff;--shadow:0 14px 40px rgba(0,0,0,.09);--brand-green:#438817;--brand-blue:#1f4f7a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
.top-bar{background-color:var(--brand-green);padding:14px 20px;position:sticky;top:0;z-index:100}
.header-pill{max-width:1140px;margin:0 auto;background:#fff;border-radius:40px;padding:6px 28px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 20px rgba(0,0,0,.08)}
.brand{display:flex;align-items:center;text-decoration:none}
.brand-logo{display:block}
.top-bar nav{display:flex;align-items:center;gap:20px}
.top-bar nav a{color:#387915;text-decoration:none;font-size:13.5px;font-weight:800;letter-spacing:.2px;display:inline-flex;align-items:center;gap:4px;position:relative;padding:6px 12px;border-radius:20px;transition:all .2s ease}
.top-bar nav a:hover{color:#1f4f7a;background:rgba(67,136,23,.08)}
.top-bar nav a.active{color:#fff;background:var(--brand-green);box-shadow:0 2px 8px rgba(67,136,23,.35)}
.top-bar nav a.active:hover{color:#fff;background:#357211}
.top-bar nav a .arrow{font-size:10px;font-weight:900;margin-left:2px}
.menu{display:none;background:none;border:0;font-size:24px;color:var(--brand-green);cursor:pointer}
main{min-height:70vh}
.hero{position:relative;overflow:hidden;min-height:500px;display:flex;align-items:center;justify-content:center;padding:70px 20px;color:#fff;text-align:center}
.hero-slider{position:absolute;inset:0;z-index:1;overflow:hidden}
.hero-slider .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1);transition:opacity 1.2s ease-in-out,transform 7s ease-out}
.hero-slider .slide.active{opacity:1;transform:scale(1.05)}
.hero-slider .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.68) 100%);z-index:2}
.hero .inner{position:relative;z-index:3;max-width:950px;margin:0 auto}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:10px}
.hero-dots .dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.45);border:2px solid #fff;cursor:pointer;transition:background .3s,transform .3s}
.hero-dots .dot.active{background:#fff;transform:scale(1.2)}
.hero .eyebrow{font-size:19px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8);margin-bottom:12px}
.hero h1{font-size:clamp(36px,5.5vw,64px);font-weight:900;line-height:1.05;margin:0 0 16px 0;text-transform:uppercase;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.95),0 2px 4px rgba(0,0,0,.9),-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;letter-spacing:.5px}
.hero .hero-meta{font-size:18px;font-weight:700;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.8);margin:0 0 26px 0}
.hero .btn-register{display:inline-block;background-color:#438817;color:#fff;font-size:15px;font-weight:800;text-transform:uppercase;padding:13px 38px;border-radius:30px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:background-color .2s ease,transform .2s ease;letter-spacing:.5px}
.hero .btn-register:hover{background-color:#357211;transform:translateY(-2px)}
.welcome-intro{background:#fff;padding:55px 24px}
.welcome-intro .inner{max-width:960px;margin:0 auto;text-align:center}
.welcome-intro p{color:var(--brand-blue);font-weight:700;font-size:19px;line-height:1.6;margin:0}
.btn{display:inline-block;padding:13px 20px;border-radius:6px;background:var(--g);color:#fff;text-decoration:none;font-weight:800;border:0;cursor:pointer}
.btn.alt{background:#fff;color:var(--dg)}
.wrap{max-width:1180px;margin:auto;padding:75px 5%}
.section-title{font-size:42px;line-height:1.1;margin:0 0 16px;color:var(--dg)}
.lead{font-size:18px;color:var(--muted);max-width:850px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid #e5ece7;border-radius:14px;padding:26px;box-shadow:var(--shadow);transition:.25s}
.card:hover{transform:translateY(-4px)}
.card h3{margin-top:0;color:var(--dg)}
.strip{background:var(--g);color:#fff;padding:20px 5%;font-size:25px;font-weight:900;text-align:center;cursor:pointer}
.expand{display:none;background:var(--lg)}
.expand.open{display:block}
.path{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:35px}
.path .card{text-align:center;background:#fff}
.num{font-size:34px;font-weight:900;color:var(--g)}
.form{max-width:950px;margin:auto;background:#fff;padding:35px;border-radius:15px;box-shadow:var(--shadow)}
label{display:block;font-weight:800;margin:14px 0 6px}
input,textarea,select{width:100%;padding:12px;border:1px solid #ccd7cf;border-radius:7px;font:inherit;background:#fff}
textarea{min-height:130px}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.checks label{font-weight:500}
.checks input{width:auto}
.notice{padding:15px;border-radius:8px;background:var(--lg);border-left:4px solid var(--g);margin:20px 0}
.success{background:#e8f8ec;border:1px solid #a7d8b3;padding:22px;border-radius:10px}
.error{background:#fff0f0;border:1px solid #e1aaaa;padding:15px;border-radius:8px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:11px;border-bottom:1px solid #e4ebe6;text-align:left}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.filters input,.filters select{max-width:250px}
footer{background:var(--dg);color:#eaf5ee;padding:45px 7%;display:flex;justify-content:space-between;gap:30px}
footer a{color:#fff}
.subnav{display:flex;gap:8px;overflow:auto;padding:10px 5%;background:#f2f7f3;position:sticky;top:69px;z-index:10}
.subnav a{padding:8px 14px;border-radius:20px;text-decoration:none;color:var(--dg);font-weight:800;white-space:nowrap}
.subnav a:hover{background:#dcebe1}
.admin{background:#f5f7f5;min-height:100vh}
.admin .bar{background:var(--dg);color:#fff;padding:15px 4%;display:flex;justify-content:space-between}
.admin .shell{max-width:1300px;margin:auto;padding:35px 4%}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.stat{background:#fff;padding:20px;border-radius:12px;box-shadow:var(--shadow)}
.stat b{font-size:30px;color:var(--g)}
.side{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}
.side a{padding:9px 13px;background:#fff;border-radius:7px;text-decoration:none;color:var(--dg);font-weight:800}

@media(max-width:900px){
  .top-bar nav{display:none}
  .menu{display:block}
  .nav-open .top-bar nav{display:flex;position:absolute;left:20px;right:20px;top:75px;background:#fff;padding:20px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.15);flex-direction:column;gap:14px;align-items:flex-start}
  .grid,.grid.two,.path,.stats,.events-grid{grid-template-columns:1fr}
  .hero{min-height:420px;padding:50px 20px}
  .hero h1{font-size:32px}
  .welcome-intro p{font-size:16.5px}
  .wrap{padding:55px 6%}
  .checks{grid-template-columns:1fr}
  footer{flex-direction:column}
  .subnav{top:68px}
}

/* About Page Custom Layout */
.about-hero-bar {
  background: #0d4222;
  color: #fff;
  text-align: center;
  padding: 35px 20px 20px;
}
.about-hero-bar h1 {
  font-size: 38px;
  font-weight: 900;
  margin: 0;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.about-subnav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  background: #fff;
  padding: 12px 20px;
  position: sticky;
  top: 70px;
  z-index: 90;
  border-bottom: 1px solid #e2ebe4;
}
.about-subnav a {
  text-decoration: none;
  font-weight: 900;
  font-size: 13.5px;
  color: #174d28;
  padding: 6px 18px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
}
.about-subnav a:hover, .about-subnav a.active {
  background: #3f8818;
  color: #fff;
}
.about-subnav .sep {
  color: #8bb395;
  font-weight: 600;
  font-size: 14px;
}

.challenge-sec {
  background: #fff;
  padding: 50px 20px 60px;
  max-width: 1140px;
  margin: 0 auto;
}
.challenge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.challenge-img img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
.challenge-content h2 {
  font-size: 28px;
  font-weight: 900;
  color: #174d28;
  margin: 0 0 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.challenge-content p {
  font-size: 15.5px;
  line-height: 1.65;
  color: #2b4f35;
  margin-bottom: 14px;
}

.solution-sec {
  background: #0d4222;
  color: #fff;
  padding: 60px 20px;
  text-align: center;
}
.solution-sec .inner-sec {
  max-width: 1140px;
  margin: 0 auto;
}
.solution-sec h2 {
  font-size: 34px;
  font-weight: 900;
  margin: 0 0 8px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.solution-sec h3.sub-title {
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.solution-sec p.lead-text {
  font-size: 16px;
  line-height: 1.65;
  max-width: 980px;
  margin: 0 auto 40px;
  color: #e2f3e7;
  font-weight: 500;
}

.pillar-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 40px;
}
.pillar-card {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 14px;
  padding: 22px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  backdrop-filter: blur(4px);
}
.pillar-card .icon {
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
  color: #fff;
}
.pillar-card h4 {
  font-size: 14px;
  font-weight: 900;
  margin: 0;
  letter-spacing: 0.5px;
  color: #fff;
  text-transform: uppercase;
}
.pillar-card .arrow-down {
  font-size: 18px;
  margin-top: 8px;
  color: #9ee6b3;
  line-height: 1;
}

.solution-two-img {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 50px;
}
.sol-img-card {
  background: #093319;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}
.sol-img-card img {
  width: 100%;
  height: 290px;
  object-fit: cover;
  display: block;
}
.sol-img-card .caption {
  padding: 14px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.5px;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
}

.evidence-white-box {
  background: #ffffff;
  color: #173d22;
  border-radius: 24px;
  padding: 45px 35px;
  text-align: left;
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}
.evidence-white-box h3 {
  font-size: 22px;
  font-weight: 900;
  text-align: center;
  color: #144723;
  margin: 0 0 25px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.evidence-white-box p {
  font-size: 15px;
  line-height: 1.65;
  color: #2b4f35;
  margin-bottom: 18px;
}
.evidence-three-img {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 35px;
}
.ev-img-card {
  background: #f4f8f4;
  border-radius: 14px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.ev-img-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}
.ev-img-card .caption {
  padding: 12px 8px;
  font-size: 13.5px;
  font-weight: 900;
  color: #134622;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pathway-sec {
  background: #f4f8f4;
  padding: 60px 20px 80px;
  text-align: center;
}
.pathway-sec .inner-sec {
  max-width: 1160px;
  margin: 0 auto;
}
.pathway-dots {
  font-size: 12px;
  letter-spacing: 4px;
  color: #3b8423;
  margin-bottom: 8px;
}
.pathway-sec h2 {
  font-size: 34px;
  font-weight: 900;
  color: #144723;
  margin: 0 0 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.pathway-sec p.lead-text {
  font-size: 15.5px;
  color: #3a5c43;
  max-width: 800px;
  margin: 0 auto 45px;
}
.pathway-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px;
  position: relative;
}
.pathway-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.pathway-icon-circle {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #e1efe3;
  border: 2px solid #b2d8b9;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.pathway-icon-circle svg {
  width: 24px;
  height: 24px;
  color: #276933;
}
.pathway-step h4 {
  font-size: 13.5px;
  font-weight: 900;
  color: #144723;
  margin: 0 0 8px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}
.pathway-step p {
  font-size: 12px;
  line-height: 1.5;
  color: #4a6652;
  margin: 0;
}

@media(max-width:900px){
  .challenge-grid, .solution-two-img { grid-template-columns: 1fr; }
  .pillar-cards { grid-template-columns: repeat(2, 1fr); }
  .evidence-three-img { grid-template-columns: 1fr; }
  .pathway-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 15px; }
}
@media(max-width:550px){
  .pillar-cards { grid-template-columns: 1fr; }
  .pathway-grid { grid-template-columns: 1fr; }
}

/* Members & Partners Page Custom Layout */
.members-hero {
  background: #256631;
  color: #fff;
  padding: 55px 20px 50px;
  text-align: left;
}
.members-hero .inner {
  max-width: 960px;
  margin: 0 auto;
}
.members-hero .eyebrow {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 14px;
}
.members-hero h1 {
  font-size: clamp(32px, 4.8vw, 48px);
  font-weight: 900;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 22px 0;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.members-hero p {
  font-size: 17px;
  line-height: 1.55;
  color: #e2f3e5;
  max-width: 820px;
  margin: 0;
}

.members-intro-sec {
  background: #fff;
  padding: 55px 20px 45px;
}
.members-intro-sec .inner {
  max-width: 960px;
  margin: 0 auto;
}
.members-intro-sec h2 {
  font-size: 24px;
  font-weight: 800;
  color: #1a5626;
  margin: 0 0 20px 0;
}
.members-intro-sec p {
  font-size: 17px;
  line-height: 1.65;
  color: #38573f;
  margin-bottom: 22px;
}

.members-subnav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.members-subnav a.pill-btn {
  background: #398226;
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  padding: 8px 24px;
  border-radius: 24px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.members-subnav a.pill-btn:hover {
  background: #29661b;
  transform: translateY(-1px);
}
.members-subnav a.nav-link {
  font-weight: 900;
  font-size: 15.5px;
  color: #1b5327;
  text-decoration: none;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: color 0.2s ease;
}
.members-subnav a.nav-link:hover {
  color: #398226;
}
.members-subnav .sep {
  color: #9cbda3;
  font-weight: 400;
  font-size: 16px;
}

.directory-sec {
  max-width: 1140px;
  margin: 0 auto;
  padding: 50px 20px;
}
.directory-sec h2.section-title {
  font-size: 28px;
  font-weight: 900;
  color: #1a5626;
  text-transform: uppercase;
  margin-bottom: 24px;
  letter-spacing: 0.5px;
}

/* Community Voices Custom Layout */
.community-hero {
  min-height: 360px;
  display: flex;
  align-items: center;
  padding: 60px 20px;
  background: linear-gradient(180deg, rgba(25, 85, 35, 0.82) 0%, rgba(12, 50, 22, 0.88) 100%), url('../imgs/hero-banner.jpeg') center/cover no-repeat;
  color: #fff;
}
.community-hero .inner {
  max-width: 1040px;
  margin: 0 auto;
  width: 100%;
}
.community-hero .eyebrow {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 12px;
}
.community-hero h1 {
  font-size: clamp(34px, 5vw, 54px);
  font-weight: 900;
  line-height: 1.08;
  color: #fff;
  margin: 0 0 18px 0;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.community-hero p {
  font-size: 16.5px;
  font-weight: 500;
  line-height: 1.55;
  color: #f0fdf4;
  max-width: 860px;
  margin: 0;
}

/* Category Solid Green Blocks */
.category-blocks-sec {
  background: #fff;
  padding: 45px 20px;
  max-width: 1140px;
  margin: 0 auto;
}
.category-blocks-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.category-block {
  background: #145c27;
  color: #fff;
  min-height: 135px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.category-block:hover {
  background: #0e451d;
  transform: translateY(-2px);
}
.category-block h3 {
  font-size: 22px;
  font-weight: 900;
  color: #fff;
  margin: 0;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1.25;
}

/* Form Container Section */
.community-form-sec {
  background: #e9f3ec;
  padding: 55px 20px 80px;
}
.community-form-sec .inner {
  max-width: 1040px;
  margin: 0 auto;
}
.community-form-sec h2 {
  font-size: 32px;
  font-weight: 900;
  color: #124821;
  margin: 0 0 8px 0;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.community-form-sec p.form-subtitle {
  font-size: 15.5px;
  color: #3d6347;
  margin: 0 0 35px 0;
}

.community-card-form {
  background: #ffffff;
  border-radius: 20px;
  padding: 45px 40px;
  box-shadow: 0 10px 35px rgba(0,0,0,0.06);
}
.community-card-form label {
  font-size: 14px;
  font-weight: 800;
  color: #17221b;
  margin: 16px 0 6px;
  display: block;
}
.community-card-form input,
.community-card-form select,
.community-card-form textarea {
  background: #fff;
  border: 1px solid #d4dfd7;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  width: 100%;
}
.community-card-form input:focus,
.community-card-form select:focus,
.community-card-form textarea:focus {
  outline: none;
  border-color: #398226;
  box-shadow: 0 0 0 3px rgba(57,130,38,0.12);
}

@media(max-width:900px){
  .category-blocks-grid { grid-template-columns: repeat(2, 1fr); }
  .community-card-form { padding: 30px 20px; }
}
@media(max-width:550px){
  .category-blocks-grid { grid-template-columns: 1fr; }
}

/* Event Details 2026 Custom Layout */
.event-detail-hero {
  background: #256631;
  color: #fff;
  text-align: center;
  padding: 60px 20px 45px;
}
.event-detail-hero .inner {
  max-width: 960px;
  margin: 0 auto;
}
.event-detail-hero h1 {
  font-size: clamp(32px, 5vw, 50px);
  font-weight: 900;
  color: #fff;
  margin: 0 0 20px 0;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.event-detail-hero p {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
  color: #e2f3e5;
  max-width: 850px;
  margin: 0 auto;
}

.event-blocks-sec {
  background: #fff;
  padding: 60px 20px 80px;
  max-width: 1100px;
  margin: 0 auto;
}
.event-blocks-grid-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 24px;
}
.event-blocks-grid-bottom {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 720px;
  margin: 0 auto;
}
.event-block-card {
  background: #256631;
  color: #fff;
  min-height: 195px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 25px 20px;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.event-block-card:hover {
  background: #194a22;
  transform: translateY(-3px);
}
.event-block-card h3 {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  margin: 0;
  line-height: 1.25;
}

@media(max-width:850px){
  .event-blocks-grid-top { grid-template-columns: repeat(2, 1fr); }
  .event-blocks-grid-bottom { grid-template-columns: repeat(2, 1fr); max-width: 100%; }
}
@media(max-width:550px){
  .event-blocks-grid-top, .event-blocks-grid-bottom { grid-template-columns: 1fr; }
}