:root {
     --primary-green: #005a18;
     --dark-green: #004d00;
     --highlight-green: #7cf88d;
     --accent-gold: #e0ab34;
     --light-bg: #d7e3d9;
     --white: #fff;
     --off-white: #f8f9fa;
     --dark-text: #212529;
     --light-text: #f0f0f0;
     --gray-text: #5a6a62
}

* {
     margin: 0;
     padding: 0;
     box-sizing: border-box
}

html {
     scroll-behavior: smooth
}

body {
     font-family: 'Poppins', sans-serif;
     font-size: 16px;
     line-height: 1.7;
     color: var(--dark-text);
     background-color: var(--white);
     overflow-x: hidden
}

.container {
     width: 100%;
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 1.5rem
}

h1,
h2,
h3,
h4,
h5,
h6 {
     font-weight: 700;
     color: var(--primary-green)
}

h1 {
     font-size: 2.8rem
}

h2 {
     font-size: 2.2rem
}

h3 {
     font-size: 1.5rem
}

h4 {
     font-size: 1.2rem
}

p {
     margin-bottom: 1rem;
     color: var(--gray-text)
}

a {
     text-decoration: none;
     color: var(--primary-green);
     transition: color .3s ease
}

a:hover {
     color: var(--accent-gold)
}

.btn {
     display: inline-block;
     padding: 12px 28px;
     border-radius: 8px;
     font-weight: 600;
     text-align: center;
     cursor: pointer;
     transition: all .3s ease;
     border: 2px solid transparent
}

.btn-primary {
     background-color: var(--accent-gold);
     color: var(--white);
     border-color: var(--accent-gold)
}

.btn-primary:hover {
     background-color: #c9982d;
     border-color: #c9982d
}

.btn-light {
     background-color: var(--white);
     color: var(--dark-green);
     border-color: var(--dark-green)
}

.btn-light:hover {
     background-color: var(--dark-green);
     color: var(--white)
}

@media(max-width:992px) {
     h1 {
          font-size: 2.5rem
     }

     h2 {
          font-size: 2rem
     }

     .stats-grid,
     .benefits-grid,
     .about-grid,
     .contact-grid {
          grid-template-columns: 1fr
     }

     .about-image {
          order: -1
     }
}

@media(max-width:768px) {
     body {
          font-size: 15px
     }

     h1 {
          font-size: 2rem
     }

     h2 {
          font-size: 1.8rem
     }

     .main-nav {
          display: flex;
          flex-direction: column;
          position: fixed;
          top: 0;
          right: -100%;
          width: 80%;
          max-width: 320px;
          height: 100vh;
          background-color: var(--dark-green);
          padding-top: 80px;
          transition: right .4s ease-in-out;
          box-shadow: -5px 0 15px rgba(0, 0, 0, .2)
     }

     .main-nav.show {
          right: 0
     }

     .main-nav a {
          color: var(--white);
          padding: 1rem 1.5rem;
          text-align: left;
          margin: .5rem 0
     }

     .main-nav a.btn {
          background-color: var(--accent-gold);
          color: var(--white);
          margin: 1rem;
          text-align: center
     }

     .menu-toggle {
          display: block
     }

     .hero {
          padding: 120px 0 60px 0
     }

     #countdown-timer {
          gap: .5rem
     }

     .time-block {
          padding: 1rem;
          min-width: 70px
     }

     #countdown-timer span:first-child {
          font-size: 2rem
     }

     .timeline::after {
          left: 20px
     }

     .timeline-item {
          width: 100%;
          padding-left: 50px;
          padding-right: 10px
     }

     .timeline-item.left,
     .timeline-item.right {
          left: 0
     }

     .timeline-item::after {
          left: 12px
     }
}

.main-header {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     z-index: 1000;
     padding: 1rem 0;
     transition: background-color .3s ease, padding .3s ease, box-shadow .3s ease
}

.main-header .container {
     display: flex;
     justify-content: space-between;
     align-items: center
}

.main-header.scrolled {
     background-color: var(--white);
     padding: .5rem 0;
     box-shadow: 0 2px 10px rgba(0, 0, 0, .1)
}

.logo img {
     height: 80px;
     transition: height .3s ease
}

.main-header.scrolled .logo img {
     height: 40px
}

.main-nav a {
     margin: 0 1rem;
     font-weight: 500;
     position: relative;
     color: var(--primary-green)
}

.main-nav a:not(.btn)::after {
     content: '';
     position: absolute;
     bottom: -5px;
     left: 0;
     width: 0;
     height: 2px;
     background-color: var(--accent-gold);
     transition: width .3s ease
}

.main-nav a:hover:not(.btn)::after {
     width: 100%
}

.main-header:not(.scrolled) .main-nav a {
     color: var(--white)
}

.main-header.scrolled .main-nav a {
     color: var(--primary-green)
}

.main-nav a:hover {
     color: var(--accent-gold)
}

.menu-toggle {
     display: none;
     background: none;
     border: none;
     cursor: pointer;
     z-index: 1001
}

.menu-toggle span {
     display: block;
     width: 28px;
     height: 3px;
     background-color: var(--accent-gold);
     margin: 5px 0;
     border-radius: 3px
}

.btn-primary {
     background-color: var(--accent-gold) !important;
     border-color: var(--accent-gold) !important;
     color: var(--white) !important;
     padding: 12px 28px;
     font-weight: 600;
     transition: all .3s ease
}

.btn-primary:hover {
     background-color: #c9982d !important;
     border-color: #c9982d !important
}

.bg-light {
     background-color: var(--light-bg) !important
}

.hero {
     padding: 180px 0 100px 0;
     background: linear-gradient(rgba(0, 77, 0, .8), rgba(0, 77, 0, .8)), url('../about.png') no-repeat center center/cover;
     color: var(--white);
     text-align: center;
     position: relative;
     overflow: hidden
}

.hero::before {
     content: '';
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: radial-gradient(circle, rgba(255, 255, 255, .03) 1px, transparent 1px);
     background-size: 20px 20px;
     animation: move 20s linear infinite
}

@keyframes move {
     from {
          transform: translate(0, 0)
     }

     to {
          transform: translate(-100px, 100px)
     }
}

.hero-content {
     position: relative;
     z-index: 2;
     max-width: 800px;
     margin: 0 auto
}

.hero h1 {
     color: var(--white);
     margin-bottom: 1rem
}

.hero p {
     color: var(--light-bg);
     font-size: 1.2rem;
     margin-bottom: 2rem
}

.hero .btn-lg {
     padding: 15px 35px;
     font-size: 1.1rem
}

section {
     padding: 4rem 0
}

.shadow-box {
     background-color: var(--white);
     padding: 2.5rem 3rem;
     border-radius: 12px;
     box-shadow: 0 8px 30px rgba(0, 77, 0, .08);
     border-left: 6px solid var(--accent-gold)
}

.shadow-box h2 {
     margin-bottom: 1.5rem;
     display: flex;
     align-items: center
}

.shadow-box h2 .fas {
     color: var(--accent-gold);
     font-size: .9em;
     margin-right: .75rem
}

.shadow-box ul,
.shadow-box ol {
     padding-left: 25px
}

.shadow-box li {
     margin-bottom: .8rem;
     color: var(--gray-text)
}

.blockquote {
     border-left: 4px solid var(--light-bg);
     padding-left: 1.5rem;
     margin-top: 1rem
}

.blockquote-footer {
     color: var(--gray-text);
     font-weight: 500
}

.img-fluid.rounded.shadow {
     border: 4px solid var(--white)
}

.stats-section {
     background: linear-gradient(135deg, var(--primary-green), var(--dark-green));
     color: var(--white)
}

.stats-section .section-title {
     color: var(--white);
     text-align: center;
     margin-bottom: 3rem
}

.stats-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 2rem;
     text-align: center
}

.stat-item .stat-number {
     font-size: 3.5rem;
     font-weight: 800;
     color: var(--accent-gold)
}

.stat-item p {
     color: var(--light-bg);
     margin-top: .5rem;
     font-size: 1rem
}

section.text-center.py-5 {
     background-color: var(--off-white)
}

section.text-center.py-5 p {
     max-width: 600px;
     margin: 0 auto;
     color: var(--light-text)
}

.main-footer {
     background-color: var(--dark-green);
     color: var(--light-text);
     padding: 3rem 0;
     text-align: center
}

.footer-links {
     margin-bottom: 1.5rem
}

.footer-links a {
     color: var(--light-bg);
     margin: 0 1rem
}

.footer-links a:hover {
     color: var(--accent-gold)
}

.footer-socials {
     margin-bottom: 1.5rem
}

.footer-socials a {
     color: var(--light-bg);
     font-size: 1.5rem;
     margin: 0 .75rem
}

.footer-socials a:hover {
     color: var(--highlight-green)
}

.footer-copy {
     font-size: .9rem;
     color: var(--light-bg);
     margin-bottom: 0
}

.footer-copy strong {
     color: var(--white)
}

@media(max-width:992px) {
     .stats-grid {
          grid-template-columns: repeat(2, 1fr);
          row-gap: 3rem
     }
}

@media(max-width:768px) {
     .shadow-box {
          padding: 1.5rem;
          border-left-width: 4px
     }

     .shadow-box h2 {
          font-size: 1.5rem
     }

     .menu-toggle {
          display: block
     }

     .row.align-items-center .col-md-3 {
          margin-bottom: 1.5rem
     }

     .stats-grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 1.5rem
     }

     .stat-item .stat-number {
          font-size: 2.5rem
     }

     .stat-item p {
          font-size: .9rem
     }
}

.text-light-bg {
     color: var(--light-bg) !important
}

.text-primary-green {
     color: var(--primary-green) !important
}

.text-accent-gold {
     color: var(--accent-gold) !important
}

.section-title h2 {
     margin-bottom: .5rem
}

.section-title p {
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
     color: var(--gray-text)
}

.section-title.text-start p {
     margin-left: 0
}

.commitment-card {
     display: flex;
     align-items: flex-start;
     gap: 1.5rem;
     background-color: var(--white);
     padding: 2rem;
     border-radius: 10px;
     height: 100%;
     border: 1px solid #e9ecef;
     transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease
}

.commitment-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 10px 30px rgba(0, 90, 24, .1);
     border-color: var(--accent-gold)
}

.commitment-card .card-icon {
     flex-shrink: 0;
     font-size: 2.5rem;
     color: var(--accent-gold);
     margin-top: 5px
}

.commitment-card .card-content h4 {
     margin-top: 0;
     margin-bottom: .5rem;
     color: var(--primary-green)
}

.commitment-card .card-content p {
     margin-bottom: 0;
     color: var(--gray-text);
     line-height: 1.6
}

.leader-card {
     display: flex;
     align-items: center;
     gap: 2rem;
     background: var(--white);
     padding: 2rem;
     border-radius: 10px;
     box-shadow: 0 5px 25px rgba(0, 0, 0, .05)
}

.leader-img {
     width: 150px;
     height: 150px;
     object-fit: cover;
     border-radius: 50%;
     border: 5px solid var(--light-bg);
     flex-shrink: 0
}

.leader-card .blockquote {
     border-left: 4px solid var(--accent-gold);
     margin: 0
}

.cta-section {
     padding: 80px 0;
     background: linear-gradient(135deg, var(--light-bg), var(--light-bg));
     color: var(--dark-green)
}

.cta-section h2 {
     color: var(--dark-green)
}

.cta-section .lead {
     color: var(--dark-text);
     max-width: 600px;
     margin: 1rem auto
}

@media(max-width:768px) {
     .leader-card {
          flex-direction: column;
          text-align: center
     }

     .leader-card .blockquote {
          text-align: left
     }
}