*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins', sans-serif;
color:#222;
background:#ffffff;
line-height:1.6;
}

/* HEADER */

/* Royal Gold Line Below Header */

header {
    border-bottom: 5px solid #D4AF37;
    position: relative;
}


header::after {

    content:"";
    position:absolute;
    bottom:-10px;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(
        90deg,
        #0B6B3A,
        #D4AF37,
        #0B6B3A
    );

}

header{
background:#111111;
color:#D4AF37;
padding:20px 8%;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
}

.logo h1{
font-size:28px;
font-weight:700;
}

.logo p{
color:#ffffff;
font-size:14px;
}

nav a{

color:white;
text-decoration:none;
margin:0 12px;
font-weight:600;
}

nav a:hover{

color:#D4AF37;

}

/* HERO SECTION */

.hero{

height:550px;
background:
linear-gradient(
rgba(0,0,0,0.6),
rgba(0,0,0,0.6)
),
url("../images/hero.jpg");

background-size:cover;
background-position:center;

display:flex;
align-items:center;
justify-content:center;
text-align:center;

color:white;

}

.hero-content{

max-width:800px;

}

.hero h2{

font-size:45px;
color:#D4AF37;
margin-bottom:20px;

}

.hero p{

font-size:20px;
}

/* BUTTONS */

.btn{

display:inline-block;
background:#D4AF37;
color:#111;
padding:14px 25px;
margin:20px 10px;
text-decoration:none;
border-radius:5px;
font-weight:bold;

}

.btn:hover{

background:#0B6B3A;
color:white;

}

.donate{

background:#0B6B3A;
color:white;

}

/* SECTIONS */

section{

padding:60px 8%;
text-align:center;

}

section h2{

color:#0B6B3A;
font-size:32px;
margin-bottom:30px;

}

/* LEADERS */

.leaders{

background:#f5f5f5;

}

.leader-card{

display:inline-block;
width:300px;
margin:20px;
padding:25px;
background:white;
border:3px solid #D4AF37;
border-radius:10px;

}

.leader-card img{

    width:250px;
    height:250px;
    object-fit:cover;
    border-radius:50%;
    display:block;
    margin:0 auto 20px;

}

.leader-card h3{

color:#0B6B3A;
margin-top:15px;

}

/* PROGRAMMES */

.box{

display:inline-block;
width:250px;
margin:15px;
padding:25px;

background:#111;
color:white;

border-top:5px solid #D4AF37;

}

.box h3{

color:#D4AF37;

}

/* CALL TO ACTION */

.call{

background:#0B6B3A;
color:white;

}

.call h2{

color:#D4AF37;

}

/* FOOTER */

footer{

background:#111;
color:white;
text-align:center;
padding:30px;

}

footer h3{

color:#D4AF37;

}

/* MOBILE RESPONSIVE */

@media(max-width:768px){

header{

flex-direction:column;
text-align:center;

}

nav{

margin-top:20px;

}

nav a{

display:block;
margin:10px;

}

.hero h2{

font-size:32px;

}

.hero p{

font-size:16px;

}

.leader-card,
.box{

width:90%;

}

.form-box{

max-width:600px;
margin:auto;
background:#f5f5f5;
padding:30px;
border-radius:10px;
border-top:5px solid #D4AF37;

}

.form-box label{

display:block;
text-align:left;
font-weight:bold;
margin-top:15px;

}

.form-box input,
.form-box select,
.form-box textarea{

width:100%;
padding:12px;
margin-top:5px;
border:1px solid #ccc;
border-radius:5px;

}

.form-box button{

width:100%;
background:#0B6B3A;
color:white;
font-size:16px;

}

/* Gallery */

.gallery{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;

}

.gallery-item{

background:#f5f5f5;
padding:15px;
border-top:5px solid #D4AF37;
border-radius:10px;

}

.gallery-item img{

width:100%;
height:220px;
object-fit:cover;
border-radius:8px;

}

.gallery-item h3{

color:#0B6B3A;
margin-top:15px;

}

}

.founder-link,
.founder-link:visited{

    color:#D4AF37;
    text-decoration:none;
    font-weight:bold;

}


.founder-link:hover{

    color:#0B6B3A;

}

.logo img{
    width:90px;
    height:90px;
    object-fit:contain;
    border-radius:50%;
    margin-bottom:10px;
}

/* Hero Animation */

.hero{
    height:550px;
    background:
    linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),
    url("../images/hero.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:white;

    animation: zoomHero 12s infinite alternate;
}

@keyframes zoomHero{
    from{
        background-size:100%;
    }

    to{
        background-size:110%;
    }
}

.hero-content{
    animation: slideUp 1.5s ease;
}

@keyframes fadeIn{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}

@keyframes slideUp{
    from{
        opacity:0;
        transform:translateY(50px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Floating WhatsApp Button */

.whatsapp-float{

position:fixed;
width:60px;
height:60px;
bottom:25px;
right:25px;

background:#25D366;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

box-shadow:0 4px 10px rgba(0,0,0,0.3);

z-index:1000;

}


.whatsapp-float img{

width:35px;
height:35px;

}


.whatsapp-float:hover{

transform:scale(1.1);

}

/* Floating WhatsApp Button */

.whatsapp-float{

position:fixed;
width:60px;
height:60px;
bottom:25px;
right:25px;

background:#25D366;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

box-shadow:0 4px 10px rgba(0,0,0,0.3);

z-index:9999;

transition:0.3s;

}


.whatsapp-float img{

width:38px;
height:38px;

}


.whatsapp-float:hover{

transform:scale(1.1);

}

/* WhatsApp Floating Button */

.whatsapp-container{

position:fixed;
bottom:25px;
right:25px;

display:flex;
align-items:center;
gap:10px;

z-index:9999;

}


.whatsapp-float{

width:60px;
height:60px;

background:#25D366;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

box-shadow:0 4px 12px rgba(0,0,0,0.3);

transition:0.3s;

}


.whatsapp-float img{

width:38px;
height:38px;

}


.whatsapp-float:hover{

transform:scale(1.1);

}

.whatsapp-text{

background:#0B6B3A;

color:white;

padding:8px 15px;

border-radius:20px;

font-size:14px;

font-weight:bold;

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{
opacity:1;
}

50%{
opacity:0.6;
}

100%{
opacity:1;
}

}

.leaders-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

    margin-top:30px;

}

.logo img{

width:100px;
height:100px;

border-radius:50%;

animation:floatingLogo 3s ease-in-out infinite;

box-shadow:0 0 10px gold;

transition:.5s;

}


.logo img:hover{

box-shadow:
0 0 20px gold,
0 0 40px gold,
0 0 60px gold;

transform:scale(1.1);

}


@keyframes floatingLogo{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-12px);
}

100%{
transform:translateY(0);
}

}

/* Contact Persons */

.contact-team{
    padding:60px 10%;
    background:#f8f8f8;
}

.contact-team h2{
    text-align:center;
    color:#0B6B3A;
    margin-bottom:30px;
}

.contact-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.contact-card{
    background:#fff;
    padding:25px;
    border-radius:10px;
    border-top:5px solid #D4AF37;
    box-shadow:0 4px 10px rgba(0,0,0,0.1);
    transition:.3s;
}

.contact-card:hover{
    transform:translateY(-5px);
}

.contact-card h3{
    color:#111;
    margin-bottom:10px;
}

.contact-card p{
    margin:8px 0;
    color:#555;
}

.contact-info a,
.contact-info a:visited{
    color:#0B6B3A;
    text-decoration:none;
    font-weight:bold;
}

.contact-info a:hover{
    color:#D4AF37;
}

.gallery-title{

color:#D4AF37;
margin-top:40px;
text-align:center;
font-size:28px;

}


.gallery{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
margin:25px 0;

}


.gallery-item{

overflow:hidden;
border-radius:10px;

}


.gallery-item img{

width:100%;
height:250px;
object-fit:cover;

transition:0.5s;

}


.gallery-item img:hover{

transform:scale(1.1);

}

/* News Section */

.news-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;

}


.news-card{

background:white;
border-radius:12px;
overflow:hidden;
box-shadow:0 5px 15px rgba(0,0,0,0.1);

}



.news-card img{

width:100%;
height:220px;
object-fit:cover;

}



.news-content{

padding:20px;

}


.news-content h3{

color:#0B6B3A;

}


.date{

color:#D4AF37;
font-weight:bold;

}


.news-card:hover{

transform:translateY(-5px);
transition:.3s;

}

/* Our Key Areas */

.program-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-top:30px;

}



.program-card{

background:white;

border-radius:12px;

overflow:hidden;

box-shadow:0 5px 15px rgba(0,0,0,0.15);

transition:0.4s;

}



.program-card:hover{

transform:translateY(-10px);

}

.program-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    object-position:center;
    border-radius:12px 12px 0 0;
    transition:.4s;
}

.program-card:hover img{
    transform:scale(1.08);
}



.program-card h3{

color:#0B6B3A;

padding:15px 20px 0;

}



.program-card p{

padding:0 20px 20px;

line-height:1.6;

}

/* Membership Form Design */


.membership-section{

background:
linear-gradient(
135deg,
rgba(11,107,58,0.9),
rgba(212,175,55,0.8)
);

padding:70px 20px;

}



.membership-container{

max-width:800px;

margin:auto;

background:white;

padding:40px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,0.2);

}



.membership-header{

text-align:center;

margin-bottom:30px;

}



.membership-header h1{

color:#0B6B3A;

font-size:35px;

}



.membership-header p{

color:#555;

line-height:1.7;

}




.membership-form{

display:grid;

gap:20px;

}



.form-group{

display:flex;

flex-direction:column;

}



.form-group label{

font-weight:bold;

margin-bottom:8px;

color:#333;

}



.form-group input,
.form-group select,
.form-group textarea{


padding:14px;

border:1px solid #ddd;

border-radius:8px;

font-size:15px;

}



.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

outline:none;

border-color:#D4AF37;

}



.checkbox{

display:flex;

gap:10px;

align-items:center;

}



.membership-form button{

background:#0B6B3A;

color:white;

border:none;

padding:15px;

font-size:17px;

font-weight:bold;

border-radius:30px;

cursor:pointer;

transition:.3s;

}



.membership-form button:hover{

background:#D4AF37;

color:black;

}

/* Programmes Section */


.programmes-section{

padding:70px 8%;

background:#f8f8f8;

}



.programmes-section h1{

text-align:center;

color:#0B6B3A;

font-size:38px;

}



.intro{

text-align:center;

max-width:800px;

margin:20px auto 40px;

line-height:1.7;

}



.programmes-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}



.programme-card{

background:white;

border-radius:15px;

overflow:hidden;

box-shadow:0 5px 20px rgba(0,0,0,0.15);

transition:.4s;

}



.programme-card:hover{

transform:translateY(-10px);

}



.programme-card img{

width:100%;

height:230px;

object-fit:cover;

}



.programme-content{

padding:25px;

}



.programme-content h2{

color:#0B6B3A;

font-size:22px;

}



.programme-content p{

line-height:1.7;

color:#555;

}

.news-preview{

padding:60px 8%;

background:#ffffff;

}


.news-preview h2{

text-align:center;

color:#0B6B3A;

font-size:32px;

margin-bottom:40px;

}



.news-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}



.news-card{

background:white;

border-radius:15px;

overflow:hidden;

box-shadow:0 5px 20px rgba(0,0,0,0.15);

transition:.3s;

}



.news-card:hover{

transform:translateY(-8px);

}



.news-card img{

width:100%;

height:230px;

object-fit:cover;

}



.news-content{

padding:20px;

}



.news-content h3{

color:#0B6B3A;

font-size:22px;

}



.news-content .date{

color:#D4AF37;

font-weight:bold;

}



.news-content p{

line-height:1.7;

color:#555;

}

.impact{

padding:70px 8%;
background:#f5f5f5;
text-align:center;

}


.impact h2{

color:#0B6B3A;
font-size:35px;

}



.impact-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
margin-top:40px;

}



.impact-box{

background:white;
padding:30px;
border-radius:15px;
box-shadow:0 5px 15px rgba(0,0,0,.15);

}



.impact-box h3{

font-size:40px;
color:#D4AF37;

}



.impact-box p{

font-size:18px;

}




@media(max-width:900px){

.impact-grid{

grid-template-columns:repeat(2,1fr);

}

}



@media(max-width:600px){

.impact-grid{

grid-template-columns:1fr;

}

}

.page-banner{

background:#0B6B3A;
color:white;
padding:70px 10%;
text-align:center;

}


.program-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}



.program-card{

background:white;
border-radius:15px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,.15);
text-align:center;
padding-bottom:25px;

}



.program-card img{

width:100%;
height:230px;
object-fit:cover;

}



.program-card h3{

color:#0B6B3A;
font-size:22px;

}


.program-card p{

padding:0 20px;
line-height:1.7;

}



@media(max-width:900px){

.program-grid{
grid-template-columns:repeat(2,1fr);
}

}


@media(max-width:600px){

.program-grid{
grid-template-columns:1fr;
}

}

.contact-team,
.contact-info,
.map{

padding:50px 8%;

}



.contact-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}



.contact-card{

background:white;

padding:25px;

border-radius:15px;

text-align:center;

box-shadow:0 5px 20px rgba(0,0,0,.15);

}



.contact-card h3{

color:#0B6B3A;

font-size:20px;

}




.info-box{

background:#f5f5f5;

padding:30px;

border-left:6px solid #D4AF37;

line-height:1.8;

}



.map iframe{

border-radius:15px;

}




@media(max-width:900px){

.contact-grid{

grid-template-columns:repeat(2,1fr);

}

}



@media(max-width:600px){

.contact-grid{

grid-template-columns:1fr;

}

}

.vision-mission{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
padding:50px 8%;

}


.vision,
.mission{

background:white;
padding:30px;
border-radius:15px;
box-shadow:0 5px 20px rgba(0,0,0,.15);

}


.vision h2,
.mission h2{

color:#0B6B3A;

}



@media(max-width:700px){

.vision-mission{

grid-template-columns:1fr;

}

}

.donation-section{

padding:50px 8%;
text-align:center;

}


.donation-card{

background:white;
padding:30px;
margin:20px auto;
max-width:500px;
border-radius:15px;
box-shadow:0 5px 20px rgba(0,0,0,.15);

}


.donation-card h3{

color:#0B6B3A;

}


.page-banner{

background:linear-gradient(135deg,#0B6B3A,#D4AF37);
color:white;
padding:70px 20px;
text-align:center;

}


.page-banner h1{

font-size:40px;

}


@media(max-width:700px){

.page-banner h1{

font-size:30px;

}

}

.gallery{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
margin-bottom:50px;

}


.gallery-item{

background:white;
border-radius:15px;
overflow:hidden;
box-shadow:0 5px 15px rgba(0,0,0,.15);
text-align:center;

}


.gallery-item img{

width:100%;
height:250px;
object-fit:cover;

}


.gallery-item p{

padding:15px;
font-weight:600;

}


.gallery-title{

color:#0B6B3A;
margin-top:50px;
text-align:center;

}



@media(max-width:768px){

.gallery{

grid-template-columns:1fr;

}

}

.adinkra-bar{

width:100%;
background:#0B6B3A;
display:flex;
justify-content:center;
align-items:center;
gap:18px;
padding:8px 0;
border-bottom:3px solid #D4AF37;

}


.adinkra-bar img{

width:35px;
height:35px;
object-fit:contain;
background:white;
padding:5px;
border-radius:50%;

transition:0.4s;

}



.adinkra-bar img:hover{

transform:rotate(360deg) scale(1.2);

}




@media(max-width:768px){

.adinkra-bar{

gap:5px;
overflow:hidden;

}


.adinkra-bar img{

width:25px;
height:25px;

}

}

/* Hero Section Royal Design */

.hero {

position:relative;
background:
linear-gradient(
rgba(0,0,0,0.55),
rgba(0,0,0,0.55)
),
url("../images/hero.jpg");

background-size:cover;
background-position:center;

min-height:600px;

display:flex;
align-items:center;
justify-content:center;

overflow:hidden;

}


/* Adinkra Watermark */

.hero::before {

content:"";

position:absolute;

background:url("../images/gye-nyame.png");

background-repeat:no-repeat;

background-position:center;

background-size:350px;

width:100%;

height:100%;

opacity:0.08;

}


.hero-content {

position:relative;

z-index:2;

text-align:center;

color:white;

}

.logo img {

width:100px;

height:100px;

border-radius:50%;

border:4px solid #D4AF37;

padding:5px;

animation:royalFloat 4s infinite ease-in-out;

}


@keyframes royalFloat {

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}

h2 {

color:#0B6B3A;

text-align:center;

position:relative;

}


h2::after {

content:"";

display:block;

width:80px;

height:4px;

background:#D4AF37;

margin:10px auto;

}

/* Premium Moving Footer */

.footer-marquee{
    width:100%;
    overflow:hidden;
    background:#0B6B3A;
    padding:12px 0;
    border-top:2px solid #D4AF37;
    border-bottom:2px solid #D4AF37;
}

.footer-marquee-content{
    display:flex;
    width:max-content;
    animation:scrollFooter 25s linear infinite;
}

.footer-marquee-content span{
    color:#fff;
    font-size:16px;
    font-weight:600;
    margin-right:80px;
    white-space:nowrap;
    display:flex;
    align-items:center;
}

.footer-marquee:hover .footer-marquee-content{
    animation-play-state:paused;
}

@keyframes scrollFooter{

    0%{
        transform:translateX(100%);
    }

    100%{
        transform:translateX(-100%);
    }

}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:25px;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.2);
    font-size:13px;
    color:#ddd;
}

.footer-bottom p{
    margin:0;
}

.footer-bottom strong{
    color:#D4AF37;
}

@media(max-width:768px){

.footer-bottom{
    flex-direction:column;
    gap:8px;
    text-align:center;
}

}

.footer-marquee{
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    margin:20px 0;
    padding:10px 0;
    border-top:1px solid rgba(255,255,255,.2);
    border-bottom:1px solid rgba(255,255,255,.2);
}

.footer-marquee-content{
    display:inline-block;
    animation:footerMove 20s linear infinite;
}

.footer-marquee-content span{
    display:inline-block;
    margin-right:80px;
    color:#fff;
    font-size:16px;
}

@keyframes footerMove{

0%{
transform:translateX(100%);
}

100%{
transform:translateX(-100%);
}

}

/* Scroll Buttons */

.scroll-buttons{
    position:fixed;
    left:15px;
    bottom:25px;
    display:flex;
    flex-direction:column;
    gap:8px;
    z-index:9999;
}

.scroll-buttons button{
    width:38px;
    height:38px;
    border:none;
    border-radius:50%;
    background:#D4AF37;
    color:#0B6B3A;
    font-size:16px;
    font-weight:bold;
    cursor:pointer;
    box-shadow:0 3px 8px rgba(0,0,0,.25);
    transition:0.3s ease;
}

.scroll-buttons button:hover{
    background:#0B6B3A;
    color:#fff;
    transform:scale(1.1);
}

/* =========================================
   Floating Scroll Buttons
========================================= */

.scroll-buttons{
    position:fixed;
    left:15px;
    bottom:25px;
    display:flex;
    flex-direction:column;
    gap:8px;
    z-index:9999;
}

.scroll-buttons button{
    width:38px;
    height:38px;
    border:none;
    border-radius:50%;
    background:#D4AF37;
    color:#0B6B3A;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
    box-shadow:0 3px 10px rgba(0,0,0,.3);
    transition:.3s;
}

.scroll-buttons button:hover{
    background:#0B6B3A;
    color:#fff;
    transform:scale(1.1);
}

/* Scroll To Top Button */
#scrollTopBtn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 35px;
    height: 35px;
    border: none;
    border-radius: 50%;
    background: #d4af37;
    color: #000;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    display: none;
    z-index: 9999;
    transition: 0.3s ease;
}

#scrollTopBtn:hover {
    transform: translateY(-5px);
    background: #000;
    color: #d4af37;
}