:root {
    --blue-900: #0A2540;
    --blue-800: #10355C;
    --blue-700: #1B4D7A;
    --teal-600: #0D7377;
    --teal-500: #14A3A3;
    --teal-100: #D1F0F0;
    --green-500: #22C55E;
    --green-400: #4ADE80;
    --green-100: #DCFCE7;
    --white: #FFFFFF;
    --cream: #F4F9F9;
    --gray-600: #6B7280;
    --gray-700: #374151;
    --border: rgba(0,0,0,0.04);
    --shadow-sm: 0 8px 25px rgba(0,0,0,0.05);
    --shadow-md: 0 18px 50px rgba(0,0,0,0.08);
    --shadow-lg: 0 30px 70px rgba(0,0,0,0.12);
    --transition: 0.35s cubic-bezier(0.22,1,0.36,1);
    --coral-400: #FF8A8A;
    --coral-500: #FF5C5C;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Lato', sans-serif;
    color: #1F2937;
    background: var(--white);
    overflow-x: hidden;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5 { font-family: 'Poppins', sans-serif; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.section-padding { padding: 100px 1.5rem; }
.eyebrow { display:inline-block; color:var(--teal-600); font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:12px; }
.section-title { font-size: clamp(32px,5vw,48px); margin-bottom:24px; color:var(--blue-900); }
.section-subtitle { color:var(--gray-600); font-size:18px; margin-bottom:40px; }
.btn {
    display:inline-flex; align-items:center; gap:0.5rem; padding:0.9rem 2rem; border-radius:50px;
    font-weight:700; font-size:1rem; transition:all 0.3s; border:none; cursor:pointer;
}
.btn-primary { background:var(--teal-600); color:white; }
.btn-primary:hover { background:var(--teal-500); transform:translateY(-2px); box-shadow:0 15px 35px rgba(13,115,119,0.3); }
.btn-outline { border:2px solid var(--teal-600); color:var(--teal-600); background:transparent; }
.btn-outline:hover { background:var(--teal-600); color:white; }
.btn-white { background:white; color:var(--blue-900); }
.btn-white:hover { background:var(--cream); }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.card {
    background:white; border-radius:20px; padding:32px; box-shadow:var(--shadow-sm);
    transition:var(--transition); border:1px solid var(--border); position:relative; overflow:hidden;
}
.card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.card::after { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--teal-500),var(--green-400)); transform:scaleX(0); transform-origin:left; transition:0.4s; }
.card:hover::after { transform:scaleX(1); }
.card-img { aspect-ratio:16/10; border-radius:16px; overflow:hidden; margin-bottom:20px; }
.card-img img { width:100%; height:100%; object-fit:cover; transition:0.6s; }
.card:hover .card-img img { transform:scale(1.06); }
.cta-link { color:var(--teal-600); font-weight:700; display:inline-flex; align-items:center; gap:6px; margin-top:16px; transition:color 0.3s; }
.cta-link:hover { color:var(--green-500); }
.reveal { opacity:0; transform:translateY(30px); transition:0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* Top Bar */
.top-bar {
    background:var(--blue-900); color:rgba(255,255,255,0.9); font-size:13px;
    padding:8px 30px; display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:10px; z-index:1001; position:relative;
}
.top-bar a { color:rgba(255,255,255,0.85); transition:color 0.3s; }
.top-bar a:hover { color:var(--green-400); }
.top-bar .left, .top-bar .right { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }

/* Navbar */
.navbar {
    position:sticky; top:0; z-index:1000; padding:14px clamp(20px,4vw,60px);
    display:flex; justify-content:space-between; align-items:center;
    background:rgba(255,255,255,0.95); backdrop-filter:blur(20px);
    box-shadow:0 8px 30px rgba(0,0,0,0.06);
    transition: background 0.4s, box-shadow 0.4s, padding 0.4s;
}
.navbar.scrolled { background:rgba(255,255,255,0.98); box-shadow:0 15px 40px rgba(0,0,0,0.1); padding:10px clamp(20px,4vw,60px); }
.logo { display:flex; align-items:center; gap:12px; color:var(--blue-900); font-size:22px; font-weight:700; z-index:1002; }
.logo img { width:46px; height:46px; border-radius:12px; object-fit:cover; box-shadow:0 4px 12px rgba(0,0,0,0.1); }
.nav-links { display:flex; gap:4px; list-style:none; align-items:center; }
.nav-links a { color:var(--blue-900); font-weight:500; font-size:14px; padding:8px 14px; border-radius:8px; transition:all 0.3s; white-space:nowrap; position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:2px; left:50%; width:0; height:2px; background:var(--teal-500); transition:all 0.3s; transform:translateX(-50%); }
.nav-links a:hover { color:var(--teal-600); }
.nav-links a:hover::after { width:60%; }
.nav-links a.active { color:var(--teal-600); }
.nav-cta { background:var(--teal-600); color:white !important; padding:10px 22px; border-radius:999px; font-weight:700; box-shadow:0 6px 20px rgba(13,115,119,0.4); }
.nav-cta:hover { background:var(--teal-500); }
.nav-cta-mobile { display:inline-block; margin-top:10px; background:var(--teal-600); color:white !important; padding:14px 20px; border-radius:999px; font-weight:700; text-align:center; }

.mobile-toggle { display:none; background:none; border:none; color:var(--blue-900); cursor:pointer; z-index:1002; padding:6px; }
.mobile-toggle span { display:block; width:24px; height:2px; background:currentColor; margin:5px 0; transition:0.3s; border-radius:2px; }
.mobile-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.mobile-toggle.active span:nth-child(2) { opacity: 0; }
.mobile-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
.mobile-menu { position:fixed; inset:0; background:rgba(255,255,255,0.98); backdrop-filter:blur(20px); z-index:1000; padding:100px 30px 30px; transform:translateX(100%); transition:0.4s ease; display:flex; flex-direction:column; gap:4px; overflow-y:auto; }
.mobile-menu.active { transform:translateX(0); }
.mobile-menu a { color:var(--blue-900); font-size:20px; font-family:'Poppins',sans-serif; font-weight:600; padding:14px 0; border-bottom:1px solid var(--border); display:block; }

/* Hero Slider */
.hero { position:relative; height:100vh; min-height:650px; overflow:hidden; }
.hero-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease; transform:scale(1.05); }
.hero-slide.active { opacity:1; transform:scale(1); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(10,37,64,0.88) 0%, rgba(13,115,119,0.55) 100%); z-index:1; }
.hero-content { position:relative; z-index:2; max-width:800px; padding:0 clamp(20px,5vw,40px); height:100%; display:flex; flex-direction:column; justify-content:center; color:white; }
.hero-tag { display:inline-block; padding:6px 18px; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); border-radius:999px; font-size:12px; font-weight:600; text-transform:uppercase; margin-bottom:20px; backdrop-filter:blur(4px); letter-spacing:1px; }
.hero h1 { font-size: clamp(36px,6vw,60px); margin-bottom:12px; text-shadow:0 4px 20px rgba(0,0,0,0.4); }
.hero .motto { font-size: clamp(18px,2.5vw,26px); color:#A7F3D0; margin-bottom:20px; font-weight:600; }
.hero p { font-size:18px; max-width:600px; margin-bottom:30px; color:rgba(255,255,255,0.9); }
.btn-group { display:flex; gap:16px; flex-wrap:wrap; }
.btn-hero-primary { background:white; color:var(--blue-900); }
.btn-hero-primary:hover { background:var(--cream); }
.btn-hero-outline { border:2px solid white; color:white; background:transparent; }
.btn-hero-outline:hover { background:rgba(255,255,255,0.2); }

/* Programs */
.programs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:30px; margin-top:40px; }
.program-card { background:white; border-radius:20px; padding:32px 28px; box-shadow:var(--shadow-sm); transition:all 0.4s; border:1px solid var(--border); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.program-card::after { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--teal-500),var(--green-400)); transform:scaleX(0); transform-origin:left; transition:0.5s; }
.program-card:hover::after { transform:scaleX(1); }
.program-card:hover { transform:translateY(-10px); box-shadow:var(--shadow-lg); border-color:rgba(13,115,119,0.2); }
.program-icon { width:64px; height:64px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:20px; color:white; background:linear-gradient(135deg,var(--teal-500),var(--blue-800)); box-shadow:0 8px 20px rgba(13,115,119,0.3); transition:transform 0.3s; }
.program-card:hover .program-icon { transform:scale(1.1) rotate(3deg); }
.program-card h3 { font-size:24px; color:var(--blue-900); margin-bottom:10px; }
.program-card p { color:var(--gray-600); font-size:15px; margin-bottom:15px; flex-grow:1; }

/* Partnership */
.partnership-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:25px; margin-top:40px; }
.partnership-block { background:white; border-radius:20px; padding:28px; box-shadow:var(--shadow-sm); border:1px solid var(--border); transition:all 0.3s; }
.partnership-block:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.partnership-block h3 { font-size:20px; color:var(--blue-900); margin-bottom:10px; }
.partnership-block p { color:var(--gray-600); font-size:14px; }
.partnership-block i { font-size:28px; color:var(--teal-600); margin-bottom:15px; }

/* Impact */
.impact-section { background:linear-gradient(135deg, var(--blue-900) 0%, #0A2540 100%); padding:100px clamp(20px,5vw,80px); position:relative; overflow:hidden; }
.impact-container { max-width:1100px; margin:0 auto; position:relative; z-index:1; }
.impact-heading { text-align:center; margin-bottom:60px; }
.impact-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px; }
.impact-stat { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:20px; padding:35px 20px; text-align:center; backdrop-filter:blur(6px); transition:0.4s; }
.impact-stat:hover { transform:translateY(-8px); background:rgba(255,255,255,0.12); }
.stat-icon { width:70px; height:70px; border-radius:20px; background:rgba(34,197,94,0.2); color:var(--green-400); display:flex; align-items:center; justify-content:center; font-size:32px; margin:0 auto 20px; }
.stat-number { font-size:58px; font-weight:700; color:white; line-height:1; margin-bottom:8px; font-family:'Poppins',sans-serif; }
.stat-label { color:rgba(255,255,255,0.7); font-size:16px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }

/* News */
.news-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px; }
.news-card { background:white; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-sm); transition:0.4s; display:flex; flex-direction:column; border:1px solid var(--border); }
.news-card:hover { transform:translateY(-10px); box-shadow:var(--shadow-lg); }
.news-image { aspect-ratio:16/10; overflow:hidden; }
.news-image img { width:100%; height:100%; object-fit:cover; transition:0.6s; }
.news-card:hover .news-image img { transform:scale(1.08); }
.news-body { padding:24px; flex-grow:1; display:flex; flex-direction:column; }
.news-meta { display:flex; gap:15px; font-size:12px; color:var(--gray-600); margin-bottom:12px; }
.news-meta i { color:var(--teal-600); margin-right:4px; }
.news-category { background:var(--teal-100); color:var(--teal-600); padding:4px 12px; border-radius:999px; font-weight:600; font-size:11px; text-transform:uppercase; }
.news-card h3 { font-size:22px; color:var(--blue-900); margin-bottom:10px; }
.news-excerpt { color:var(--gray-600); font-size:14px; flex-grow:1; margin-bottom:20px; }

/* Contact */
.contact-wrapper { display:grid; grid-template-columns:1fr 1.2fr; gap:50px; margin-top:50px; }
.contact-info { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.info-card { background:white; border-radius:20px; padding:28px 22px; box-shadow:var(--shadow-sm); border:1px solid var(--border); transition:0.3s; }
.info-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.info-icon { width:50px; height:50px; border-radius:14px; background:var(--teal-100); color:var(--teal-600); display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:15px; }
.info-card h4 { font-size:20px; color:var(--blue-900); margin-bottom:8px; }
.info-card p { color:var(--gray-600); font-size:14px; }

/* Footer */
.footer { background:var(--blue-900); color:rgba(255,255,255,0.85); padding:80px clamp(20px,5vw,60px) 20px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; margin-bottom:50px; }
.footer-col h4 { font-size:20px; color:var(--green-400); margin-bottom:20px; }
.footer-col ul { list-style:none; padding:0; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { color:rgba(255,255,255,0.7); font-size:14px; transition:0.3s; }
.footer-col ul li a:hover { color:var(--green-400); }
.footer-about p { color:rgba(255,255,255,0.7); font-size:14px; margin-bottom:20px; }
.footer-socials { display:flex; gap:12px; }
.footer-socials a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.1); color:white; font-size:16px; transition:0.3s; }
.footer-socials a:hover { background:var(--green-400); color:var(--blue-900); transform:translateY(-4px); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:30px; text-align:center; }
.footer-bottom p { font-size:13px; color:rgba(255,255,255,0.5); }

.back-to-top { position:fixed; bottom:30px; right:30px; width:50px; height:50px; border-radius:50%; background:var(--teal-600); color:white; display:flex; align-items:center; justify-content:center; font-size:20px; cursor:pointer; opacity:0; visibility:hidden; transition:0.3s; z-index:999; border:none; box-shadow:0 10px 25px rgba(13,115,119,0.4); }
.back-to-top.visible { opacity:1; visibility:visible; }
.back-to-top:hover { background:var(--teal-500); }

/* Card icons for get-involved */
.card-icon { width:60px; height:60px; border-radius:18px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.card-icon i { font-size:28px; }

/* Responsive */
@media (max-width:1024px) {
    .nav-links { display:none; }
    .mobile-toggle { display:block; }
    .grid-2, .grid-3, .contact-wrapper { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
    .top-bar { display:none; }
    .footer-grid { grid-template-columns:1fr; }
    .contact-info { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; gap:0; }
    .programs-grid, .news-grid, .partnership-grid { grid-template-columns:1fr; }
    .hero { min-height:550px; }
    .hero h1 { font-size:34px; }
    .hero .motto { font-size:20px; }
    .hero p { font-size:15px; }
}

/* Page Header */
.page-header {
    padding: 80px 0;
    color: white;
    text-align: center;
    background-size: cover;
    background-position: center;
}
.page-header .container {
    max-width: 800px;
}
.page-header h1 {
    font-size: clamp(36px, 5vw, 52px);
    margin-bottom: 15px;
}
.page-header p {
    font-size: 18px;
    opacity: 0.9;
}

/* About Grid */
.about-grid {
    align-items: center;
}
.about-image {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}
.about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Section Header */
.section-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
}
.section-header.light .section-title {
    color: white;
}

/* Mission & Vision Cards */
.mission-vision-grid .card {
    text-align: center;
    padding: 40px 30px;
}
.mission-vision-grid .card-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--teal-100), white);
    color: var(--teal-600);
    font-size: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

/* Core Values Grid */
.core-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}
.value-card {
    background: white;
    border-radius: 16px;
    padding: 30px 25px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border);
    transition: all 0.3s ease;
}
.value-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: rgba(13,115,119,0.2);
}
.value-card i {
    font-size: 32px;
    color: var(--teal-600);
    margin-bottom: 15px;
}
.value-card h4 {
    font-size: 20px;
    color: var(--blue-900);
    margin-bottom: 10px;
}
.value-card p {
    color: var(--gray-600);
    font-size: 14px;
}

/* Transparency Grid */
.transparency-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
    margin-top: 40px;
}
.trans-card {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s ease;
}
.trans-card:hover {
    background: rgba(255,255,255,0.12);
    transform: translateY(-5px);
}
.trans-card i {
    font-size: 32px;
    color: var(--green-400);
    margin-bottom: 15px;
}
.trans-card h4 {
    font-size: 20px;
    color: white;
    margin-bottom: 10px;
}
.trans-card p {
    color: rgba(255,255,255,0.7);
    font-size: 14px;
}

/* CTA (reuse from previous, but ensure it's included) */
.cta-section {
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 100px 20px;
}
.cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(10,37,64,0.85) 0%, rgba(13,115,119,0.7) 100%);
    z-index: 1;
}
.cta-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}
.cta-title {
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 700;
    margin-bottom: 20px;
}
.cta-subtitle {
    font-size: 18px;
    opacity: 0.9;
    margin-bottom: 30px;
}
.cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}
.btn-cta-primary {
    background: white;
    color: var(--blue-900);
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 700;
}
.btn-cta-primary:hover {
    background: var(--cream);
}
.btn-cta-outline {
    border: 2px solid white;
    color: white;
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 700;
    background: transparent;
}
.btn-cta-outline:hover {
    background: rgba(255,255,255,0.2);
}

/* Gallery Section */
.gallery-section {
    background: var(--white);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 40px;
}

.gallery-item {
    overflow: hidden;
    border-radius: 12px;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    cursor: pointer;
}

.gallery-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.gallery-item:hover img {
    transform: scale(1.1);
}

@media (max-width: 600px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .gallery-item img {
        height: 150px;
    }
}