* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    color: #222;
    background: #fff;
    line-height: 1.6;
}

/* NAVIGATION */

header {
    width: 100%;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #e8eef5;
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(12px);
}

nav {
    max-width: 1200px;
    margin: auto;
    padding: 10px 30px;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.site-logo {
    width: 260px !important;
    height: auto !important;
    max-width: none !important;
    display: block;
    flex-shrink: 0;
}

.logo-text {
    font-size: 17px;
    font-weight: 800;
    color: #123b68;
    max-width: 260px;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.nav-links {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 24px;
    margin: 0;
    padding: 0;
}

.nav-links a {
    position: relative;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.3s ease;
}

.nav-links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 0;
    height: 2px;
    background: #0b4f9c;
    transition: width 0.3s ease;
}

.nav-links a:hover {
    color: #0b4f9c;
}

.nav-links a:hover::after {
    width: 100%;
}

.donate-button {
    display: inline-block;
    text-decoration: none;
    background: #0b4f9c;
    color: #ffffff;
    padding: 11px 22px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 6px 18px rgba(11, 79, 156, 0.18);
}

.donate-button:hover {
    background: #123b68;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(18, 59, 104, 0.20);
}


header nav {
    min-height: 110px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}


    header nav {
        min-height: 90px !important;
    }
}

/* HERO SECTION */

.hero {
    min-height: 680px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 100px 25px;
    position: relative;
    overflow: hidden;
}

.hero-content {
    max-width: 850px;
}

.hero-label {
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.hero h1 {
    font-size: 64px;
    line-height: 1.08;
    letter-spacing: -1.5px;
    color: #123b68;
    margin-bottom: 28px;
    font-weight: 800;
}

.hero-text {
    max-width: 680px;
    margin: auto;
    color: #555;
    font-size: 19px;
    line-height: 1.8;
}

.hero-buttons {
    margin-top: 35px;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.primary-button,
.secondary-button {
    display: inline-block;
    text-decoration: none;
    padding: 15px 30px;
    border-radius: 7px;
    font-weight: 700;
    font-size: 15px;
    transition: all 0.3s ease;
}

.primary-button {
    background: #0b4f9c;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(11, 79, 156, 0.18);
}

.secondary-button {
    border: 2px solid #0b4f9c;
    color: #0b4f9c;
    background: #ffffff;
}

.primary-button:hover {
    background: #083d78;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(11, 79, 156, 0.25);
}

.secondary-button:hover {
    background: #0b4f9c;
    color: #ffffff;
    transform: translateY(-2px);
}

/* MOBILE */

@media (max-width: 850px) {

    nav {
        flex-direction: column;
        gap: 18px;
        text-align: center;
    }

    .nav-links {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px 18px;
    }

    .hero h1 {
        font-size: 42px;
    }
}

@media (max-width: 500px) {

    .logo-text {
        text-align: center;
    }

    .nav-links {
        gap: 15px;
    }

    .nav-links a {
        font-size: 14px;
    }

    .hero {
        min-height: 550px;
    }

    .hero h1 {
        font-size: 34px;
    }

    .hero-text {
        font-size: 17px;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }

    .primary-button,
    .secondary-button {
        width: 200px;
    }
}
/* ABOUT SECTION */

.about-section {
    padding: 100px 25px;
    background: #ffffff;
}

.section-container {
    max-width: 1100px;
    margin: auto;
}

.section-heading {
    text-align: center;
    margin-bottom: 55px;
}

.section-label {
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.section-heading h2 {
    font-size: 42px;
    color: #123b68;
    line-height: 1.2;
}

.about-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 60px;
    align-items: center;
}

.about-text p {
    color: #555;
    font-size: 17px;
    margin-bottom: 20px;
}

.about-text .primary-button {
    display: inline-block;
    margin-top: 15px;
}

.about-box {
    padding: 42px;
    background: #eef6ff;
    border: 1px solid #dceaf7;
    border-radius: 20px;
    border-left: 5px solid #0b4f9c;
    box-shadow: 0 15px 40px rgba(18, 59, 104, 0.08);
}

.about-box h3 {
    color: #123b68;
    font-size: 27px;
    line-height: 1.3;
    margin-bottom: 15px;
}

.about-box p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
}

/* ABOUT MOBILE */

@media (max-width: 750px) {

    .about-section {
        padding: 70px 20px;
    }

    .section-heading h2 {
        font-size: 34px;
    }

    .about-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .about-box {
        padding: 30px;
    }
}

/* WHO WE SERVE */

.programs-section {
    padding: 100px 25px;
    background: #f7faff;
}

.section-intro {
    max-width: 650px;
    margin: 20px auto 0;
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

.beneficiary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.beneficiary-card {
    background: #ffffff;
    padding: 35px 30px;
    border-radius: 18px;
    border: 1px solid #dfeaf5;
    min-height: 240px;
    box-shadow: 0 8px 25px rgba(18, 59, 104, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media (min-width: 769px) {

    .beneficiary-card:nth-child(4) {
        grid-column: 1 / 2;
    }

    .beneficiary-card:nth-child(5) {
        grid-column: 2 / 3;
    }

}

.beneficiary-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.12);
}

.card-number {
    display: block;
    color: #0b4f9c;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 22px;
}

.beneficiary-card h3 {
    color: #123b68;
    font-size: 21px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.beneficiary-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}

/* WHO WE SERVE MOBILE */

@media (max-width: 850px) {

    .beneficiary-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 550px) {

    .programs-section {
        padding: 70px 20px;
    }

    .beneficiary-grid {
        grid-template-columns: 1fr;
    }
}

/* OUR IMPACT */

.impact-section {
    padding: 100px 25px;
    background: #123b68;
}

.impact-heading .section-label {
    color: #ffffff;
}

.impact-heading h2 {
    color: #ffffff;
}

.impact-heading .section-intro {
    color: #dbe8f5;
}

.impact-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 55px;
    margin-bottom: 60px;
}

.impact-stat {
    text-align: center;
    padding: 38px 20px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    transition: transform 0.3s ease, background 0.3s ease;
}

.impact-stat:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.12);
}

.impact-stories {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.impact-story {
    background: #ffffff;
    padding: 35px;
    border-radius: 12px;
}

.impact-stories {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.impact-story {
    background: #ffffff;
    padding: 35px;
    border-radius: 12px;
}

.story-tag {
    display: inline-block;
    color: #0b4f9c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.impact-story h3 {
    color: #123b68;
    font-size: 25px;
    line-height: 1.3;
    margin-bottom: 13px;
}

.impact-story p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.75;
}

/* IMPACT MOBILE */

@media (max-width: 850px) {

    .impact-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .impact-stories {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 500px) {

    .impact-section {
        padding: 70px 20px;
    }

    .impact-stats {
        grid-template-columns: 1fr;
    }

    .stat-number {
        font-size: 42px;
    }
}

/* GALLERY */

.gallery-section {
    padding: 100px 25px;
    background: #ffffff;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.gallery-item {
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
}

.gallery-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    border-radius: 12px;
    transition: transform 0.5s ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

.gallery-placeholder {
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 25px;
    background: linear-gradient(135deg, #eef6ff, #dbe8f5);
    color: #123b68;
    font-size: 18px;
    font-weight: 700;
    transition: transform 0.3s ease;
}

.gallery-placeholder:hover {
    transform: scale(1.03);
}

@media (max-width: 850px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 550px) {
    .gallery-section {
        padding: 70px 20px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }
}

/* OUR PROGRAMS */

.our-programs-section {
    padding: 100px 25px;
    background: #ffffff;
}

.program-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    align-items: stretch;
}

.program-card {
    background: #f7faff;
    padding: 35px 30px;
    border-radius: 18px;
    border: 1px solid #dfeaf5;
    min-height: 250px;
    height: 100%;
    box-sizing: border-box;
    box-shadow: 0 8px 25px rgba(18, 59, 104, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.program-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.12);
}

.program-number {
    display: block;
    color: #0b4f9c;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 22px;
}

.program-card h3 {
    color: #123b68;
    font-size: 21px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.program-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 850px) {
    .program-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 550px) {
    .our-programs-section {
        padding: 70px 20px;
    }

    .program-grid {
        grid-template-columns: 1fr;
    }
}

/* GET INVOLVED */

.involved-section {
    padding: 100px 25px;
    background: #ffffff;
    overflow-x: hidden;
}

.involved-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.involved-card {
    min-width: 0;
    box-sizing: border-box;
    padding: 38px 30px;
    background: #f7faff;
    border: 1px solid #dfeaf5;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(18, 59, 104, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.involved-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.12);
}

.involved-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0b4f9c;
    color: #ffffff;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 25px;
}

.involved-card h3 {
    color: #123b68;
    font-size: 23px;
    line-height: 1.35;
    margin-bottom: 15px;
}

.involved-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 22px;
}

.involved-link {
    display: inline-block;
    max-width: 100%;
    box-sizing: border-box;
    color: #0b4f9c;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}

.involved-link:hover {
    text-decoration: underline;
}

@media (max-width: 850px) {

    .involved-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 550px) {

    .involved-section {
        padding: 70px 20px;
    }

    .involved-grid {
    grid-template-columns: 1fr;
    gap: 18px;
}

    .involved-card {
        width: 100%;
        padding: 30px 25px;
    }

    .involved-card h3 {
        font-size: 22px;
    }

    .involved-link {
        overflow-wrap: anywhere;
    }
}

/* DONATE SECTION */

.donate-section {
    padding: 100px 25px;
    background: #f7faff;
}

.donate-content {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 60px;
    align-items: center;
}

.donate-text h2 {
    color: #123b68;
    font-size: 45px;
    line-height: 1.2;
    margin-bottom: 25px;
}

.donate-text p {
    color: #666;
    font-size: 17px;
    margin-bottom: 18px;
    max-width: 650px;
}

.donate-box {
    background: #123b68;
    padding: 45px;
    border-radius: 14px;
    text-align: center;
}

.donate-box h3 {
    color: #ffffff;
    font-size: 28px;
    margin-bottom: 15px;
}

.donate-box p {
    color: #dbe8f5;
    font-size: 16px;
    margin-bottom: 30px;
}

.donate-box .primary-button {
    display: inline-block;
}

@media (max-width: 750px) {

    .donate-section {
        padding: 70px 20px;
    }

    .donate-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .donate-text h2 {
        font-size: 36px;
    }

    .donate-box {
        padding: 35px 25px;
    }
}

/* CONTACT SECTION */

.contact-section {
    padding: 100px 25px;
    background: #ffffff;
}

.contact-content {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 60px;
    align-items: stretch;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-item {
    padding: 25px;
    background: #f7faff;
    border: 1px solid #e8eef5;
    border-radius: 10px;
}

.contact-label {
    display: block;
    color: #0b4f9c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}

.contact-item p {
    color: #123b68;
    font-size: 17px;
    font-weight: 600;
}

.contact-box {
    padding: 45px;
    background: #123b68;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-box h3 {
    color: #ffffff;
    font-size: 30px;
    line-height: 1.3;
    margin-bottom: 18px;
}

.contact-box p {
    color: #dbe8f5;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 30px;
}

.contact-box .primary-button {
    display: inline-block;
    width: fit-content;
}

@media (max-width: 750px) {

    .contact-section {
        padding: 70px 20px;
    }

    .contact-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .contact-box {
        padding: 35px 25px;
    }

    .contact-box h3 {
        font-size: 26px;
    }
}

/* FOOTER */

.site-footer {
    background: #0b2d4d;
    color: #ffffff;
    padding: 60px 25px 25px;
}

.footer-container {
    max-width: 1100px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: flex-start;
}

.footer-brand {
    max-width: 400px;
}

.footer-brand h3 {
    font-size: 20px;
    margin-bottom: 12px;
}

.footer-brand p {
    color: #dbe8f5;
    font-size: 15px;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 25px;
    max-width: 500px;
    justify-content: flex-end;
}

.footer-links a {
    color: #dbe8f5;
    text-decoration: none;
    font-size: 14px;
}

.footer-links a:hover {
    color: #ffffff;
}

.footer-bottom {
    max-width: 1100px;
    margin: 45px auto 0;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    text-align: center;
}

.footer-bottom p {
    color: #b8c9d9;
    font-size: 13px;
}

@media (max-width: 750px) {

    .site-footer {
        padding: 50px 20px 25px;
    }

    .footer-container {
        flex-direction: column;
        gap: 30px;
    }

    .footer-links {
        justify-content: flex-start;
    }

    .footer-bottom {
        margin-top: 35px;
    }
}

/* PREMIUM FOOTER */

.site-footer {
    background: #0b2d4d;
    color: #ffffff;
    padding: 75px 25px 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-container {
    max-width: 1100px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 70px;
    align-items: flex-start;
}

.footer-brand {
    max-width: 430px;
}

.footer-brand h3 {
    color: #ffffff;
    font-size: 21px;
    line-height: 1.35;
    margin-bottom: 14px;
    letter-spacing: 0.4px;
}

.footer-brand p {
    color: #c9d9e8;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 25px;
    max-width: 520px;
    justify-content: flex-end;
}

.footer-links a {
    position: relative;
    color: #dbe8f5;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.5;
    transition: color 0.3s ease;
}

.footer-links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: width 0.3s ease;
}

.footer-links a:hover {
    color: #ffffff;
}

.footer-links a:hover::after {
    width: 100%;
}

.footer-bottom {
    max-width: 1100px;
    margin: 55px auto 0;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    text-align: center;
}

.footer-bottom p {
    color: #aebfd0;
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

/* FOOTER MOBILE */

@media (max-width: 750px) {

    .site-footer {
        padding: 60px 20px 25px;
    }

    .footer-container {
        flex-direction: column;
        gap: 35px;
    }

    .footer-brand {
        max-width: 100%;
    }

    .footer-brand h3 {
        font-size: 19px;
    }

    .footer-brand p {
        font-size: 14px;
    }

    .footer-links {
        width: 100%;
        max-width: 100%;
        justify-content: flex-start;
        gap: 16px 22px;
    }

    .footer-links a {
        font-size: 14px;
    }

    .footer-bottom {
        margin-top: 40px;
        padding-top: 20px;
    }

    .footer-bottom p {
        font-size: 12px;
    }
}

/* GALLERY IMAGES */

.gallery-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}

/* CORE VALUES */

.values-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.values-list span {
    padding: 9px 15px;
    background: #ffffff;
    color: #0b4f9c;
    border: 1px solid #cfe0f2;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.values-list span:hover {
    background: #0b4f9c;
    color: #ffffff;
    border-color: #0b4f9c;
    transform: translateY(-2px);
}

/* OUR STORY */

.story-section {
    padding: 100px 25px;
    background: #f7faff;
}

.story-content {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.story-heading .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

.story-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin-top: 12px;
}

.story-text p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 18px;
}

.story-section {
    padding: 100px 25px;
    background: #f7faff;
}

.story-content {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.story-heading .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

.story-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin-top: 12px;
}

.story-text p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 18px;
}


@media (max-width: 768px) {

    .story-section {
        padding: 70px 20px;
    }

    .story-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .story-heading {
        grid-column: auto;
        grid-row: auto;
    }

    .story-heading h2 {
        font-size: 32px;
    }

    .story-text {
        grid-column: auto;
        grid-row: auto;
        margin-top: 0;
    }

    .story-content::after {
        grid-column: auto;
        grid-row: auto;
        height: 380px;
    }

}

@media (max-width: 768px) {

    .story-section {
        padding: 70px 20px;
    }

    .story-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .story-heading {
        grid-column: auto;
        grid-row: auto;
    }

    .story-heading h2 {
        font-size: 32px;
    }

    .story-text {
        grid-column: auto;
        grid-row: auto;
        margin-top: 0;
    }

    .story-content::after {
        grid-column: auto;
        grid-row: auto;
        height: 380px;
    }

}

.story-content {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.story-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin-top: 10px;
}

.story-text p {
    color: #555;
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.story-text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {

    .story-section {
        padding: 70px 20px;
    }

    .story-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .story-heading h2 {
        font-size: 32px;
    }

    .story-image {
        height: 380px;
    }

}
.impact-cta {
    margin-top: 60px;
    padding: 35px 40px;
    background: #123b68;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.impact-cta .section-label {
    color: #9fc5ee;
    margin-bottom: 8px;
}

.impact-cta h3 {
    color: #ffffff;
    font-size: 30px;
    margin-bottom: 10px;
}

.impact-cta p {
    color: #dce9f7;
    max-width: 650px;
}

.impact-cta .primary-button {
    flex-shrink: 0;
    background: #ffffff;
    color: #123b68;
}

.impact-cta .primary-button:hover {
    background: #eaf3fc;
    color: #123b68;
}

@media (max-width: 750px) {
    .impact-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .impact-cta h3 {
        font-size: 26px;
    }
}

.donate-button {
    display: inline-block;
    padding: 11px 22px;
    background: #0b4f9c;
    color: #ffffff;
    text-decoration: none;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 700;
    transition: all 0.3s ease;
    box-shadow: 0 6px 16px rgba(11, 79, 156, 0.18);
}

.donate-button:hover {
    background: #083d78;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(11, 79, 156, 0.25);
}

.beneficiary-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.beneficiary-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(18, 59, 104, 0.12);
}

.program-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.program-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(18, 59, 104, 0.12);
}

.involved-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.involved-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(18, 59, 104, 0.12);
}

.involved-link {
    transition: color 0.3s ease;
}

.involved-link:hover {
    color: #083d78;
}

.impact-stat {
    transition: transform 0.3s ease;
}

.impact-stat:hover {
    transform: translateY(-5px);
}

.stat-number {
    display: block;
    font-size: 48px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
}


.about-box {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.about-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.12);
}

.site-footer {
    background: #0f2f52;
    color: #ffffff;
}

.footer-brand h3 {
    color: #ffffff;
}

.footer-brand p {
    color: #c9d8e8;
}

.footer-links a {
    color: #dce9f7;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #ffffff;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-bottom p {
    color: #aebfd1;
}

@media (max-width: 600px) {
    nav {
        padding: 15px 18px;
    }

    .logo-text {
        font-size: 15px;
        text-align: center;
    }

    .nav-links {
        gap: 10px 14px;
    }

    .nav-links a {
        font-size: 13px;
    }

    .donate-button {
        padding: 10px 20px;
    }

    .hero {
        min-height: 600px;
        padding: 80px 20px;
    }

    .hero h1 {
        font-size: 38px;
    }

    .hero-text {
        font-size: 16px;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }

    .primary-button,
    .secondary-button {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }
}

.gallery-item {
    box-shadow: 0 10px 25px rgba(18, 59, 104, 0.08);
    border: 1px solid #e8eef5;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 35px rgba(18, 59, 104, 0.15);
}

.contact-item {
    padding: 18px 0;
    border-bottom: 1px solid #e8eef5;
}

.contact-item:last-child {
    border-bottom: none;
}

.contact-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #0b4f9c;
    margin-bottom: 5px;
}

.contact-item p {
    color: #444;
    font-size: 16px;
    font-weight: 600;
}

.contact-box {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(18, 59, 104, 0.12);
}

.donate-box {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #dce8f4;
}

.donate-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.14);
}

.donate-box h3 {
    color: #123b68;
    font-size: 26px;
    margin-bottom: 10px;
}

.donate-box p {
    color: #555;
    margin-bottom: 22px;
}

.donate-box .primary-button {
    display: inline-block;
    min-width: 150px;
    text-align: center;
}

.hero-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 14px;
    border: 1px solid #cfe0f2;
    border-radius: 20px;
    color: #0b4f9c;
    background: #ffffff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

@keyframes heroFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-content {
    animation: heroFadeIn 0.9s ease-out;
}

.section-heading h2 {
    letter-spacing: -0.8px;
}

.section-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

section {
    scroll-margin-top: 90px;
}

.involved-link {
    display: inline-block;
    margin-top: 8px;
    font-weight: 700;
    text-decoration: none;
    color: #0b4f9c;
}

.involved-link:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .donate-button {
        display: inline-block;
        margin-top: 2px;
    }
}

.footer-social {
    display: flex;
    gap: 18px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.footer-social a {
    color: #dce9f7;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.3s ease, transform 0.3s ease;
}

.footer-social a:hover {
    color: #ffffff;
    transform: translateY(-2px);
}

.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}

.footer-brand {
    max-width: 380px;
}

.footer-brand h3 {
    font-size: 20px;
    margin-bottom: 10px;
}

.footer-brand p {
    line-height: 1.7;
}

@media (max-width: 600px) {
    .footer-container {
        flex-direction: column;
        gap: 25px;
    }

    .footer-brand {
        max-width: 100%;
    }

    .footer-social {
        margin-top: 5px;
    }
}

.back-to-top {
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0b4f9c;
    color: #ffffff;
    text-decoration: none;
    border-radius: 50%;
    font-size: 22px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(11, 79, 156, 0.25);
    transition: all 0.3s ease;
    z-index: 999;
}

.back-to-top:hover {
    background: #083d78;
    transform: translateY(-4px);
}

.donation-points {
    display: grid;
    gap: 10px;
    margin: 20px 0 25px;
}

.donation-points span {
    color: #444;
    font-size: 14px;
    font-weight: 600;
}

.donate-box .primary-button {
    margin-top: 5px;
}

.contact-item p a {
    color: #0b4f9c;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.contact-item p a:hover {
    color: #083d78;
    text-decoration: underline;
}

.donate-info-section {
    padding: 80px 25px;
    background: #f7faff;
}

.donate-info-box {
    max-width: 800px;
    margin: 0 auto;
    padding: 45px;
    background: #ffffff;
    border: 1px solid #dce8f4;
    border-radius: 14px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(18, 59, 104, 0.08);
}

.donate-info-box h2 {
    color: #123b68;
    font-size: 36px;
    margin: 10px 0 15px;
}

.donate-info-box p:not(.section-label) {
    color: #ffffff;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 25px;
}

@media (max-width: 600px) {
    .donate-info-box {
        padding: 30px 20px;
    }

    .donate-info-box h2 {
        font-size: 28px;
    }
}

.donate-box p {
    color: #ffffff;
}

.donation-points span {
    color: #ffffff;
}

@media (max-width: 600px) {
    .donate-box {
        padding: 30px 20px;
    }

    .donate-box h3 {
        font-size: 23px;
    }

    .donate-box p {
        font-size: 15px;
    }

    .donation-points {
        text-align: left;
    }
}

@media (max-width: 600px) {
    .nav-links {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
        gap: 10px;
    }

    .nav-links a {
        display: block;
        padding: 8px 5px;
    }
}

@media (max-width: 600px) {
    .hero-content {
        width: 100%;
    }

    .hero-label {
        font-size: 10px;
        letter-spacing: 1px;
    }

    .hero h1 {
        font-size: 34px;
        letter-spacing: -0.8px;
        line-height: 1.15;
    }

    .hero-text {
        font-size: 15px;
        line-height: 1.7;
    }
}

@media (max-width: 600px) {
    .impact-stats {
        grid-template-columns: 1fr 1fr;
        gap: 25px 15px;
    }

    .stat-number {
        font-size: 38px;
    }

    .stat-label {
        font-size: 13px;
    }
}

@media (max-width: 600px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gallery-item img {
        height: 260px;
    }
}

@media (max-width: 600px) {
    .program-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .program-card {
        padding: 25px 20px;
    }
}

@media (max-width: 600px) {
    .beneficiary-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .beneficiary-card {
        padding: 25px 20px;
    }
}

@media (max-width: 600px) {
    .involved-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .involved-card {
        padding: 25px 20px;
    }
}

@media (max-width: 600px) {
    .involved-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .involved-card {
        padding: 25px 20px;
    }
}

/* FINAL MOBILE POLISH */

@media (max-width: 600px) {

    /* About */
    .about-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .about-box {
        padding: 25px 20px;
    }

    .about-text p {
        font-size: 15px;
    }

    /* Contact */
    .contact-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .contact-box {
        padding: 25px 20px;
    }

    /* Story */
    .story-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* Donate */
    .donate-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .donate-box {
        padding: 30px 20px;
    }

    /* Impact */
    .impact-stories {
        grid-template-columns: 1fr;
    }

    /* Buttons */
    .primary-button,
    .secondary-button {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Back to top */
    .back-to-top {
        right: 15px;
        bottom: 15px;
        width: 42px;
        height: 42px;
    }

    /* Sections */
    section {
        scroll-margin-top: 30px;
    }
}

/* FINAL FOOTER & SPACING POLISH */

.site-footer {
    padding-top: 55px;
}

.footer-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 25px 45px;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
}

.footer-links a {
    text-decoration: none;
    font-size: 14px;
}

.footer-bottom {
    padding: 20px 25px;
    text-align: center;
}

@media (max-width: 600px) {
    .site-footer {
        padding-top: 45px;
    }

    .footer-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: 12px;
    }

    .footer-social {
        width: 100%;
        gap: 15px;
    }

    .footer-bottom p {
        font-size: 12px;
        line-height: 1.6;
    }
}

.site-logo {
    width: 260px !important;
    height: auto !important;
    max-width: none !important;
    display: block;
}

@media (max-width: 600px) {
    .site-logo {
        width: 240px !important;
        height: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

/* CONTACT FORM */

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 25px;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #dce8f4;
    border-radius: 7px;
    background: #ffffff;
    color: #222;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #0b4f9c;
    box-shadow: 0 0 0 3px rgba(11, 79, 156, 0.08);
}

.contact-form textarea {
    resize: vertical;
    min-height: 130px;
}

.contact-form button {
    border: none;
    cursor: pointer;
    font-family: inherit;
}

@media (max-width: 600px) {
    .contact-form {
        margin-top: 20px;
    }

    .contact-form input,
    .contact-form textarea {
        font-size: 16px;
    }
}

/* HEADER POLISH */

nav {
    align-items: center;
}

.site-logo {
    object-fit: contain;
    max-height: 65px;
}

@media (max-width: 850px) {
    header {
        position: relative;
    }

    nav {
        padding: 18px 20px;
    }

    .site-logo {
        max-width: 180px;
        max-height: 60px;
    }

    .nav-links {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .site-logo {
        max-width: 160px;
        max-height: 55px;
    }
}

/* TEMPORARILY HIDE WHATSAPP UNTIL NUMBER IS READY */

.contact-box .secondary-button[href="#"] {
    display: none;
}

/* ========================================
   OUTREACH GALLERY
======================================== */

.gallery-folders {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.gallery-folder {
    display: block;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(18, 59, 104, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-folder:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(18, 59, 104, 0.15);
}

.folder-cover {
    width: 100%;
    height: 280px;
    overflow: hidden;
}

.folder-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.gallery-folder:hover .folder-cover img {
    transform: scale(1.05);
}

.folder-info {
    padding: 28px 30px 30px;
}

.folder-number {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    color: #0b4f9c;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.folder-info h3 {
    color: #123b68;
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 8px;
}

.folder-info p {
    color: #666;
    font-size: 14px;
    margin-bottom: 18px;
}

.folder-link {
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 800;
}

.outreach-gallery {
    margin-top: 90px;
    padding-top: 70px;
    border-top: 1px solid #e8eef5;
}

.outreach-gallery-heading {
    max-width: 700px;
    margin-bottom: 35px;
}

.outreach-gallery-heading h3 {
    color: #123b68;
    font-size: 38px;
    line-height: 1.2;
    margin: 10px 0 12px;
}

.outreach-gallery-heading p:not(.section-label) {
    color: #666;
    font-size: 16px;
    line-height: 1.7;
}

.photo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.photo-item {
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #e8eef5;
    box-shadow: 0 8px 20px rgba(18, 59, 104, 0.07);
    cursor: pointer;
}

.photo-item img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.photo-item:hover img {
    transform: scale(1.06);
}


/* ========================================
   MOBILE GALLERY
======================================== */

@media (max-width: 850px) {

    .gallery-folders {
        grid-template-columns: 1fr;
    }

    .photo-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 600px) {

    .gallery-folders {
        gap: 20px;
        margin-top: 35px;
    }

    .folder-cover {
        height: 230px;
    }

    .folder-info {
        padding: 24px 20px;
    }

    .folder-info h3 {
        font-size: 21px;
    }

    .outreach-gallery {
        margin-top: 65px;
        padding-top: 50px;
    }

    .outreach-gallery-heading h3 {
        font-size: 30px;
    }

    .photo-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .photo-item img {
        height: 260px;
    }

}

/* ========================================
   GALLERY OPEN / CLOSE SYSTEM
======================================== */

.hidden-gallery {
    display: none;
}

.hidden-gallery.active {
    display: block;
    animation: galleryFadeIn 0.4s ease;
}

@keyframes galleryFadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gallery-view-button {
    border: none;
    background: transparent;
    padding: 0;
    color: #0b4f9c;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.gallery-view-button:hover {
    color: #083d78;
    text-decoration: underline;
}

.close-gallery {
    border: none;
    background: #0b4f9c;
    color: #ffffff;
    padding: 12px 22px;
    border-radius: 7px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    margin-bottom: 35px;
    transition: all 0.3s ease;
}

.close-gallery:hover {
    background: #083d78;
    transform: translateY(-2px);
}

@media (max-width: 600px) {

    .gallery-view-button {
        font-size: 14px;
        padding: 5px 0;
    }

    .close-gallery {
        width: 100%;
        margin-bottom: 25px;
    }

}

/* ========================================
   PHOTO LIGHTBOX
======================================== */

.photo-item img {
    cursor: zoom-in;
}

.photo-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 5000;
    background: rgba(0, 0, 0, 0.92);
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.photo-lightbox.active {
    display: flex;
}

.lightbox-image {
    max-width: 90%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 25px;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    color: #123b68;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    z-index: 5002;
}

.lightbox-close:hover {
    transform: scale(1.08);
}

.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #123b68;
    font-size: 28px;
    cursor: pointer;
    z-index: 5002;
}

.lightbox-prev {
    left: 25px;
}

.lightbox-next {
    right: 25px;
}

.lightbox-prev:hover,
.lightbox-next:hover {
    transform: translateY(-50%) scale(1.08);
}

.lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

@media (max-width: 600px) {

    .photo-lightbox {
        padding: 15px;
    }

    .lightbox-image {
        max-width: 94%;
        max-height: 78vh;
    }

    .lightbox-close {
        top: 12px;
        right: 12px;
        width: 42px;
        height: 42px;
        font-size: 24px;
    }

    .lightbox-prev,
    .lightbox-next {
        width: 42px;
        height: 42px;
        font-size: 23px;
    }

    .lightbox-prev {
        left: 10px;
    }

    .lightbox-next {
        right: 10px;
    }
}

/* ========================================
   LIGHTBOX TITLE
======================================== */

.lightbox-title {
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    max-width: 70%;
    z-index: 5002;
}

.lightbox-counter {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    z-index: 5002;
}

.lightbox-image {
    touch-action: pan-y;
    user-select: none;
    -webkit-user-drag: none;
}


/* MOBILE */

@media (max-width: 600px) {

    .lightbox-title {
        top: 18px;
        max-width: 65%;
        font-size: 14px;
        line-height: 1.4;
    }

    .lightbox-counter {
        bottom: 18px;
        font-size: 13px;
    }

}

/* ========================================
   MOBILE HAMBURGER MENU
======================================== */

.menu-toggle {
    display: none;
    border: none;
    background: transparent;
    color: #123b68;
    font-size: 30px;
    cursor: pointer;
    padding: 5px;
}


/* ========================================
   MOBILE NAVIGATION
======================================== */

@media (max-width: 768px) {

    header nav {
        position: relative;
        flex-wrap: wrap;
        padding: 14px 20px;
        gap: 12px;
    }

    .site-logo {
        width: 190px;
    }

    .menu-toggle {
        display: block;
        margin-left: auto;
        order: 2;
    }

    .donate-button {
        order: 3;
        margin-left: 4px;
        padding: 10px 16px;
        font-size: 13px;
        border-radius: 8px;
    }

    .nav-links {
        display: none;
        width: 100%;
        order: 4;
        flex-direction: column;
        gap: 0;
        margin-top: 12px;
        padding: 8px 0;
        background: #ffffff;
        border-top: 1px solid #e3edf7;
        box-shadow: 0 12px 30px rgba(18, 59, 104, 0.10);
        border-radius: 0 0 12px 12px;
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links li {
        width: 100%;
    }

    .nav-links a {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 14px 18px;
        font-size: 14px;
        color: #123b68;
    }

    .nav-links a::after {
        display: none;
    }

    .nav-links a:hover {
        background: #f4f8fc;
        color: #0b4f9c;
    }

}

/* ========================================
   PREMIUM MOBILE POLISH
======================================== */

@media (max-width: 768px) {

    /* HEADER */

    header {
        padding: 12px 18px;
    }

    header nav {
        min-height: 58px;
    }

    {
        width: 135px;
        height: auto;
    }

    .donate-button {
        padding: 9px 15px;
        font-size: 13px;
        border-radius: 6px;
    }


    /* HERO */

    .hero {
        min-height: 620px;
        padding: 90px 22px 70px;
        display: flex;
        align-items: center;
    }

    .hero-content {
        max-width: 100%;
    }

    .hero-label {
        font-size: 11px;
        letter-spacing: 1.5px;
        margin-bottom: 15px;
    }

    .hero h1 {
        font-size: clamp(38px, 10vw, 54px);
        line-height: 1.05;
        letter-spacing: -1.5px;
        margin-bottom: 20px;
    }

    .hero-text {
        font-size: 15px;
        line-height: 1.7;
        max-width: 95%;
    }

    .hero-buttons {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 28px;
    }

    .hero-buttons a {
        width: 100%;
        text-align: center;
    }


    /* GENERAL SECTIONS */

    .section-container {
        width: 100%;
        padding-left: 22px;
        padding-right: 22px;
    }

    .section-heading {
        margin-bottom: 35px;
    }

    .section-label {
        font-size: 11px;
        letter-spacing: 1.5px;
    }

    .section-heading h2 {
        font-size: 32px;
        line-height: 1.15;
        letter-spacing: -0.8px;
    }

    .section-intro {
        font-size: 14px;
        line-height: 1.7;
    }


    /* ABOUT */

    .about-content {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .about-box {
        padding: 25px;
    }

    .values-list {
        gap: 8px;
    }

    .values-list span {
        font-size: 12px;
        padding: 7px 10px;
    }


    /* WHO WE SERVE */

    .beneficiary-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .beneficiary-card {
        padding: 25px;
    }


    /* IMPACT */

    .impact-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .impact-stat {
        padding: 22px 12px;
    }

    .stat-number {
        font-size: 34px;
    }

    .stat-label {
        font-size: 11px;
    }

    .impact-stories {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .impact-story {
        padding: 25px;
    }

    .impact-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 25px;
    }


    /* PROGRAMS */

    .program-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .program-card {
        padding: 25px;
    }


    /* GET INVOLVED */

    .involved-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .involved-card {
        padding: 25px;
    }


    /* DONATE */

    .donate-content {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .donate-box {
        padding: 25px;
    }


    /* DONATION INFO */

    .donate-info-box {
        padding: 30px 22px;
    }


    /* GALLERY */

    .gallery-folders {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gallery-folder {
        width: 100%;
    }

    .folder-cover {
        height: 220px;
    }

    .folder-info {
        padding: 22px;
    }

    .photo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .photo-item img {
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }


    /* CONTACT */

    .contact-content {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .contact-box {
        padding: 25px;
    }

    .contact-form input,
    .contact-form textarea {
        font-size: 15px;
    }

    .contact-form button {
        width: 100%;
    }


    /* STORY */

    .story-content {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }


    /* FOOTER */

    .footer-container {
        display: flex;
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .footer-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px 18px;
    }

    .footer-social {
        justify-content: center;
    }


    /* BACK TO TOP */

    .back-to-top {
        width: 42px;
        height: 42px;
        right: 15px;
        bottom: 15px;
    }

}

/* ========================================
   PREMIUM GALLERY DESIGN
======================================== */

.gallery-folders {
    gap: 28px;
}

.gallery-folder {
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(18, 59, 104, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.gallery-folder:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 45px rgba(18, 59, 104, 0.14);
}

.folder-cover {
    position: relative;
    overflow: hidden;
    background: #eef2f6;
}

.folder-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.35),
        transparent 55%
    );
    pointer-events: none;
}

.folder-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.gallery-folder:hover .folder-cover img {
    transform: scale(1.06);
}

.folder-info {
    padding: 25px;
}

.folder-number {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    color: #0b4f9c;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}

.folder-info h3 {
    font-size: 21px;
    line-height: 1.25;
    color: #123b68;
    margin-bottom: 8px;
}

.folder-info p {
    color: #687586;
    font-size: 13px;
    margin-bottom: 20px;
}

.gallery-view-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    letter-spacing: 0.2px;
    transition: transform 0.25s ease;
}

.gallery-view-button:hover {
    text-decoration: none;
    transform: translateX(5px);
}


/* PHOTO GRID */

.photo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.photo-item {
    overflow: hidden;
    border-radius: 8px;
    background: #eef2f6;
}

.photo-item img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

.photo-item:hover img {
    transform: scale(1.07);
}


/* OUTREACH HEADING */

.outreach-gallery-heading {
    margin-bottom: 30px;
}

.outreach-gallery-heading h3 {
    color: #123b68;
    font-size: 30px;
    line-height: 1.2;
    margin: 5px 0 10px;
}

.outreach-gallery-heading p {
    max-width: 650px;
    color: #687586;
    font-size: 14px;
}


/* MOBILE GALLERY */

@media (max-width: 768px) {

    .gallery-folder:hover {
        transform: none;
    }

    .folder-info h3 {
        font-size: 19px;
    }

    .photo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .photo-item {
        border-radius: 6px;
    }

    .outreach-gallery-heading h3 {
        font-size: 25px;
    }

}

/* HOME HERO BACKGROUND */
.hero {
    position: relative;
    background-image: linear-gradient(
        rgba(8, 45, 82, 0.72),
        rgba(8, 45, 82, 0.72)
    ), url("images/outreach5.jpg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

rgba(8, 45, 82, 0.68)

.hero h1 {
    color: #ffffff;
}
.hero p {
    color: #ffffff;
}
.hero h1 {
    color: #ffffff !important;
}
/* HERO TEXT COLORS */
.hero h1 {
    color: #ffffff !important;
}

.hero .section-label {
    color: #0b4f9c !important;
}

.hero p {
    color: #ffffff !important;
}
.hero .section-label {
    background: #ffffff !important;
    color: #0b4f9c !important;
}

.hero .hero-label {
    color: #0b4f9c !important;
    background-color: #ffffff !important;
}

/* PREMIUM ABOUT SECTION */
.about-section {
    background: #f7faff;
    padding: 100px 20px;
}

.about-section .section-heading {
    margin-bottom: 55px;
}

.about-section .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

.about-section .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin-top: 12px;
}

.about-content {
    gap: 70px;
    align-items: center;
}

.about-text p {
    color: #4a5a6a;
    font-size: 17px;
    line-height: 1.8;
}

/* PREMIUM MISSION & VALUES BOX */
.about-box {
    background: #123b68;
    padding: 45px;
    border-radius: 18px;
    box-shadow: 0 15px 40px rgba(18, 59, 104, 0.18);
    color: #ffffff;
}

.about-box h3 {
    color: #ffffff;
    font-size: 28px;
    margin-bottom: 18px;
}

.about-box p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 30px;
}

.values-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.values-list span {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #ffffff;
    padding: 10px 16px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
}

/* PREMIUM WHO WE SERVE SECTION */
#programs {
    background: #eef6ff;
    padding: 100px 20px;
}

#programs .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#programs .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#programs .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#programs .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

/* Beneficiary cards */
.beneficiary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.beneficiary-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e3edf7;
    border-radius: 18px;
    padding: 35px 30px;
    min-height: 250px;
    box-shadow: 0 8px 25px rgba(18, 59, 104, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.beneficiary-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.12);
}

.card-number {
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 22px;
}

.beneficiary-card h3 {
    color: #123b68;
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.beneficiary-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}

.beneficiary-card:nth-child(4) {
    grid-column: 1 / 2;
    margin-left: 50%;
}

.beneficiary-card:nth-child(5) {
    grid-column: 2 / 3;
}

@media (max-width: 768px) {
    #programs {
        padding: 70px 20px;
    }

    #programs .section-heading h2 {
        font-size: 32px;
    }

    .beneficiary-grid {
        grid-template-columns: 1fr;
    }

    .beneficiary-card:nth-child(4),
    .beneficiary-card:nth-child(5) {
        grid-column: auto;
        margin-left: 0;
    }
}

/* PREMIUM OUR IMPACT SECTION */
#impact {
    background: #123b68;
    padding: 100px 20px;
    color: #ffffff;
}

#impact .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#impact .section-label {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 2px;
}

#impact .section-heading h2 {
    color: #ffffff;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#impact .section-intro {
    color: rgba(255, 255, 255, 0.82);
    font-size: 17px;
    line-height: 1.7;
}

/* Impact statistics */
.impact-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 65px;
}

.impact-stat {
    text-align: center;
    padding: 30px 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.07);
}

.stat-number {
    display: block;
    color: #ffffff;
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 12px;
}

.stat-label {
    display: block;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.5;
}

/* Impact stories */
.impact-stories {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.impact-story {
    background: #ffffff;
    border-radius: 18px;
    padding: 35px;
    color: #123b68;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.story-tag {
    display: inline-block;
    color: #0b4f9c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.impact-story h3 {
    color: #123b68;
    font-size: 24px;
    margin-bottom: 14px;
}

.impact-story p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 768px) {
    #impact {
        padding: 70px 20px;
    }

    #impact .section-heading h2 {
        font-size: 32px;
    }

    .impact-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .stat-number {
        font-size: 34px;
    }

    .impact-stories {
        grid-template-columns: 1fr;
    }

    .impact-story {
        padding: 28px;
    }
}

/* PREMIUM OUR PROGRAMS SECTION */
#our-programs {
    background: #ffffff;
    padding: 100px 20px;
}

#our-programs .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#our-programs .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#our-programs .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#our-programs .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

/* Program cards */
.program-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.program-card {
    position: relative;
    background: #f7faff;
    border: 1px solid #e3edf7;
    border-radius: 18px;
    padding: 35px 30px;
    min-height: 270px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.program-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.12);
}

.program-number {
    display: block;
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 22px;
}

.program-card h3 {
    color: #123b68;
    font-size: 21px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.program-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}

/* OUR PROGRAMS MOBILE */
@media (max-width: 768px) {
    #our-programs {
        padding: 70px 20px;
    }

    #our-programs .section-heading h2 {
        font-size: 32px;
    }

    .program-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .program-card {
        min-height: auto;
        padding: 30px 25px;
    }
}

/* PREMIUM GET INVOLVED SECTION */
#get-involved {
    background: #eef6ff;
    padding: 100px 20px;
}

#get-involved .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#get-involved .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#get-involved .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#get-involved .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

/* Involvement cards */
.involved-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.involved-card {
    background: #ffffff;
    border: 1px solid #e1ecf7;
    border-radius: 20px;
    padding: 40px 32px;
    box-shadow: 0 10px 30px rgba(18, 59, 104, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.involved-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(18, 59, 104, 0.14);
}

.involved-icon {
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 22px;
}

.involved-card h3 {
    color: #123b68;
    font-size: 25px;
    margin-bottom: 15px;
}

.involved-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 25px;
}

.involved-link {
    color: #0b4f9c;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease;
}

.involved-link:hover {
    color: #123b68;
}

/* PREMIUM GET INVOLVED SECTION */
#get-involved {
    background: #eef6ff;
    padding: 100px 20px;
}

#get-involved .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#get-involved .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#get-involved .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#get-involved .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

/* Involvement cards */
.involved-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.involved-card {
    background: #ffffff;
    border: 1px solid #e1ecf7;
    border-radius: 20px;
    padding: 40px 32px;
    box-shadow: 0 10px 30px rgba(18, 59, 104, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.involved-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(18, 59, 104, 0.14);
}

.involved-icon {
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 22px;
}

.involved-card h3 {
    color: #123b68;
    font-size: 25px;
    margin-bottom: 15px;
}

.involved-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 25px;
}

.involved-link {
    color: #0b4f9c;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease;
}

.involved-link:hover {
    color: #123b68;
}
/* FOUNDATION VIDEO SECTION */

.foundation-video {
    background: #ffffff;
    padding: 90px 20px;
}

.video-heading {
    text-align: center;
    max-width: 750px;
    margin: 0 auto 45px;
}

.video-heading .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.video-heading h2 {
    color: #123b68;
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 16px;
}

.video-heading p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.7;
}

.video-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    border-radius: 22px;
    overflow: hidden;
    box-shadow:
        0 25px 60px rgba(18, 59, 104, 0.20),
        0 5px 15px rgba(18, 59, 104, 0.08);
    background: #0b1f33;
    border: 1px solid rgba(18, 59, 104, 0.08);
}

.video-wrapper video {
    display: block;
    width: 100%;
    height: auto;
    max-height: 600px;
    object-fit: cover;
}

@media (max-width: 768px) {

    .foundation-video {
        padding: 70px 20px;
    }

    .video-heading h2 {
        font-size: 32px;
    }

    .video-wrapper {
        border-radius: 16px;
    }

}

.recent-work-info {
    max-width: 1000px;
    margin: 30px auto 0;
    padding: 38px 42px;
    background: #f7faff;
    border: 1px solid #dceaf7;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    box-shadow: 0 12px 35px rgba(18, 59, 104, 0.06);
}

.recent-work-text {
    max-width: 700px;
}

.recent-work-info .story-tag {
    display: inline-block;
    color: #0b4f9c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
}

.recent-work-info h3 {
    color: #123b68;
    font-size: 25px;
    line-height: 1.3;
    margin-bottom: 12px;
}

.recent-work-info p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.recent-work-info .involved-link {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    border: 1px solid #0b4f9c;
    border-radius: 8px;
    color: #0b4f9c;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    transition: all 0.3s ease;
}

.recent-work-info .involved-link:hover {
    background: #0b4f9c;
    color: #ffffff;
    transform: translateX(3px);
}
@media (max-width: 768px) {

    .recent-work-info {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px 25px;
        gap: 20px;
    }

    .recent-work-info h3 {
        font-size: 22px;
    }

}

.story-left {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.story-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin-top: 12px;
}

.story-image {
    width: 100%;
    height: 520px;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(18, 59, 104, 0.16);
}

.story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media (max-width: 768px) {

    .story-section {
        padding: 70px 20px;
    }

    .story-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .story-heading h2 {
        font-size: 32px;
    }

    .story-image {
        height: 380px;
    }

}

/* HOW WE CREATE IMPACT */

#how-we-impact {
    background: #f7faff;
    padding: 100px 20px;
}

#how-we-impact .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#how-we-impact .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#how-we-impact .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#how-we-impact .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

.impact-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.impact-process-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e3edf7;
    border-radius: 18px;
    padding: 35px 28px;
    min-height: 280px;
    box-shadow: 0 8px 25px rgba(18, 59, 104, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.impact-process-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(18, 59, 104, 0.12);
}

.process-number {
    display: block;
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 25px;
}

.impact-process-card h3 {
    color: #123b68;
    font-size: 21px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.impact-process-card p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 900px) {

    .impact-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 768px) {

    #how-we-impact {
        padding: 70px 20px;
    }

    #how-we-impact .section-heading h2 {
        font-size: 32px;
    }

    .impact-process-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .impact-process-card {
        min-height: auto;
        padding: 30px 25px;
    }

}

/* GALLERY SECTION */

#gallery {
    background: #ffffff;
    padding: 100px 20px;
}

#gallery .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#gallery .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#gallery .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#gallery .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

/* GALLERY FOLDERS */

.gallery-folders {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    max-width: 1100px;
    margin: 0 auto;
}

.gallery-folder {
    background: #f7faff;
    border: 1px solid #e3edf7;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(18, 59, 104, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-folder:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(18, 59, 104, 0.14);
}

.folder-cover {
    width: 100%;
    height: 330px;
    overflow: hidden;
    background: #eaf2fa;
}

.folder-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.gallery-folder:hover .folder-cover img {
    transform: scale(1.04);
}

.folder-info {
    padding: 30px 32px 35px;
}

.folder-number {
    display: block;
    color: #0b4f9c;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.folder-info h3 {
    color: #123b68;
    font-size: 25px;
    line-height: 1.3;
    margin-bottom: 10px;
}

.folder-info p {
    color: #5a6877;
    font-size: 14px;
    margin-bottom: 24px;
}

.gallery-view-button {
    background: #0b4f9c;
    color: #ffffff;
    border: none;
    padding: 13px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.gallery-view-button:hover {
    background: #123b68;
    transform: translateX(3px);
}

@media (max-width: 768px) {

    #gallery {
        padding: 70px 20px;
    }

    #gallery .section-heading h2 {
        font-size: 32px;
    }

    .gallery-folders {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .folder-cover {
        height: 260px;
    }

    .folder-info {
        padding: 28px 25px 30px;
    }

    .folder-info h3 {
        font-size: 22px;
    }

}

/* OUTREACH PHOTO GALLERIES */

.hidden-gallery {
    margin-top: 70px;
    padding: 50px;
    background: #f7faff;
    border: 1px solid #e3edf7;
    border-radius: 24px;
}

.close-gallery {
    background: transparent;
    border: none;
    color: #0b4f9c;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    margin-bottom: 35px;
}

.close-gallery:hover {
    color: #123b68;
}

.outreach-gallery-heading {
    max-width: 700px;
    margin-bottom: 40px;
}

.outreach-gallery-heading .section-label {
    color: #0b4f9c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.outreach-gallery-heading h3 {
    color: #123b68;
    font-size: 32px;
    line-height: 1.2;
    margin: 10px 0 12px;
}

.outreach-gallery-heading p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.7;
}

/* PHOTO GRID */

.photo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.photo-item {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
    background: #eaf2fa;
}

.photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.photo-item:hover img {
    transform: scale(1.06);
}

@media (max-width: 900px) {

    .photo-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (max-width: 768px) {

    .hidden-gallery {
        margin-top: 50px;
        padding: 30px 20px;
        border-radius: 18px;
    }

    .outreach-gallery-heading h3 {
        font-size: 27px;
    }

    .photo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .photo-item {
        border-radius: 9px;
    }

}

/* FAQ SECTION */

#faq {
    background: #eef6ff;
    padding: 100px 20px;
}

#faq .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 55px;
}

#faq .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#faq .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#faq .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

.faq-list {
    max-width: 850px;
    margin: 0 auto;
}

.faq-item {
    background: #ffffff;
    border: 1px solid #dfeaf5;
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(18, 59, 104, 0.04);
}

.faq-item summary {
    position: relative;
    padding: 22px 55px 22px 25px;
    color: #123b68;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    color: #0b4f9c;
    font-size: 24px;
    font-weight: 400;
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-item p {
    padding: 0 55px 24px 25px;
    margin: 0;
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 768px) {

    #faq {
        padding: 70px 20px;
    }

    #faq .section-heading h2 {
        font-size: 32px;
    }

    .faq-item summary {
        padding: 20px 50px 20px 20px;
        font-size: 16px;
        line-height: 1.5;
    }

    .faq-item summary::after {
        right: 20px;
    }

    .faq-item p {
        padding: 0 45px 22px 20px;
    }

}

/* DONATE SECTION */

#donate {
    background: #123b68;
    padding: 100px 20px;
    color: #ffffff;
    overflow: hidden;
}

.donate-content {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 70px;
    align-items: center;
}

.donate-text .section-label {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.donate-text h2 {
    color: #ffffff;
    font-size: 46px;
    line-height: 1.15;
    margin: 0 0 25px;
}

.donate-text p {
    color: rgba(255, 255, 255, 0.84);
    font-size: 17px;
    line-height: 1.8;
    max-width: 650px;
}

.donate-box {
    background: #ffffff;
    border-radius: 22px;
    padding: 42px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.20);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.donate-box h3 {
    color: #123b68;
    font-size: 27px;
    margin-bottom: 12px;
}

.donate-box > p {
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 25px;
}

.donation-points {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 30px;
}

.donation-points span {
    color: #123b68;
    background: #f7faff;
    border: 1px solid #dfeaf5;
    border-radius: 10px;
    padding: 13px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.donate-box .primary-button {
    display: inline-block;
    width: 100%;
    text-align: center;
}

@media (max-width: 768px) {

    #donate {
        padding: 70px 20px;
    }

    .donate-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .donate-text h2 {
        font-size: 34px;
    }

    .donate-text p {
        font-size: 16px;
    }

    .donate-box {
    padding: 32px 25px;
    border-radius: 18px;
}

    .donation-points {
        grid-template-columns: 1fr;
    }

}

/* DONATION INFORMATION */

#donate-info {
    background: #f7faff;
    padding: 70px 20px;
}

.donate-info-box {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e3edf7;
    border-radius: 22px;
    padding: 50px 45px;
    box-shadow: 0 12px 35px rgba(18, 59, 104, 0.07);
}

.donate-info-box .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.donate-info-box h2 {
    color: #123b68;
    font-size: 34px;
    line-height: 1.2;
    margin: 0 0 18px;
}

.donate-info-box > p:not(.section-label) {
    max-width: 650px;
    margin: 0 auto 28px;
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
}

.donate-info-box .secondary-button {
    display: inline-block;
    color: #0b4f9c;
    border: 1px solid #0b4f9c;
    background: transparent;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.donate-info-box .secondary-button:hover {
    background: #0b4f9c;
    color: #ffffff;
}

@media (max-width: 768px) {

    #donate-info {
        padding: 55px 20px;
    }

    .donate-info-box {
        padding: 35px 25px;
        border-radius: 18px;
    }

    .donate-info-box h2 {
        font-size: 28px;
    }

    .donate-info-box > p:not(.section-label) {
        font-size: 15px;
    }

}

/* CONTACT SECTION */

#contact {
    background: #ffffff;
    padding: 100px 20px;
}

#contact .section-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
}

#contact .section-label {
    color: #0b4f9c;
    font-weight: 700;
    letter-spacing: 2px;
}

#contact .section-heading h2 {
    color: #123b68;
    font-size: 42px;
    line-height: 1.2;
    margin: 12px 0 18px;
}

#contact .section-intro {
    color: #5a6877;
    font-size: 17px;
    line-height: 1.7;
}

.contact-content {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 60px;
    align-items: stretch;
}

.contact-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 35px;
}

.contact-item {
    padding-bottom: 25px;
    border-bottom: 1px solid #e3edf7;
}

.contact-item:last-child {
    border-bottom: none;
}

.contact-label {
    display: block;
    color: #0b4f9c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.contact-item p {
    margin: 0;
    color: #123b68;
    font-size: 17px;
    line-height: 1.6;
}

.contact-item a {
    color: #123b68;
    text-decoration: none;
}

.contact-item a:hover {
    color: #0b4f9c;
}

.contact-box {
    background: #123b68;
    border-radius: 22px;
    padding: 45px;
    box-shadow: 0 20px 50px rgba(18, 59, 104, 0.16);
}

.contact-box h3 {
    color: #ffffff;
    font-size: 30px;
    line-height: 1.25;
    margin-bottom: 15px;
}

.contact-box > p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 30px;
}

/* CONTACT FORM */

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    padding: 14px 16px;
    font-family: inherit;
    font-size: 15px;
    outline: none;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.65);
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: rgba(255, 255, 255, 0.5);
}

.contact-form textarea {
    resize: vertical;
}

.contact-form .primary-button {
    border: none;
    cursor: pointer;
    align-self: flex-start;
}

.contact-box > .primary-button {
    margin-top: 15px;
    display: inline-block;
}

@media (max-width: 768px) {

    #contact {
        padding: 70px 20px;
    }

    #contact .section-heading h2 {
        font-size: 32px;
    }

    .contact-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contact-info {
        gap: 25px;
    }

    .contact-box {
        padding: 30px 25px;
        border-radius: 18px;
    }

    .contact-box h3 {
        font-size: 26px;
    }

    .contact-form .primary-button {
        width: 100%;
    }

}

/* TALLY CONTACT FORM */

.contact-box iframe {
    display: block;
    width: 100%;
    border: none;
    border-radius: 10px;
    background: transparent;
    overflow: hidden;
}

/* FOOTER */

.site-footer {
    background: #0b1f33;
    color: #ffffff;
    padding: 70px 20px 25px;
}

.footer-container {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: start;
}

.footer-brand h3 {
    color: #ffffff;
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 14px;
}

.footer-brand p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
    line-height: 1.7;
    max-width: 350px;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 30px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #ffffff;
}

.footer-social {
    grid-column: 1 / -1;
    display: flex;
    gap: 20px;
    padding-bottom: 10px;
    margin-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-social a {
    color: #ffffff;
    font-weight: 600;
}

.footer-bottom {
    max-width: 1100px;
    margin: 55px auto 0;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    text-align: center;
}

.footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
}

/* FOOTER MOBILE */

@media (max-width: 768px) {

    .site-footer {
        padding: 55px 20px 22px;
    }

    .footer-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-brand {
        text-align: center;
    }

    .footer-brand p {
        margin: 0 auto;
    }

    .footer-links {
        grid-template-columns: 1fr 1fr;
        gap: 16px 20px;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-links > a {
        text-align: center;
    }

    .footer-bottom {
        margin-top: 40px;
    }
}

/* HERO BUTTONS */

.hero .primary-button,
.hero .secondary-button {
    min-width: 150px;
    text-align: center;
    padding: 14px 24px;
    border-radius: 8px;
    font-weight: 700;
    transition: all 0.3s ease;
}

.hero .primary-button:hover {
    transform: translateY(-2px);
}

.hero .secondary-button {
    border: 1px solid rgba(255, 255, 255, 0.7);
    color: #ffffff;
    background: transparent;
}

.hero .secondary-button:hover {
    background: #ffffff;
    color: #123b68;
    transform: translateY(-2px);
}

/* GET INVOLVED - MOBILE STACK */

@media (max-width: 768px) {

    .involved-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    .involved-card {
        width: 100%;
        box-sizing: border-box;
    }

}

/* SCROLL REVEAL ANIMATION */

.scroll-animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.scroll-visible {
    opacity: 1;
    transform: translateY(0);
}

/* FOOTER SOCIAL MEDIA */

.footer-social {
    width: 100%;
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: #dbe8f5;
    background: rgba(255, 255, 255, 0.04);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.footer-social a:hover {
    background: #ffffff;
    color: #123b68;
    border-color: #ffffff;
    transform: translateY(-2px);
}

@media (max-width: 750px) {

    .footer-social {
        justify-content: flex-start;
        margin-bottom: 18px;
    }

    .footer-social a {
        min-width: 85px;
        padding: 10px 14px;
    }
}

@media (max-width: 550px) {

    .site-footer {
        padding: 55px 20px 22px;
    }

    .footer-container {
        gap: 32px;
    }

    .footer-brand {
        width: 100%;
    }

    .footer-brand h3 {
        font-size: 18px;
        line-height: 1.4;
        margin-bottom: 10px;
    }

    .footer-brand p {
        font-size: 14px;
        line-height: 1.7;
        max-width: 320px;
    }

    .footer-links {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .footer-social {
        width: 100%;
        gap: 10px;
        margin-bottom: 25px;
    }

    .footer-social a {
        min-width: 0;
        padding: 10px 18px;
        font-size: 13px;
        border-radius: 8px;
    }

    .footer-links > a {
        width: 100%;
        padding: 11px 0;
        font-size: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .footer-links > a:last-child {
        border-bottom: none;
    }

    .footer-bottom {
        margin-top: 32px;
        padding-top: 18px;
    }

    .footer-bottom p {
        font-size: 11px;
        line-height: 1.7;
    }
}

/* FAST MOBILE HEADER POLISH */

@media (max-width: 768px) {

    header {
        box-shadow: 0 4px 18px rgba(18, 59, 104, 0.08);
    }

    header nav {
        min-height: 58px;
        padding: 12px 18px;
        box-sizing: border-box;
    }

    .site-logo {
        width: 145px;
        height: auto;
    }

    .menu-toggle {
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border-radius: 8px;
        cursor: pointer;
    }

    .donate-button {
        padding: 10px 15px;
        font-size: 13px;
        white-space: nowrap;
    }

    .nav-links {
        margin-top: 10px;
        padding: 6px 0;
        border-top: 1px solid #e3edf7;
        border-radius: 0 0 12px 12px;
    }

    .nav-links a {
        padding: 13px 18px;
        font-size: 14px;
    }

    .nav-links li:last-child a {
        border-bottom: none;
    }
}

/* FAST MOBILE WEBSITE POLISH */

@media (max-width: 768px) {

    /* GLOBAL */

    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .section-container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .section-heading {
        margin-bottom: 40px;
    }

    .section-heading h2 {
        font-size: 32px;
        line-height: 1.2;
    }

    .section-intro {
        font-size: 15px;
        line-height: 1.7;
    }

    /* BUTTONS */

    .primary-button,
    .secondary-button {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* ABOUT */

    .about-section {
        padding: 70px 20px;
    }

    .about-text p {
        font-size: 15px;
        line-height: 1.75;
    }

    /* VIDEO */

    .foundation-video {
        padding: 70px 20px;
    }

    .video-heading h2 {
        font-size: 32px;
    }

    .video-wrapper {
        border-radius: 16px;
    }

    /* STORY */

    .story-section {
        padding: 70px 20px;
    }

    .story-heading h2 {
        font-size: 32px;
    }

    .story-text p {
        font-size: 15px;
    }

    .story-image {
        height: 360px;
        border-radius: 16px;
    }

    /* IMPACT PROCESS */

    .impact-process-section {
        padding: 70px 20px;
    }

    .impact-process-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* WHO WE SERVE */

    .programs-section {
        padding: 70px 20px;
    }

    .beneficiary-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .beneficiary-card {
        min-height: auto;
        padding: 30px 25px;
    }

    /* OUR PROGRAMS */

    .our-programs-section {
        padding: 70px 20px;
    }

    .program-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .program-card {
        min-height: auto;
        padding: 30px 25px;
    }

    /* OUR IMPACT */

    .impact-section {
        padding: 70px 20px;
    }

    .impact-stats {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        margin-top: 40px;
        margin-bottom: 45px;
    }

    .impact-stat {
        padding: 28px 15px;
    }

    .stat-number {
        font-size: 40px;
    }

    .impact-stories {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .impact-story {
        padding: 30px 25px;
    }

    /* GET INVOLVED */

    .involved-section {
        padding: 70px 20px;
    }

    .involved-grid {
        grid-template-columns: 1fr !important;
        gap: 18px;
    }

    .involved-card {
        padding: 30px 25px;
        width: 100%;
        box-sizing: border-box;
    }

    /* DONATE */

    #donate {
        padding: 70px 20px;
    }

    .donate-text h2 {
        font-size: 34px;
    }

    .donate-box {
        padding: 30px 25px;
    }

    .donation-points {
        grid-template-columns: 1fr;
    }

    /* DONATION INFO */

    .donate-info-section {
        padding: 70px 20px;
    }

    /* GALLERY */

    #gallery {
        padding: 70px 20px;
        overflow-x: hidden;
    }

    /* FAQ */

    #faq {
        padding: 70px 20px;
    }

    #faq .section-heading h2 {
        font-size: 32px;
    }

    /* CONTACT */

    #contact {
        padding: 70px 20px;
        overflow-x: hidden;
    }
}

/* FAST GLOBAL VISUAL POLISH */

body {
    color: #333333;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

.section-label {
    color: #0b4f9c;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.4;
    margin-bottom: 12px;
}

.section-heading h2 {
    color: #123b68;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.primary-button,
.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 22px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.primary-button {
    background: #0b4f9c;
    color: #ffffff;
    border: 1px solid #0b4f9c;
    box-shadow: 0 6px 18px rgba(11, 79, 156, 0.15);
}

.primary-button:hover {
    background: #123b68;
    border-color: #123b68;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(18, 59, 104, 0.18);
}

.secondary-button {
    color: #0b4f9c;
    background: #ffffff;
    border: 1px solid #cfe0f2;
}

.secondary-button:hover {
    background: #eef6ff;
    border-color: #0b4f9c;
    transform: translateY(-2px);
}

.section-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* MOBILE BUTTON POLISH */

@media (max-width: 550px) {

    .primary-button,
    .secondary-button {
        min-height: 44px;
        padding: 11px 18px;
        font-size: 13px;
    }

    .section-label {
        font-size: 12px;
        letter-spacing: 1.7px;
    }

    .section-heading h2 {
        letter-spacing: -0.3px;
    }
}

/* FINAL WEBSITE POLISH */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

img,
video {
    max-width: 100%;
}

a {
    -webkit-tap-highlight-color: transparent;
}

button {
    font-family: inherit;
}

::selection {
    background: #0b4f9c;
    color: #ffffff;
}

/* LOGO SIZE POLISH */

.site-logo {
    width: 180px;
    height: auto;
}

@media (max-width: 768px) {
    .site-logo {
        width: 165px;
    }
}

@media (max-width: 768px) {
    .site-logo {
        width: 190px;
    }
}

/* FINAL LOGO SIZE FIX */
.site-logo {
    width: 220px !important;
    height: auto !important;
    display: block;
}

@media (max-width: 768px) {
    .site-logo {
        width: 190px !important;
        height: auto !important;
    }
}

@media (max-width: 768px) {
    .donate-button {
        display: none !important;
    }
}

/* CONTACT PAGE */

.contact-page {
    min-height: calc(100vh - 90px);
    padding: 90px 25px;
    background: #f7faff;
}

.contact-page-container {
    max-width: 1100px;
    margin: 0 auto;
}

.contact-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 45px;
    align-items: start;
}

.contact-page-heading {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 45px;
}

.contact-page-heading h1 {
    color: #123b68;
    font-size: 46px;
    line-height: 1.15;
    margin-bottom: 18px;
}

.contact-page-heading p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

.contact-page-box {
    background: #ffffff;
    padding: 25px;
    border: 1px solid #dceaf7;
    border-radius: 20px;
    box-shadow: 0 18px 45px rgba(18, 59, 104, 0.08);
}

.contact-page-box iframe {
    display: block;
    width: 100%;
    min-height: 700px;
    border: none;
    border-radius: 10px;
    background: transparent;
}

@media (max-width: 768px) {
    .contact-page {
        padding: 65px 20px;
    }

    .contact-page-heading h1 {
        font-size: 34px;
    }

    .contact-page-heading p {
        font-size: 15px;
    }

    .contact-page-box {
        padding: 12px;
        border-radius: 16px;
    }

    .contact-page-box iframe {
        min-height: 720px;
    }
}

/* FAQ PAGE */

.faq-page {
    padding: 90px 25px;
    background: #f7faff;
    min-height: calc(100vh - 90px);
}

.faq-page-container {
    max-width: 900px;
    margin: 0 auto;
}

.faq-page-heading {
    max-width: 720px;
    margin: 0 auto 60px;
    text-align: center;
}

.faq-page-heading h1 {
    color: #123b68;
    font-size: 46px;
    line-height: 1.15;
    margin-bottom: 18px;
}

.faq-page-heading p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

.faq-category {
    margin-bottom: 50px;
}

.faq-category h2 {
    color: #123b68;
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 18px;
    padding-left: 16px;
    border-left: 4px solid #0b4f9c;
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.faq-item {
    background: #ffffff;
    border: 1px solid #dceaf7;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(18, 59, 104, 0.05);
}

.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
    border: none;
    background: #ffffff;
    color: #123b68;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    cursor: pointer;
    transition: background 0.3s ease;
}

.faq-question:hover {
    background: #f4f8fc;
}

.faq-question span {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef6ff;
    color: #0b4f9c;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    transition: transform 0.3s ease;
}

.faq-answer {
    display: none;
    padding: 0 22px 22px;
}

.faq-answer p {
    margin: 0;
    color: #5a6877;
    font-size: 14px;
    line-height: 1.8;
}

.faq-item.active .faq-answer {
    display: block;
}

.faq-item.active .faq-question {
    background: #f7faff;
}

.faq-item.active .faq-question span {
    transform: rotate(45deg);
    background: #0b4f9c;
    color: #ffffff;
}

@media (max-width: 768px) {

    .faq-page {
        padding: 65px 20px;
    }

    .faq-page-heading {
        margin-bottom: 45px;
    }

    .faq-page-heading h1 {
        font-size: 34px;
    }

    .faq-page-heading p {
        font-size: 15px;
    }

    .faq-category {
        margin-bottom: 38px;
    }

    .faq-category h2 {
        font-size: 21px;
        margin-bottom: 14px;
    }

    .faq-question {
        padding: 17px 16px;
        font-size: 14px;
        gap: 12px;
    }

    .faq-question span {
        width: 26px;
        height: 26px;
        font-size: 18px;
    }

    .faq-answer {
        padding: 0 16px 18px;
    }

    .faq-answer p {
        font-size: 14px;
        line-height: 1.75;
    }
}

.faq-answer {
    display: none !important;
}

.faq-item.active .faq-answer {
    display: block !important;
}

/* GET IN TOUCH DROPDOWN */

.nav-dropdown {
    position: relative;
}

.nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.nav-dropdown-toggle span {
    font-size: 11px;
    transition: transform 0.3s ease;
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    min-width: 170px;
    padding: 8px;
    margin: 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid #dceaf7;
    border-radius: 10px;
    box-shadow: 0 14px 35px rgba(18, 59, 104, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.25s ease;
    z-index: 200;
}

.nav-dropdown-menu li {
    width: 100%;
}

.nav-dropdown-menu a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 11px 14px;
    border-radius: 7px;
    color: #123b68;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.nav-dropdown-menu a:hover {
    background: #eef6ff;
    color: #0b4f9c;
}

.nav-dropdown.active .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-dropdown.active .nav-dropdown-toggle span {
    transform: rotate(180deg);
}

/* CONTACT PAGE */

.contact-page {
    min-height: calc(100vh - 90px);
    padding: 90px 25px;
    background: #f7faff;
}

.contact-page-container {
    max-width: 1100px;
    margin: 0 auto;
}

.contact-page-heading {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 45px;
}

.contact-page-heading h1 {
    color: #123b68;
    font-size: 46px;
    line-height: 1.15;
    margin-bottom: 18px;
}

.contact-page-heading p {
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

/* CONTACT LAYOUT */

.contact-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 45px;
    align-items: start;
}

/* CONTACT DETAILS */

.contact-details {
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.contact-detail {
    width: 100%;
    min-height: 150px;
    padding: 28px 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #dceaf7;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 12px 32px rgba(18, 59, 104, 0.07);
    box-sizing: border-box;
}

.contact-detail-label {
    display: block;
    margin-bottom: 10px;
    color: #0b4f9c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.contact-detail a {
    color: #123b68;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.contact-detail a:hover {
    color: #0b4f9c;
}

.contact-detail p {
    margin: 0;
    color: #123b68;
    font-size: 14px;
    font-weight: 600;
}

/* TALLY FORM */

.contact-page-box {
    width: 100%;
    background: #ffffff;
    padding: 25px;
    border: 1px solid #dceaf7;
    border-radius: 20px;
    box-shadow: 0 18px 45px rgba(18, 59, 104, 0.08);
    box-sizing: border-box;
}

.contact-page-box iframe {
    display: block;
    width: 100%;
    min-height: 700px;
    border: none;
    border-radius: 10px;
    background: transparent;
}

/* MOBILE */

@media (max-width: 768px) {

    .contact-page {
        padding: 65px 20px;
    }

    .contact-page-heading h1 {
        font-size: 34px;
    }

    .contact-page-heading p {
        font-size: 15px;
    }

    .contact-layout {
        display: block;
    }

    .contact-details {
        gap: 12px;
        margin-bottom: 28px;
    }

    .contact-detail {
        min-height: auto;
        padding: 20px 18px;
    }

    .contact-page-box {
        padding: 12px;
        border-radius: 16px;
    }

    .contact-page-box iframe {
        min-height: 720px;
    }

}

.footer-social-text {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
    max-width: 420px;
}

/* INNER PAGE HERO IMAGES */

.page-hero-images {
    max-width: 1100px;
    margin: 0 auto 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 0 25px;
    box-sizing: border-box;
}

.page-hero-image {
    width: 100%;
    height: 330px;
    overflow: hidden;
    border-radius: 20px;
}

.page-hero-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.page-hero-images + .section-container {
    margin-top: 0;
}

@media (max-width: 768px) {

    .page-hero-images {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 20px;
        margin-bottom: 45px;
    }

    .page-hero-image {
        height: 240px;
        border-radius: 16px;
    }

}

/* PREMIUM PAGE IMAGE OVERLAY */

.page-hero-image {
    position: relative;
}

.page-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(18, 59, 104, 0.78),
        rgba(18, 59, 104, 0.08)
    );
    z-index: 1;
}

.page-hero-overlay {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 25px;
    z-index: 2;
    color: #ffffff;
}

.page-hero-overlay span {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #ffffff;
}

.page-hero-overlay h3 {
    margin: 0;
    color: #ffffff;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 800;
}

@media (max-width: 768px) {

    .page-hero-overlay {
        left: 20px;
        right: 20px;
        bottom: 18px;
    }

    .page-hero-overlay h3 {
        font-size: 21px;
    }

}

/* INNER PAGE HEADING */

.inner-page-heading {
    max-width: 760px;
    margin: 0 auto 45px;
    padding: 0 25px;
    text-align: center;
}

.inner-page-heading h1 {
    margin: 0 0 18px;
    color: #123b68;
    font-size: 46px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.8px;
}

.inner-page-heading p {
    margin: 0;
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
}

@media (max-width: 768px) {

    .inner-page-heading {
        margin-bottom: 35px;
        padding: 0 20px;
    }

    .inner-page-heading h1 {
        font-size: 34px;
        line-height: 1.2;
    }

    .inner-page-heading p {
        font-size: 15px;
        line-height: 1.7;
    }

}

.page-hero-image img {
    transition: transform 0.6s ease;
}

.page-hero-image:hover img {
    transform: scale(1.04);
}

```css
/* =========================================
   DONATION PAGE
========================================= */

.donation-page {
    padding: 90px 25px 100px;
    background: #f7faff;
}

.donation-page-container {
    max-width: 1100px;
    margin: 0 auto;
}


/* PAGE HEADING */

.donation-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.donation-heading h1 {
    margin: 0 0 18px;
    color: #123b68;
    font-size: 50px;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -1px;
}

.donation-heading p {
    margin: 0;
    color: #5a6877;
    font-size: 17px;
    line-height: 1.8;
}


/* ACCOUNT CARD */

.donation-account-card {
    position: relative;
    max-width: 850px;
    margin: 0 auto 90px;
    padding: 50px;
    background: #ffffff;
    border: 1px solid #dceaf7;
    border-radius: 24px;
    box-shadow: 0 25px 65px rgba(18, 59, 104, 0.12);
    overflow: hidden;
}

.donation-account-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: #0b4f9c;
}

.donation-card-top {
    text-align: center;
    margin-bottom: 38px;
}

.donation-card-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #0b4f9c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.donation-card-top h2 {
    margin: 0 0 12px;
    color: #123b68;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 800;
}

.donation-card-top p {
    max-width: 600px;
    margin: 0 auto;
    color: #5a6877;
    font-size: 15px;
    line-height: 1.7;
}


/* ACCOUNT DETAILS */

.account-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.account-detail {
    padding: 25px;
    background: #f7faff;
    border: 1px solid #dceaf7;
    border-radius: 15px;
    text-align: center;
}

.account-label {
    display: block;
    margin-bottom: 10px;
    color: #0b4f9c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.account-detail strong {
    display: block;
    color: #123b68;
    font-size: 16px;
    line-height: 1.4;
}


/* ACCOUNT NUMBER */

.account-number-box {
    grid-column: 1 / -1;
    padding: 35px 25px;
    background: #123b68;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(18, 59, 104, 0.18);
}

.account-number-box .account-label {
    color: #cfe0f2;
}

.account-number-box strong {
    display: block;
    margin: 5px 0 22px;
    color: #ffffff;
    font-size: 38px;
    line-height: 1.1;
    letter-spacing: 3px;
    font-weight: 800;
}

.copy-account-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 24px;
    border: 1px solid #ffffff;
    border-radius: 8px;
    background: #ffffff;
    color: #123b68;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s ease;
}

.copy-account-button:hover {
    background: #eef6ff;
    transform: translateY(-2px);
}

.copy-message {
    display: block;
    min-height: 18px;
    margin-top: 10px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}


/* DONATION IMPACT */

.donation-impact {
    margin-bottom: 90px;
}

.donation-impact-heading {
    max-width: 700px;
    margin: 0 auto 45px;
    text-align: center;
}

.donation-impact-heading h2 {
    margin: 0 0 16px;
    color: #123b68;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
}

.donation-impact-heading p {
    margin: 0;
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
}

.donation-impact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.donation-impact-card {
    padding: 35px 30px;
    background: #ffffff;
    border: 1px solid #dfeaf5;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(18, 59, 104, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.donation-impact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(18, 59, 104, 0.10);
}

.donation-impact-card > span {
    display: block;
    margin-bottom: 20px;
    color: #0b4f9c;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
}

.donation-impact-card h3 {
    margin: 0 0 12px;
    color: #123b68;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 800;
}

.donation-impact-card p {
    margin: 0;
    color: #5a6877;
    font-size: 14px;
    line-height: 1.7;
}


/* THANK YOU */

.donation-thank-you {
    max-width: 850px;
    margin: 0 auto;
    padding: 65px 45px;
    background: #eef6ff;
    border: 1px solid #d5e6f7;
    border-radius: 22px;
    text-align: center;
}

.donation-thank-you h2 {
    margin: 0 0 15px;
    color: #123b68;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 800;
}

.donation-thank-you p {
    max-width: 650px;
    margin: 0 auto;
    color: #5a6877;
    font-size: 16px;
    line-height: 1.8;
}


/* MOBILE */

@media (max-width: 768px) {

    .donation-page {
        padding: 65px 20px 75px;
    }

    .donation-heading {
        margin-bottom: 40px;
    }

    .donation-heading h1 {
        font-size: 36px;
        line-height: 1.2;
        letter-spacing: -0.5px;
    }

    .donation-heading p {
        font-size: 15px;
        line-height: 1.7;
    }

    .donation-account-card {
        padding: 32px 20px;
        margin-bottom: 65px;
        border-radius: 18px;
    }

    .donation-card-top {
        margin-bottom: 28px;
    }

    .donation-card-top h2 {
        font-size: 27px;
    }

    .donation-card-top p {
        font-size: 14px;
    }

    .account-details {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .account-detail {
        padding: 22px 18px;
    }

    .account-number-box {
        grid-column: auto;
        padding: 30px 15px;
    }

    .account-number-box strong {
    color: #ffffff !important;
    font-size: 27px;
    letter-spacing: 2px;
}

    .copy-account-button {
        width: 100%;
    }

    .donation-impact {
        margin-bottom: 65px;
    }

    .donation-impact-heading {
        margin-bottom: 35px;
    }

    .donation-impact-heading h2 {
        font-size: 31px;
    }

    .donation-impact-heading p {
        font-size: 15px;
    }

    .donation-impact-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .donation-impact-card {
        padding: 30px 25px;
    }

    .donation-thank-you {
        padding: 45px 25px;
        border-radius: 18px;
    }

    .donation-thank-you h2 {
        font-size: 30px;
    }

    .donation-thank-you p {
        font-size: 15px;
    }

}

@media (max-width: 768px) {
    .donation-account-card .account-number-box strong#accountNumber {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
}

/* =========================================
   CINEMATIC HERO SLIDESHOW
   ========================================= */

.hero {
    position: relative;
    min-height: 90vh;
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* Background slideshow container */
.hero-slideshow {
    position: absolute;
    inset: 0;
    z-index: 0;
}

/* Individual slides */
.hero-slide {
    position: absolute;
    inset: 0;

    background-size: cover;
    background-position: center;

    opacity: 0;

    transform: scale(1.04);

    transition:
        opacity 2s ease-in-out,
        transform 8s ease-out;
}

/* Active slide */
.hero-slide.active {
    opacity: 1;
    transform: scale(1);
}

/* Cinematic dark overlay */
.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.78) 0%,
            rgba(0, 0, 0, 0.55) 45%,
            rgba(0, 0, 0, 0.30) 100%
        );
}

/* Keep content above slideshow */
.hero-content {
    position: relative;
    z-index: 2;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 768px) {

    .hero {
        min-height: 85vh;
    }

    .hero-slide {
        background-position: center center;
    }

    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(0, 0, 0, 0.78),
                rgba(0, 0, 0, 0.48)
            );
    }
}

/* =========================================
   AJIBOLAMUKA CINEMATIC HERO SLIDESHOW
   ========================================= */

.hero {
    position: relative !important;
    overflow: hidden;
    min-height: 90vh;
}

/* Slideshow */
.hero-slideshow {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

/* Every image */
.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;

    background-size: cover;
    background-position: center;

    opacity: 0;

    animation: heroFade 24s infinite;

    transform: scale(1.08);
}

/* Timing for each image */

.hero-slide:nth-child(1) {
    animation-delay: 0s;
}

.hero-slide:nth-child(2) {
    animation-delay: 6s;
}

.hero-slide:nth-child(3) {
    animation-delay: 12s;
}

.hero-slide:nth-child(4) {
    animation-delay: 18s;
}


/* Cinematic fade + subtle zoom */

@keyframes heroFade {

    0% {
        opacity: 0;
        transform: scale(1.08);
    }

    5% {
        opacity: 1;
    }

    25% {
        opacity: 1;
        transform: scale(1);
    }

    30% {
        opacity: 0;
        transform: scale(1);
    }

    100% {
        opacity: 0;
        transform: scale(1.08);
    }
}


/* Dark cinematic overlay */

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,0.82) 0%,
            rgba(0,0,0,0.58) 45%,
            rgba(0,0,0,0.30) 100%
        );
}


/* Keep your text and buttons above everything */

.hero-content {
    position: relative !important;
    z-index: 2;
}

/* =========================================
   MOBILE HERO SLIDESHOW FIX
   ========================================= */

@media (max-width: 768px) {

    .hero {
        position: relative !important;
        min-height: 75vh !important;
        height: 85vh !important;
        overflow: hidden !important;
    }

    .hero-slideshow {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        overflow: hidden !important;
        z-index: 0 !important;
    }

    .hero-slide {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;

        display: block !important;

        background-size: 100% 100% !important;
background-position: center center !important;
        background-repeat: no-repeat !important;

        opacity: 0;
        transform: scale(1.08);

        animation: heroFadeMobile 24s infinite !important;
    }

    .hero-slide:nth-child(1) {
        animation-delay: 0s !important;
    }

    .hero-slide:nth-child(2) {
        animation-delay: 6s !important;
    }

    .hero-slide:nth-child(3) {
        animation-delay: 12s !important;
    }

    .hero-slide:nth-child(4) {
        animation-delay: 18s !important;
    }

    @keyframes heroFadeMobile {

        0% {
            opacity: 0;
            transform: scale(1.08);
        }

        5% {
            opacity: 1;
        }

        25% {
            opacity: 1;
            transform: scale(1);
        }

        30% {
            opacity: 0;
            transform: scale(1);
        }

        100% {
            opacity: 0;
            transform: scale(1.08);
        }
    }

    .hero-overlay {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
    }

    .hero-content {
        position: relative !important;
        z-index: 2 !important;
    }
}

css
/* =========================================
   AJIBOLAMUKA HEADER + MOBILE MENU FIX
   ========================================= */


.site-logo {
    display: block;
    width: 220px;
    height: auto;
    max-width: none;
}

/* Mobile header */
@media (max-width: 768px) {

    nav {
        position: relative;
        min-height: 80px;
        padding: 8px 18px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }


    .site-logo {
        width: 190px !important;
        height: auto !important;
        max-width: none !important;
    }

    /* Hamburger button */
    .menu-toggle {
        display: block !important;
        background: none;
        border: none;
        font-size: 32px;
        line-height: 1;
        cursor: pointer;
        padding: 8px;
        margin-left: auto;
        z-index: 1002;
    }

    /* Mobile navigation */
    .nav-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        padding: 15px 0;
        margin: 0;
        z-index: 1000;
    }

    /* JavaScript adds this class when menu opens */
    .nav-links.active {
        display: flex !important;
    }

    .nav-links li {
        width: 100%;
    }

    .nav-links li a {
        display: block;
        width: 100%;
        padding: 14px 22px;
    }

    /* Donate button */
    .donate-button {
        display: none;
    }
}

/* Desktop */
@media (min-width: 769px) {

    .menu-toggle {
        display: none;
    }

    .nav-links {
        display: flex;
    }

    .site-logo {
        width: 220px;
    }
}

css
/* =========================================
   CENTER LOGO ON MOBILE
   ========================================= */

@media (max-width: 768px) {

    nav {
        position: relative;
    }

    .menu-toggle {
        margin-left: auto;
    }

}


/* =========================================
   MOBILE LOGO - TRUE CENTER
   ========================================= */

@media (max-width: 768px) {

    nav {
        position: relative !important;
    }



    .menu-toggle {
        position: absolute !important;
        right: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
    }

}


/* =========================================
   FINAL MOBILE HEADER POSITIONING
   ========================================= */

@media (max-width: 768px) {

    nav {
        position: relative !important;
    }


    .site-logo {
        display: block !important;
        width: 190px !important;
        height: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .menu-toggle {
        position: absolute !important;
        right: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        z-index: 1002 !important;
    }

}

/* =========================================
   FINAL MOBILE HEADER ALIGNMENT
   ========================================= */

@media (max-width: 768px) {

    header nav {
        position: relative !important;
        width: 100% !important;
        min-height: 80px !important;
        padding: 8px 18px !important;
        box-sizing: border-box !important;
    }


    header .site-logo {
        display: block !important;
        width: 190px !important;
        height: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    header .menu-toggle {
        position: absolute !important;

        right: 18px !important;
        top: 50% !important;

        transform: translateY(-50%) !important;

        margin: 0 !important;
        z-index: 1002 !important;
    }

}

/* =========================================
   CLEAN MOBILE HEADER
   ========================================= */

@media (max-width: 768px) {

    header {
        width: 100%;
    }

    header nav {
        width: 100%;
        max-width: none;
        height: 80px;
        min-height: 80px;
        padding: 0 18px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
        box-sizing: border-box;
    }

    /* Logo */
    header nav .logo-link {
        position: absolute;
        left: 18px;
        top: 50%;
        transform: translateY(-50%);
        display: block;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        z-index: 1001;
    }

    header nav .site-logo {
        display: block;
        width: 190px;
        height: auto;
        max-width: none;
        max-height: none;
        margin: 0;
        padding: 0;
        transform: none;
        object-fit: contain;
    }

    /* Hamburger */
    header nav .menu-toggle {
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        margin: 0;
        z-index: 1002;
    }

    /* Mobile menu */
    header nav .nav-links {
        display: none;
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        margin: 0;
        padding: 15px 0;
        flex-direction: column;
        align-items: stretch;
        z-index: 1000;
    }

    header nav .nav-links.active {
        display: flex !important;
    }

    header nav .donate-button {
        display: none;
    }
}

 /* =========================================================
   FINAL HEADER + HERO POSITION FIX
   ========================================================= */

/* Keep the page full width */
html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

/* =========================
   DESKTOP HERO
   ========================= */

.hero {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.hero-content {
    width: 100% !important;
    max-width: 850px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    position: relative !important;
    z-index: 5 !important;
}

.hero-label,
.hero h1,
.hero-text,
.hero-buttons {
    text-align: center !important;
}

.hero-buttons {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* =========================
   MOBILE HEADER LOGO
   ========================= */

@media (max-width: 768px) {

    header nav {
        width: 100% !important;
        max-width: none !important;
        position: relative !important;
    }

    header nav .logo-link {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
    }

    header nav .site-logo {
        width: 100px !important;
        height: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    header nav .menu-toggle {
        position: absolute !important;
        right: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    /* Keep mobile hero centered too */
    .hero {
        width: 100% !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .hero-content {
        width: calc(100% - 36px) !important;
        max-width: 850px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .hero-buttons {
        justify-content: center !important;
    }
}

/* =========================================
   HOMEPAGE LATEST NEWS
========================================= */

.home-news-section {
    padding: 110px 0;
    background: #f7f7f4;
}

.home-news-section .section-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

/* SECTION HEADING */

.home-news-section .section-heading {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 55px;
}

.home-news-section .section-label {
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #d71920;
}

.home-news-section .section-heading h2 {
    margin: 0 0 18px;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.05;
    color: #111;
}

.home-news-section .section-intro {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #666;
}


/* FEATURED NEWS CARD */

.home-news-feature {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;

    min-height: 460px !important;

    background: #ffffff !important;

    text-decoration: none !important;
    color: #111111 !important;

    overflow: hidden !important;

    border-radius: 4px !important;

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.10) !important;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease !important;
}

.home-news-feature:hover {
    text-decoration: none !important;
    color: #111 !important;

    transform: translateY(-6px);

    box-shadow:
        0 28px 65px rgba(0, 0, 0, 0.15);
}


/* IMAGE */

.home-news-image {
    min-height: 460px;
    overflow: hidden;
    background: #ddd;
}

.home-news-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.7s ease;
}

.home-news-feature:hover .home-news-image img {
    transform: scale(1.05);
}


/* CONTENT */

.home-news-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 55px;
}


/* CATEGORY */

.home-news-content .story-tag {
    display: inline-block;

    width: fit-content;

    margin-bottom: 20px;

    padding: 8px 14px;

    background: #d71920;
    color: #fff;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.5px;

    border-radius: 2px;
}


/* TITLE */

.home-news-content h3 {
    margin: 0 0 20px;

    font-size: clamp(28px, 3vw, 43px);

    line-height: 1.12;

    font-weight: 800;

    color: #111 !important;
}


/* DESCRIPTION */

.home-news-content p {
    margin: 0 0 28px;

    font-size: 16px;

    line-height: 1.75;

    color: #555 !important;
}


/* SOURCE + DATE */

.home-news-meta {
    display: flex;

    gap: 22px;

    flex-wrap: wrap;

    margin-bottom: 27px;

    font-size: 13px;

    color: #777 !important;
}

.home-news-meta span {
    color: #777 !important;
}


/* READ STORY */

.home-news-link {
    display: inline-block;

    width: fit-content;

    font-size: 15px;

    font-weight: 800;

    color: #d71920 !important;

    text-decoration: none !important;

    transition: transform 0.25s ease;
}

.home-news-feature:hover .home-news-link {
    transform: translateX(5px);
}


/* VIEW ALL NEWS BUTTON */

.home-news-button-wrap {
    text-align: center;

    margin-top: 38px;
}

.home-news-button-wrap .secondary-button {
    display: inline-block;

    padding: 15px 28px;

    border: 1px solid #111;

    color: #111 !important;

    background: transparent;

    text-decoration: none !important;

    font-size: 14px;

    font-weight: 800;

    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.home-news-button-wrap .secondary-button:hover {
    background: #111;

    color: #fff !important;
}


/* TABLET */

@media (max-width: 900px) {

    .home-news-feature {
        grid-template-columns: 1fr;
    }

    .home-news-image {
        min-height: 360px;
    }

    .home-news-content {
        padding: 45px;
    }

}


/* MOBILE */

@media (max-width: 600px) {

    .home-news-section {
        padding: 80px 0;
    }

    .home-news-section .section-container {
        padding: 0 20px;
    }

    .home-news-section .section-heading {
        margin-bottom: 35px;
    }

    .home-news-image {
        min-height: 270px;
    }

    .home-news-content {
        padding: 32px 25px;
    }

    .home-news-content h3 {
        font-size: 28px;
    }

    .home-news-content p {
        font-size: 15px;
    }

    .home-news-meta {
        flex-direction: column;
        gap: 8px;
    }

}

/* FINAL NEWS OVERRIDE TEST */

.home-news-section .home-news-feature {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

.home-news-section .home-news-content {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

.home-news-section .home-news-image {
    background: #ffffff !important;
}

/* DESKTOP NEWS CARD FIX */

@media (min-width: 901px) {

    .home-news-section .home-news-feature {
        background: #ffffff !important;
    }

    .home-news-section .home-news-content {
        background: #ffffff !important;
    }

}

/* =========================================================
   AJIBOLAMUKA CARES FOUNDATION
   VOICES OF IMPACT / TESTIMONIALS
========================================================= */

.impact-testimonials {
    position: relative;
    width: 100%;
    padding: 110px 20px;
    background: #f7f9fc;
    overflow: hidden;
}


.impact-testimonials::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(13, 71, 161, 0.045);
    top: -180px;
    right: -140px;
    pointer-events: none;
}


.impact-testimonials::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(13, 71, 161, 0.035);
    bottom: -150px;
    left: -120px;
    pointer-events: none;
}


.testimonials-container {
    position: relative;
    z-index: 2;
    width: min(1180px, 100%);
    margin: 0 auto;
}


.testimonials-heading {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}


.testimonials-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 3px;
    color: #0d47a1;
}


.testimonials-heading h2 {
    margin: 0 0 18px;
    color: #101828;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -1.5px;
}


.testimonials-heading p {
    margin: 0 auto;
    max-width: 620px;
    color: #667085;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================
   SLIDER
========================= */

.testimonial-slider {
    position: relative;
    width: 100%;
}


.testimonial-track {
    position: relative;
    width: 100%;
    min-height: 520px;
}


.testimonial-slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(240px, 0.65fr) minmax(0, 1.35fr);
    gap: 60px;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transform: translateX(35px);

    transition:
        opacity 0.55s ease,
        transform 0.55s ease,
        visibility 0.55s ease;
}


.testimonial-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}


/* =========================
   IMAGE
========================= */

.testimonial-image-wrap {
    position: relative;
    width: min(100%, 360px);
    aspect-ratio: 4 / 4.5;
    max-height: 420px;
    overflow: hidden;
    border-radius: 24px;
    background: #e8edf5;
    box-shadow:
        0 25px 60px rgba(16, 24, 40, 0.12);
}


.testimonial-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}


.testimonial-slide.is-active .testimonial-image {
    transform: scale(1.025);
}


.testimonial-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.20),
        transparent 45%
    );
    pointer-events: none;
}


.testimonial-placeholder {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 3;

    padding: 7px 11px;
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.92);
    color: #0d47a1;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.4px;
}


/* =========================
   CONTENT
========================= */

.testimonial-content {
    position: relative;
    padding: 10px 0;
}


.testimonial-type {
    display: inline-block;
    margin-bottom: 20px;

    color: #0d47a1;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}


.testimonial-quote-mark {
    height: 55px;
    color: #0d47a1;
    font-family: Georgia, serif;
    font-size: 88px;
    font-weight: 700;
    line-height: 0.8;
    opacity: 0.18;
}


.testimonial-content blockquote {
    margin: 22px 0 34px;

    color: #172033;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -0.4px;
}


.testimonial-person {
    display: flex;
    align-items: center;
    gap: 14px;
}


.testimonial-avatar {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;
    flex: 0 0 48px;

    border-radius: 50%;

    background: #0d47a1;
    color: #ffffff;

    font-size: 13px;
    font-weight: 800;
}


.testimonial-person strong {
    display: block;
    margin-bottom: 4px;

    color: #101828;
    font-size: 15px;
    font-weight: 800;
}


.testimonial-person span {
    display: block;

    color: #667085;
    font-size: 13px;
}


.testimonial-program {
    margin: 18px 0 0 62px;

    color: #98a2b3;
    font-size: 12px;
    font-weight: 600;
}


/* =========================
   CONTROLS
========================= */

.testimonial-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 42px;
}


.testimonial-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border: 1px solid #d9e1ec;
    border-radius: 50%;

    background: #ffffff;
    color: #0d47a1;

    font-size: 20px;
    cursor: pointer;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


.testimonial-arrow:hover {
    background: #0d47a1;
    border-color: #0d47a1;
    color: #ffffff;
    transform: translateY(-2px);
}


.testimonial-arrow:focus-visible {
    outline: 3px solid rgba(13, 71, 161, 0.2);
    outline-offset: 3px;
}


.testimonial-progress {
    display: flex;
    align-items: center;
    gap: 24px;
}


#testimonialCounter {
    min-width: 52px;

    color: #344054;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}


.testimonial-dots {
    display: flex;
    align-items: center;
    gap: 7px;
}


.testimonial-dot {
    width: 7px;
    height: 7px;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #cbd5e1;

    cursor: pointer;

    transition:
        width 0.25s ease,
        background 0.25s ease;
}


.testimonial-dot.is-active {
    width: 26px;
    border-radius: 999px;
    background: #0d47a1;
}


/* =========================
   TABLET
========================= */

@media (max-width: 900px) {

    .impact-testimonials {
        padding: 90px 20px;
    }


    .testimonial-track {
        min-height: 760px;
    }


    .testimonial-slide {
        grid-template-columns: 1fr;
        gap: 40px;
        align-items: start;
    }


    .testimonial-image-wrap {
        width: min(100%, 430px);
        aspect-ratio: 16 / 11;
        max-height: none;
        margin: 0 auto;
    }


    .testimonial-content {
        max-width: 720px;
        margin: 0 auto;
        text-align: center;
    }


    .testimonial-person {
        justify-content: center;
    }


    .testimonial-program {
        margin-left: 0;
    }


    .testimonial-controls {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {

    .impact-testimonials {
        padding: 75px 18px;
    }


    .testimonials-heading {
        margin-bottom: 40px;
    }


    .testimonials-heading h2 {
        font-size: 31px;
        letter-spacing: -0.8px;
    }


    .testimonials-heading p {
        font-size: 14px;
        line-height: 1.7;
    }


    .testimonial-track {
        min-height: 720px;
    }


    .testimonial-slide {
        gap: 30px;
    }


    .testimonial-image-wrap {
        border-radius: 18px;
        aspect-ratio: 16 / 11;
    }


    .testimonial-content blockquote {
        margin-top: 18px;
        font-size: 21px;
        line-height: 1.55;
    }


    .testimonial-quote-mark {
        font-size: 72px;
        height: 45px;
    }


    .testimonial-type {
        font-size: 10px;
        letter-spacing: 1.5px;
    }


    .testimonial-controls {
        margin-top: 30px;
    }


    .testimonial-arrow {
        width: 44px;
        height: 44px;
    }


    .testimonial-progress {
        gap: 12px;
    }


    #testimonialCounter {
        min-width: auto;
        font-size: 11px;
    }


    .testimonial-dot {
        width: 6px;
        height: 6px;
    }


    .testimonial-dot.is-active {
        width: 20px;
    }

}


/* =========================
   REDUCED MOTION
========================= */

@media (prefers-reduced-motion: reduce) {

    .testimonial-slide,
    .testimonial-image,
    .testimonial-arrow,
    .testimonial-dot {
        transition: none;
    }

}
/* =========================
   TESTIMONIAL STAR RATING
========================= */

.testimonial-stars {
    margin-bottom: 5px;
    color: #f5b301;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 2px;
}