/* Reset & Base */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { overflow-x: hidden; }
html { scroll-behavior: smooth; font-size: 16px; overflow-x: hidden; }
body { background: #ffffff; color: #111827; line-height: 1.75; font-family: 'Poppins', sans-serif; overflow-x: hidden; }

:root {
    --bg: #ffffff;
    --text: #111827;
    --muted: #6b7280;
    --primary: #006b3f;
    --secondary: #ce1126;
    --accent: #fbbf24;
    --border: rgba(0,0,0,0.1);
    --glass: rgba(255,255,255,0.9);
    --card: #ffffff;
}

.container { width: 90%; max-width: 1200px; margin: 0 auto; padding: 0 1rem; }

/* Header */
.header { position: sticky; top: 0; z-index: 1000; backdrop-filter: blur(12px); background: rgba(10,12,24,0.9); border-bottom: 1px solid var(--border); }
.navbar { 
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  padding: 1.2rem 2rem; 
  gap: 3rem;
  backdrop-filter: blur(12px);
  background: rgba(10,12,24,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.logo { font-weight: 700; font-size: 1.6rem; color: #fff; text-decoration: none; letter-spacing: 0.3px; }
.nav-links { 
  display: flex; 
  list-style: none; 
  gap: 1.8rem; 
}
.nav-links a { 
  color: #f3f4f6; 
  text-decoration: none; 
  padding: 0.5rem 1rem; 
  border-radius: 0.5rem; 
  transition: 0.3s;
  position: relative;
}
.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -6px; left: 50%;
  width: 0; height: 2px;
  background: #fbbf24;
  transition: 0.3s;
  transform: translateX(-50%);
}
.nav-links a:hover::after, .nav-links a.active::after {
  width: 80%;
}
.nav-links a:hover, .nav-links a.active { background: rgba(255,255,255,0.1); color: #fff; }
.menu-toggle { display: none; background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; }
.overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 999; display: none; }

/* Hero */
.hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; background-size: cover; background-position: center; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.6), rgba(0,0,0,0.95)); }
.hero-content { position: relative; z-index: 2; max-width: 800px; padding: 2rem; }
.hero h1 { font-size: clamp(2.5rem, 6vw, 4rem); color: #fff; margin-bottom: 1rem; }
.hero p { color: #fff; font-size: 1.2rem; margin-bottom: 2rem; }

/* Buttons */
.btn { display: inline-block; padding: 1rem 2rem; border-radius: 2rem; text-decoration: none; font-weight: 500; transition: 0.3s; border: none; cursor: pointer; }
.btn.primary { background: var(--primary); color: #fff; }
.btn.secondary { background: var(--secondary); color: #fff; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.2); }

/* Sections & Cards */
section { padding: 5rem 0; }
.section-title, .section-header { text-align: center; margin-bottom: 3rem; max-width: 700px; margin-left: auto; margin-right: auto; }
.section-title h2, .section-header h2 { font-size: 2.5rem; margin-bottom: 1rem; }

.card, .culture-card, .challenges-card /* etc */ { background: var(--card); border-radius: 1rem; box-shadow: 0 10px 25px rgba(0,0,0,0.05); transition: 0.3s; overflow: hidden; }
.card:hover, .culture-card:hover /* etc */ { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

.card img, .culture-card img /* etc */ { width: 100%; height: 200px; object-fit: cover; }

/* Grids - Responsive */
.grid-2, .grid-3, .culture-grid, .gallery-grid, .challenges-grid /* etc */ { 
    display: grid; gap: 2rem; width: 100%; 
}

/* Stats */
.stats-grid, .hero-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; }
.stat-box, .stat { background: #f8f9fa; padding: 2rem; text-align: center; border-radius: 1rem; }

/* Quote & CTA */
.quote-section { background: var(--primary); color: #fff; text-align: center; padding: 4rem 2rem; }
.cta { text-align: center; padding: 5rem 2rem; background: linear-gradient(135deg, #006b3f, #004d2e); color: #fff; }
.cta-list { list-style: none; max-width: 500px; margin: 2rem auto; }

/* Footer */
.footer { background: #1a1a2e; color: #f3f4f6; padding: 3rem 0 1rem; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin-bottom: 2rem; }
.footer a { color: #e2e8f0; text-decoration: none; display: block; margin: 0.5rem 0; }
.footer a:hover { color: var(--accent); }

/* Reveal Animation */
.reveal { opacity: 0; transform: translateY(50px); transition: 0.8s ease; }
.reveal.active { opacity: 1; transform: translateY(0); }

/* Mobile Menu */
@media (max-width: 768px) {
    .menu-toggle { display: block; }
    .nav-links { 
        position: fixed; top: 0; right: -100%; width: 80%; height: 100vh; background: #1a1a2e; flex-direction: column; padding: 5rem 2rem; transition: 0.3s; 
    }
    .nav-links.show { right: 0; }
    .overlay.show { display: block; }
    
    section { padding: 3rem 0; }
    .hero { min-height: 90vh; }
    .navbar { padding: 1rem; }
    
    .grid-3, .gallery-grid, .culture-grid /* etc */ { grid-template-columns: 1fr; gap: 1.5rem; }
    .gallery-grid img { height: 200px; }
    .split img { height: 200px; }
    
    .hero h1 { font-size: 2.5rem; }
}

@media (max-width: 480px) {
    html { font-size: 15px; }
    .container { width: 95%; }
    section { padding: 2rem 0; }
    .card img /* etc */ { height: 150px; }
}
.btn.primary{
    color:#fcf9f9;
    background:linear-gradient(45deg,var(--primary),var(--primary-strong));
    box-shadow:0 0 20px rgba(40, 34, 46, 0.5);
}

.btn.primary::before{
    content:"";
    position:absolute;
    top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,0.4),transparent);
    transition:0.5s;
}

.btn.primary:hover::before{left:100%;}

.btn.primary:hover{
    transform:translateY(-3px) scale(1.05);
    box-shadow:0 0 30px rgba(33, 27, 39, 0.8);
}

.btn.secondary{
    color:#fff;
    border:1px solid var(--border);
    background:transparent;
}

.btn.secondary:hover{
    background:var(--glass);
    transform:scale(1.05);
}


.hero-stats{display:flex;justify-content:space-around;margin-top:50px;z-index:2;}

.stat h2{
    font-size:32px;
    color:#fff;
    text-shadow:0 0 10px rgba(192,132,252,0.6);
}

.stat p{color:#fff;}


section{padding:90px 0;}

h2{text-align:center;margin-bottom:30px;font-size:2.1rem;line-height:1.25;}


.feature-cards{display:flex;gap:25px;flex-wrap:wrap;width:100%;}

.home-feature-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
    width:100%;
}

.card{
    padding:25px;
    background:var(--glass);
    border:1px solid var(--border);
    border-radius:18px;
    backdrop-filter:blur(12px);
    transition:0.4s;
}

.card:hover{
    transform:translateY(-12px) scale(1.03);
    box-shadow:0 0 25px rgba(0,0,0,0.4);
}


.split .container{display:flex;align-items:center;gap:40px;}

.split img{
    width:100%;border-radius:15px;transition:0.5s;
}

.split img:hover{
    transform:scale(1.08) rotate(1deg);
}


.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
    width:100%;
}

.gallery-grid img{
    width:100%;border-radius:12px;transition:0.5s;
    height: auto;
}

.gallery-grid img:hover{
    transform:scale(1.1);
    filter:brightness(1.3);
}


.testimonial-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:25px;width:100%;}

.testimonial{
    background:var(--card);
    padding:25px;border-radius:12px;
    border:1px solid var(--border);
    transition:0.3s;
}

.testimonial:hover{
    transform:translateY(-8px);
}


.cta{
    text-align:center;
    background:linear-gradient(135deg,#adadb9,#b5b5c4);
    padding:80px 20px;
}


.footer{background:#4d4db8;padding:50px 0;color:#f3f4f6;}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
    gap:25px;
}

.footer h3,
.footer h4,
.footer p{
    color:#f3f4f6;
}

.footer a{
    display:block;color:#e2e8f0;
    text-decoration:none;margin:5px 0;
    transition: color 0.2s ease-in-out;
}

.footer a:hover{color:var(--accent);}


@keyframes fadeUp{
    from{opacity:0;transform:translateY(40px);} 
    to{opacity:1;transform:translateY(0);} 
}

@keyframes blink{
    0%,100%{opacity:1;} 
    50%{opacity:0;} 
}

.reveal{
    opacity:0;transform:translateY(60px);
    transition:1s ease;
}

.reveal.active{
    opacity:1;transform:translateY(0);
}


@media(max-width:768px){

    .nav-links{
        position:fixed;top:0;right:-100%;
        height:100vh;width:250px;
        background:#2b2b3a;
        flex-direction:column;
        padding:40px 20px;
        transition:0.3s;
    }

    .nav-links.show{right:0;}

    .menu-toggle{display:block;}

    .feature-cards,
    .testimonial-cards,
    .split .container{
        flex-direction:column;
    }

    .hero h1{font-size:34px;}
}





.btn{
    padding:12px 24px;
    border-radius:30px;
    background:#006b3f;
    color:#fff;
    text-decoration:none;
    transition:0.3s;
    font-weight:500;
}

.btn:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

.btn.secondary{
    background:#ce1126;
}


.stats{
    padding:60px 0;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
    gap:25px;
}

.stat-box{
    background:#f1f5f9;
    padding:30px;
    text-align:center;
    border-radius:20px;
    transition:0.3s;
}

.stat-box img{
    margin-bottom:10px;
}

.stat-box h2{
    font-size:2rem;
    color:#006b3f;
}

.stat-box:hover{
    transform:translateY(-8px);
}


.section{
    padding:80px 0;
}

.section.alt{
    background:#f1f5f9;
}

.section-header{
    text-align:center;
    margin-bottom:40px;
}

.section-header h2{
    font-size:2rem;
    margin-bottom:10px;
}

.section-header p{
    color:#64748b;
}


.grid-2{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
    gap:30px;
}

.grid-3{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
    gap:30px;
}


.card{
    background:#fff;
    padding:20px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
    transition:0.3s;
    overflow:hidden;
}

.card img{
    width:100%;
    height:180px;
    object-fit:cover;
    border-radius:15px;
    margin-bottom:15px;
    transition:0.4s;
}

.card img:hover{
    transform:scale(1.05);
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}


.split{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
    gap:40px;
    align-items:center;
}

.split img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:20px;
    transition:0.4s;
}

.split img:hover{
    transform:scale(1.03);
}


.card img[style]{
    width:80px !important;
    height:80px !important;
    object-fit:cover;
}


.quote-section{
    background:#006b3f;
    color:#fff;
    text-align:center;
    padding:70px 20px;
    font-size:1.5rem;
}


.cta{
    text-align:center;
    padding:80px 20px;
}

.cta-list{
    list-style:none;
    margin:20px 0;
}

.cta-list li{
    margin:10px 0;
}


@keyframes fadeUp{
    from{opacity:0; transform:translateY(20px);} 
    to{opacity:1; transform:translateY(0);} 
}

.section, .card, .stat-box{
    animation:fadeUp 0.8s ease both;
}


@media(max-width:768px){
    .section{
        padding:60px 0;
    }

    .section-header h2{
        font-size:1.6rem;
    }
}




.btn{
    padding:12px 24px;
    border-radius:30px;
    background:#006b3f;
    color:#fff;
    text-decoration:none;
    transition:0.3s;
    font-weight:500;
}

.btn:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

.btn.secondary{
    background:#ce1126;
}


.stats{
    padding:60px 0;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
    gap:25px;
}

.stat-box{
    background:#f1f5f9;
    padding:30px;
    text-align:center;
    border-radius:20px;
    transition:0.3s;
}

.stat-box img{
    margin-bottom:10px;
}

.stat-box h2{
    font-size:2rem;
    color:#006b3f;
}

.stat-box:hover{
    transform:translateY(-8px);
}


.section{
    padding:80px 0;
}

.section.alt{
    background:#f1f5f9;
}

.section-header{
    text-align:center;
    margin-bottom:40px;
}

.section-header h2{
    font-size:2rem;
    margin-bottom:10px;
}

.section-header p{
    color:#64748b;
}


.grid-2{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
    gap:30px;
}

.grid-3{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
    gap:30px;
}


.card{
    background:#fff;
    padding:20px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
    transition:0.3s;
    overflow:hidden;
}

.card img{
    width:100%;
    height:180px;
    object-fit:cover;
    border-radius:15px;
    margin-bottom:15px;
    transition:0.4s;
}

.card img:hover{
    transform:scale(1.05);
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}


.split{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px,1fr));
    grid-template-rows: 300px;
    gap:40px;
    align-items:center;
}

.split img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:20px;
    transition:0.4s;
}

.split img:hover{
    transform:scale(1.03);
}


.card img[style]{
    width:80px !important;
    height:80px !important;
    object-fit:cover;
}


.quote-section{
    background:#006b3f;
    color:#fff;
    text-align:center;
    padding:70px 20px;
    font-size:1.5rem;
}
.cta{
    text-align:center;
    padding:80px 20px;
}

.cta-list{
    list-style:none;
    margin:20px 0;
}

.cta-list li{
    margin:10px 0;
}


@keyframes fadeUp{
    from{opacity:0; transform:translateY(20px);} 
    to{opacity:1; transform:translateY(0);} 
}

.section, .card, .stat-box{
    animation:fadeUp 0.8s ease both;
}


@media(max-width:768px){
    .section{
        padding:60px 0;
    }

    .section-header h2{
        font-size:1.6rem;
    }
}



.culture-section{
    padding:90px 0;
}

.culture-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(260px,1fr));
    gap:30px;
}

.culture-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
    transition:0.3s;
}

.culture-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

.culture-card > img{
    width:100%;
    height:200px;
    object-fit:cover;
}

.culture-content{
    padding:20px;
}

.culture-content h3{
    margin-bottom:10px;
}

.culture-content p{
    color:#475569;
    margin-bottom:15px;
}

.culture-content img{
    width:100%;
    height:160px;
    object-fit:cover;
    border-radius:15px;
    margin-top:10px;
    transition:0.3s;
}

.culture-content img:hover{
    transform:scale(1.03);
}


.gallery{
    padding:90px 0;
    background:#f1f5f9;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
    gap:15px;
}

.gallery-grid img{
    width:100%;
    height:180px;
    object-fit:cover;
    border-radius:15px;
    transition:0.4s;
    cursor:pointer;
}

.gallery-grid img:hover{
    transform:scale(1.05);
}


.reveal{
    opacity:0;
    transform:translateY(30px);
    transition:all 0.8s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}





.btn{
    padding:12px 22px;
    border-radius:30px;
    text-decoration:none;
    font-weight:500;
    display:inline-block;
    transition:0.3s ease;
}

.btn.primary{
    background:#006b3f;
    color:#fff;
}

.btn.secondary{
    background:#ce1126;
    color:#fff;
}

.btn:hover{
    transform:translateY(-3px);
    opacity:0.9;
}


.section,
.intro,
.impact,
.cta,
.gallery,
.culture-section,
.culture-feature{
    padding:80px 0;
}

.section-title{
    text-align:center;
    margin-bottom:40px;
}

.section-title h2{
    font-size:1.9rem;
    margin-bottom:10px;
}

.section-title p{
    color:#464343;
    max-width:700px;
    margin:0 auto;
}


.grid-3,
.culture-grid,
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:20px;
}

.grid-2{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:25px;
}
.card,
.culture-card{
    background:#fff;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
    transition:0.3s ease;
}

.card:hover,
.culture-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 25px rgba(0,0,0,0.1);
}

.card h3,
.culture-content h3{
    margin-bottom:10px;
    font-size:1.1rem;
}

.card p,
.culture-content p{
    color:#555;
    font-size:0.95rem;
}


.card img,
.culture-card > img{
    width:100%;
    height:160px;
    object-fit:cover;
    display:block;
}

.culture-content img{
    width:100%;
    height:140px;
    object-fit:cover;
    margin-top:12px;
    border-radius:10px;
}


.gallery-grid img{
    width:100%;
    height:140px;
    object-fit:cover;
    border-radius:10px;
    transition:0.3s ease;
}

.gallery-grid img:hover{
    transform:scale(1.03);
}


.split{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:40px;
    align-items:center;
}

.split img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:15px;
}

.quote-section{
    background:#006b3f;
    color:#fff;
    text-align:center;
    padding:70px 20px;
}

.quote-section h2{
    font-size:1.6rem;
    font-weight:500;
}


.cta{
    text-align:center;
}

.cta h2{
    font-size:1.8rem;
    margin-bottom:10px;
}

.cta p{
    color:#555;
    margin-bottom:20px;
}

.reveal{
    opacity:0;
    transform:translateY(20px);
    transition:0.6s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}


@media(max-width:768px){
    .section,
    .intro,
    .impact,
    .cta,
    .gallery,
    .culture-section,
    .culture-feature{
        padding:60px 0;
    }

    .section-title h2{
        font-size:1.5rem;
    }
}






.impact {
    padding: 90px 0;
    text-align: center;
}

.impact .section-title {
    margin-bottom: 40px;
}


.impact .card {
    transition: 0.4s ease;
}

.impact .card:hover {
    transform: translateY(-8px);
    box-shadow: 0 0 20px rgba(192,132,252,0.2);
}


.quote-section {
    padding: 80px 0;
    text-align: center;
}

.quote-section h2 {
    font-size: 28px;
    color: #fff;
}


.cta {
    text-align: center;
    padding: 90px 20px;
}

.cta h2 {
    font-size: 32px;
    margin-bottom: 10px;
}

.cta p {
    color: var(--muted);
    margin-bottom: 20px;
}


@media (max-width: 768px) {

    .culture-grid {
        grid-template-columns: 1fr;
    }

    .culture-card img {
        height: 200px;
    }
}





.section,
.intro,
.impact,
.cta,
.gallery,
.culture-section,
.culture-feature,
.challenges-section,
.challenges-details,
.impact-section,
.impact-details,
.solutions-section,
.solutions-extra,
.map-section{
    padding:80px 0;
}

.section-title{
    text-align:center;
    margin-bottom:40px;
}

.section-title h2{
    font-size:1.8rem;
    margin-bottom:10px;
}

.section-title p{
    color:#555;
    max-width:750px;
    margin:0 auto;
    font-size:1.08rem;
    line-height:1.8;
}


.grid-3,
.grid-2,
.culture-grid,
.gallery-grid,
.challenges-grid,
.impact-grid,
.solutions-grid{
    display:grid;
    gap:20px;
}

.grid-3,
.culture-grid,
.gallery-grid,
.challenges-grid,
.impact-grid,
.solutions-grid{
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}

.grid-2{
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
}


.card,
.culture-card,
.challenges-card,
.impact-card,
.solutions-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
    transition:0.3s ease;
}

.card:hover,
.culture-card:hover,
.challenges-card:hover,
.impact-card:hover,
.solutions-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 25px rgba(0,0,0,0.1);
}

.card h3,
.culture-content h3,
.challenges-content h3,
.impact-content h3,
.solutions-content h3{
    font-size:1.1rem;
    margin-bottom:10px;
}

.card p,
.culture-content p,
.challenges-content p,
.impact-content p,
.solutions-content p{
    font-size:1rem;
    color:#555;
    line-height:1.8;
}


.card img,
.culture-card > img,
.challenges-card > img,
.impact-card > img,
.solutions-card > img{
    width:100%;
    height:160px;
    object-fit:cover;
    display:block;
}


.split{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:40px;
    align-items:center;
}

.split img{
    width:100%;
    height:280px;
    object-fit:cover;
    border-radius:14px;
}


.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
    gap:12px;
}

.gallery-grid img{
    width:100%;
    height:120px;
    object-fit:cover;
    border-radius:10px;
    transition:0.3s ease;
}

.gallery-grid img:hover{
    transform:scale(1.05);
}


.quote-section{
    background:#006b3f;
    color:#fff;
    text-align:center;
    padding:70px 20px;
}

.quote-section h2{
    font-size:1.9rem;
    font-weight:500;
    max-width:900px;
    margin:0 auto;
}


.cta{
    text-align:center;
}

.cta h2{
    font-size:1.8rem;
    margin-bottom:10px;
}

.cta p{
    color:#555;
    margin-bottom:20px;
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
    font-size:1.05rem;
    line-height:1.8;
}


.btn{
    padding:12px 22px;
    border-radius:30px;
    text-decoration:none;
    font-weight:500;
    display:inline-block;
    transition:0.3s ease;
}

.btn.primary{
    background:#006b3f;
    color:#fff;
}

.btn.secondary{
    background:#ce1126;
    color:#fff;
}

.btn:hover{
    transform:translateY(-3px);
    opacity:0.9;
}


.reveal{
    opacity:0;
    transform:translateY(20px);
    transition:0.6s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}


@media (max-width:768px){

    html{
        font-size:16px;
    }

    .section,
    .intro,
    .impact,
    .cta,
    .gallery,
    .culture-section,
    .culture-feature,
    .challenges-section,
    .challenges-details,
    .impact-section,
    .impact-details,
    .solutions-section,
    .solutions-extra,
    .map-section{
        padding:60px 0;
    }

    .section-title h2{
        font-size:1.5rem;
    }
}





.section,
.intro,
.impact,
.cta,
.gallery,
.culture-section,
.culture-feature,
.challenges-section,
.challenges-details{
    padding:80px 0;
}

.section-title{
    text-align:center;
    margin-bottom:40px;
}

.section-title h2{
    font-size:1.8rem;
    margin-bottom:10px;
}

.section-title p{
    color:#555;
    max-width:750px;
    margin:0 auto;
}


.grid-3,
.grid-2,
.culture-grid,
.gallery-grid,
.challenges-grid{
    display:grid;
    gap:20px;
}

.grid-3,
.culture-grid,
.gallery-grid,
.challenges-grid{
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}

.grid-2{
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
}


.card,
.culture-card,
.challenges-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
    transition:0.3s ease;
}

.card:hover,
.culture-card:hover,
.challenges-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 25px rgba(0,0,0,0.1);
}

.card h3,
.culture-content h3,
.challenges-content h3{
    font-size:1.1rem;
    margin-bottom:10px;
}

.card p,
.culture-content p,
.challenges-content p{
    font-size:0.95rem;
    color:#555;
    line-height:1.5;
}


.card img,
.culture-card > img,
.challenges-card > img{
    width:100%;
    height:160px;
    object-fit:cover;
    display:block;
}

.culture-content img{
    width:100%;
    height:140px;
    object-fit:cover;
    margin-top:12px;
    border-radius:10px;
}


.split{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:40px;
    align-items:center;
}

.split img{
    width:100%;
    height:280px;
    object-fit:cover;
    border-radius:14px;
}


.quote-section{
    background:#006b3f;
    color:#fff;
    text-align:center;
    padding:70px 20px;
}

.quote-section h2{
    font-size:1.5rem;
    font-weight:500;
    max-width:900px;
    margin:0 auto;
}


.cta{
    text-align:center;
}

.cta h2{
    font-size:1.8rem;
    margin-bottom:10px;
}

.cta p{
    color:#555;
    margin-bottom:20px;
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
}

.btn{
    padding:12px 22px;
    border-radius:30px;
    text-decoration:none;
    font-weight:500;
    display:inline-block;
    transition:0.3s ease;
}

.btn.primary{
    background:#006b3f;
    color:#fff;
}

.btn.secondary{
    background:#ce1126;
    color:#fff;
}

.btn:hover{
    transform:translateY(-3px);
    opacity:0.9;
}


.reveal{
    opacity:0;
    transform:translateY(20px);
    transition:0.6s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}


@media (max-width:768px){

    .section,
    .intro,
    .impact,
    .cta,
    .gallery,
    .culture-section,
    .culture-feature,
    .challenges-section,
    .challenges-details{
        padding:60px 0;
    }

    .section-title h2{
        font-size:1.5rem;
    }
}



section{
    padding:80px 0;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

h2{
    font-size:2.2rem;
    margin-bottom:15px;
}

p{
    color:#555;
    font-size:1rem;
}


.section-title{
    text-align:center;
    max-width:700px;
    margin:0 auto 50px;
}

.section-title p{
    font-size:1.05rem;
    color:#666;
}

.intro{
    background:#f9fafb;
}


.solutions-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:30px;
}

.solutions-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,0.05);
    transition:all 0.4s ease;
}

.solutions-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 50px rgba(0,0,0,0.1);
}

.solutions-card img{
    width:100%;
    height:200px;
    object-fit:cover;
}

.solutions-content{
    padding:25px;
}

.solutions-content h3{
    margin-bottom:10px;
    font-size:1.3rem;
    color:#111;
}


.grid-3{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
    gap:25px;
}

.card{
    background:#fff;
    padding:25px;
    border-radius:16px;
    box-shadow:0 8px 25px rgba(0,0,0,0.05);
    transition:all 0.3s ease;
    border-top:4px solid transparent;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 40px rgba(0,0,0,0.08);
    border-top:4px solid #fbbf24; 
}

.card h3{
    margin-bottom:10px;
    color:#222121;
}


.map-section{
    background:#f9fafb;
}

.split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
}

.split .text h3{
    font-size:1.6rem;
    margin-bottom:15px;
}

.split .image img{
    width:100%;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}


.solutions-extra{
    background:#fff;
}


.quote-section{
    background:#fff;
    color:var(--text);
    text-align:center;
}

.quote-section h2{
    font-size:2rem;
    font-weight:600;
    color:var(--text);
}


.cta{
    text-align:center;
    background:#828791;
    color:#fff;
}

.cta h2{
    color:#fff;
    margin-bottom:15px;
}

.cta p{
    color:#d1d5db;
    max-width:600px;
    margin:0 auto 25px;
}

.btn{
    display:inline-block;
    padding:12px 24px;
    border-radius:30px;
    text-decoration:none;
    font-size:0.95rem;
    transition:all 0.3s ease;
}

.btn.primary{
    background:#fbbf24;
    color:#111;
}

.btn.primary:hover{
    background:#f59e0b;
}

.btn.secondary{
    border:1px solid #ddd;
    color:#333;
}

.btn.secondary:hover{
    background:#f3f4f6;
}


.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:all 0.6s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}


@media(max-width:768px){
    .split{
        grid-template-columns:1fr;
    }

    h2{
        font-size:1.8rem;
    }

    section{
        padding:60px 0;
    }
}





.contact-section{
    padding:80px 0;
}


.contact-section .section-title{
    text-align:center;
    margin-bottom:40px;
}

.contact-section .section-title h2{
    font-size:1.8rem;
    margin-bottom:10px;
}

.contact-section .section-title p{
    color:#555;
    max-width:700px;
    margin:0 auto;
}


.split{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:30px;
    align-items:start;
}


.contact-section .text h3{
    font-size:1.2rem;
    margin-bottom:15px;
}

.contact-section .text p{
    color:#555;
    margin-bottom:10px;
    line-height:1.6;
}


.contact-section .card{
    background:#fff;
    padding:25px;
    border-radius:14px;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
}


.contact-section input,
.contact-section textarea{
    width:100%;
    padding:12px;
    margin-bottom:12px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:0.95rem;
    outline:none;
    transition:0.3s ease;
}


.contact-section input:focus,
.contact-section textarea:focus{
    border-color:#006b3f;
    box-shadow:0 0 0 3px rgba(0,107,63,0.15);
}


.contact-section .btn{
    width:100%;
    padding:12px;
    border:none;
    border-radius:30px;
    background:#006b3f;
    color:#fff;
    font-weight:500;
    cursor:pointer;
    transition:0.3s ease;
}

.contact-section .btn:hover{
    opacity:0.9;
    transform:translateY(-2px);
}


.cta{
    text-align:center;
    padding:70px 20px;
}

.cta h2{
    font-size:1.6rem;
    margin-bottom:10px;
}

.cta p{
    color:#f3eded;
}



.gallery .gallery-grid{
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
}

.culture-feature .gallery-grid{
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
}

.gallery .gallery-grid img,
.culture-feature .gallery-grid img{
    width:100%;
    aspect-ratio:1 / 1;
    height:auto;
    min-height:220px;
    object-fit:cover;
    display:block;
}

@media (max-width:768px){
    .gallery .gallery-grid,
    .culture-feature .gallery-grid{
        grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
    }

    .gallery .gallery-grid img,
    .culture-feature .gallery-grid img{
        min-height:160px;
    }
}



.card img,
.culture-card > img,
.challenges-card > img,
.impact-card > img,
.solutions-card > img,
.culture-content img,
.gallery-grid img{
    width:100%;
    aspect-ratio:1 / 1;
    height:auto;
    min-height:220px;
    object-fit:cover;
    display:block;
}

.home-hero,
.unity-hero,
.culture-hero,
.impact-hero,
.challenges-hero,
.solutions-hero{
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
}

.home-hero{
    background-image:url("/unity2.jpg");
}

.unity-hero{
    background-image:url("/images/unity.jpg");
}

.culture-hero{
    background-image:url("/images/fest2.jpg");
}

.impact-hero{
    background-image:url("/images/progress.jpg");
}

.challenges-hero{
    background-image:url("/images/tension.jpg");
}

.solutions-hero{
    background-image:url("/images/grow.jpg");
}

@media (max-width:768px){
    .card img,
    .culture-card > img,
    .challenges-card > img,
    .impact-card > img,
    .solutions-card > img,
    .culture-content img,
.gallery-grid img{
        min-height:160px;
    }

    .hero{
        background-attachment:scroll;
    }
}

.split .image img,
.split-image img,
.split img{
    width:100%;
    aspect-ratio:auto;
    height:320px;
    min-height:0;
    object-fit:cover;
    display:block;
}

@media (max-width:768px){
    .split .image img,
    .split-image img,
    .split img{
        height:240px;
    }
}



.contact-page{
    background:
        radial-gradient(circle at top left, rgba(0,107,63,0.16), transparent 35%),
        linear-gradient(180deg, #f6f8f4 0%, #eef3ec 100%);
}

.contact-hero{
    padding:110px 0 50px;
}

.contact-hero-grid{
    display:grid;
    grid-template-columns:1.2fr 0.9fr;
    gap:28px;
    align-items:stretch;
}

.contact-hero-copy{
    position:relative;
    padding:42px;
    border-radius:28px;
    overflow:hidden;
    min-height:420px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.72)),
        url("/images/scene.jpg") center/cover no-repeat;
    color:#fff;
    box-shadow:0 22px 60px rgba(0,0,0,0.16);
}

.contact-eyebrow{
    display:inline-flex;
    width:max-content;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.28);
    font-size:0.78rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    margin-bottom:18px;
}

.contact-hero-copy h1{
    font-size:clamp(2.2rem, 4vw, 4rem);
    line-height:1.08;
    margin-bottom:18px;
    max-width:12ch;
}

.contact-hero-copy p{
    max-width:34rem;
    color:rgba(255,255,255,0.92);
    font-size:1.05rem;
    line-height:1.85;
}

.contact-pill-row{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:26px;
}

.contact-pill{
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.22);
    font-size:0.92rem;
}

.contact-hero-card{
    padding:34px;
    border-radius:28px;
    background:rgba(255,255,255,0.94);
    border:1px solid rgba(0,107,63,0.08);
    box-shadow:0 18px 45px rgba(28,43,34,0.09);
}

.contact-hero-card h2{
    text-align:left;
    font-size:1.75rem;
    margin-bottom:12px;
}

.contact-hero-card p{
    color:#4f5c55;
    line-height:1.8;
}

.contact-hero-points{
    display:grid;
    gap:16px;
    margin-top:24px;
}

.point-item{
    padding:18px 20px;
    border-radius:18px;
    background:linear-gradient(180deg, #f9fbf7 0%, #edf4ee 100%);
    border:1px solid rgba(0,107,63,0.08);
}

.point-item strong{
    display:block;
    font-size:1rem;
    color:#173f2d;
    margin-bottom:6px;
}

.point-item span{
    color:#526056;
    line-height:1.65;
}

.contact-section{
    padding:30px 0 90px;
}

.contact-layout{
    display:grid;
    grid-template-columns:0.88fr 1.12fr;
    gap:28px;
    align-items:start;
}

.contact-info-card,
.contact-form-card{
    background:#fff;
    border-radius:28px;
    padding:34px;
    box-shadow:0 18px 45px rgba(28,43,34,0.08);
    border:1px solid rgba(0,107,63,0.08);
}

.contact-title{
    text-align:left;
    margin-bottom:28px;
}

.contact-title h2{
    text-align:left;
    margin-bottom:12px;
}

.contact-title p{
    margin:0;
    max-width:none;
}

.contact-info-list{
    display:grid;
    gap:18px;
    margin-bottom:28px;
}

.contact-info-item{
    padding:18px 20px;
    border-radius:18px;
    background:#f7faf6;
    border:1px solid rgba(0,107,63,0.08);
}

.contact-label{
    display:block;
    font-size:0.82rem;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#006b3f;
    margin-bottom:6px;
}

.contact-info-item a,
.contact-info-item p{
    color:#24342a;
    font-size:1.02rem;
    text-decoration:none;
}

.contact-side-note{
    padding:22px;
    border-radius:22px;
    background:linear-gradient(145deg, #0d6c43 0%, #1d472d 100%);
    color:#fff;
}

.contact-side-note h3{
    margin-bottom:10px;
    font-size:1.15rem;
}

.contact-side-note p{
    color:rgba(255,255,255,0.9);
    line-height:1.75;
}

.contact-form-header{
    margin-bottom:26px;
}

.contact-form-header h2{
    text-align:left;
    margin-bottom:10px;
}

.contact-form-header p{
    color:#556259;
}

.contact-form{
    display:grid;
    gap:14px;
}

.contact-form label{
    font-weight:600;
    color:#24342a;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:15px 16px;
    border-radius:16px;
    border:1px solid #d9e1da;
    background:#fbfcfb;
    font-size:1rem;
    outline:none;
    transition:0.25s ease;
}

.contact-form input:focus,
.contact-form textarea:focus{
    border-color:#0d6c43;
    box-shadow:0 0 0 4px rgba(13,108,67,0.12);
    background:#fff;
}

.contact-form textarea{
    resize:vertical;
    min-height:180px;
}

.contact-form .btn{
    width:100%;
    margin-top:10px;
    padding:15px 20px;
    border:none;
    cursor:pointer;
    font-size:1rem;
}

.contact-cta{
    padding:0 0 90px;
}

.contact-cta .container{
    text-align:center;
    padding:38px 28px;
    border-radius:28px;
    color:#fff;
    background:
        linear-gradient(135deg, rgba(124, 48, 57, 0.92), rgba(79, 155, 123, 0.92)),
        url("/images/Gh flag.jpg") center/cover no-repeat;
    box-shadow:0 20px 50px rgba(0,0,0,0.14);
}

.contact-cta h2{
    color:#fff;
    margin-bottom:12px;
}

.contact-cta p{
    color:rgba(255,255,255,0.92);
    max-width:780px;
    margin:0 auto;
}

@media (max-width:960px){
    .contact-hero-grid,
    .contact-layout{
        grid-template-columns:1fr;
    }

    .contact-hero-copy{
        min-height:360px;
    }
}

@media (max-width:768px){
    .contact-hero{
        padding:90px 0 40px;
    }

    .contact-hero-copy,
    .contact-hero-card,
    .contact-info-card,
    .contact-form-card{
        padding:24px;
        border-radius:22px;
    }

    .contact-pill-row{
        gap:10px;
    }

    .contact-pill{
        font-size:0.85rem;
    }

    .contact-section{
        padding:20px 0 70px;
    }

    .contact-cta{
        padding:0 0 70px;
    }

    .contact-cta .container{
        padding:28px 20px;
        border-radius:22px;
    }
}



.compact-contact{
    padding:110px 0 26px;
}

.compact-contact-hero{
    text-align:center;
    padding:46px 28px;
    border-radius:28px;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.38), rgba(0,0,0,0.62)),
        url("/images/Gh flag.jpg") center/cover no-repeat;
    color:#fff;
    box-shadow:0 18px 45px rgba(0,0,0,0.14);
}

.compact-contact-hero h1{
    font-size:clamp(2rem, 4vw, 3.2rem);
    margin-bottom:12px;
    color:#fff;
}

.compact-contact-hero p{
    max-width:640px;
    margin:0 auto;
    color:rgba(255,255,255,0.92);
    font-size:1rem;
}

.compact-contact-section{
    padding:26px 0 80px;
}

.compact-contact-layout{
    display:grid;
    grid-template-columns:0.82fr 1.18fr;
    gap:24px;
    align-items:start;
}

.compact-contact-info,
.compact-form-card{
    background:#fff;
    border-radius:24px;
    padding:28px;
    border:1px solid rgba(0,107,63,0.08);
    box-shadow:0 14px 34px rgba(28,43,34,0.08);
}

.compact-contact-info h2,
.compact-form-card h2{
    text-align:left;
    margin-bottom:10px;
}

.compact-info-grid{
    display:grid;
    gap:14px;
    margin-top:20px;
}

.compact-info-item{
    padding:16px 18px;
    border-radius:18px;
    background:#f7faf6;
    border:1px solid rgba(0,107,63,0.08);
}

.compact-info-item span{
    display:block;
    margin-bottom:6px;
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#006b3f;
}

.compact-info-item a,
.compact-info-item p{
    color:#223229;
    text-decoration:none;
    margin:0;
}

.compact-form-card .contact-form-header{
    margin-bottom:18px;
}

.compact-form-card .contact-form-header p{
    color:#5a655f;
}

.compact-form-card .contact-form{
    gap:12px;
}

.compact-form-card .contact-form textarea{
    min-height:150px;
}

.compact-form-card .btn{
    margin-top:8px;
}

.contact-cta{
    display:none;
}

@media (max-width:900px){
    .compact-contact-layout{
        grid-template-columns:1fr;
    }
}

@media (max-width:768px){
    .compact-contact{
        padding:90px 0 20px;
    }

    .compact-contact-hero,
    .compact-contact-info,
    .compact-form-card{
        padding:22px;
        border-radius:20px;
    }

    .compact-contact-section{
        padding:20px 0 64px;
    }
}



#vision .container{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap:36px;
    align-items:center;
}

#vision .split-text{
    max-width:680px;
}

#vision .split-image{
    display:flex;
}

#vision .split-image img{
    width:100%;
    height:420px;
    min-height:420px;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center top;
    border-radius:24px;
    box-shadow:0 18px 45px rgba(0,0,0,0.12);
}

@media (max-width:768px){
    #vision .container{
        grid-template-columns:1fr;
    }

    #vision .split-image img{
        height:300px;
        min-height:300px;
    }
}



.home-page{
    background:
        radial-gradient(circle at top left, rgba(0,107,63,0.1), transparent 32%),
        linear-gradient(180deg, #f7f7f2 0%, #eef2ec 100%);
}

.home-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(120deg, rgba(0,0,0,0.58), rgba(0,0,0,0.18) 48%, rgba(0,0,0,0.7)),
        radial-gradient(circle at top left, rgba(206,17,38,0.18), transparent 30%);
    z-index:1;
}

.hero-overlay{
    z-index:0;
}

.home-hero-content{
    max-width:760px;
    padding-top:40px;
}

.home-eyebrow,
.home-section-kicker,
.home-section-heading span{
    display:inline-flex;
    width:max-content;
    padding:8px 14px;
    border-radius:999px;
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
}

.home-eyebrow{
    margin:0 auto 18px;
    color:#fff;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.22);
}

.home-hero h1{
    font-size:clamp(2.8rem, 6vw, 5.3rem);
    line-height:0.98;
    letter-spacing:-0.03em;
    max-width:10ch;
    margin-left:auto;
    margin-right:auto;
}

.home-hero p{
    max-width:44rem;
    margin-left:auto;
    margin-right:auto;
    font-size:1.08rem;
}

.home-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    margin-top:60px;
}

.home-stats .stat{
    padding:22px 20px;
    border-radius:22px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.2);
    backdrop-filter:blur(10px);
}

.home-stats .stat h2{
    margin-bottom:8px;
}

.home-stats .stat p{
    color:rgba(255,255,255,0.88);
    margin:0;
    font-size:0.96rem;
}

.home-about-section,
.home-feature-section,
.home-gallery-section,
.home-testimonial-section{
    padding-top:92px;
    padding-bottom:92px;
}

.home-intro{
    max-width:820px;
    margin:0 auto;
    text-align:center;
    padding:38px 34px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(245,249,244,0.96));
    box-shadow:0 20px 48px rgba(30,42,33,0.08);
    border:1px solid rgba(0,107,63,0.08);
}

.home-intro-badge,
.home-section-kicker,
.home-section-heading span{
    color:#006b3f;
    background:rgba(0,107,63,0.08);
    border:1px solid rgba(0,107,63,0.1);
}

.home-section-heading{
    text-align:center;
    max-width:720px;
    margin:0 auto 34px;
}

.home-section-heading span{
    margin-bottom:14px;
}

.home-section-heading h2{
    margin-bottom:12px;
}

.home-section-heading p{
    color:#57645d;
}

.home-feature-grid,
.home-testimonial-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.home-feature-card{
    padding:28px;
    border-radius:24px;
    background:linear-gradient(180deg, #ffffff 0%, #f4f7f2 100%);
    box-shadow:0 18px 42px rgba(27,38,32,0.08);
    border:1px solid rgba(0,107,63,0.07);
}

.feature-kicker{
    display:inline-flex;
    margin-bottom:14px;
    font-size:0.84rem;
    font-weight:700;
    color:#ce1126;
}

.home-feature-card h3{
    font-size:1.25rem;
    margin-bottom:10px;
}

.home-vision-section{
    padding-top:20px;
    padding-bottom:95px;
}

#vision .split-text{
    padding:10px 0;
}

.home-vision-btn{
    margin-top:18px;
    display:inline-block;
}

#vision .split-image img{
    border-radius:28px;
}

.home-gallery-section .gallery-grid{
    gap:18px;
}

.home-gallery-section .gallery-grid img{
    border-radius:20px;
    box-shadow:0 12px 32px rgba(0,0,0,0.08);
}

.home-testimonial-card{
    padding:28px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 42px rgba(26,35,31,0.08);
    border:1px solid rgba(0,107,63,0.07);
}

.home-testimonial-card p{
    font-size:1rem;
    line-height:1.9;
    color:#33423a;
}

.home-testimonial-card h4{
    margin-top:16px;
    color:#006b3f;
    font-weight:600;
}

.home-cta .container{
    max-width:900px;
    padding:44px 34px;
    background:
        linear-gradient(135deg, rgba(0,107,63,0.94), rgba(18,53,34,0.94)),
        url("/images/Gh flag.jpg") center/cover no-repeat;
    box-shadow:0 20px 50px rgba(0,0,0,0.14);
}

.home-cta h2,
.home-cta p{
    color:#fff;
}

.home-cta .home-section-kicker{
    color:#fff;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.18);
    margin-bottom:14px;
}

@media (max-width:960px){
    .home-stats,
    .home-feature-grid,
    .home-testimonial-grid{
        grid-template-columns:1fr;
    }

    .home-hero h1{
        max-width:12ch;
    }
}

@media (max-width:768px){
    .home-about-section,
    .home-feature-section,
    .home-gallery-section,
    .home-testimonial-section,
    .home-vision-section{
        padding-top:68px;
        padding-bottom:68px;
    }

    .home-intro,
    .home-cta .container{
        padding:28px 22px;
    }

    .home-feature-card,
    .home-testimonial-card{
        padding:24px;
        border-radius:20px;
    }

    .home-stats{
        gap:14px;
        margin-top:34px;
    }
}

.btn.secondary{
    background:transparent !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,0.35);
    border-radius:30px;
}

.home-about-section{
    background:#FFFEF2;
}

.home-cta{
    border-radius:0;
}

.split-content{
    max-width:550px;
    text-align:left;
}

.split-content h2{
    text-align:left;
}


@media (max-width:1024px){
    .home-feature-grid,
    .gallery-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media (max-width:768px){
    .home-feature-grid,
    .gallery-grid,
    .testimonial-cards,
    .grid-3,
    .grid-2{
        grid-template-columns:1fr;
    }
}

section{
    border-radius:0 !important;
}

.cta{
    border-radius:0 !important;
}

section.cta{
    border-radius:0 !important;
}

/* Enhanced Mobile Responsiveness */
@media only screen and (max-width: 1024px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
    
    .home-feature-grid,
    .home-testimonial-grid,
    .grid-3,
    .testimonial-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (max-width: 768px) {
    html {
        font-size: 16px;
    }
    
    body {
        line-height: 1.6;
    }
    
    .container {
        width: 95%;
        padding: 0 10px;
    }
    
    /* Navbar */
    .navbar {
        padding: 15px 20px;
    }
    
    .nav-links {
        gap: 20px;
    }
    
    /* Hero */
    .hero h1 {
        font-size: clamp(28px, 8vw, 32px);
        padding: 0 15px;
        line-height: 1.1;
    }
    
    .hero p {
        font-size: 1.1rem;
        padding: 0 15px;
    }
    
    .hero-stats {
        flex-direction: column;
        gap: 15px;
        margin-top: 30px;
    }
    
    .stat h2 {
        font-size: 24px;
    }
    
    /* Sections */
    section,
    .section {
        padding: 50px 0;
    }
    
    /* Grids */
    .home-feature-grid,
    .home-testimonial-grid,
    .grid-3,
    .culture-grid,
    .gallery-grid,
    .challenges-grid,
    .impact-grid,
    .solutions-grid,
    .testimonial-cards {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 15px;
    }
    
    .grid-2 {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .split {
        gap: 25px;
    }
    
    /* Cards & Images */
    .card img,
    .culture-card > img,
    .challenges-card > img,
    .impact-card > img,
    .solutions-card > img,
    .culture-content img,
    .gallery-grid img {
        min-height: 140px;
    }
    
    .split img,
    .split .image img {
        height: 220px;
    }
    
    h2 {
        font-size: clamp(1.8rem, 5vw, 2.1rem);
    }
    
    .section-header h2,
    .section-title h2 {
        font-size: 1.8rem;
    }
    
    .btn {
        padding: 12px 20px;
        font-size: 0.95rem;
    }
    
    /* Contact & Hero specific */
    .contact-hero-grid,
    .contact-layout,
    .compact-contact-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media only screen and (max-width: 480px) {
    html {
        font-size: 15px;
    }
    
    section,
    .section {
        padding: 40px 0;
    }
    
    .navbar {
        padding: 12px 15px;
    }
    
    .hero {
        height: 90vh;
    }
    
    .hero h1 {
        font-size: clamp(24px, 7vw, 28px);
    }
    
    /* Tighter grids */
    .home-feature-grid,
    .home-testimonial-grid,
    .grid-3,
    .culture-grid,
    .gallery-grid,
    .challenges-grid,
    .impact-grid,
    .solutions-grid,
    .testimonial-cards {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 12px;
    }
    
    /* Smaller images */
    .card img,
    .culture-card > img,
    .challenges-card > img,
    .impact-card > img,
    .solutions-card > img,
    .culture-content img,
    .gallery-grid img {
        min-height: 120px;
    }
    
    .split img,
    .split .image img {
        height: 180px;
    }
    
    .card,
    .culture-card {
        padding: 18px;
    }
    
    /* Forms */
    .contact-form input,
    .contact-form textarea {
        padding: 12px;
        font-size: 16px; /* Prevent zoom */
    }
    
    /* Reduce footer */
    .footer {
        padding: 40px 0;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .card:hover,
    .gallery-grid img:hover,
    .split img:hover {
        transform: none;
    }
}

