.ngo-contact-section{
    position:relative;
    overflow:hidden;
    padding:70px 0;
    font-family:'DM Sans',sans-serif;
    background:
        radial-gradient(circle at 8% 15%,rgba(255,255,255,.85) 0 5px,transparent 6px),
        radial-gradient(circle at 92% 80%,rgba(255,255,255,.75) 0 7px,transparent 8px),
        linear-gradient(135deg,#f7fff9 0%,#effbf3 48%,#fff9ed 100%);
}

.ngo-contact-section::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border:70px solid rgba(22,130,75,.055);
    border-radius:50%;
    left:-220px;
    top:-190px;
}

.ngo-contact-section::after{
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    border:55px solid rgba(236,151,31,.065);
    border-radius:50%;
    right:-150px;
    bottom:-180px;
}

.ngo-contact-wave{
    position:absolute;
    width:600px;
    height:220px;
    border-radius:50%;
    border-top:2px dashed rgba(25,135,84,.12);
    transform:rotate(-12deg);
    pointer-events:none;
}

.ngo-wave-one{
    right:-100px;
    top:80px;
}

.ngo-wave-two{
    left:-150px;
    bottom:-60px;
    transform:rotate(12deg);
}

.ngo-contact-container{
    position:relative;
    z-index:2;
}

.ngo-contact-heading{
    max-width:720px;
    margin:0 auto 42px;
    text-align:center;
}

.ngo-contact-label{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 16px;
    border-radius:50px;
    color:#16784a;
    background:#e5f6eb;
    font-size:13px;
    font-weight:800;
    letter-spacing:1.3px;
    text-transform:uppercase;
    margin-bottom:13px;
}

.ngo-contact-label i{
    width:26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:#17824d;
    border-radius:50%;
}

.ngo-contact-heading h2{
    margin:0 0 12px;
    color:#173529;
    font-size:clamp(32px,4vw,50px);
    font-weight:800;
    letter-spacing:-1.5px;
}

.ngo-contact-heading h2 span{
    color:#16844e;
}

.ngo-contact-heading p{
    margin:0;
    color:#68766f;
    font-size:16px;
    line-height:1.8;
}

.ngo-contact-shell{
    position:relative;
    background:#fff;
    border:1px solid #dfece4;
    border-radius:22px;
    padding:14px;
    box-shadow:0 24px 70px rgba(30,85,57,.11);
}

.ngo-contact-intro{
    position:relative;
    height:100%;
    min-height:395px;
    overflow:hidden;
    padding:42px 36px;
    border-radius:16px;
    color:#fff;
    background:
        radial-gradient(circle at 95% 10%,rgba(255,255,255,.14) 0 70px,transparent 71px),
        radial-gradient(circle at 15% 90%,rgba(255,255,255,.09) 0 100px,transparent 101px),
        linear-gradient(145deg,#10683d,#17894f 60%,#209b5c);
}

.ngo-contact-intro::before{
    content:"";
    position:absolute;
    width:210px;
    height:210px;
    border:2px dashed rgba(255,255,255,.18);
    border-radius:50%;
    right:-80px;
    bottom:-80px;
}

.ngo-contact-intro-badge{
    width:62px;
    height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    margin-bottom:28px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.25);
    font-size:27px;
    backdrop-filter:blur(4px);
}

.ngo-contact-intro h3{
    font-size:31px;
    line-height:1.2;
    font-weight:800;
    margin-bottom:16px;
}

.ngo-contact-intro p{
    margin:0 0 30px;
    color:rgba(255,255,255,.82);
    font-size:15px;
    line-height:1.8;
}

.ngo-contact-mini{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:18px;
}

.ngo-contact-mini .mini-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:10px;
    background:rgba(255,255,255,.14);
}

.ngo-contact-mini span{
    display:block;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1.2px;
    color:rgba(255,255,255,.65);
    font-weight:700;
}

.ngo-contact-mini strong{
    display:block;
    margin-top:2px;
    font-size:14px;
    font-weight:700;
}

.ngo-contact-details{
    height:100%;
    padding:22px 10px 22px 18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ngo-contact-card{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:18px;
    min-height:112px;
    padding:20px;
    margin-bottom:15px;
    border-radius:16px;
    border:1px solid #e3ece7;
    background:#fff;
    transition:all .35s ease;
}

.ngo-contact-card:last-child{
    margin-bottom:0;
}

.ngo-contact-card:hover{
    transform:translateY(-4px);
    border-color:#c4dfcf;
    box-shadow:0 15px 35px rgba(31,102,65,.10);
}

.ngo-contact-card::after{
    content:"";
    position:absolute;
    width:80px;
    height:80px;
    border-radius:50%;
    right:-35px;
    top:-35px;
    opacity:.08;
}

.ngo-contact-card.address-card::after{
    background:#17824d;
}

.ngo-contact-card.phone-card::after{
    background:#e39a21;
}

.ngo-contact-card.mail-card::after{
    background:#6c6f73;
}

.ngo-card-icon{
    flex:0 0 58px;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    font-size:22px;
}

.address-card .ngo-card-icon{
    color:#147244;
    background:#e5f6eb;
}

.phone-card .ngo-card-icon{
    color:#ba7110;
    background:#fff1db;
}

.mail-card .ngo-card-icon{
    color:#545b61;
    background:#edf0f2;
}

.ngo-card-content{
    flex:1;
    min-width:0;
}

.ngo-card-content small{
    display:block;
    color:#839087;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.25px;
    text-transform:uppercase;
    margin-bottom:5px;
}

.ngo-card-content h4{
    margin:0;
    color:#23362d;
    font-size:16px;
    line-height:1.55;
    font-weight:700;
}

.ngo-card-content a{
    color:#23362d;
    text-decoration:none;
    transition:.25s;
}

.ngo-card-content a:hover{
    color:#16824d;
}

.ngo-card-arrow{
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#6e7a73;
    background:#f3f7f4;
    transition:.3s;
}

.ngo-contact-card:hover .ngo-card-arrow{
    background:#17824d;
    color:#fff;
    transform:translateX(3px);
}

.ngo-contact-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}

.ngo-contact-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:48px;
    padding:0 20px;
    border-radius:10px;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    transition:all .3s ease;
}

.ngo-contact-btn.call{
    color:#fff;
    background:#17824d;
    box-shadow:0 10px 25px rgba(23,130,77,.20);
}

.ngo-contact-btn.call:hover{
    color:#fff;
    background:#106a3e;
    transform:translateY(-2px);
}

.ngo-contact-btn.mail{
    color:#8d5b12;
    background:#fff3df;
    border:1px solid #f0d29f;
}

.ngo-contact-btn.mail:hover{
    color:#72470b;
    background:#ffe8c4;
    transform:translateY(-2px);
}

.ngo-contact-btn.map{
    color:#525d57;
    background:#f2f5f3;
    border:1px solid #dce4df;
}

.ngo-contact-btn.map:hover{
    color:#16824d;
    background:#eaf5ee;
}

.ngo-contact-footer-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:25px;
    color:#79877f;
    font-size:13px;
}

.ngo-contact-footer-note i{
    color:#dc9b2f;
}

@media(max-width:991.98px){
    .ngo-contact-section{
        padding:55px 0;
    }

    .ngo-contact-intro{
        min-height:auto;
        padding:35px 30px;
    }

    .ngo-contact-details{
        padding:18px 4px 4px;
    }
}

@media(max-width:575.98px){
    .ngo-contact-section{
        padding:42px 0;
    }

    .ngo-contact-heading{
        margin-bottom:28px;
    }

    .ngo-contact-heading h2{
        font-size:32px;
    }

    .ngo-contact-shell{
        padding:9px;
        border-radius:17px;
    }

    .ngo-contact-intro{
        padding:30px 23px;
        border-radius:13px;
    }

    .ngo-contact-intro h3{
        font-size:25px;
    }

    .ngo-contact-card{
        padding:17px 14px;
        gap:13px;
    }

    .ngo-card-icon{
        flex-basis:50px;
        width:50px;
        height:50px;
        border-radius:13px;
    }

    .ngo-card-arrow{
        display:none;
    }

    .ngo-card-content h4{
        font-size:14px;
    }

    .ngo-contact-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .ngo-contact-btn{
        width:100%;
    }
}