/* =====================================================
   PGIF PROGRAMS PAGE — FULLY ISOLATED PREMIUM CSS
   Scope: #pgifProgramsPage only
===================================================== */

/* =====================================================
   PAGE BASE ONLY
===================================================== */

#pgifProgramsPage{
    background:#f7f9fc;
    color:#1f2937;
    overflow:hidden;
    position:relative;
    font-family:'Poppins', sans-serif;
}

#pgifProgramsPage *{
    box-sizing:border-box;
}

/* =====================================================
   FONT AWESOME FIX
   This prevents icons from showing as boxes
===================================================== */

#pgifProgramsPage .fa,
#pgifProgramsPage .fas,
#pgifProgramsPage .far,
#pgifProgramsPage .fab,
#pgifProgramsPage .fa-solid,
#pgifProgramsPage .fa-regular,
#pgifProgramsPage .fa-brands{
    font-family:"Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}

#pgifProgramsPage .fa-solid,
#pgifProgramsPage .fas{
    font-weight:900 !important;
}

#pgifProgramsPage .fa-regular,
#pgifProgramsPage .far{
    font-weight:400 !important;
}

#pgifProgramsPage .fa-brands,
#pgifProgramsPage .fab{
    font-family:"Font Awesome 6 Brands" !important;
    font-weight:400 !important;
}

/* =====================================================
   CONTAINER
===================================================== */

#pgifProgramsPage .pgifProgramsContainer{
    width:90%;
    max-width:1180px;
    margin:0 auto;
}

/* =====================================================
   HERO SECTION
===================================================== */

#pgifProgramsPage .pgifProgramsHero{
    position:relative;
    padding:115px 0 95px;
    overflow:hidden;
    background:
        linear-gradient(
            135deg,
            rgba(25,118,210,.12),
            rgba(123,31,162,.08),
            rgba(76,175,80,.08)
        );
}

#pgifProgramsPage .pgifProgramsHero::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    background:rgba(25,118,210,.13);
    top:-180px;
    left:-160px;
    filter:blur(50px);
    animation:pgifProgramsFloat 8s ease-in-out infinite;
}

#pgifProgramsPage .pgifProgramsHero::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(123,31,162,.12);
    right:-140px;
    bottom:-160px;
    filter:blur(55px);
    animation:pgifProgramsFloat 9s ease-in-out infinite reverse;
}

#pgifProgramsPage .pgifProgramsHero__orb{
    position:absolute;
    border-radius:50%;
    z-index:1;
    opacity:.45;
    pointer-events:none;
}

#pgifProgramsPage .pgifProgramsHero__orb--blue{
    width:90px;
    height:90px;
    background:#1976D2;
    top:22%;
    right:18%;
    filter:blur(8px);
    animation:pgifProgramsDrift 7s ease-in-out infinite;
}

#pgifProgramsPage .pgifProgramsHero__orb--purple{
    width:55px;
    height:55px;
    background:#7B1FA2;
    bottom:24%;
    left:17%;
    filter:blur(6px);
    animation:pgifProgramsDrift 6s ease-in-out infinite reverse;
}

#pgifProgramsPage .pgifProgramsHero .pgifProgramsContainer{
    position:relative;
    z-index:2;
    text-align:center;
    max-width:900px;
}

#pgifProgramsPage .pgifProgramsHero__label{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#1976D2;
    margin-bottom:18px;
}

#pgifProgramsPage .pgifProgramsHero__title{
    font-size:52px;
    line-height:1.12;
    margin:0 auto 22px;
    color:#111827;
    letter-spacing:-1px;
}

#pgifProgramsPage .pgifProgramsHero__text{
    max-width:760px;
    margin:0 auto;
    color:#4b5563;
    font-size:16px;
    line-height:1.9;
}

#pgifProgramsPage .pgifProgramsHero__actions{
    margin-top:32px;
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

#pgifProgramsPage .pgifProgramsHero__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 24px;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
    font-size:14px;
    transition:.35s ease;
}

#pgifProgramsPage .pgifProgramsHero__btn--primary{
    background:linear-gradient(135deg,#1976D2,#7B1FA2);
    color:#fff;
    box-shadow:0 14px 35px rgba(25,118,210,.25);
}

#pgifProgramsPage .pgifProgramsHero__btn--secondary{
    background:#fff;
    color:#1976D2;
    border:1px solid rgba(25,118,210,.18);
}

#pgifProgramsPage .pgifProgramsHero__btn:hover{
    transform:translateY(-4px);
}

/* =====================================================
   OVERVIEW SECTION
===================================================== */

#pgifProgramsPage .pgifProgramsOverview{
    padding:95px 0;
    background:#ffffff;
    position:relative;
}

#pgifProgramsPage .pgifProgramsOverview__header{
    text-align:center;
    max-width:780px;
    margin:0 auto 48px;
}

#pgifProgramsPage .pgifProgramsSectionLabel{
    display:inline-block;
    font-size:12px;
    letter-spacing:2px;
    font-weight:700;
    color:#7B1FA2;
    text-transform:uppercase;
    margin-bottom:12px;
}

#pgifProgramsPage .pgifProgramsOverview__header h2{
    font-size:36px;
    line-height:1.25;
    color:#111827;
    margin-bottom:14px;
}

#pgifProgramsPage .pgifProgramsOverview__header p{
    color:#6b7280;
    line-height:1.8;
}

#pgifProgramsPage .pgifProgramsOverview__grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:16px;
}

#pgifProgramsPage .pgifProgramsMiniCard{
    min-height:150px;
    border-radius:22px;
    padding:22px 16px;
    text-decoration:none;
    color:#111827;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 14px 36px rgba(0,0,0,.05);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:14px;
    transition:.35s ease;
    position:relative;
    overflow:hidden;
}

#pgifProgramsPage .pgifProgramsMiniCard::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.09;
    transition:.35s ease;
}

#pgifProgramsPage .pgifProgramsMiniCard i{
    width:52px;
    height:52px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:21px;
    position:relative;
    z-index:2;
}

#pgifProgramsPage .pgifProgramsMiniCard span{
    font-weight:700;
    font-size:14px;
    line-height:1.4;
    position:relative;
    z-index:2;
}

#pgifProgramsPage .pgifProgramsMiniCard:hover{
    transform:translateY(-8px);
    box-shadow:0 24px 60px rgba(0,0,0,.09);
}

#pgifProgramsPage .pgifProgramsMiniCard--women::before{background:#E91E63;}
#pgifProgramsPage .pgifProgramsMiniCard--youth::before{background:#7B1FA2;}
#pgifProgramsPage .pgifProgramsMiniCard--digital::before{background:#1976D2;}
#pgifProgramsPage .pgifProgramsMiniCard--green::before{background:#4CAF50;}
#pgifProgramsPage .pgifProgramsMiniCard--agri::before{background:#FB8C00;}

#pgifProgramsPage .pgifProgramsMiniCard--women i{background:linear-gradient(135deg,#E91E63,#F06292);}
#pgifProgramsPage .pgifProgramsMiniCard--youth i{background:linear-gradient(135deg,#7B1FA2,#BA68C8);}
#pgifProgramsPage .pgifProgramsMiniCard--digital i{background:linear-gradient(135deg,#1976D2,#42A5F5);}
#pgifProgramsPage .pgifProgramsMiniCard--green i{background:linear-gradient(135deg,#2E7D32,#66BB6A);}
#pgifProgramsPage .pgifProgramsMiniCard--agri i{background:linear-gradient(135deg,#FB8C00,#FFB74D);}

/* =====================================================
   PROGRAM BLOCKS
===================================================== */

#pgifProgramsPage .pgifProgramBlock{
    padding:105px 0;
    position:relative;
    overflow:hidden;
}

#pgifProgramsPage .pgifProgramBlock::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    right:-250px;
    top:50%;
    transform:translateY(-50%);
    filter:blur(70px);
    opacity:.22;
    pointer-events:none;
}

#pgifProgramsPage .pgifProgramBlock__layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
    position:relative;
    z-index:2;
}

#pgifProgramsPage .pgifProgramBlock__layout--reverse .pgifProgramBlock__content{
    order:2;
}

#pgifProgramsPage .pgifProgramBlock__layout--reverse .pgifProgramBlock__visual{
    order:1;
}

#pgifProgramsPage .pgifProgramBlock__content{
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(16px);
    border-radius:28px;
    padding:42px;
    box-shadow:0 24px 70px rgba(0,0,0,.075);
    border:1px solid rgba(255,255,255,.75);
    position:relative;
    overflow:hidden;
}

#pgifProgramsPage .pgifProgramBlock__content::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:7px;
    height:100%;
}

#pgifProgramsPage .pgifProgramBlock__number{
    display:inline-block;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:16px;
}

#pgifProgramsPage .pgifProgramBlock__content h2{
    color:#111827;
    font-size:36px;
    line-height:1.2;
    margin-bottom:18px;
    letter-spacing:-.5px;
}

#pgifProgramsPage .pgifProgramBlock__content p{
    color:#4b5563;
    line-height:1.85;
    margin-bottom:24px;
}

#pgifProgramsPage .pgifProgramBlock__points{
    display:grid;
    gap:12px;
}

#pgifProgramsPage .pgifProgramBlock__points div{
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:#374151;
    font-size:15px;
    line-height:1.55;
}

#pgifProgramsPage .pgifProgramBlock__points i{
    width:24px;
    height:24px;
    min-width:24px;
    border-radius:50%;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    margin-top:1px;
}

#pgifProgramsPage .pgifProgramBlock__visual{
    position:relative;
}

#pgifProgramsPage .pgifProgramBlock__visual img{
    width:100%;
    height:420px;
    object-fit:cover;
    border-radius:32px;
    display:block;
    box-shadow:0 30px 80px rgba(0,0,0,.15);
    transition:.5s ease;
}

#pgifProgramsPage .pgifProgramBlock__visual:hover img{
    transform:scale(1.035) rotate(.4deg);
}

#pgifProgramsPage .pgifProgramBlock__visual::before{
    content:"";
    position:absolute;
    inset:28px;
    border-radius:32px;
    filter:blur(55px);
    opacity:.35;
    z-index:-1;
}

#pgifProgramsPage .pgifProgramBlock__floatingTag{
    position:absolute;
    left:24px;
    bottom:24px;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(12px);
    box-shadow:0 16px 35px rgba(0,0,0,.12);
    font-size:13px;
    font-weight:800;
    color:#111827;
    animation:pgifProgramsTagFloat 4s ease-in-out infinite;
}

/* =====================================================
   PROGRAM COLOR THEMES
===================================================== */

#pgifProgramsPage .pgifProgramBlock--women{
    background:linear-gradient(135deg,#fff,#fff3f8);
}

#pgifProgramsPage .pgifProgramBlock--women::before{
    background:#E91E63;
}

#pgifProgramsPage .pgifProgramBlock--women .pgifProgramBlock__number{
    color:#E91E63;
}

#pgifProgramsPage .pgifProgramBlock--women .pgifProgramBlock__content::before,
#pgifProgramsPage .pgifProgramBlock--women .pgifProgramBlock__points i{
    background:linear-gradient(135deg,#E91E63,#F06292);
}

#pgifProgramsPage .pgifProgramBlock--women .pgifProgramBlock__visual::before{
    background:#E91E63;
}

#pgifProgramsPage .pgifProgramBlock--youth{
    background:linear-gradient(135deg,#fff,#f8f1ff);
}

#pgifProgramsPage .pgifProgramBlock--youth::before{
    background:#7B1FA2;
}

#pgifProgramsPage .pgifProgramBlock--youth .pgifProgramBlock__number{
    color:#7B1FA2;
}

#pgifProgramsPage .pgifProgramBlock--youth .pgifProgramBlock__content::before,
#pgifProgramsPage .pgifProgramBlock--youth .pgifProgramBlock__points i{
    background:linear-gradient(135deg,#7B1FA2,#BA68C8);
}

#pgifProgramsPage .pgifProgramBlock--youth .pgifProgramBlock__visual::before{
    background:#7B1FA2;
}

#pgifProgramsPage .pgifProgramBlock--digital{
    background:linear-gradient(135deg,#fff,#eef6ff);
}

#pgifProgramsPage .pgifProgramBlock--digital::before{
    background:#1976D2;
}

#pgifProgramsPage .pgifProgramBlock--digital .pgifProgramBlock__number{
    color:#1976D2;
}

#pgifProgramsPage .pgifProgramBlock--digital .pgifProgramBlock__content::before,
#pgifProgramsPage .pgifProgramBlock--digital .pgifProgramBlock__points i{
    background:linear-gradient(135deg,#1976D2,#42A5F5);
}

#pgifProgramsPage .pgifProgramBlock--digital .pgifProgramBlock__visual::before{
    background:#1976D2;
}

#pgifProgramsPage .pgifProgramBlock--green{
    background:linear-gradient(135deg,#fff,#effaf2);
}

#pgifProgramsPage .pgifProgramBlock--green::before{
    background:#4CAF50;
}

#pgifProgramsPage .pgifProgramBlock--green .pgifProgramBlock__number{
    color:#2E7D32;
}

#pgifProgramsPage .pgifProgramBlock--green .pgifProgramBlock__content::before,
#pgifProgramsPage .pgifProgramBlock--green .pgifProgramBlock__points i{
    background:linear-gradient(135deg,#2E7D32,#66BB6A);
}

#pgifProgramsPage .pgifProgramBlock--green .pgifProgramBlock__visual::before{
    background:#4CAF50;
}

#pgifProgramsPage .pgifProgramBlock--agri{
    background:linear-gradient(135deg,#fff,#fff6ea);
}

#pgifProgramsPage .pgifProgramBlock--agri::before{
    background:#FB8C00;
}

#pgifProgramsPage .pgifProgramBlock--agri .pgifProgramBlock__number{
    color:#FB8C00;
}

#pgifProgramsPage .pgifProgramBlock--agri .pgifProgramBlock__content::before,
#pgifProgramsPage .pgifProgramBlock--agri .pgifProgramBlock__points i{
    background:linear-gradient(135deg,#FB8C00,#FFB74D);
}

#pgifProgramsPage .pgifProgramBlock--agri .pgifProgramBlock__visual::before{
    background:#FB8C00;
}

/* =====================================================
   CTA SECTION
===================================================== */

#pgifProgramsPage .pgifProgramsCta{
    padding:110px 0;
    background:#f7f9fc;
}

#pgifProgramsPage .pgifProgramsCta__box{
    position:relative;
    overflow:hidden;
    border-radius:34px;
    padding:75px 8%;
    text-align:center;
    background:linear-gradient(135deg,#1976D2,#7B1FA2);
    color:#fff;
    box-shadow:0 32px 90px rgba(25,118,210,.22);
}

#pgifProgramsPage .pgifProgramsCta__box::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(255,255,255,.09);
    top:-160px;
    left:-120px;
    animation:pgifProgramsFloat 7s ease-in-out infinite;
}

#pgifProgramsPage .pgifProgramsCta__box::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    bottom:-120px;
    right:-90px;
    animation:pgifProgramsFloat 9s ease-in-out infinite reverse;
}

#pgifProgramsPage .pgifProgramsCta__box span,
#pgifProgramsPage .pgifProgramsCta__box h2,
#pgifProgramsPage .pgifProgramsCta__box p,
#pgifProgramsPage .pgifProgramsCta__actions{
    position:relative;
    z-index:2;
}

#pgifProgramsPage .pgifProgramsCta__box span{
    display:inline-block;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:800;
    margin-bottom:14px;
    color:#FBC02D;
}

#pgifProgramsPage .pgifProgramsCta__box h2{
    font-size:38px;
    line-height:1.2;
    margin-bottom:14px;
}

#pgifProgramsPage .pgifProgramsCta__box p{
    max-width:720px;
    margin:0 auto;
    color:rgba(255,255,255,.88);
    line-height:1.8;
}

#pgifProgramsPage .pgifProgramsCta__actions{
    margin-top:28px;
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

#pgifProgramsPage .pgifProgramsCta__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 24px;
    border-radius:999px;
    text-decoration:none;
    font-weight:800;
    font-size:14px;
    transition:.35s ease;
}

#pgifProgramsPage .pgifProgramsCta__btn--primary{
    background:#fff;
    color:#1976D2;
}

#pgifProgramsPage .pgifProgramsCta__btn--secondary{
    background:rgba(255,255,255,.12);
    color:#fff;
    border:1px solid rgba(255,255,255,.42);
}

#pgifProgramsPage .pgifProgramsCta__btn:hover{
    transform:translateY(-4px);
}

/* =====================================================
   ANIMATIONS
===================================================== */

@keyframes pgifProgramsFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(24px);
    }
}

@keyframes pgifProgramsDrift{
    0%,100%{
        transform:translate(0,0);
    }

    50%{
        transform:translate(16px,-20px);
    }
}

@keyframes pgifProgramsTagFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }
}

/* =====================================================
   RESPONSIVE DESIGN
===================================================== */

@media(max-width:1050px){

    #pgifProgramsPage .pgifProgramsOverview__grid{
        grid-template-columns:repeat(3,1fr);
    }

    #pgifProgramsPage .pgifProgramBlock__layout,
    #pgifProgramsPage .pgifProgramBlock__layout--reverse{
        grid-template-columns:1fr;
        gap:40px;
    }

    #pgifProgramsPage .pgifProgramBlock__layout--reverse .pgifProgramBlock__content,
    #pgifProgramsPage .pgifProgramBlock__layout--reverse .pgifProgramBlock__visual{
        order:initial;
    }

    #pgifProgramsPage .pgifProgramBlock__visual img{
        height:360px;
    }
}

@media(max-width:760px){

    #pgifProgramsPage .pgifProgramsHero{
        padding:90px 0 75px;
    }

    #pgifProgramsPage .pgifProgramsHero__title{
        font-size:34px;
    }

    #pgifProgramsPage .pgifProgramsHero__text{
        font-size:15px;
    }

    #pgifProgramsPage .pgifProgramsOverview{
        padding:75px 0;
    }

    #pgifProgramsPage .pgifProgramsOverview__header h2{
        font-size:28px;
    }

    #pgifProgramsPage .pgifProgramsOverview__grid{
        grid-template-columns:1fr;
    }

    #pgifProgramsPage .pgifProgramBlock{
        padding:75px 0;
    }

    #pgifProgramsPage .pgifProgramBlock__content{
        padding:30px 24px;
    }

    #pgifProgramsPage .pgifProgramBlock__content h2{
        font-size:28px;
    }

    #pgifProgramsPage .pgifProgramBlock__visual img{
        height:260px;
        border-radius:24px;
    }

    #pgifProgramsPage .pgifProgramBlock__floatingTag{
        left:16px;
        bottom:16px;
        font-size:12px;
    }

    #pgifProgramsPage .pgifProgramsCta__box{
        padding:58px 24px;
    }

    #pgifProgramsPage .pgifProgramsCta__box h2{
        font-size:28px;
    }
}