/* =====================================================
   IMPACT PAGE CSS
   Premium Light UI + Font Awesome Fixed
===================================================== */

/* =====================================================
   GLOBAL RESET
===================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins', sans-serif;
    background:#f7f9fc;
    color:#111827;
    overflow-x:hidden;
}

/* =====================================================
   PAGE SCOPE
===================================================== */

#pgifImpactPage{
    position:relative;
    overflow:hidden;
    background:#f7f9fc;
    color:#111827;
    font-family:'Poppins', sans-serif;
}

#pgifImpactPage *{
    box-sizing:border-box;
}

/* =====================================================
   FONT AWESOME FIX
   Prevents icons from showing as boxes
===================================================== */

#pgifImpactPage .fa,
#pgifImpactPage .fas,
#pgifImpactPage .far,
#pgifImpactPage .fab,
#pgifImpactPage .fa-solid,
#pgifImpactPage .fa-regular,
#pgifImpactPage .fa-brands{
    font-family:"Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}

#pgifImpactPage .fa-solid,
#pgifImpactPage .fas{
    font-weight:900 !important;
}

#pgifImpactPage .fa-regular,
#pgifImpactPage .far{
    font-weight:400 !important;
}

#pgifImpactPage .fa-brands,
#pgifImpactPage .fab{
    font-family:"Font Awesome 6 Brands" !important;
    font-weight:400 !important;
}

/* =====================================================
   CONTAINER
===================================================== */

#pgifImpactPage .pgifImpactContainer{
    width:90%;
    max-width:1180px;
    margin:0 auto;
}

/* =====================================================
   SHARED LABEL
===================================================== */

#pgifImpactPage .pgifImpactSectionLabel{
    display:inline-block;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#1976D2;
    margin-bottom:14px;
}

/* =====================================================
   HERO SECTION
===================================================== */

#pgifImpactPage .pgifImpactHero{
    position:relative;
    padding:125px 0 105px;
    overflow:hidden;
    background:
        linear-gradient(
            135deg,
            rgba(25,118,210,.13),
            rgba(123,31,162,.09),
            rgba(76,175,80,.10)
        );
}

#pgifImpactPage .pgifImpactHero::before{
    content:"";
    position:absolute;
    width:540px;
    height:540px;
    border-radius:50%;
    background:rgba(25,118,210,.13);
    top:-190px;
    left:-170px;
    filter:blur(55px);
    animation:impactFloat 8s ease-in-out infinite;
}

#pgifImpactPage .pgifImpactHero::after{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    background:rgba(123,31,162,.12);
    right:-140px;
    bottom:-170px;
    filter:blur(60px);
    animation:impactFloat 9s ease-in-out infinite reverse;
}

#pgifImpactPage .pgifImpactHero__orb{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    z-index:1;
    opacity:.45;
}

#pgifImpactPage .pgifImpactHero__orb--blue{
    width:90px;
    height:90px;
    background:#1976D2;
    top:22%;
    right:18%;
    filter:blur(8px);
    animation:impactDrift 7s ease-in-out infinite;
}

#pgifImpactPage .pgifImpactHero__orb--green{
    width:70px;
    height:70px;
    background:#4CAF50;
    bottom:20%;
    left:15%;
    filter:blur(7px);
    animation:impactDrift 6s ease-in-out infinite reverse;
}

#pgifImpactPage .pgifImpactHero__orb--purple{
    width:52px;
    height:52px;
    background:#7B1FA2;
    top:24%;
    left:25%;
    filter:blur(5px);
    animation:impactDrift 8s ease-in-out infinite;
}

#pgifImpactPage .pgifImpactHero__content{
    position:relative;
    z-index:2;
    max-width:930px;
    text-align:center;
    margin:auto;
}

#pgifImpactPage .pgifImpactHero__label{
    display:inline-block;
    font-size:12px;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#1976D2;
    margin-bottom:18px;
}

#pgifImpactPage .pgifImpactHero__title{
    font-size:54px;
    line-height:1.1;
    letter-spacing:-1.2px;
    color:#111827;
    margin:0 auto 22px;
}

#pgifImpactPage .pgifImpactHero__text{
    max-width:790px;
    margin:0 auto;
    color:#4b5563;
    font-size:16px;
    line-height:1.9;
}

#pgifImpactPage .pgifImpactHero__actions{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}

#pgifImpactPage .pgifImpactHero__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 25px;
    border-radius:999px;
    text-decoration:none;
    font-weight:800;
    font-size:14px;
    transition:.35s ease;
}

#pgifImpactPage .pgifImpactHero__btn--primary{
    color:#fff;
    background:linear-gradient(135deg,#1976D2,#7B1FA2);
    box-shadow:0 16px 36px rgba(25,118,210,.25);
}

#pgifImpactPage .pgifImpactHero__btn--secondary{
    color:#1976D2;
    background:#fff;
    border:1px solid rgba(25,118,210,.18);
}

#pgifImpactPage .pgifImpactHero__btn:hover{
    transform:translateY(-4px);
}

/* =====================================================
   OVERVIEW SECTION
===================================================== */

#pgifImpactPage .pgifImpactOverview{
    position:relative;
    padding:100px 0;
    background:#fff;
}

#pgifImpactPage .pgifImpactOverview__header{
    max-width:820px;
    margin:0 auto 54px;
    text-align:center;
}

#pgifImpactPage .pgifImpactOverview__header h2{
    font-size:38px;
    line-height:1.25;
    color:#111827;
    margin-bottom:16px;
}

#pgifImpactPage .pgifImpactOverview__header p{
    color:#6b7280;
    line-height:1.85;
}

#pgifImpactPage .pgifImpactOverview__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

#pgifImpactPage .pgifImpactPillar{
    min-height:255px;
    position:relative;
    overflow:hidden;
    border-radius:26px;
    padding:30px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 18px 45px rgba(0,0,0,.055);
    transition:.4s ease;
}

#pgifImpactPage .pgifImpactPillar::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.09;
    transition:.35s ease;
}

#pgifImpactPage .pgifImpactPillar::after{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    border-radius:50%;
    right:-70px;
    bottom:-70px;
    opacity:.18;
    filter:blur(10px);
    transition:.4s ease;
}

#pgifImpactPage .pgifImpactPillar:hover{
    transform:translateY(-10px);
    box-shadow:0 28px 75px rgba(0,0,0,.10);
}

#pgifImpactPage .pgifImpactPillar__icon{
    position:relative;
    z-index:2;
    width:60px;
    height:60px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:22px;
    margin-bottom:18px;
}

#pgifImpactPage .pgifImpactPillar h3{
    position:relative;
    z-index:2;
    font-size:20px;
    margin-bottom:12px;
    color:#111827;
}

#pgifImpactPage .pgifImpactPillar p{
    position:relative;
    z-index:2;
    color:#5b6472;
    line-height:1.7;
    font-size:14px;
}

#pgifImpactPage .pgifImpactPillar--community::before,
#pgifImpactPage .pgifImpactPillar--community::after{
    background:#1976D2;
}

#pgifImpactPage .pgifImpactPillar--community .pgifImpactPillar__icon{
    background:linear-gradient(135deg,#1976D2,#42A5F5);
}

#pgifImpactPage .pgifImpactPillar--enterprise::before,
#pgifImpactPage .pgifImpactPillar--enterprise::after{
    background:#4CAF50;
}

#pgifImpactPage .pgifImpactPillar--enterprise .pgifImpactPillar__icon{
    background:linear-gradient(135deg,#2E7D32,#66BB6A);
}

#pgifImpactPage .pgifImpactPillar--empowerment::before,
#pgifImpactPage .pgifImpactPillar--empowerment::after{
    background:#E91E63;
}

#pgifImpactPage .pgifImpactPillar--empowerment .pgifImpactPillar__icon{
    background:linear-gradient(135deg,#E91E63,#F06292);
}

#pgifImpactPage .pgifImpactPillar--green::before,
#pgifImpactPage .pgifImpactPillar--green::after{
    background:#009688;
}

#pgifImpactPage .pgifImpactPillar--green .pgifImpactPillar__icon{
    background:linear-gradient(135deg,#009688,#4CAF50);
}

/* =====================================================
   METRICS SECTION
===================================================== */

#pgifImpactPage .pgifImpactMetrics{
    padding:105px 0;
    background:linear-gradient(135deg,#f8fbff,#ffffff);
}

#pgifImpactPage .pgifImpactMetrics__header{
    max-width:820px;
    text-align:center;
    margin:0 auto 56px;
}

#pgifImpactPage .pgifImpactMetrics__header h2{
    font-size:38px;
    line-height:1.25;
    color:#111827;
    margin-bottom:15px;
}

#pgifImpactPage .pgifImpactMetrics__header p{
    color:#6b7280;
    line-height:1.8;
}

#pgifImpactPage .pgifImpactMetrics__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

#pgifImpactPage .pgifImpactMetricCard{
    position:relative;
    overflow:hidden;
    text-align:center;
    border-radius:28px;
    padding:36px 22px;
    background:#fff;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 18px 48px rgba(0,0,0,.055);
    transition:.35s ease;
}

#pgifImpactPage .pgifImpactMetricCard::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(25,118,210,.10),rgba(123,31,162,.08));
    opacity:0;
    transition:.35s ease;
}

#pgifImpactPage .pgifImpactMetricCard:hover{
    transform:translateY(-8px);
}

#pgifImpactPage .pgifImpactMetricCard:hover::before{
    opacity:1;
}

#pgifImpactPage .pgifImpactMetricCard i,
#pgifImpactPage .pgifImpactMetricCard h3,
#pgifImpactPage .pgifImpactMetricCard p{
    position:relative;
    z-index:2;
}

#pgifImpactPage .pgifImpactMetricCard i{
    width:58px;
    height:58px;
    margin:0 auto 16px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,#1976D2,#7B1FA2);
    font-size:22px;
}

#pgifImpactPage .pgifImpactMetricCard h3{
    font-size:34px;
    color:#111827;
    margin-bottom:6px;
}

#pgifImpactPage .pgifImpactMetricCard p{
    color:#6b7280;
    line-height:1.55;
    font-size:14px;
}

/* =====================================================
   STORIES SECTION
===================================================== */

#pgifImpactPage .pgifImpactStories{
    padding:105px 0;
    background:#fff;
}

#pgifImpactPage .pgifImpactStories__header{
    max-width:820px;
    text-align:center;
    margin:0 auto 56px;
}

#pgifImpactPage .pgifImpactStories__header h2{
    font-size:38px;
    line-height:1.25;
    color:#111827;
    margin-bottom:15px;
}

#pgifImpactPage .pgifImpactStories__header p{
    color:#6b7280;
    line-height:1.8;
}

#pgifImpactPage .pgifImpactStories__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

#pgifImpactPage .pgifImpactStoryCard{
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 20px 55px rgba(0,0,0,.07);
    transition:.4s ease;
}

#pgifImpactPage .pgifImpactStoryCard:hover{
    transform:translateY(-10px);
    box-shadow:0 30px 80px rgba(0,0,0,.10);
}

#pgifImpactPage .pgifImpactStoryCard__image{
    height:230px;
    overflow:hidden;
}

#pgifImpactPage .pgifImpactStoryCard__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.55s ease;
}

#pgifImpactPage .pgifImpactStoryCard:hover .pgifImpactStoryCard__image img{
    transform:scale(1.08);
}

#pgifImpactPage .pgifImpactStoryCard__content{
    padding:28px;
}

#pgifImpactPage .pgifImpactStoryCard__content span{
    display:inline-block;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:900;
    margin-bottom:12px;
}

#pgifImpactPage .pgifImpactStoryCard__content h3{
    color:#111827;
    font-size:21px;
    line-height:1.28;
    margin-bottom:12px;
}

#pgifImpactPage .pgifImpactStoryCard__content p{
    color:#6b7280;
    line-height:1.75;
    font-size:14px;
}

#pgifImpactPage .pgifImpactStoryCard--women .pgifImpactStoryCard__content span{
    color:#E91E63;
}

#pgifImpactPage .pgifImpactStoryCard--digital .pgifImpactStoryCard__content span{
    color:#1976D2;
}

#pgifImpactPage .pgifImpactStoryCard--agri .pgifImpactStoryCard__content span{
    color:#FB8C00;
}

/* =====================================================
   REGIONAL REACH SECTION
===================================================== */

#pgifImpactPage .pgifImpactReach{
    padding:105px 0;
    background:linear-gradient(135deg,#ffffff,#f8fbff);
    overflow:hidden;
}

#pgifImpactPage .pgifImpactReach__layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

#pgifImpactPage .pgifImpactReach__content h2{
    font-size:38px;
    line-height:1.25;
    color:#111827;
    margin-bottom:16px;
}

#pgifImpactPage .pgifImpactReach__content p{
    color:#6b7280;
    line-height:1.85;
    margin-bottom:24px;
}

#pgifImpactPage .pgifImpactReach__points{
    display:grid;
    gap:14px;
}

#pgifImpactPage .pgifImpactReach__points div{
    display:flex;
    align-items:flex-start;
    gap:13px;
    color:#374151;
    line-height:1.6;
}

#pgifImpactPage .pgifImpactReach__points i{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,#1976D2,#4CAF50);
}

#pgifImpactPage .pgifImpactReach__visual{
    position:relative;
}

#pgifImpactPage .pgifImpactReach__visual::before{
    content:"";
    position:absolute;
    inset:30px;
    border-radius:50%;
    background:rgba(25,118,210,.18);
    filter:blur(60px);
    z-index:0;
}

#pgifImpactPage .pgifImpactReach__mapCard{
    position:relative;
    z-index:2;
    min-height:360px;
    border-radius:34px;
    padding:44px;
    background:
        radial-gradient(circle at 30% 20%, rgba(25,118,210,.14), transparent 35%),
        radial-gradient(circle at 75% 70%, rgba(76,175,80,.14), transparent 38%),
        #ffffff;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 28px 80px rgba(0,0,0,.09);
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
}

#pgifImpactPage .pgifImpactReach__mapCard i{
    width:76px;
    height:76px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 22px;
    color:#fff;
    font-size:30px;
    background:linear-gradient(135deg,#1976D2,#4CAF50);
}

#pgifImpactPage .pgifImpactReach__mapCard h3{
    font-size:26px;
    color:#111827;
    margin-bottom:12px;
}

#pgifImpactPage .pgifImpactReach__mapCard p{
    color:#6b7280;
    line-height:1.75;
}

/* =====================================================
   IMPACT MODEL SECTION
===================================================== */

#pgifImpactPage .pgifImpactModel{
    padding:110px 0;
    background:#fff;
    position:relative;
}

#pgifImpactPage .pgifImpactModel__header{
    max-width:820px;
    text-align:center;
    margin:0 auto 58px;
}

#pgifImpactPage .pgifImpactModel__header h2{
    font-size:38px;
    line-height:1.22;
    margin-bottom:14px;
    color:#111827;
}

#pgifImpactPage .pgifImpactModel__header p{
    color:#6b7280;
    line-height:1.8;
}

#pgifImpactPage .pgifImpactModel__steps{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
    position:relative;
}

#pgifImpactPage .pgifImpactModel__steps::before{
    content:"";
    position:absolute;
    top:46px;
    left:7%;
    width:86%;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,#1976D2,#7B1FA2,#4CAF50,#FB8C00);
    opacity:.22;
}

#pgifImpactPage .pgifImpactModel__step{
    position:relative;
    z-index:2;
    background:#fff;
    border:1px solid rgba(0,0,0,.06);
    border-radius:24px;
    padding:24px 18px;
    text-align:center;
    box-shadow:0 16px 42px rgba(0,0,0,.055);
    transition:.35s ease;
}

#pgifImpactPage .pgifImpactModel__step:hover{
    transform:translateY(-8px);
    box-shadow:0 24px 70px rgba(0,0,0,.09);
}

#pgifImpactPage .pgifImpactModel__step span{
    display:inline-flex;
    width:42px;
    height:42px;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#1976D2,#7B1FA2);
    color:#fff;
    font-size:13px;
    font-weight:900;
    margin-bottom:14px;
}

#pgifImpactPage .pgifImpactModel__step i{
    display:block;
    font-size:24px;
    color:#1976D2;
    margin-bottom:12px;
}

#pgifImpactPage .pgifImpactModel__step h3{
    font-size:17px;
    margin-bottom:8px;
    color:#111827;
}

#pgifImpactPage .pgifImpactModel__step p{
    color:#6b7280;
    font-size:13px;
    line-height:1.6;
}

/* =====================================================
   CTA SECTION
===================================================== */

#pgifImpactPage .pgifImpactCta{
    padding:110px 0;
    background:#f7f9fc;
}

#pgifImpactPage .pgifImpactCta__box{
    position:relative;
    overflow:hidden;
    border-radius:36px;
    padding:78px 8%;
    text-align:center;
    color:#fff;
    background:linear-gradient(135deg,#1976D2,#7B1FA2);
    box-shadow:0 34px 95px rgba(25,118,210,.22);
}

#pgifImpactPage .pgifImpactCta__box::before{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    background:rgba(255,255,255,.09);
    top:-160px;
    left:-120px;
    animation:impactFloat 7s ease-in-out infinite;
}

#pgifImpactPage .pgifImpactCta__box::after{
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    bottom:-125px;
    right:-90px;
    animation:impactFloat 9s ease-in-out infinite reverse;
}

#pgifImpactPage .pgifImpactCta__box span,
#pgifImpactPage .pgifImpactCta__box h2,
#pgifImpactPage .pgifImpactCta__box p,
#pgifImpactPage .pgifImpactCta__actions{
    position:relative;
    z-index:2;
}

#pgifImpactPage .pgifImpactCta__box span{
    display:inline-block;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:900;
    color:#FBC02D;
    margin-bottom:14px;
}

#pgifImpactPage .pgifImpactCta__box h2{
    font-size:40px;
    line-height:1.18;
    margin-bottom:15px;
}

#pgifImpactPage .pgifImpactCta__box p{
    max-width:720px;
    margin:0 auto;
    color:rgba(255,255,255,.9);
    line-height:1.85;
}

#pgifImpactPage .pgifImpactCta__actions{
    margin-top:30px;
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

#pgifImpactPage .pgifImpactCta__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 25px;
    border-radius:999px;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    transition:.35s ease;
}

#pgifImpactPage .pgifImpactCta__btn--primary{
    background:#fff;
    color:#1976D2;
}

#pgifImpactPage .pgifImpactCta__btn--secondary{
    background:rgba(255,255,255,.13);
    color:#fff;
    border:1px solid rgba(255,255,255,.44);
}

#pgifImpactPage .pgifImpactCta__btn:hover{
    transform:translateY(-4px);
}

/* =====================================================
   ANIMATIONS
===================================================== */

@keyframes impactFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(25px);
    }
}

@keyframes impactDrift{
    0%,100%{
        transform:translate(0,0);
    }

    50%{
        transform:translate(17px,-20px);
    }
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1100px){

    #pgifImpactPage .pgifImpactOverview__grid,
    #pgifImpactPage .pgifImpactMetrics__grid,
    #pgifImpactPage .pgifImpactStories__grid,
    #pgifImpactPage .pgifImpactReach__layout{
        grid-template-columns:1fr 1fr;
    }

    #pgifImpactPage .pgifImpactModel__steps{
        grid-template-columns:1fr;
    }

    #pgifImpactPage .pgifImpactModel__steps::before{
        display:none;
    }
}

@media(max-width:760px){

    #pgifImpactPage .pgifImpactHero{
        padding:95px 0 78px;
    }

    #pgifImpactPage .pgifImpactHero__title{
        font-size:34px;
    }

    #pgifImpactPage .pgifImpactHero__text{
        font-size:15px;
    }

    #pgifImpactPage .pgifImpactOverview,
    #pgifImpactPage .pgifImpactMetrics,
    #pgifImpactPage .pgifImpactStories,
    #pgifImpactPage .pgifImpactReach,
    #pgifImpactPage .pgifImpactModel{
        padding:75px 0;
    }

    #pgifImpactPage .pgifImpactOverview__grid,
    #pgifImpactPage .pgifImpactMetrics__grid,
    #pgifImpactPage .pgifImpactStories__grid,
    #pgifImpactPage .pgifImpactReach__layout{
        grid-template-columns:1fr;
    }

    #pgifImpactPage .pgifImpactOverview__header h2,
    #pgifImpactPage .pgifImpactMetrics__header h2,
    #pgifImpactPage .pgifImpactStories__header h2,
    #pgifImpactPage .pgifImpactReach__content h2,
    #pgifImpactPage .pgifImpactModel__header h2{
        font-size:28px;
    }

    #pgifImpactPage .pgifImpactStoryCard__image{
        height:210px;
    }

    #pgifImpactPage .pgifImpactReach__mapCard{
        min-height:300px;
        padding:32px 24px;
    }

    #pgifImpactPage .pgifImpactCta__box{
        padding:58px 24px;
    }

    #pgifImpactPage .pgifImpactCta__box h2{
        font-size:28px;
    }
}