/* ===================================
   ROOT VARIABLES
=================================== */

:root{
    --primary:#0B7A3E;
    --secondary:#14532D;
    --accent:#F4B400;

    --white:#ffffff;
    --text:#64748b;

    --radius:24px;
}

/* ===================================
   GLOBAL
=================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    overflow-x:hidden;
}

.container{
    width:min(90%,1300px);
    margin:auto;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

/* ===================================
   HERO SECTION
=================================== */

.hero{

    min-height:100vh;

    display:flex;
    align-items:center;

    background:
    linear-gradient(
    135deg,
    #0B7A3E 0%,
    #14532D 50%,
    #0F3D2E 100%);

    padding:130px 0;

    overflow:hidden;
    position:relative;
}

.hero::before{

    content:'';

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    top:-250px;
    right:-250px;

    background:
    rgba(255,255,255,.06);

    filter:blur(120px);
}

.hero-wrapper{

    display:grid;

    grid-template-columns:
    1.1fr .9fr;

    gap:80px;

    align-items:center;

    position:relative;
    z-index:2;
}

/* HERO CONTENT */

.hero-badge{

    display:inline-flex;

    padding:12px 24px;

    border-radius:50px;

    color:#fff;

    border:1px solid
    rgba(255,255,255,.2);

    background:
    rgba(255,255,255,.08);

    margin-bottom:25px;
}

.hero-title{

    font-size:
    clamp(3rem,6vw,5.5rem);

    line-height:1.05;

    color:#fff;

    font-weight:900;

    margin-bottom:25px;
}

.hero-title span{

    display:block;

    background:
    linear-gradient(
    135deg,
    #FFD54F,
    #FFE082);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero-description{

    color:
    rgba(255,255,255,.85);

    font-size:18px;

    line-height:1.9;

    margin-bottom:40px;

    max-width:650px;
}

/* BUTTONS */

.hero-buttons{

    display:flex;
    gap:18px;
}

.btn-primary{

    padding:18px 34px;

    border-radius:14px;

    background:
    linear-gradient(
    135deg,
    #FFD54F,
    #FFB300);

    color:#111;

    font-weight:700;

    transition:.3s;
}

.btn-primary:hover{

    transform:
    translateY(-5px);
}

.btn-outline{

    padding:18px 34px;

    border-radius:14px;

    color:#fff;

    border:1px solid
    rgba(255,255,255,.2);

    transition:.3s;
}

.btn-outline:hover{

    background:
    rgba(255,255,255,.08);
}

/* HERO IMAGE */

.hero-visual{
    position:relative;
}

.impact-image{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    box-shadow:
    0 30px 60px rgba(0,0,0,.2);
}

.impact-image img{

    width:100%;

    height:550px;

    object-fit:cover;
}

/* FLOATING MINI STATS */

.hero-mini-stats{

    position:absolute;

    top:20px;
    right:20px;

    display:flex;

    gap:15px;

    z-index:5;
}

.mini-stat{

    background:
    rgba(255,255,255,.95);

    padding:14px 18px;

    border-radius:14px;

    text-align:center;

    min-width:100px;
}

.mini-stat strong{

    display:block;

    font-size:22px;

    color:var(--primary);

    font-weight:700;
}

.mini-stat span{

    color:#64748b;

    font-size:13px;
}

/* FLOATING BADGES */

.floating-badge{

    position:absolute;

    background:#fff;

    padding:18px 24px;

    border-radius:18px;

    box-shadow:
    0 20px 40px rgba(0,0,0,.15);

    z-index:5;
}

.floating-badge strong{

    display:block;

    color:var(--primary);

    font-size:28px;

    font-weight:800;
}

.floating-badge span{

    color:#64748b;

    font-size:14px;
}

.badge-1{

    left:-30px;
    top:100px;
}

.badge-2{

    right:-30px;
    bottom:100px;
}

/* OVERLAY */

.impact-overlay{

    position:absolute;

    left:20px;
    right:20px;
    bottom:20px;

    padding:18px 22px;

    border-radius:14px;

    background:
    rgba(0,0,0,.55);

    color:#fff;

    font-weight:600;

    backdrop-filter:blur(10px);
}

/* ===================================
   ABOUT SECTION
=================================== */

.about-section{

    padding:30px 0;

    background:#f8fafc;
}

.about-wrapper{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:80px;

    align-items:center;
}

.about-image{

    position:relative;
}

.about-image img{

    width:100%;

    height:650px;

    object-fit:cover;

    border-radius:28px;
}

.about-content .section-tag{

    display:inline-flex;

    padding:10px 20px;

    border-radius:40px;

    background:
    rgba(11,122,62,.1);

    color:var(--primary);

    font-size:14px;

    font-weight:700;

    margin-bottom:25px;
}

.section-title{

    font-size:
    clamp(2.5rem,5vw,4rem);

    line-height:1.1;

    color:#0f172a;

    margin-bottom:25px;

    font-weight:800;
}

.about-description{

    color:#64748b;

    line-height:1.9;

    margin-bottom:20px;

    font-size:17px;
}

/* HIGHLIGHTS */

.about-highlights{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:20px;

    margin-top:35px;
}

.highlight-box{

    background:#fff;

    border-radius:20px;

    padding:24px;

    border:1px solid #e5e7eb;

    transition:.3s;

    box-shadow:
    0 10px 25px rgba(0,0,0,.05);
}

.highlight-box:hover{

    transform:
    translateY(-8px);
}

.highlight-icon{

    width:60px;
    height:60px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:16px;

    background:#f5fff8;

    font-size:28px;

    margin-bottom:15px;
}

.highlight-box h4{

    color:var(--primary);

    font-size:20px;

    margin-bottom:10px;
}

.highlight-box p{

    color:#64748b;

    line-height:1.7;

    font-size:15px;
}

/* ABOUT FLOATING CARDS */

.about-floating-card{

    position:absolute;

    background:#fff;

    padding:18px 24px;

    border-radius:18px;

    box-shadow:
    0 20px 40px rgba(0,0,0,.15);
}

.about-floating-card strong{

    display:block;

    font-size:28px;

    color:var(--primary);

    font-weight:800;
}

.about-floating-card span{

    color:#64748b;
}

.card-1{

    top:40px;
    left:-30px;
}

.card-2{

    bottom:40px;
    right:-30px;
}

/* ===================================
   RESPONSIVE
=================================== */

@media(max-width:991px){

    .hero-wrapper,
    .about-wrapper{

        grid-template-columns:1fr;
    }

    .hero-title{
        font-size:56px;
    }

    .about-image img{
        height:500px;
    }
}

@media(max-width:768px){

    .hero{
        padding:80px 0;
    }

    .hero-title{
        font-size:42px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .impact-image img{
        height:350px;
    }

    .about-highlights{
        grid-template-columns:1fr;
    }

    .badge-1,
    .badge-2,
    .card-1,
    .card-2{

        position:static;

        margin-top:15px;
    }

    .about-image img{
        height:350px;
    }
}

/* ===================================
   MISSION SECTION
=================================== */

.mission-section{

    padding:30px 0;

    background:#ffffff;
}

.mission-header{

    text-align:center;

    max-width:800px;

    margin:auto;

    margin-bottom:70px;
}

.mission-header p{

    color:#64748b;

    line-height:1.8;

    margin-top:20px;
}

.mission-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;
}

.mission-card{

    background:#fff;

    padding:40px;

    border-radius:24px;

    border:1px solid #e5e7eb;

    transition:.35s;

    box-shadow:
    0 10px 25px rgba(0,0,0,.05);
}

.mission-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 25px 50px rgba(0,0,0,.08);
}

.mission-icon{

    width:80px;
    height:80px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:#f5fff8;

    font-size:34px;

    margin-bottom:20px;
}

.mission-card h3{

    font-size:24px;

    color:#14532D;

    margin-bottom:15px;
}

.mission-card p{

    color:#64748b;

    line-height:1.8;
}

.mission-card ul{

    padding-left:20px;
}

.mission-card ul li{

    margin-bottom:12px;

    color:#64748b;
}

@media(max-width:991px){

    .mission-grid{

        grid-template-columns:1fr;
    }
}

/* ===================================
   IMPACT DASHBOARD
=================================== */

.impact-dashboard{

    padding:30px 0;

    background:
    linear-gradient(
    180deg,
    #f8fafc 0%,
    #ffffff 100%);
}

.impact-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:70px;
}

.impact-header p{

    color:#64748b;

    line-height:1.9;

    margin-top:20px;
}

/* STATS */

.impact-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;

    margin-bottom:70px;
}

.impact-box{

    background:#fff;

    padding:35px;

    border-radius:24px;

    text-align:center;

    border:1px solid #e5e7eb;

    transition:.35s;

    box-shadow:
    0 10px 25px rgba(0,0,0,.05);
}

.impact-box:hover{

    transform:
    translateY(-10px);
}

.impact-box h3{

    font-size:54px;

    color:#0B7A3E;

    margin-bottom:10px;

    font-weight:800;
}

.impact-box span{

    color:#64748b;
}

/* IMPACT AREAS */

.impact-areas{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;

    margin-bottom:70px;
}

.area-card{

    background:#fff;

    padding:30px;

    border-radius:22px;

    border:1px solid #e5e7eb;

    transition:.35s;
}

.area-card:hover{

    transform:
    translateY(-8px);
}

.area-icon{

    width:70px;
    height:70px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:#f5fff8;

    font-size:30px;

    margin-bottom:20px;
}

.area-card h4{

    color:#14532D;

    margin-bottom:12px;
}

.area-card p{

    color:#64748b;

    line-height:1.8;
}

/* STORY */

.impact-story{

    padding:70px;

    border-radius:32px;

    background:
    linear-gradient(
    135deg,
    #0B7A3E,
    #14532D);

    color:#fff;
}

.story-tag{

    display:inline-block;

    margin-bottom:15px;

    font-size:13px;

    letter-spacing:1px;
}

.story-content h3{

    font-size:42px;

    margin-bottom:20px;
}

.story-content p{

    max-width:700px;

    line-height:1.9;

    opacity:.9;
}

/* RESPONSIVE */

@media(max-width:991px){

    .impact-grid,
    .impact-areas{

        grid-template-columns:
        repeat(2,1fr);
    }
}

@media(max-width:768px){

    .impact-grid,
    .impact-areas{

        grid-template-columns:1fr;
    }

    .impact-story{

        padding:40px 25px;
    }

    .story-content h3{

        font-size:30px;
    }
}


/* ===================================
   PROGRAMS SECTION
=================================== */

.programs-section{

    padding:30px 0;

    background:#ffffff;
}

.programs-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:80px;
}

.programs-header p{

    color:#64748b;

    line-height:1.9;

    margin-top:20px;
}

.programs-wrapper{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:50px;

    align-items:start;
}

/* LEFT */

.programs-list{

    display:flex;

    flex-direction:column;

    gap:20px;
}

.program-item{

    display:flex;

    gap:20px;

    padding:25px;

    border-radius:22px;

    background:#fff;

    border:1px solid #e5e7eb;

    transition:.35s;

    cursor:pointer;
}

.program-item:hover{

    transform:
    translateX(12px);

    border-color:#0B7A3E;
}

.program-item span{

    font-size:30px;

    font-weight:800;

    color:#0B7A3E;
}

.program-item h4{

    margin-bottom:8px;

    color:#14532D;
}

.program-item p{

    color:#64748b;
}

/* RIGHT */

.program-feature{

    position:sticky;

    top:120px;

    background:
    linear-gradient(
    135deg,
    #0B7A3E,
    #14532D);

    color:#fff;

    padding:50px;

    border-radius:32px;

    overflow:hidden;
}

.program-badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:40px;

    background:
    rgba(255,255,255,.12);

    margin-bottom:25px;
}

.program-feature h3{

    font-size:42px;

    margin-bottom:20px;
}

.program-feature p{

    line-height:1.9;

    opacity:.92;

    margin-bottom:35px;
}

.program-impact{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:20px;
}

.program-impact div{

    text-align:center;

    padding:20px;

    border-radius:18px;

    background:
    rgba(255,255,255,.08);
}

.program-impact strong{

    display:block;

    font-size:34px;
}

.program-impact span{

    opacity:.85;
}

/* MOBILE */

@media(max-width:991px){

    .programs-wrapper{

        grid-template-columns:1fr;
    }

    .program-feature{

        position:relative;
        top:auto;
    }
}

@media(max-width:768px){

    .program-feature{

        padding:30px;
    }

    .program-feature h3{

        font-size:30px;
    }

    .program-impact{

        grid-template-columns:1fr;
    }
}

/* ===================================
   SUCCESS STORIES
=================================== */

.success-section{

    padding:30px 0;

    background:
    linear-gradient(
    180deg,
    #ffffff,
    #f8fafc);
}

.success-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:70px;
}

.success-header p{

    margin-top:20px;

    color:#64748b;

    line-height:1.9;
}

.success-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;
}

.success-card{

    background:#fff;

    padding:40px;

    border-radius:28px;

    border:1px solid #e5e7eb;

    transition:.35s;

    position:relative;

    overflow:hidden;
}

.success-card::before{

    content:'';

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:5px;

    background:
    linear-gradient(
    90deg,
    #0B7A3E,
    #F4B400);
}

.success-card:hover{

    transform:
    translateY(-12px);

    box-shadow:
    0 30px 60px rgba(0,0,0,.08);
}

.success-icon{

    width:80px;
    height:80px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:#f5fff8;

    font-size:36px;

    margin-bottom:25px;
}

.success-card h3{

    color:#14532D;

    margin-bottom:15px;
}

.success-card p{

    color:#64748b;

    line-height:1.9;

    margin-bottom:25px;
}

.success-footer{

    padding-top:20px;

    border-top:1px solid #e5e7eb;
}

.success-footer strong{

    display:block;

    font-size:38px;

    color:#0B7A3E;

    font-weight:800;
}

.success-footer span{

    color:#64748b;
}

@media(max-width:991px){

    .success-grid{

        grid-template-columns:1fr;
    }
}

/* ===================================
   JOURNEY SECTION
=================================== */

.journey-section{

    padding:30px 0;

    background:#fff;
}

.journey-header{

    text-align:center;

    max-width:800px;

    margin:auto;

    margin-bottom:80px;
}

.journey-timeline{

    position:relative;

    max-width:1000px;

    margin:auto;
}

.journey-timeline::before{

    content:'';

    position:absolute;

    left:60px;

    top:0;

    width:4px;

    height:100%;

    background:
    linear-gradient(
    #0B7A3E,
    #F4B400);
}

.timeline-item{

    display:flex;

    gap:40px;

    margin-bottom:50px;

    position:relative;
}

.timeline-year{

    width:120px;

    height:120px;

    flex-shrink:0;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #0B7A3E,
    #14532D);

    color:#fff;

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:28px;

    font-weight:800;

    z-index:2;
}

.timeline-content{

    flex:1;

    background:#fff;

    padding:35px;

    border-radius:24px;

    border:1px solid #e5e7eb;

    transition:.35s;
}

.timeline-content:hover{

    transform:
    translateX(10px);

    box-shadow:
    0 20px 50px rgba(0,0,0,.08);
}

.timeline-content h3{

    color:#14532D;

    margin-bottom:15px;
}

.timeline-content p{

    color:#64748b;

    line-height:1.9;
}

@media(max-width:768px){

    .journey-timeline::before{
        display:none;
    }

    .timeline-item{

        flex-direction:column;
    }

    .timeline-year{

        width:90px;
        height:90px;

        font-size:22px;
    }
}

/* ===================================
   PARTNERS SECTION
=================================== */

.partners-section{

    padding:30px 0;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(
    180deg,
    #ffffff 0%,
    #f8fafc 100%);
}

/* BACKGROUND GLOW */

.partners-section::before{

    content:'';

    position:absolute;

    width:500px;
    height:500px;

    top:-250px;
    left:-250px;

    border-radius:50%;

    background:
    rgba(11,122,62,.08);

    filter:blur(120px);
}

.partners-section::after{

    content:'';

    position:absolute;

    width:500px;
    height:500px;

    bottom:-250px;
    right:-250px;

    border-radius:50%;

    background:
    rgba(244,180,0,.08);

    filter:blur(120px);
}

.partners-section .container{

    position:relative;
    z-index:2;
}

/* ===================================
   HEADER
=================================== */

.partners-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:60px;
}

.partners-header p{

    margin-top:20px;

    color:#64748b;

    line-height:1.9;
}

/* ===================================
   TABS
=================================== */

.partner-tabs{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

    margin-bottom:60px;
}

.partner-tab{

    border:none;

    background:#fff;

    padding:14px 28px;

    border-radius:50px;

    cursor:pointer;

    font-weight:600;

    color:#14532D;

    border:1px solid #e5e7eb;

    transition:.35s;
}

.partner-tab:hover,
.partner-tab.active{

    background:#0B7A3E;

    color:#fff;

    border-color:#0B7A3E;

    transform:translateY(-3px);
}

/* ===================================
   TRUST WALL
=================================== */

.partner-wall{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

    margin-bottom:70px;
}

.partner-card{

    height:190px;

    display:flex;

    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:28px;

    border:1px solid #e5e7eb;

    position:relative;

    overflow:hidden;

    transition:.4s ease;

    box-shadow:
    0 10px 25px rgba(0,0,0,.05);
}

.partner-card::before{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    135deg,
    rgba(11,122,62,.08),
    rgba(244,180,0,.08));

    opacity:0;

    transition:.4s;
}

.partner-card:hover::before{

    opacity:1;
}

.partner-card:hover{

    transform:
    translateY(-12px);

    border-color:#0B7A3E;

    box-shadow:
    0 25px 60px rgba(11,122,62,.15);
}

.partner-card span{

    position:relative;

    z-index:2;

    font-size:26px;

    font-weight:700;

    color:#14532D;

    text-align:center;
}

/* ===================================
   MARQUEE
=================================== */

.partner-marquee{

    overflow:hidden;

    padding:25px 0;

    border-top:1px solid #e5e7eb;

    border-bottom:1px solid #e5e7eb;
}

.partner-track{

    display:flex;

    gap:80px;

    width:max-content;

    animation:
    partnerMarquee 30s linear infinite;
}

.partner-track span{

    white-space:nowrap;

    font-weight:700;

    font-size:18px;

    color:#14532D;
}

.partner-track span::before{

    content:'●';

    color:#0B7A3E;

    margin-right:12px;
}

@keyframes partnerMarquee{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

/* ===================================
   RESPONSIVE
=================================== */

@media(max-width:991px){

    .partner-wall{

        grid-template-columns:
        repeat(2,1fr);
    }
}

@media(max-width:768px){

    .partners-section{

        padding:30px 0;
    }

    .partner-wall{

        grid-template-columns:1fr;
    }

    .partner-card{

        height:140px;
    }

    .partner-card span{

        font-size:22px;
    }

    .partner-track{

        gap:40px;
    }

    .partner-track span{

        font-size:16px;
    }
}
/* ===================================
   GALLERY SECTION
=================================== */

.gallery-section{

    padding:30px 0;

    background:#fff;
}

.gallery-header{

    text-align:center;

    max-width:800px;

    margin:auto;

    margin-bottom:70px;
}

.gallery-grid{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:25px;
}

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    height:350px;

    cursor:pointer;
}

.gallery-item.large{

    height:500px;
}

.gallery-item img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.6s;
}

.gallery-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    to top,
    rgba(0,0,0,.85),
    rgba(0,0,0,.1));

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:30px;

    color:#fff;

    opacity:0;

    transition:.4s;
}

.gallery-item:hover img{

    transform:scale(1.08);
}

.gallery-item:hover .gallery-overlay{

    opacity:1;
}

.gallery-overlay h4{

    font-size:24px;

    margin-bottom:10px;
}

.gallery-overlay span{

    opacity:.9;
}

/* MOBILE */

@media(max-width:768px){

    .gallery-grid{

        grid-template-columns:1fr;
    }

    .gallery-item,
    .gallery-item.large{

        height:320px;
    }
}
/* ===================================
   DONATION SECTION
=================================== */

.donation-section{

    padding:30px 0;

    background:
    linear-gradient(
    135deg,
    #0B7A3E,
    #14532D);

    color:#fff;
}

.donation-wrapper{

    max-width:900px;

    margin:auto;

    text-align:center;
}

.donation-tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:
    rgba(255,255,255,.12);

    margin-bottom:25px;
}

.donation-wrapper h2{

    font-size:clamp(2.5rem,5vw,4.5rem);

    margin-bottom:25px;
}

.donation-wrapper p{

    max-width:700px;

    margin:auto;

    line-height:1.9;

    opacity:.9;
}

.donation-actions{

    margin-top:40px;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;
}

.donate-btn{

    background:#F4B400;

    color:#111;

    padding:18px 35px;

    border-radius:14px;

    font-weight:700;
}

.partner-btn{

    border:1px solid rgba(255,255,255,.3);

    color:#fff;

    padding:18px 35px;

    border-radius:14px;
}

.donation-qr{

    margin-top:50px;
}

.donation-qr img{

    width:180px;

    margin:auto;

    border-radius:20px;

    background:#fff;

    padding:10px;
}

.donation-qr span{

    display:block;

    margin-top:15px;
}
