/* =====================================
index HERO
===================================== */

.nav-links a.active::after {
  width: 100%;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
background:#f4f7f6;
padding-top:100px;
}

/* Scroll progress */

#scrollProgress{
position:fixed;
top:0;
left:0;
height:4px;
background:#5fd068;
width:0%;
z-index:2000;
}

/* Hero section */

.hero {
    height: 100vh;
    background: 
        linear-gradient(
            rgba(0, 0, 0, 0.6), /* slightly darker than 0.5 */
            rgba(0, 0, 0, 0.6)
        ),
        url("https://images.unsplash.com/photo-1505761671935-60b3a7427bad?auto=format&fit=crop&w=1600&q=80") 
        center/cover no-repeat;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    color: white;
    text-align: center;
    overflow: hidden;
}

.hero-text{
font-size:2rem;
margin-bottom:20px;
opacity:0;
transform:translateY(20px);
transition:all 0.6s ease;
}

.hero-text.show{
opacity:1;
transform:translateY(0);
}

.hero-sub{
font-size:1.2rem;
text-align: center;
margin-bottom:30px;
opacity:0;
transform:translateY(20px);
transition:all 0.6s ease 0.3s;
}

.hero-sub.show{
opacity:1;
transform:translateY(0);
}

/* Counters */

.counters{
display:flex;
justify-content:center;
gap:50px;
margin-top:40px;
flex-wrap:wrap;
}

.counter-box{
background:rgba(255,255,255,0.1);
padding:20px 30px;
border-radius:15px;
text-align:center;
}

.counter-box h3{
font-size:2rem;
color:#5fd068;
}

.counter-box p{
color:white;
font-weight:500;
}

/* Navbar */
/* NAVBAR */

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
background:#101b0c;
z-index:1000;
display:flex;
justify-content:center;
padding:18px 0;
transition:0.4s;
}

.navbar.scrolled{
background:#0b3f0b;
padding:12px 0;
box-shadow:0 5px 20px rgba(0,0,0,0.15);
}

/* CONTAINER */

.nav-container{
max-width:1200px;
width:100%;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 25px;
}

/* LOGO */

.logo img{
height:60px;
object-fit:contain;
}

/* NAV LINKS */

.nav-links{
list-style:none;
display:flex;
gap:35px;
align-items:center;
}

.nav-links a{
color:white;
text-decoration:none;
font-weight:500;
position:relative;
padding:5px 0;
}

/* underline animation */

.nav-links a::after{
content:"";
position:absolute;
bottom:-5px;
left:50%;
width:0;
height:2px;
background:#5fd068;
transform:translateX(-50%);
transition:0.3s;
}

.nav-links a:hover::after,
.nav-links a.active::after{
width:100%;
}

/* RIGHT CONTROLS */

.nav-right{
display:flex;
align-items:center;
gap:15px;
}

/* LANGUAGE BUTTON */

.lang-switch{
cursor:pointer;
padding:5px 12px;
border-radius:15px;
border:1px solid #5fd068;
background:transparent;
color:#5fd068;
font-size:0.8rem;
}

/* HAMBURGER */

.hamburger{
display:none;
flex-direction:column;
cursor:pointer;
}

.hamburger span{
width:25px;
height:3px;
background:white;
margin:4px 0;
transition:0.4s;
}

/* hamburger animation */

.hamburger.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:rotate(-45deg) translate(6px,-6px);
}

/* ========================= */
/* MOBILE MENU */
/* ========================= */

@media(max-width:950px){

.hamburger{
display:flex;
}

.nav-links{
position:fixed;
top:0;
right:-100%;
height:100vh;
width:260px;

background:#0d3b2e;

flex-direction:column;
align-items:flex-start;
padding:100px 30px;

gap:25px;

transition:0.4s;
}

.nav-links.active{
right:0;
}

.nav-links a{
font-size:1.1rem;
}

}

/* SMALL MOBILE */

@media(max-width:500px){

.logo img{
height:45px;
}

}




/* ===== HERO SECTION ===== */
/* HERO SECTION */

.hero{
    min-height:90vh;
    width:100%;

    background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url("./images/fish.jpg") center/cover no-repeat;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;
    color:white;

    padding:120px 20px 80px 20px;
}

/* HERO CONTENT */

.hero-content{
    max-width:900px;
    width:100%;
}

/* HERO TITLE */

.hero-text{
    font-size:clamp(2rem,4vw,3rem);
    font-weight:700;
    line-height:1.3;
    margin-bottom:20px;
}

/* HERO PARAGRAPH */

.hero-sub{
    font-size:clamp(1rem,1.3vw,1.2rem);
    line-height:1.7;
    margin-bottom:30px;

    max-width:750px;

    margin-left:auto;
    margin-right:auto;
}

/* CTA BUTTON */

.cta-btn{
    display:inline-block;

    background:#5fd068;
    color:#0d3b2e;

    font-weight:600;

    padding:14px 32px;

    border-radius:30px;

    text-decoration:none;

    transition:0.3s;
}

.cta-btn:hover{
    background:white;
    color:#0d3b2e;
}

/* ================= */
/* TABLET */
/* ================= */

@media(max-width:900px){

.hero{
padding:110px 25px 70px;
}

.hero-text{
font-size:2.2rem;
}

.hero-sub{
font-size:1rem;
}

}

/* ================= */
/* MOBILE */
/* ================= */

@media(max-width:600px){

.hero{
padding:100px 18px 60px;
}

.hero-text{
font-size:1.8rem;
}

.hero-sub{
font-size:0.95rem;
}

.cta-btn{
padding:12px 24px;
font-size:0.9rem;
}

}

/* ================= */
/* SMALL PHONES */
/* ================= */

@media(max-width:400px){

.hero-text{
font-size:1.5rem;
}

.hero-sub{
font-size:0.9rem;
}

}


/* ===== Home about SECTION ===== */

/* ============================= */
/* ABOUT SECTION */
/* ============================= */

.about-section{
    padding:90px 20px;
    background:#f8f9fa;
}

/* Container */

.container{
    max-width:1200px;
    margin:auto;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:60px;
    flex-wrap:wrap;
}

/* ============================= */
/* TEXT AREA */
/* ============================= */

.about-text{
    flex:1 1 520px;
}

.about-text h2{
    font-size:2.3rem;
    color:#0d3b2e;
    margin-bottom:20px;
    font-weight:700;
}

.about-text p{
    font-size:1rem;
    color:#444;
    line-height:1.8;
    margin-bottom:22px;
}

/* ============================= */
/* BUTTON */
/* ============================= */

.about-btn{
    display:inline-block;

    padding:12px 28px;

    background:#2e8b57;
    color:#fff;

    text-decoration:none;
    font-weight:600;

    border-radius:30px;

    font-size:0.95rem;

    transition:all 0.3s ease;
}

.about-btn:hover{
    background:#0d3b2e;
    transform:translateY(-2px);
}

/* ============================= */
/* IMAGE */
/* ============================= */

.about-image{
    flex:1 1 420px;
}

.about-image img{
    width:100%;
    height:auto;

    border-radius:18px;

    object-fit:cover;

    box-shadow:0 12px 35px rgba(0,0,0,0.12);
}

/* ============================= */
/* TABLET */
/* ============================= */

@media (max-width:900px){

.container{
    flex-direction:column;
    text-align:center;
}

/* spacing */

.about-text{
    order:1;
    max-width:700px;
}

.about-image{
    order:2;
    max-width:650px;
}

/* font adjustment */

.about-text h2{
    font-size:2rem;
}

.about-text p{
    font-size:0.98rem;
}

}

/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width:600px){

.about-section{
    padding:70px 18px;
}

.container{
    gap:35px;
}

/* heading */

.about-text h2{
    font-size:1.7rem;
}

/* paragraph */

.about-text p{
    font-size:0.95rem;
    line-height:1.7;
}

/* button */

.about-btn{
    padding:11px 24px;
    font-size:0.9rem;
}

/* image spacing */

.about-image{
    width:100%;
}

}

/* ============================= */
/* SMALL PHONES */
/* ============================= */

@media (max-width:400px){

.about-text h2{
    font-size:1.5rem;
}

.about-text p{
    font-size:0.9rem;
}

.about-btn{
    font-size:0.85rem;
    padding:10px 20px;
}

}




/* ================================= */
/* CORE SERVICES SECTION */
/* ================================= */

.core-services{
    padding:100px 20px;
    background:#f6fbf8;
}

/* Container */

.container-column{
    max-width:1200px;
    margin:auto;
    text-align:center;
}

/* Title */

.core-services h2{
    font-size:2.6rem;
    font-weight:800;
    color:#0d3b2e;
    margin-bottom:60px;
}

/* ================================= */
/* GRID LAYOUT */
/* ================================= */

.services-home-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

/* ================================= */
/* SERVICE CARDS */
/* ================================= */

.home-service-card{
    background:#ffffff;
    padding:40px 30px;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,0.06);

    transition:all 0.35s ease;
}

/* Hover effect */

.home-service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 50px rgba(0,0,0,0.15);
}

/* ================================= */
/* ICONS */
/* ================================= */

.home-service-card i{
    font-size:2rem;
    color:#2e8b57;

    background:#e8f5f0;

    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    margin:0 auto 20px auto;
}

/* ================================= */
/* HEADINGS */
/* ================================= */

.home-service-card h3{
    font-size:1.3rem;
    font-weight:700;
    color:#0d3b2e;
    margin-bottom:15px;
}

/* ================================= */
/* TEXT */
/* ================================= */

.home-service-card p{
    font-size:0.95rem;
    color:#5f6f69;
    line-height:1.7;
}

/* ================================= */
/* TABLET RESPONSIVE */
/* ================================= */

@media (max-width:992px){

.services-home-grid{
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.core-services h2{
    font-size:2.2rem;
}

.home-service-card{
    padding:35px 28px;
}

}

/* ================================= */
/* MOBILE RESPONSIVE */
/* ================================= */

@media (max-width:600px){

.core-services{
    padding:70px 18px;
}

/* grid becomes single column */

.services-home-grid{
    grid-template-columns:1fr;
    gap:25px;
}

.core-services h2{
    font-size:1.8rem;
    margin-bottom:40px;
}

/* card adjustments */

.home-service-card{
    padding:28px 22px;
}

/* icon smaller */

.home-service-card i{
    width:60px;
    height:60px;
    font-size:1.6rem;
}

/* heading */

.home-service-card h3{
    font-size:1.1rem;
}

/* paragraph */

.home-service-card p{
    font-size:0.9rem;
    line-height:1.6;
}

}

/* ================================= */
/* SMALL PHONES */
/* ================================= */

@media (max-width:400px){

.core-services h2{
    font-size:1.6rem;
}

.home-service-card{
    padding:24px 18px;
}

.home-service-card h3{
    font-size:1rem;
}

.home-service-card p{
    font-size:0.85rem;
}

.home-service-card i{
    width:55px;
    height:55px;
    font-size:1.4rem;
}

}



/* ===================================== 
   BRIGHT FUTURE CORE SERVICES
===================================== */

.bf-core-services{
    padding:120px 20px;
    background:
      linear-gradient(rgba(255,255,255,0.93), rgba(255,255,255,0.96)),
      url("https://images.unsplash.com/photo-1544551763-ced8f2d1e8d4?auto=format&fit=crop&w=1600&q=80")
      center/cover no-repeat;
    position:relative;
    overflow:hidden;
}

/* Floating Shapes */
.bf-core-services::before,
.bf-core-services::after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:rgba(46,139,87,0.08);
}

.bf-core-services::before{
    width:300px;
    height:300px;
    top:-80px;
    left:-80px;
}

.bf-core-services::after{
    width:250px;
    height:250px;
    bottom:-60px;
    right:-60px;
}

/* Container */
.bf-services-container{
    max-width:1200px;
    margin:auto;
    text-align:center;
}

/* Title */
.bf-services-title{
    font-size:2.6rem;
    font-weight:800;
    color:#0d3b2e;
    margin-bottom:70px;
}

/* Grid */
.bf-services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:35px;
}

/* Card */
.bf-service-card{
    background:#fff;
    padding:35px 30px;
    border-radius:22px;
    box-shadow:0 12px 40px rgba(0,0,0,0.06);
    transition:all 0.4s ease;
    position:relative;

    display:flex;
    gap:20px;
    align-items:flex-start;

    opacity:0;
    transform:translateY(40px);
}

.bf-service-card.show{
    opacity:1;
    transform:translateY(0);
}

.bf-service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,0.15);
}

/* Icon */
.bf-service-card i{
    font-size:2rem;
    color:#2e8b57;
    background:#e8f5f0;
    width:65px;
    height:65px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    flex-shrink:0;
    transition:0.4s;
}

.bf-service-card:hover i{
    background:#2e8b57;
    color:#fff;
    transform:rotateY(180deg);
}

/* Content */
.bf-service-content{
    flex:1;
    text-align:left;
}

/* Title */
.bf-service-card h3{
    font-size:1.25rem;
    color:#0d3b2e;
    margin-bottom:10px;
    font-weight:700;
}

/* Text */
.bf-service-card p{
    color:#5f6f69;
    font-size:0.95rem;
    line-height:1.6;
    margin-bottom:18px;
}

/* Button */
.bf-service-btn{
    display:inline-block;
    padding:10px 22px;
    border-radius:30px;
    background:#2e8b57;
    color:#fff;
    text-decoration:none;
    font-size:0.85rem;
    font-weight:600;
    transition:0.3s;
}

.bf-service-btn:hover{
    background:#0d3b2e;
    transform:translateY(-2px);
}

/* ===========================
   RESPONSIVE
=========================== */

@media (max-width:768px){

    .bf-services-title{
        font-size:1.8rem;
    }

    .bf-service-card{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .bf-service-card i{
        margin-bottom:15px;
    }

    .bf-service-content{
        text-align:center;
    }
}


/* ================================= */
/* LEADERSHIP SECTION */
/* ================================= */

.bf-leadership-section{
padding:110px 20px;

background:
linear-gradient(rgba(247,251,249,0.95), rgba(247,251,249,0.95)),
url("https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=1600&q=80")
center/cover no-repeat;

width:100%;
}

/* ================================= */
/* TITLE */
/* ================================= */

.bf-leadership-title{
text-align:center;
font-size:2.5rem;
font-weight:800;
color:#0d3b2e;
margin-bottom:70px;
}

/* ================================= */
/* WRAPPER */
/* ================================= */

.bf-leadership-wrapper{
max-width:1200px;
margin:auto;

display:flex;
align-items:center;
justify-content:space-between;

gap:60px;
flex-wrap:wrap;
}

/* ================================= */
/* TEXT AREA */
/* ================================= */

.bf-leadership-text{
flex:1 1 480px;
}

.bf-leadership-text h3{
font-size:1.5rem;
margin-bottom:15px;
color:#0d3b2e;
}

.bf-leadership-text p{
font-size:1rem;
line-height:1.8;
color:#444;
margin-bottom:20px;
}

/* ================================= */
/* READ BUTTON */
/* ================================= */

.bf-read-btn{
display:inline-block;

padding:10px 25px;

background:#0d3b2e;
color:#fff;

border-radius:25px;

text-decoration:none;
font-weight:600;

transition:0.3s;
}

.bf-read-btn:hover{
background:#2e8b57;
}

/* ================================= */
/* LEADERS GRID */
/* ================================= */

.bf-leaders{
flex:1 1 380px;

display:grid;
grid-template-columns:repeat(2,1fr);

gap:25px;
}

/* ================================= */
/* LEADER CARD */
/* ================================= */

.bf-leader-highlight{
background:#fff;

padding:30px 20px;

border-radius:18px;

box-shadow:0 15px 40px rgba(0,0,0,0.08);

text-align:center;

transition:0.3s;
}

.bf-leader-highlight:hover{
transform:translateY(-6px);
box-shadow:0 20px 50px rgba(0,0,0,0.15);
}

/* ================================= */
/* IMAGE FRAME */
/* ================================= */

.bf-leader-image{
width:160px;
height:160px;

margin:0 auto 18px;

border-radius:50%;

padding:6px;

background:#e8f5f0;

display:flex;
align-items:center;
justify-content:center;

overflow:hidden;
}

/* IMAGE */

.bf-leader-image img{
width:100%;
height:100%;

object-fit:contain;

background:#f5f5f5;
}

/* ================================= */
/* NAME */
/* ================================= */

.bf-leader-highlight h4{
font-size:1.1rem;
color:#0d3b2e;
margin-bottom:5px;
}

/* ROLE */

.bf-role{
color:#2e8b57;
font-size:0.9rem;
font-weight:600;
margin-bottom:15px;
}

/* ================================= */
/* WHATSAPP BUTTON */
/* ================================= */

.bf-whatsapp{
display:inline-flex;

align-items:center;
justify-content:center;

width:42px;
height:42px;

border-radius:50%;

background:#25D366;
color:#fff;

font-size:18px;

text-decoration:none;

transition:0.3s;
}

.bf-whatsapp:hover{
transform:scale(1.1);
background:#1ebe5d;
}

/* ================================= */
/* TABLET RESPONSIVE */
/* ================================= */

@media (max-width:900px){

.bf-leadership-wrapper{
flex-direction:column;
text-align:center;
gap:40px;
}

/* leaders grid stays 2 columns */

.bf-leaders{
grid-template-columns:repeat(2,1fr);
max-width:500px;
margin:auto;
}

/* heading adjustment */

.bf-leadership-title{
font-size:2.2rem;
}

}

/* ================================= */
/* MOBILE RESPONSIVE */
/* ================================= */

@media (max-width:600px){

.bf-leadership-section{
padding:80px 18px;
}

/* title */

.bf-leadership-title{
font-size:1.9rem;
margin-bottom:40px;
}

/* leaders become single column */

.bf-leaders{
grid-template-columns:1fr;
gap:20px;
}

/* card spacing */

.bf-leader-highlight{
padding:25px 18px;
}

/* image smaller */

.bf-leader-image{
width:130px;
height:130px;
}

/* text */

.bf-leadership-text h3{
font-size:1.3rem;
}

.bf-leadership-text p{
font-size:0.95rem;
line-height:1.7;
}

}

/* ================================= */
/* SMALL PHONES */
/* ================================= */

@media (max-width:400px){

.bf-leadership-title{
font-size:1.6rem;
}

.bf-leader-image{
width:110px;
height:110px;
}

.bf-leader-highlight h4{
font-size:1rem;
}

.bf-role{
font-size:0.85rem;
}

.bf-whatsapp{
width:38px;
height:38px;
font-size:16px;
}

}





/* ================================= */
/* GALLERY SECTION */
/* ================================= */

.bf-gallery{
padding:100px 20px;
background:#f7fbf9;
width:100%;
overflow:hidden;
}

/* TITLE */

.bf-gallery-title{
text-align:center;
font-size:2.5rem;
font-weight:800;
color:#0d3b2e;
margin-bottom:50px;
}

/* ================================= */
/* WRAPPER */
/* ================================= */

.bf-gallery-wrapper{
position:relative;
display:flex;
align-items:center;
max-width:1200px;
margin:auto;
}

/* ================================= */
/* SCROLL AREA */
/* ================================= */

.bf-gallery-scroll{
display:flex;
gap:20px;

overflow-x:auto;
scroll-behavior:smooth;

padding:10px 5px;

scroll-snap-type:x mandatory;
}

/* HIDE SCROLLBAR */

.bf-gallery-scroll::-webkit-scrollbar{
display:none;
}

.bf-gallery-scroll{
-ms-overflow-style:none;
scrollbar-width:none;
}

/* ================================= */
/* GALLERY ITEMS */
/* ================================= */

.bf-gallery-item{
min-width:280px;
height:220px;

border-radius:15px;

overflow:hidden;

flex-shrink:0;

cursor:pointer;

scroll-snap-align:start;

transition:transform .4s, box-shadow .4s;
}

.bf-gallery-item:hover{
transform:scale(1.05);
box-shadow:0 15px 30px rgba(0,0,0,0.2);
}

.bf-gallery-item img{
width:100%;
height:100%;

object-fit:cover;

transition:transform .5s;
}

.bf-gallery-item:hover img{
transform:scale(1.2);
}

/* ================================= */
/* ARROWS */
/* ================================= */

.bf-arrow{
position:absolute;

top:50%;
transform:translateY(-50%);

background:white;
border:none;

font-size:26px;

cursor:pointer;

padding:12px 16px;

border-radius:50%;

box-shadow:0 5px 20px rgba(0,0,0,0.2);

z-index:5;

transition:0.3s;
}

.bf-arrow:hover{
transform:translateY(-50%) scale(1.1);
}

/* LEFT */

.bf-arrow-left{
left:-10px;
}

/* RIGHT */

.bf-arrow-right{
right:-10px;
}

/* ================================= */
/* LIGHTBOX */
/* ================================= */

#bf-lightbox{
position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,0.9);

display:none;

justify-content:center;
align-items:center;

z-index:9999;
}

#bf-lightbox img{
max-width:90%;
max-height:90%;

border-radius:10px;
}

/* ================================= */
/* TABLET RESPONSIVE */
/* ================================= */

@media(max-width:900px){

.bf-gallery{
padding:80px 20px;
}

.bf-gallery-title{
font-size:2.1rem;
margin-bottom:40px;
}

.bf-gallery-item{
min-width:240px;
height:190px;
}

}

/* ================================= */
/* MOBILE RESPONSIVE */
/* ================================= */

@media(max-width:600px){

.bf-gallery{
padding:70px 18px;
}

.bf-gallery-title{
font-size:1.8rem;
margin-bottom:30px;
}

/* smaller gallery cards */

.bf-gallery-item{
min-width:200px;
height:160px;
}

/* hide arrows for touch devices */

.bf-arrow{
display:none;
}

}

/* ================================= */
/* SMALL PHONES */
/* ================================= */

@media(max-width:400px){

.bf-gallery-title{
font-size:1.6rem;
}

.bf-gallery-item{
min-width:170px;
height:135px;
}

.bf-gallery-scroll{
gap:15px;
}

}




/* =====================================
   PREMIUM CALL TO ACTION
===================================== */

/* ================================= */
/* CTA SECTION */
/* ================================= */

.cta-section{
    position:relative;

    padding:140px 20px 120px 20px;

    text-align:center;
    color:white;

    background:
    linear-gradient(rgba(13,59,46,0.9), rgba(13,59,46,0.95)),
    url("https://images.unsplash.com/photo-1502741338009-cac2772e18bc?auto=format&fit=crop&w=1600&q=80")
    center/cover no-repeat;

    overflow:hidden;
}

/* ================================= */
/* WAVE */
/* ================================= */

.cta-wave{
    position:absolute;
    top:-1px;
    left:0;
    width:100%;
    line-height:0;
}

/* ================================= */
/* CONTENT */
/* ================================= */

.cta-content{
    position:relative;
    z-index:2;

    max-width:800px;
    margin:auto;

    padding:0 10px;
}

/* TITLE */

.cta-section h2{
    font-size:2.8rem;
    font-weight:800;

    margin-bottom:20px;
}

/* TEXT */

.cta-section p{
    font-size:1rem;
    line-height:1.7;

    opacity:0.9;

    margin-bottom:40px;
}

/* ================================= */
/* BUTTONS */
/* ================================= */

.cta-buttons{
    display:flex;

    justify-content:center;
    align-items:center;

    gap:20px;

    flex-wrap:wrap;
}

/* BUTTON BASE */

.cta-btn{
    padding:14px 30px;

    border-radius:30px;

    font-weight:600;
    text-decoration:none;

    transition:0.4s;

    display:inline-block;
}

/* PRIMARY BUTTON */

.cta-btn.primary{
    background:#2e8b57;
    color:white;
}

.cta-btn.primary:hover{
    background:#ffffff;
    color:#2e8b57;
    transform:translateY(-4px);
}

/* SECONDARY BUTTON */

.cta-btn.secondary{
    border:2px solid white;
    color:white;
}

.cta-btn.secondary:hover{
    background:white;
    color:#0d3b2e;
    transform:translateY(-4px);
}

/* ================================= */
/* TABLET RESPONSIVE */
/* ================================= */

@media(max-width:900px){

.cta-section{
    padding:120px 20px 100px 20px;
}

.cta-section h2{
    font-size:2.3rem;
}

.cta-section p{
    font-size:0.95rem;
}

}

/* ================================= */
/* MOBILE RESPONSIVE */
/* ================================= */

@media(max-width:600px){

.cta-section{
    padding:90px 18px 80px 18px;
}

.cta-section h2{
    font-size:1.9rem;
}

.cta-section p{
    font-size:0.92rem;
    margin-bottom:30px;
}

/* stack buttons nicely */

.cta-buttons{
    flex-direction:column;
    gap:15px;
}

/* buttons full width */

.cta-btn{
    width:100%;
    max-width:260px;
}

}

/* ================================= */
/* SMALL PHONES */
/* ================================= */

@media(max-width:400px){

.cta-section h2{
    font-size:1.6rem;
}

.cta-section p{
    font-size:0.88rem;
}

.cta-btn{
    padding:12px 24px;
    font-size:0.9rem;
}

}



/* ============================= 
   PREMIUM NGO FOOTER STYLES
============================= */

.footer{
    background:#06261d;
    color:white;
    padding:90px 20px 30px 20px;
    font-family: Arial, sans-serif;
}

/* CONTAINER */

.footer-container{
    max-width:1200px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:50px;
}

/* TITLES */

.footer-col h3{
    font-size:1.6rem;
    margin-bottom:20px;
}

.footer-col h4{
    margin-bottom:20px;
    font-size:1.1rem;
}

/* TEXT */

.footer-col p{
    font-size:0.95rem;
    line-height:1.7;
    opacity:0.85;
}

/* ============================= */
/* LINKS */
/* ============================= */

.footer-col ul{
    list-style:none;
    padding:0;
}

.footer-col ul li{
    margin-bottom:12px;
}

.footer-col ul li a{
    text-decoration:none;
    color:white;
    opacity:0.85;
    transition:0.3s;
}

.footer-col ul li a:hover{
    opacity:1;
    color:#2e8b57;
}

/* ============================= */
/* NEWSLETTER */
/* ============================= */

.newsletter-form{
    margin-top:15px;

    display:flex;
    flex-direction:column;

    gap:10px;
}

.newsletter-form input{
    padding:10px;

    border:none;
    border-radius:5px;

    width:100%;
}

.newsletter-form button{
    padding:10px;

    background:#2e8b57;
    border:none;

    color:white;

    border-radius:5px;

    cursor:pointer;

    transition:0.3s;
}

.newsletter-form button:hover{
    background:white;
    color:#2e8b57;
}

/* ============================= */
/* SOCIAL ICONS */
/* ============================= */

.social-icons{
    margin-top:20px;

    display:flex;
    gap:15px;

    flex-wrap:wrap;
}

.social-icons a{
    width:35px;
    height:35px;

    background:#2e8b57;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:white;

    transition:0.3s;

    text-decoration:none;
}

.social-icons a:hover{
    background:white;
    color:#2e8b57;
}

/* ============================= */
/* GOOGLE MAP */
/* ============================= */

.footer-map{
    margin-top:20px;
    border-radius:10px;
    overflow:hidden;
}

.footer-map iframe{
    width:100%;
    height:180px;
    border:0;
}

/* ============================= */
/* BOTTOM BAR */
/* ============================= */

.footer-bottom{
    text-align:center;

    margin-top:60px;
    padding-top:20px;

    border-top:1px solid rgba(255,255,255,0.1);

    font-size:0.85rem;
    opacity:0.7;
}

/* ================================= */
/* TABLET RESPONSIVE */
/* ================================= */

@media(max-width:900px){

.footer{
    padding:70px 20px 25px 20px;
}

.footer-container{
    gap:40px;
}

.footer-col h3{
    font-size:1.4rem;
}

.footer-col h4{
    font-size:1.05rem;
}

}

/* ================================= */
/* MOBILE RESPONSIVE */
/* ================================= */

@media(max-width:600px){

.footer{
    padding:60px 18px 20px 18px;
}

/* stack footer columns */

.footer-container{
    grid-template-columns:1fr;
    gap:35px;
    text-align:center;
}

/* center social icons */

.social-icons{
    justify-content:center;
}

/* map height */

.footer-map iframe{
    height:160px;
}

.footer-bottom{
    margin-top:40px;
}

}

/* ================================= */
/* SMALL PHONES */
/* ================================= */

@media(max-width:400px){

.footer-col h3{
    font-size:1.3rem;
}

.footer-col h4{
    font-size:1rem;
}

.footer-col p{
    font-size:0.9rem;
}

.newsletter-form input{
    font-size:0.9rem;
}

.newsletter-form button{
    font-size:0.9rem;
}

.social-icons a{
    width:32px;
    height:32px;
}

.footer-map iframe{
    height:140px;
}

}








/* ============================= */
/* ABOUT US HERO SECTION */
/* ============================= */

.aboutus-hero-section {
    position: relative;

    min-height: 90vh;

    display: flex;
    align-items: center;

    background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
                url('images/abouth.png') center/cover no-repeat;

    background-attachment: fixed;

    padding: 0 8%;

    overflow: hidden;
}

/* ============================= */
/* HERO CONTENT */
/* ============================= */

.aboutus-hero-content {
    max-width: 600px;
    color: white;

    animation: aboutHeroFade 1.5s ease forwards;
}

/* TITLE */

.aboutus-hero-title p {
    font-size: 48px;
    font-weight: 700;

    margin-bottom: 20px;

    line-height: 1.2;
    text-align: left;
}

/* SUBTITLE */

.aboutus-hero-text p {
    font-size: 18px;

    line-height: 1.7;

    margin-bottom: 30px;

    color: #f2f2f2;
    text-align: left;
}

/* ============================= */
/* BUTTONS */
/* ============================= */

.aboutus-hero-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

/* PRIMARY BUTTON */

.aboutus-btn-primary {
    padding: 14px 28px;

    background: #2E8B57;

    color: white;

    text-decoration: none;

    border-radius: 30px;

    font-weight: 600;

    transition: 0.3s;
}

.aboutus-btn-primary:hover {
    background: #1f6d43;
    transform: translateY(-3px);
}

/* SECONDARY BUTTON */

.aboutus-btn-secondary {
    padding: 14px 28px;

    border: 2px solid white;

    color: white;

    text-decoration: none;

    border-radius: 30px;

    font-weight: 600;

    transition: 0.3s;
}

.aboutus-btn-secondary:hover {
    background: white;
    color: #333;
}

/* ============================= */
/* TEXT REVEAL ANIMATION */
/* ============================= */

@keyframes aboutHeroFade {

    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

/* ============================= */
/* CORE VALUES TITLE */
/* ============================= */

.core-values-title{
    text-align:left;

    font-size:2rem;

    color:#0d3b2e;

    margin-bottom:30px;

    font-weight:700;
}

/* ================================= */
/* TABLET RESPONSIVE */
/* ================================= */

@media (max-width:900px){

.aboutus-hero-section{
    padding:0 6%;
    background-attachment:scroll;
}

.aboutus-hero-title{
    font-size:38px;
}

.aboutus-hero-text{
    font-size:16px;
}

}

/* ================================= */
/* MOBILE RESPONSIVE */
/* ================================= */

@media (max-width:600px){

.aboutus-hero-section{
    min-height:85vh;
    padding:60px 20px;
    text-align:center;
    background-attachment:scroll;
}

/* center content */

.aboutus-hero-content{
    max-width:100%;
}

/* title */

.aboutus-hero-title{
    font-size:30px;
}

/* paragraph */

.aboutus-hero-text{
    font-size:15px;
}

/* buttons stack */

.aboutus-hero-buttons{
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.aboutus-btn-primary,
.aboutus-btn-secondary{
    width:100%;
    max-width:240px;
}

/* core values */

.core-values-title{
    text-align:center;
    font-size:1.6rem;
}

}

/* ================================= */
/* SMALL PHONES */
/* ================================= */

@media (max-width:400px){

.aboutus-hero-title{
    font-size:26px;
}

.aboutus-hero-text{
    font-size:14px;
}

.aboutus-btn-primary,
.aboutus-btn-secondary{
    padding:12px 22px;
    font-size:0.9rem;
}

.core-values-title{
    font-size:1.4rem;
}

}

/* ===== TIMELINE SECTION ===== */ 

.bf-objectives-timeline {
    padding:100px 20px;
    background:#f7fbf9;
}

.bf-objectives-container {
    max-width:1000px;
    margin:auto;
}

.bf-objectives-title {
    text-align:center;
    font-size:2.3rem;
    font-weight:700;
    color:#0d3b2e;
    margin-bottom:70px;
}

/* Timeline Line */
.bf-timeline {
    position:relative;
    margin-left:30px;
}

.bf-timeline::before {
    content:"";
    position:absolute;
    left:20px;
    top:0;
    width:3px;
    height:100%;
    background:#2e8b57;
}

/* Timeline Item */
.bf-timeline-item {
    position:relative;
    margin-bottom:40px;
    padding-left:60px;
}

/* Icon */
.bf-timeline-icon {
    position:absolute;
    left:-3px;
    top:0;
    width:40px;
    height:40px;
    background:#2e8b57;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:16px;
    box-shadow:0 5px 15px rgba(0,0,0,0.15);
}

/* Content */
.bf-timeline-content {
    background:#fff;
    padding:20px 25px;
    border-radius:10px;
    box-shadow:0 8px 20px rgba(0,0,0,0.06);
    transition:all 0.3s ease;
}

.bf-timeline-content:hover {
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(0,0,0,0.15);
}

.bf-timeline-content p {
    margin:0;
    font-size:0.95rem;
    color:#444;
    line-height:1.6;
}

/* =========================== */
/* TABLET RESPONSIVE */
/* =========================== */
@media (max-width:768px) {

    .bf-objectives-title {
        font-size:1.9rem;
        margin-bottom:50px;
    }

    .bf-timeline {
        margin-left:20px;
    }

    .bf-timeline-item {
        padding-left:50px;
        margin-bottom:30px;
    }

    .bf-timeline-icon {
        width:35px;
        height:35px;
        font-size:14px;
    }

    .bf-timeline-content {
        padding:18px 20px;
    }

    .bf-timeline-content p {
        font-size:0.9rem;
    }
}

/* =========================== */
/* MOBILE RESPONSIVE */
/* =========================== */
@media (max-width:480px) {

    .bf-objectives-timeline {
        padding:60px 15px;
    }

    .bf-objectives-title {
        font-size:1.6rem;
        margin-bottom:40px;
    }

    .bf-timeline {
        margin-left:10px;
    }

    .bf-timeline-item {
        padding-left:45px;
        margin-bottom:25px;
    }

    .bf-timeline-icon {
        width:30px;
        height:30px;
        font-size:12px;
        left:-5px;
    }

    .bf-timeline-content {
        padding:15px 18px;
    }

    .bf-timeline-content p {
        font-size:0.85rem;
        line-height:1.5;
    }
}





/* ============================= */
/* SCROLL INDICATOR */
/* ============================= */

.aboutus-scroll-indicator {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    animation: scrollBounce 2s infinite;
    z-index: 10;
}

.aboutus-scroll-indicator span {
    display: block;
    width: 20px;
    height: 20px;
    border-bottom: 3px solid white;
    border-right: 3px solid white;
    transform: rotate(45deg);
}

/* Scroll bounce animation */
@keyframes scrollBounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translate(-50%, 0);
    }
    40% {
        transform: translate(-50%, 10px);
    }
    60% {
        transform: translate(-50%, 5px);
    }
}

/* ============================= */
/* HERO SECTION RESPONSIVE */
/* ============================= */

/* Base styling for hero title and text */
.aboutus-hero-title {
    font-size: 48px;
    line-height: 1.2;
    text-align: center;
    margin: 0 auto 20px auto;
}

.aboutus-hero-text {
    font-size: 20px;
    line-height: 1.6;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 30px auto;
}

.aboutus-hero-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* ============================= */
/* RESPONSIVE FOR TABLETS & PHONES */
/* ============================= */

@media (max-width: 1024px) {
    .aboutus-hero-title {
        font-size: 40px;
    }
    .aboutus-hero-text {
        font-size: 18px;
        max-width: 600px;
    }
}

@media (max-width: 768px) {
    .aboutus-hero-title {
        font-size: 34px;
    }

    .aboutus-hero-text {
        font-size: 16px;
        max-width: 90%;
        padding: 0 10px;
    }

    .aboutus-hero-buttons {
        flex-direction: column;
        align-items: center; /* Center buttons on small screens */
        gap: 10px;
    }

    .aboutus-scroll-indicator span {
        width: 15px;
        height: 15px;
        border-bottom: 2px solid white;
        border-right: 2px solid white;
    }
}

@media (max-width: 480px) {
    .aboutus-hero-title {
        font-size: 28px;
    }

    .aboutus-hero-text {
        font-size: 14px;
    }

    .aboutus-scroll-indicator {
        bottom: 20px;
    }
}




/* ===================================== 
ABOUT ORGANIZATION
===================================== */

.about-org-section{
    padding:110px 20px;
    background:#f8fafc;
    position:relative;
    overflow:hidden;
}

/* subtle decorative background shape */
.about-org-section::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:350px;
    height:350px;
    background:rgba(46,139,87,0.08);
    border-radius:50%;
    z-index:0;
}

.about-org-container{
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
    position:relative;
    z-index:1;
}

/* IMAGE */
.about-org-image{
    overflow:hidden;
    border-radius:16px;
    box-shadow:0 20px 40px rgba(0,0,0,0.08);
}

.about-org-image img{
    width:100%;
    display:block;
    transition:transform .6s ease;
}

.about-org-image:hover img{
    transform:scale(1.08);
}

/* TEXT AREA */
.about-org-text{
    background:white;
    padding:40px;
    border-radius:16px;
    box-shadow:0 15px 35px rgba(0,0,0,0.05);
    animation:aboutFadeUp 1s ease forwards;
}

/* label */
.about-org-label{
    display:inline-block;
    background:#e8f6ef;
    color:#2E8B57;
    padding:6px 14px;
    border-radius:20px;
    font-size:13px;
    font-weight:600;
    margin-bottom:15px;
    letter-spacing:.5px;
}

/* heading */
.about-org-text h2{
    font-size:34px;
    margin-bottom:18px;
    color:#1f2937;
}

/* paragraphs */
.about-org-text p{
    margin-bottom:18px;
    color:#4b5563;
    line-height:1.7;
    font-size:16px;
}

/* highlights list */
.about-org-highlights{
    margin:20px 0 25px 0;
    padding:0;
    list-style:none;
}

.about-org-highlights li{
    margin-bottom:10px;
    font-size:15px;
    color:#374151;
    position:relative;
    padding-left:25px;
}

.about-org-highlights li::before{
    content:"✔";
    position:absolute;
    left:0;
    color:#2E8B57;
    font-weight:bold;
}

/* button */
.about-org-btn{
    display:inline-block;
    padding:12px 26px;
    background:#2E8B57;
    color:white;
    text-decoration:none;
    border-radius:30px;
    font-weight:600;
    transition:.3s;
}

.about-org-btn:hover{
    background:#256f47;
    transform:translateY(-3px);
}

/* animation */
@keyframes aboutFadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ============================= */
/* RESPONSIVE STYLING */
/* ============================= */

@media (max-width:1024px){
    .about-org-container{
        grid-template-columns:1fr;
        gap:50px;
    }

    .about-org-text{
        padding:35px;
    }

    .about-org-text h2{
        font-size:30px;
    }
}

@media(max-width:768px){

    .about-org-section{
        padding:80px 15px;
    }

    .about-org-container{
        grid-template-columns:1fr;
        gap:40px;
    }

    .about-org-text{
        padding:25px;
    }

    .about-org-text h2{
        font-size:26px;
    }

    .about-org-text p{
        font-size:15px;
        line-height:1.6;
    }

    .about-org-highlights li{
        font-size:14px;
    }

    .about-org-btn{
        padding:10px 22px;
        font-size:15px;
    }

    /* scale down decorative shape */
    .about-org-section::before{
        width:250px;
        height:250px;
        top:-90px;
        right:-90px;
    }
}

@media(max-width:480px){

    .about-org-section{
        padding:60px 10px;
    }

    .about-org-text{
        padding:20px;
    }

    .about-org-text h2{
        font-size:22px;
    }

    .about-org-text p{
        font-size:14px;
    }

    .about-org-highlights li{
        font-size:13px;
    }

    .about-org-btn{
        width:100%;
        text-align:center;
        padding:10px 0;
        font-size:14px;
    }

    .about-org-section::before{
        width:180px;
        height:180px;
        top:-60px;
        right:-60px;
    }
}


/* ===================================== 
VISION & MISSION SECTION
===================================== */

.about-vision-mission{
    padding:110px 20px;
    background:linear-gradient(to bottom,#f4f7f6,#ffffff);
    text-align:center;
}

/* section header */
.about-vm-header{
    max-width:700px;
    margin:0 auto 60px auto;
}

.about-vm-label{
    display:inline-block;
    background:#e8f6ef;
    color:#2E8B57;
    padding:6px 14px;
    border-radius:20px;
    font-size:13px;
    font-weight:600;
    margin-bottom:15px;
}

.about-vm-header h2{
    font-size:34px;
    margin-bottom:15px;
    color:#1f2937;
}

.about-vm-header p{
    color:#6b7280;
    line-height:1.7;
    font-size:16px;
}

/* grid container */
.about-vm-container{
    max-width:1100px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

/* cards */
.about-vm-card{
    background:white;
    padding:50px 40px;
    border-radius:16px;
    box-shadow:0 15px 35px rgba(0,0,0,0.06);
    text-align:center;
    transition:all .4s ease;
    position:relative;
    overflow:hidden;
}

/* subtle hover effect */
.about-vm-card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 50px rgba(0,0,0,0.12);
}

/* icon */
.about-vm-icon{
    width:70px;
    height:70px;
    background:#2E8B57;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    border-radius:50%;
    margin:0 auto 20px auto;
}

/* title */
.about-vm-card h3{
    font-size:22px;
    margin-bottom:15px;
    color:#1f2937;
}

/* text */
.about-vm-card p{
    font-size:16px;
    color:#4b5563;
    line-height:1.7;
}

/* decorative line */
.about-vm-card::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,#2E8B57,#3aa96a);
    transform:scaleX(0);
    transition:transform .4s ease;
}

.about-vm-card:hover::after{
    transform:scaleX(1);
}

/* ============================= */
/* RESPONSIVE STYLING */
/* ============================= */

@media(max-width:1024px){
    .about-vision-mission{
        padding:90px 15px;
    }

    .about-vm-container{
        grid-template-columns:1fr;
        gap:35px;
    }

    .about-vm-card{
        padding:45px 30px;
    }

    .about-vm-header h2{
        font-size:30px;
    }

    .about-vm-header p{
        font-size:15px;
    }
}

@media(max-width:768px){
    .about-vision-mission{
        padding:70px 15px;
    }

    .about-vm-card{
        padding:35px 25px;
    }

    .about-vm-header h2{
        font-size:26px;
    }

    .about-vm-header p{
        font-size:14px;
        line-height:1.6;
    }

    .about-vm-card h3{
        font-size:20px;
    }

    .about-vm-card p{
        font-size:15px;
    }

    .about-vm-icon{
        width:65px;
        height:65px;
        font-size:26px;
    }
}

@media(max-width:480px){
    .about-vision-mission{
        padding:50px 10px;
    }

    .about-vm-card{
        padding:25px 20px;
    }

    .about-vm-header h2{
        font-size:22px;
    }

    .about-vm-header p{
        font-size:13px;
    }

    .about-vm-card h3{
        font-size:18px;
    }

    .about-vm-card p{
        font-size:14px;
    }

    .about-vm-icon{
        width:55px;
        height:55px;
        font-size:22px;
    }
}




/* ===================================== 
LEADERSHIP TEAM
===================================== */

.about-team-section{
    padding:120px 20px;
    background:#f4f7f6;
    text-align:center;
}

/* Header */
.about-team-header{
    max-width:700px;
    margin:0 auto 70px auto;
}

.about-team-header h2{
    font-size:34px;
    margin-bottom:15px;
    color:#1f2937;
}

.about-team-header p{
    color:#6b7280;
    line-height:1.7;
}

/* Grid */
.about-team-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:35px;
    max-width:1100px;
    margin:auto;
}

/* Card */
.about-team-card{
    background:white;
    padding:40px 30px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    transition:all .35s ease;
    position:relative;
    overflow:hidden;
}

.about-team-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 50px rgba(0,0,0,0.12);
}

/* Decorative top bar */
.about-team-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(90deg,#2e8b57,#3aa96a);
}

/* Image */
.about-team-img{
    width:110px;
    height:110px;
    margin:0 auto 20px auto;
    border-radius:50%;
    overflow:hidden;
    border:4px solid #e6f4ee;
}

.about-team-img img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Name */
.about-team-card h4{
    font-size:20px;
    margin-bottom:10px;
    color:#1f2937;
}

/* Role */
.about-team-card p{
    font-size:14px;
    color:#6b7280;
    line-height:1.7;
    margin-bottom:18px;
}

/* Social icons */
.about-team-socials{
    display:flex;
    justify-content:center;
    gap:12px;
}

.about-team-socials a{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e8f6ef;
    color:#2e8b57;
    font-size:14px;
    transition:.3s;
}

.about-team-socials a:hover{
    background:#2e8b57;
    color:white;
}

/* ============================= */
/* RESPONSIVE STYLING */
/* ============================= */

@media(max-width:1024px){
    .about-team-header h2{
        font-size:30px;
    }

    .about-team-card{
        padding:38px 28px;
    }

    .about-team-img{
        width:100px;
        height:100px;
    }

    .about-team-card h4{
        font-size:18px;
    }

    .about-team-card p{
        font-size:13px;
    }

    .about-team-socials a{
        width:34px;
        height:34px;
        font-size:13px;
    }
}

@media(max-width:768px){
    .about-team-section{
        padding:90px 15px;
    }

    .about-team-header h2{
        font-size:26px;
    }

    .about-team-card{
        padding:32px 24px;
    }

    .about-team-img{
        width:90px;
        height:90px;
    }

    .about-team-card h4{
        font-size:17px;
    }

    .about-team-card p{
        font-size:13px;
    }

    .about-team-socials a{
        width:32px;
        height:32px;
        font-size:12px;
    }
}

@media(max-width:480px){
    .about-team-section{
        padding:70px 10px;
    }

    .about-team-header h2{
        font-size:22px;
    }

    .about-team-card{
        padding:28px 20px;
    }

    .about-team-img{
        width:80px;
        height:80px;
    }

    .about-team-card h4{
        font-size:16px;
    }

    .about-team-card p{
        font-size:12px;
    }

    .about-team-socials a{
        width:28px;
        height:28px;
        font-size:11px;
    }
}



/* ===================================== 
LOCATION INFORMATION
===================================== */

.about-location-section{
    padding:120px 20px;
    background:#f4f7f6;
}

/* Header */
.about-location-header{
    text-align:center;
    max-width:700px;
    margin:auto;
    margin-bottom:60px;
}

.about-location-header h2{
    font-size:34px;
    margin-bottom:15px;
    color:#1f2937;
}

.about-location-header p{
    color:#6b7280;
    line-height:1.7;
    font-size:16px;
}

/* Container */
.about-location-container{
    max-width:1100px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
}

/* Contact Info */
.about-location-info{
    display:flex;
    flex-direction:column;
    gap:25px;
}

/* Contact Item */
.about-location-item{
    display:flex;
    align-items:flex-start;
    gap:15px;
    background:white;
    padding:18px 20px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,0.06);
    transition:all .3s ease;
}

.about-location-item:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

/* Icons */
.about-location-item i{
    font-size:20px;
    color:#2e8b57;
    margin-top:5px;
}

/* Text */
.about-location-item h4{
    font-size:16px;
    margin-bottom:4px;
    color:#1f2937;
}

.about-location-item p{
    font-size:14px;
    color:#6b7280;
}

/* Map */
.about-location-map iframe{
    width:100%;
    height:350px;
    border:0;
    border-radius:15px;
    box-shadow:0 15px 40px rgba(0,0,0,0.1);
}

/* ============================= */
/* RESPONSIVE STYLING */
/* ============================= */

@media(max-width:1024px){
    .about-location-container{
        grid-template-columns:1fr;
        gap:40px;
    }

    .about-location-map iframe{
        height:300px;
    }
}

@media(max-width:768px){
    .about-location-section{
        padding:90px 15px;
    }

    .about-location-header h2{
        font-size:28px;
    }

    .about-location-header p{
        font-size:15px;
    }

    .about-location-item{
        padding:16px 14px;
        gap:12px;
    }

    .about-location-item h4{
        font-size:15px;
    }

    .about-location-item p{
        font-size:13px;
    }

    .about-location-item i{
        font-size:18px;
    }

    .about-location-map iframe{
        height:250px;
    }
}

@media(max-width:480px){
    .about-location-section{
        padding:70px 10px;
    }

    .about-location-header h2{
        font-size:24px;
    }

    .about-location-header p{
        font-size:14px;
    }

    .about-location-item{
        padding:14px 12px;
        gap:10px;
        flex-direction:column;
        align-items:flex-start;
    }

    .about-location-item i{
        margin-top:0;
    }

    .about-location-item h4{
        font-size:14px;
    }

    .about-location-item p{
        font-size:13px;
    }

    .about-location-map iframe{
        height:220px;
    }
}









/* ===================================== 
SERVICE SECTION
===================================== */

.service-section{
    padding:100px 20px;
    background:#f9fbfa;
}

.service-container{
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

/* IMAGE */
.service-image{
    overflow:hidden;
    border-radius:16px;
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

.service-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.6s ease;
}

.service-image:hover img{
    transform:scale(1.08);
}

/* CONTENT */
.service-content h2{
    font-size:2.4rem;
    color:#0d3b2e;
    margin-bottom:20px;
}

.service-content p{
    line-height:1.8;
    margin-bottom:25px;
    color:#444;
}

/* BADGE */
.service-badge{
    display:inline-block;
    background:#e6f4ef;
    color:#2e8b57;
    padding:6px 14px;
    border-radius:30px;
    font-size:14px;
    margin-bottom:15px;
}

/* FEATURES */
.service-features{
    list-style:none;
    padding:0;
    margin-bottom:30px;
}

.service-features li{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
    font-size:15px;
}

.feature-icon{
    font-size:18px;
}

/* BUTTON */
.service-btn{
    display:inline-block;
    padding:14px 32px;
    background:#2e8b57;
    color:white;
    text-decoration:none;
    border-radius:40px;
    font-weight:600;
    transition:all 0.3s ease;
}

.service-btn:hover{
    background:#256f46;
    transform:translateY(-3px);
}

/* ============================= */
/* RESPONSIVE STYLING */
/* ============================= */

@media(max-width:1024px){
    .service-container{
        grid-template-columns:1fr;
        gap:50px;
    }

    .service-image{
        order:-1; /* show image first on small screens */
    }

    .service-content h2{
        font-size:2.2rem;
    }

    .service-content p{
        font-size:16px;
    }

    .service-badge{
        font-size:13px;
        padding:5px 12px;
    }

    .service-features li{
        font-size:14px;
        gap:10px;
    }

    .feature-icon{
        font-size:16px;
    }

    .service-btn{
        padding:12px 28px;
        font-size:15px;
    }
}

@media(max-width:768px){
    .service-section{
        padding:80px 15px;
    }

    .service-content h2{
        font-size:2rem;
    }

    .service-content p{
        font-size:15px;
        line-height:1.6;
    }

    .service-badge{
        font-size:12px;
        padding:4px 10px;
    }

    .service-btn{
        padding:10px 24px;
        font-size:14px;
    }

    .service-features li{
        font-size:13px;
        gap:8px;
    }

    .feature-icon{
        font-size:15px;
    }
}

@media(max-width:480px){
    .service-section{
        padding:60px 10px;
    }

    .service-content h2{
        font-size:1.8rem;
    }

    .service-content p{
        font-size:14px;
    }

    .service-badge{
        font-size:12px;
        padding:4px 10px;
    }

    .service-btn{
        width:100%;
        text-align:center;
        padding:10px 0;
        font-size:14px;
    }

    .service-features li{
        font-size:12px;
        gap:6px;
    }

    .feature-icon{
        font-size:14px;
    }
}


/* =====================================
SERVICES CONTENT
===================================== */
/* ===================================== 
SERVICES HERO – PROFESSIONAL NGO STYLE
===================================== */

.services-hero-section{
    position:relative;
    min-height:85vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        url("./images/ff2.jpg")
        center/cover no-repeat;
}

/* Overlay */
.services-hero-overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(
        90deg,
        rgba(6,38,29,0.95) 0%,
        rgba(6,38,29,0.85) 35%,
        rgba(6,38,29,0.5) 65%,
        rgba(6,38,29,0.2) 100%
    );
}

/* Container */
.services-hero-container{
    max-width:1200px;
    margin:auto;
    padding:100px 20px;
    width:100%;
    position:relative;
    z-index:2;
}

/* Content */
.services-hero-content{
    max-width:620px;
    color:white;
}

/* Tag */
.services-hero-tag{
    display:inline-block;
    background:rgba(255,255,255,0.15);
    padding:8px 18px;
    border-radius:30px;
    font-size:14px;
    letter-spacing:1px;
    margin-bottom:20px;
    backdrop-filter:blur(4px);
}

/* Title */
.services-hero-content h1{
    font-size:3.3rem;
    font-weight:800;
    line-height:1.2;
    margin-bottom:20px;
    opacity:0;
    transform:translateY(30px);
    animation:heroFade 1s forwards;
}

/* Text */
.services-hero-content p{
    font-size:1.05rem;
    line-height:1.8;
    margin-bottom:35px;
    opacity:0;
    transform:translateY(30px);
    animation:heroFade 1s forwards 0.3s;
}

/* Buttons */
.services-hero-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    opacity:0;
    transform:translateY(30px);
    animation:heroFade 1s forwards 0.6s;
}

/* Primary Button */
.services-btn-primary{
    background:#2e8b57;
    color:white;
    padding:14px 34px;
    border-radius:40px;
    text-decoration:none;
    font-weight:600;
    transition:all .3s ease;
    box-shadow:0 8px 25px rgba(0,0,0,0.2);
}

.services-btn-primary:hover{
    background:#38a169;
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,0.25);
}

/* Secondary Button */
.services-btn-secondary{
    border:2px solid white;
    padding:14px 34px;
    border-radius:40px;
    color:white;
    text-decoration:none;
    font-weight:600;
    transition:all .3s ease;
}

.services-btn-secondary:hover{
    background:white;
    color:#06261d;
    transform:translateY(-3px);
}

/* Wave Divider */
.services-hero-wave{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:120px;
    background:url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M0,96L80,80C160,64,320,32,480,26.7C640,21,800,43,960,58.7C1120,75,1280,85,1360,90.7L1440,96L1440,120L0,120Z'%3E%3C/path%3E%3C/svg%3E") bottom/cover no-repeat;
}

/* Animation */
@keyframes heroFade{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ===================================== 
SERVICES SECTION
===================================== */

.services-section{
    padding:110px 20px;
    background:white;
}

.services-alt{
    background:#f4f7f6;
}

.services-container{
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.services-image img{
    width:100%;
    border-radius:16px;
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

.services-text h2{
    font-size:32px;
    margin-bottom:20px;
    color:#1f2937;
}

.services-text p{
    line-height:1.8;
    margin-bottom:20px;
    color:#4b5563;
}

.services-text ul{
    list-style:none;
    padding:0;
}

.services-text ul li{
    margin-bottom:10px;
    padding-left:18px;
    position:relative;
}

.services-text ul li::before{
    content:"✔";
    position:absolute;
    left:0;
    color:#2e8b57;
    font-size:14px;
}

/* ============================= */
/* RESPONSIVE STYLING */
/* ============================= */

@media(max-width:1024px){
    .services-hero-section{
        min-height:70vh;
    }

    .services-hero-content h1{
        font-size:2.7rem;
    }

    .services-hero-content p{
        font-size:1rem;
    }

    .services-section{
        padding:90px 20px;
    }
}

@media(max-width:768px){
    .services-hero-section{
        min-height:60vh;
    }

    .services-hero-container{
        padding:80px 15px;
    }

    .services-hero-content h1{
        font-size:2.3rem;
    }

    .services-hero-content p{
        font-size:0.95rem;
    }

    .services-hero-buttons{
        flex-direction:column;
        align-items:flex-start;
    }

    .services-btn-primary,
    .services-btn-secondary{
        width:100%;
        text-align:center;
        padding:12px 0;
    }

    .services-hero-wave{
        height:80px;
    }

    .services-text h2{
        font-size:28px;
    }

    .services-text p{
        font-size:15px;
    }
}

@media(max-width:480px){
    .services-hero-section{
        min-height:55vh;
    }

    .services-hero-container{
        padding:60px 10px;
    }

    .services-hero-content h1{
        font-size:2rem;
    }

    .services-hero-content p{
        font-size:0.9rem;
    }

    .services-hero-buttons{
        gap:12px;
    }

    .services-btn-primary,
    .services-btn-secondary{
        padding:10px 0;
        font-size:14px;
    }

    .services-text h2{
        font-size:24px;
    }

    .services-text p{
        font-size:14px;
    }

    .services-text ul li{
        font-size:13px;
    }
}

@media(max-width:360px){
    .services-hero-content h1{
        font-size:1.8rem;
    }

    .services-hero-content p{
        font-size:0.85rem;
    }

    .services-btn-primary,
    .services-btn-secondary{
        font-size:13px;
        padding:8px 0;
    }

    .services-text h2{
        font-size:22px;
    }

    .services-text p{
        font-size:13px;
    }
}





/* ===================================
MODERN CONTACT HERO
=================================== */

/* =====================================
CONTACT HERO – MODERN STYLE
==================================== */

.contact-hero-modern{ 
    position:relative;
    min-height:80vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        url("./images/ziwa.jpg")
        center/cover no-repeat;
}

/* Dark overlay */
.contact-hero-overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(6,38,29,0.65);
}

/* Wrapper */
.contact-hero-wrapper{
    position:relative;
    z-index:2;
    padding:40px 20px;
    width:100%;
    display:flex;
    justify-content:center;
}

/* Glass Card */
.contact-glass-card{
    max-width:650px;
    width:100%;
    padding:50px 40px;
    text-align:center;
    color:white;
    border-radius:18px;
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,0.2);
    box-shadow:0 30px 60px rgba(0,0,0,0.25);
}

/* Tag */
.contact-tag{
    display:inline-block;
    background:rgba(255,255,255,0.15);
    padding:8px 20px;
    border-radius:30px;
    font-size:13px;
    margin-bottom:18px;
}

/* Title */
.contact-glass-card h1{
    font-size:2.8rem;
    margin-bottom:18px;
}

/* Text */
.contact-glass-card p{
    line-height:1.8;
    margin-bottom:30px;
    color:#f5f5f5;
}

/* Buttons */
.contact-buttons{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}

/* Primary */
.btn-primary{
    background:#2e8b57;
    padding:14px 30px;
    border-radius:40px;
    text-decoration:none;
    color:white;
    font-weight:600;
    transition:0.3s;
}

.btn-primary:hover{
    background:#256f46;
}

/* Outline */
.btn-outline{
    border:2px solid white;
    padding:14px 30px;
    border-radius:40px;
    color:white;
    text-decoration:none;
    font-weight:600;
    transition:0.3s;
}

.btn-outline:hover{
    background:white;
    color:#06261d;
}

/* =============================
RESPONSIVE STYLING
============================= */

@media(max-width:1024px){
    .contact-glass-card{
        padding:45px 30px;
    }

    .contact-glass-card h1{
        font-size:2.5rem;
    }

    .contact-glass-card p{
        font-size:16px;
    }
}

@media(max-width:768px){
    .contact-hero-modern{
        min-height:65vh;
    }

    .contact-glass-card{
        padding:40px 25px;
    }

    .contact-glass-card h1{
        font-size:2.2rem;
    }

    .contact-glass-card p{
        font-size:15px;
    }
}

@media(max-width:480px){
    .contact-hero-modern{
        min-height:55vh;
    }

    .contact-glass-card{
        padding:35px 20px;
    }

    .contact-glass-card h1{
        font-size:1.9rem;
    }

    .contact-glass-card p{
        font-size:14px;
    }

    .contact-buttons{
        flex-direction:column;
        gap:12px;
    }

    .btn-primary,
    .btn-outline{
        width:100%;
        text-align:center;
        padding:12px 0;
        font-size:14px;
    }
}

@media(max-width:360px){
    .contact-glass-card h1{
        font-size:1.7rem;
    }

    .contact-glass-card p{
        font-size:13px;
    }

    .btn-primary,
    .btn-outline{
        font-size:13px;
    }
}


/* ==================================== 
CONTACT INFO SECTION
==================================== */

.contact-info-section{
    padding:110px 20px;
    background:#f4f7f6;
}

/* Header */
.contact-info-header{
    text-align:center;
    max-width:650px;
    margin:auto;
    margin-bottom:70px;
}

.contact-info-header h2{
    font-size:2.5rem;
    color:#06261d;
    margin-bottom:15px;
}

.contact-info-header p{
    color:#555;
    line-height:1.7;
}

/* Grid */
.contact-info-grid{
    max-width:1050px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

/* Card */
.contact-info-card{
    background:white;
    padding:40px 30px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 18px 45px rgba(0,0,0,0.08);
    transition:0.35s;
}

/* Hover Effect */
.contact-info-card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 60px rgba(0,0,0,0.12);
}

/* Icon */
.contact-icon{
    font-size:28px;
    margin-bottom:15px;
}

/* Title */
.contact-info-card h3{
    color:#2e8b57;
    margin-bottom:10px;
    font-size:1.2rem;
}

/* Text */
.contact-info-card p{
    color:#555;
    line-height:1.6;
    font-size:15px;
}

/* ====================================
RESPONSIVE STYLING
==================================== */

/* Tablet */
@media(max-width:900px){
    .contact-info-grid{
        grid-template-columns:1fr 1fr;
    }
}

/* Mobile */
@media(max-width:600px){
    .contact-info-section{
        padding:90px 15px;
    }

    .contact-info-header h2{
        font-size:2rem;
    }

    .contact-info-header p{
        font-size:14px;
    }

    .contact-info-grid{
        grid-template-columns:1fr;
        gap:25px;
    }

    .contact-info-card{
        padding:35px 20px;
    }

    .contact-info-card h3{
        font-size:1.1rem;
    }

    .contact-info-card p{
        font-size:14px;
    }

    .contact-icon{
        font-size:24px;
        margin-bottom:12px;
    }
}

/* Extra small screens */
@media(max-width:360px){
    .contact-info-header h2{
        font-size:1.8rem;
    }

    .contact-info-card{
        padding:30px 15px;
    }

    .contact-info-card h3{
        font-size:1rem;
    }

    .contact-info-card p{
        font-size:13px;
    }

    .contact-icon{
        font-size:22px;
        margin-bottom:10px;
    }
}


/* ==================================== 
CONTACT FORM SECTION
==================================== */

.contact-form-section{
    padding:120px 20px;
    background:#f7faf9;
}

/* Container */
.contact-form-container{
    max-width:820px;
    margin:auto;
}

/* Header */
.contact-form-header{
    text-align:center;
    margin-bottom:45px;
}

.contact-form-header h2{
    font-size:2.5rem;
    color:#06261d;
    margin-bottom:12px;
}

.contact-form-header p{
    color:#555;
    line-height:1.7;
    max-width:600px;
    margin:auto;
}

/* Form Card */
.contact-form{
    display:flex;
    flex-direction:column;
    gap:20px;
    background:white;
    padding:40px 35px;
    border-radius:16px;
    border:1px solid #e6ecea;
    box-shadow:0 20px 45px rgba(0,0,0,0.06);
}

/* Row */
.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

/* Inputs */
.contact-form input,
.contact-form textarea{
    width:100%;
    padding:14px 16px;
    border-radius:10px;
    border:1px solid #d9e2df;
    font-size:15px;
    font-family:inherit;
    background:#fbfdfc;
    transition:all 0.3s ease;
}

/* Hover */
.contact-form input:hover,
.contact-form textarea:hover{
    border-color:#b7c9c4;
}

/* Focus */
.contact-form input:focus,
.contact-form textarea:focus{
    outline:none;
    border-color:#2e8b57;
    background:white;
    box-shadow:0 0 0 3px rgba(46,139,87,0.12);
}

/* Textarea */
.contact-form textarea{
    resize:vertical;
    min-height:150px;
}

/* Submit Button */
.contact-submit-btn{
    width:50%;
    margin:20px auto 0;
    padding:14px;
    border:none;
    border-radius:40px;
    background:#2e8b57;
    color:white;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    transition:all 0.3s ease;
}

/* Hover */
.contact-submit-btn:hover{
    background:#256f46;
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(0,0,0,0.08);
}

/* ====================================
RESPONSIVE STYLING
==================================== */

/* Tablets */
@media(max-width:768px){
    .form-row{
        grid-template-columns:1fr;
    }

    .contact-submit-btn{
        width:70%;
    }

    .contact-form{
        padding:35px 25px;
    }

    .contact-form-header h2{
        font-size:2.1rem;
    }

    .contact-form-header p{
        font-size:15px;
    }
}

/* Mobile */
@media(max-width:480px){
    .contact-form-section{
        padding:90px 15px;
    }

    .contact-form-header h2{
        font-size:1.9rem;
    }

    .contact-form-header p{
        font-size:14px;
    }

    .contact-submit-btn{
        width:100%;
    }

    .contact-form{
        padding:30px 20px;
    }
}

/* Extra small screens */
@media(max-width:360px){
    .contact-form-header h2{
        font-size:1.7rem;
    }

    .contact-form-header p{
        font-size:13px;
    }

    .contact-submit-btn{
        font-size:14px;
        padding:12px 0;
    }

    .contact-form input,
    .contact-form textarea{
        font-size:14px;
        padding:12px 14px;
    }
}