/*
Theme Name: Reshape Hope Foundation
Theme URI: https://example.com/
Author: Reshape Hope Foundation
Description: Custom WordPress theme converted from the supplied HTML, CSS and JavaScript project.
Version: 1.0.1
Text Domain: reshape-hope
*/

/* =========================================================

   RESHAPE HOPE FOUNDATION

   MAIN WEBSITE STYLES

========================================================= */





/* =========================================================

   VARIABLES

========================================================= */



:root {



    --navy: #0B3D91;

    --deep-navy: #0F172A;

    --gold: #D4AF37;

    --green: #2E8B57;



    --white: #FFFFFF;

    --light-gray: #F8FAFC;

    --gray: #555555;

    --dark-gray: #333333;



    --border: #E5E7EB;



    --heading-font: "Poppins", sans-serif;

    --body-font: "Open Sans", sans-serif;



    --container: 1200px;



    --shadow:

        0 15px 45px rgba(15, 23, 42, 0.08);



    --shadow-heavy:

        0 25px 70px rgba(15, 23, 42, 0.15);



    --transition:

        all 0.3s ease;



}





/* =========================================================

   RESET

========================================================= */



* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



html {

    scroll-behavior: smooth;

    scroll-padding-top: 90px;

}



body {



    font-family: var(--body-font);



    color: var(--gray);



    background: var(--white);



    line-height: 1.6;



    overflow-x: hidden;



}



body.modal-open {

    overflow: hidden;

}



img {

    max-width: 100%;

    display: block;

}



a {

    color: inherit;

    text-decoration: none;

}



button,

input,

textarea {

    font-family: inherit;

}



button {

    cursor: pointer;

    border: none;

}





/* =========================================================

   GLOBAL

========================================================= */



.container {



    width: min(

        calc(100% - 40px),

        var(--container)

    );



    margin: 0 auto;



}



.section-padding {

    padding: 90px 0;

}



.section-label {



    display: inline-block;



    font-family: var(--heading-font);



    color: var(--navy);



    font-size: 13px;



    font-weight: 700;



    letter-spacing: 2px;



    text-transform: uppercase;



    margin-bottom: 15px;



}



.section-heading {



    max-width: 760px;



    margin-bottom: 60px;



}



.section-heading.centered {



    text-align: center;



    margin-left: auto;

    margin-right: auto;



}



.section-heading h2,

.two-column-heading h2 {



    font-family: var(--heading-font);



    color: var(--deep-navy);



    font-size: clamp(32px, 4vw, 48px);



    line-height: 1.25;



    font-weight: 700;



    margin-bottom: 18px;



}



.section-heading h2 span,

.two-column-heading h2 span {



    color: var(--navy);



}



.section-heading p {



    font-size: 17px;



    line-height: 1.7;



    color: var(--gray);



}



.two-column-heading {



    display: flex;



    justify-content: space-between;



    align-items: end;



    gap: 50px;



    margin-bottom: 55px;



}



.two-column-heading > div {

    max-width: 600px;

}



.two-column-heading > p {



    max-width: 450px;



    font-size: 17px;



}





/* =========================================================

   HEADER

========================================================= */



.site-header {



    position: fixed;



    top: 0;

    left: 0;



    width: 100%;



    z-index: 1000;



    background: rgba(255,255,255,0.97);



    border-bottom: 1px solid transparent;



    transition: var(--transition);



}



.site-header.scrolled {



    box-shadow: 0 8px 30px rgba(15,23,42,0.08);



    border-color: var(--border);



}



.nav-container {



    height: 82px;



    display: flex;



    align-items: center;



    gap: 25px;



}





/* LOGO */



.logo {



    display: flex;



    align-items: center;



    gap: 10px;



    flex-shrink: 0;



}



.logo-mark {



    width: 42px;

    height: 42px;



    border-radius: 50%;



    display: grid;

    place-items: center;



    color: var(--white);



    background: var(--navy);



    font-size: 17px;



}



.logo-text {



    display: flex;



    flex-direction: column;



    line-height: 1;



}



.logo-name {



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 15px;



    font-weight: 800;



    letter-spacing: .5px;



}



.logo-subtitle {



    color: var(--gold);



    font-family: var(--heading-font);



    font-size: 10px;



    font-weight: 700;



    letter-spacing: 2px;



    margin-top: 4px;



}





/* NAVIGATION */



.desktop-nav {



    display: flex;



    align-items: center;



    justify-content: center;



    gap: 2px;



    flex: 1;



}



.nav-link {



    display: flex;



    align-items: center;



    gap: 5px;



    padding: 10px 8px;



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 600;



    transition: var(--transition);



}



.nav-link:hover,

.nav-link.active {



    color: var(--navy);



}



.dropdown-toggle i {



    font-size: 8px;



}



.nav-dropdown {



    position: relative;



}



.dropdown-menu {



    position: absolute;



    top: 100%;



    left: 0;



    min-width: 230px;



    background: var(--white);



    box-shadow: var(--shadow-heavy);



    border: 1px solid var(--border);



    border-radius: 8px;



    padding: 10px;



    opacity: 0;



    visibility: hidden;



    transform: translateY(10px);



    transition: var(--transition);



}



.nav-dropdown:hover .dropdown-menu {



    opacity: 1;



    visibility: visible;



    transform: translateY(0);



}



.dropdown-menu a {



    display: block;



    padding: 10px 12px;



    color: var(--gray);



    font-size: 13px;



    border-radius: 5px;



}



.dropdown-menu a:hover {



    color: var(--navy);



    background: var(--light-gray);



}





/* DONATE BUTTON */



.header-donate {



    display: inline-flex;



    align-items: center;



    gap: 8px;



    padding: 11px 17px;



    background: var(--navy);



    color: var(--white);



    border-radius: 6px;



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



    transition: var(--transition);



    flex-shrink: 0;



}



.header-donate:hover {



    background: var(--deep-navy);



    transform: translateY(-2px);



}





/* MOBILE MENU BUTTON */



.mobile-menu-button {



    display: none;



    width: 42px;

    height: 42px;



    background: var(--navy);



    border-radius: 6px;



    align-items: center;

    justify-content: center;



    flex-direction: column;



    gap: 5px;



}



.mobile-menu-button span {



    width: 20px;

    height: 2px;



    background: var(--white);



    transition: var(--transition);



}



.mobile-menu-button.active span:nth-child(1) {

    transform: translateY(7px) rotate(45deg);

}



.mobile-menu-button.active span:nth-child(2) {

    opacity: 0;

}



.mobile-menu-button.active span:nth-child(3) {

    transform: translateY(-7px) rotate(-45deg);

}





/* MOBILE NAV */



.mobile-nav {



    display: none;



    max-height: calc(100vh - 82px);



    overflow-y: auto;



    background: var(--white);



    border-top: 1px solid var(--border);



    padding: 15px 20px 25px;



}



.mobile-nav.open {



    display: block;



}



.mobile-nav > a,

.mobile-nav details summary {



    display: flex;



    justify-content: space-between;



    width: 100%;



    padding: 13px 0;



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 14px;



    font-weight: 600;



    border-bottom: 1px solid var(--border);



}



.mobile-nav details a {



    display: block;



    padding: 9px 15px;



    color: var(--gray);



    font-size: 13px;



}



.mobile-nav summary {



    cursor: pointer;



    list-style: none;



}



.mobile-nav summary::-webkit-details-marker {

    display: none;

}



.mobile-donate {



    justify-content: center !important;



    margin-top: 15px;



    background: var(--navy);



    color: white !important;



    border-radius: 6px;



    border: none !important;



}





/* =========================================================

   HERO

========================================================= */



.hero {



    position: relative;



    min-height: 760px;



    padding:

        145px

        0

        90px;



    background: var(--light-gray);



    display: flex;



    align-items: center;



    overflow: hidden;



}



.hero-grid {



    display: grid;



    grid-template-columns:

        minmax(190px, 25%)

        minmax(420px, 50%)

        minmax(190px, 25%);



    align-items: center;



    gap: 20px;



    position: relative;



    z-index: 2;



}





/* HERO CONTENT */



.hero-content {



    text-align: center;



    max-width: 650px;



    margin: auto;



}



.eyebrow {



    display: flex;



    align-items: center;



    justify-content: center;



    gap: 12px;



    color: var(--gold);



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



    letter-spacing: 2px;



    margin-bottom: 22px;



}



.eyebrow span {



    width: 35px;



    height: 1px;



    background: var(--gold);



}



.hero h1 {



    font-family: var(--heading-font);



    color: var(--deep-navy);



    font-size: clamp(34px, 4vw, 48px);



    line-height: 1.25;



    font-weight: 700;



    margin-bottom: 25px;



}



.hero h1 span {



    color: var(--navy);



}



.hero-description {



    max-width: 580px;



    margin: 0 auto 32px;



    color: var(--gray);



    font-size: 17px;



    line-height: 1.7;



}



.hero-buttons {



    display: flex;



    justify-content: center;



    gap: 12px;



    flex-wrap: wrap;



}





/* BUTTONS */



.btn {



    display: inline-flex;



    align-items: center;



    justify-content: center;



    gap: 10px;



    min-height: 48px;



    padding: 13px 23px;



    border-radius: 7px;



    font-family: var(--heading-font);



    font-size: 14px;



    font-weight: 700;



    transition: var(--transition);



}



.btn-primary {



    background: var(--navy);



    color: var(--white);



}



.btn-primary:hover {



    background: var(--deep-navy);



    transform: translateY(-3px);



    box-shadow: 0 10px 25px rgba(11,61,145,.22);



}



.btn-secondary {



    background: var(--white);



    color: var(--navy);



    border: 2px solid var(--navy);



}



.btn-secondary:hover {



    background: var(--navy);



    color: var(--white);



    transform: translateY(-3px);



}



.btn-white {



    background: var(--white);



    color: var(--navy);



}



.btn-outline-white {



    color: var(--white);



    border: 2px solid rgba(255,255,255,.8);



}



.btn-outline-white:hover {



    background: var(--white);



    color: var(--navy);



}



.btn-gold {



    background: var(--gold);



    color: var(--deep-navy);



}



.btn-gold:hover {



    transform: translateY(-3px);



}





/* HERO TRUST */



.hero-trust {



    display: inline-flex;



    align-items: center;



    gap: 10px;



    margin-top: 35px;



    text-align: left;



}



.trust-icon {



    width: 38px;

    height: 38px;



    display: grid;

    place-items: center;



    border-radius: 50%;



    background: rgba(46,139,87,.12);



    color: var(--green);



}



.hero-trust strong,

.hero-trust span {



    display: block;



}



.hero-trust strong {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 10px;



}



.hero-trust span {



    color: var(--gray);



    font-size: 10px;



}





/* HERO IMAGES */



.hero-image {



    position: relative;



    display: flex;



    flex-direction: column;



    align-items: center;



    justify-content: center;



}



.symbol-image {



    width: 220px;

    height: 220px;



    border-radius: 50%;



    display: grid;

    place-items: center;



    position: relative;



    font-size: 90px;



    transition: var(--transition);



}



.hero-left .symbol-image {



    color: var(--navy);



    background: rgba(11,61,145,.08);



}



.hero-right .symbol-image {



    color: var(--deep-navy);



    background: rgba(212,175,55,.12);



}



.symbol-image:hover {



    transform: scale(1.05) rotate(-3deg);



}



.image-decoration {



    position: absolute;



    width: 250px;

    height: 250px;



    border: 1px dashed rgba(11,61,145,.2);



    border-radius: 50%;



    animation: slowRotate 25s linear infinite;



}



.hero-right .image-decoration {



    border-color: rgba(212,175,55,.35);



}



.image-caption {



    margin-top: 22px;



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



    letter-spacing: 2px;



    text-transform: uppercase;



}





/* HERO DECORATION */



.hero-background-shape {



    position: absolute;



    border-radius: 50%;



    pointer-events: none;



}



.shape-one {



    width: 500px;

    height: 500px;



    background: rgba(11,61,145,.035);



    left: -250px;

    top: -180px;



}



.shape-two {



    width: 450px;

    height: 450px;



    background: rgba(212,175,55,.05);



    right: -200px;

    bottom: -200px;



}



.hero-scroll {



    position: absolute;



    bottom: 25px;



    left: 50%;



    transform: translateX(-50%);



    display: flex;



    flex-direction: column;



    align-items: center;



    gap: 4px;



    color: #999;



    font-size: 10px;



    text-transform: uppercase;



    letter-spacing: 1px;



}





/* =========================================================

   ABOUT

========================================================= */



.about-section {



    background: var(--white);



}



.about-grid {



    display: grid;



    grid-template-columns: 1fr 1fr;



    gap: 80px;



    align-items: center;



}



.about-image {



    position: relative;



}



.about-image-main {



    min-height: 470px;



    border-radius: 12px;



    overflow: hidden;



    background: var(--light-gray);



}



.image-placeholder {



    width: 100%;

    height: 100%;



    min-height: inherit;



    display: flex;



    align-items: center;



    justify-content: center;



    flex-direction: column;



    gap: 12px;



    background:

        linear-gradient(

            135deg,

            rgba(11,61,145,.08),

            rgba(46,139,87,.08)

        );



    color: var(--navy);



    font-size: 45px;



}



.image-placeholder span {



    color: var(--gray);



    font-family: var(--heading-font);



    font-size: 13px;



    font-weight: 600;



}



.about-badge {



    position: absolute;



    right: -25px;



    bottom: 30px;



    padding: 20px 25px;



    background: var(--gold);



    color: var(--deep-navy);



    border-radius: 8px;



    box-shadow: var(--shadow);



}



.about-badge strong,

.about-badge span {



    display: block;



}



.about-badge strong {



    font-family: var(--heading-font);



    font-size: 25px;



}



.about-badge span {



    font-size: 12px;



}



.small-heading {



    color: var(--gold);



    font-family: var(--heading-font);



    font-size: 13px;



    font-weight: 700;



    text-transform: uppercase;



    letter-spacing: 2px;



}



.about-content h3 {



    margin: 10px 0 20px;



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 36px;



    line-height: 1.25;



}



.about-content p {



    margin-bottom: 18px;



    font-size: 16px;



}



.text-link {



    display: inline-flex;



    align-items: center;



    gap: 9px;



    margin-top: 10px;



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 13px;



    font-weight: 700;



    transition: var(--transition);



}



.text-link:hover {



    gap: 14px;



    color: var(--green);



}





/* =========================================================

   IDENTITY CARDS

========================================================= */



.identity-section {



    background: var(--light-gray);



}



.cards-grid {



    display: grid;



    grid-template-columns: repeat(3, 1fr);



    gap: 25px;



}



.info-card {



    padding: 40px 35px;



    background: var(--white);



    border: 1px solid var(--border);



    border-radius: 10px;



    transition: var(--transition);



}



.info-card:hover {



    transform: translateY(-7px);



    box-shadow: var(--shadow);



}



.info-card.featured {



    background: var(--navy);



    color: var(--white);



    border-color: var(--navy);



}



.card-icon {



    width: 58px;

    height: 58px;



    display: grid;

    place-items: center;



    border-radius: 10px;



    margin-bottom: 25px;



    background: rgba(11,61,145,.09);



    color: var(--navy);



    font-size: 22px;



}



.featured .card-icon {



    background: rgba(255,255,255,.13);



    color: var(--gold);



}



.info-card > span {



    color: var(--gold);



    font-family: var(--heading-font);



    font-size: 11px;



    font-weight: 700;



    letter-spacing: 2px;



}



.info-card h3 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 23px;



    line-height: 1.35;



    margin: 12px 0 16px;



}



.featured h3 {



    color: var(--white);



}





/* =========================================================

   OBJECTIVES

========================================================= */



.objectives-section {



    background: var(--white);



}



.objectives-grid {



    display: grid;



    grid-template-columns: repeat(2, 1fr);



    gap: 20px;



}



.objective-item {



    display: flex;



    gap: 20px;



    padding: 30px;



    border: 1px solid var(--border);



    border-radius: 9px;



    transition: var(--transition);



}



.objective-item:hover {



    border-color: rgba(11,61,145,.3);



    box-shadow: var(--shadow);



}



.objective-item > span {



    color: rgba(11,61,145,.25);



    font-family: var(--heading-font);



    font-size: 25px;



    font-weight: 800;



}



.objective-item i {



    color: var(--navy);



    font-size: 23px;



    margin-bottom: 10px;



}



.objective-item h3 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 19px;



    margin-bottom: 6px;



}



.objective-item p {



    font-size: 14px;



}





/* =========================================================

   STATISTICS

========================================================= */



.statistics-section {



    position: relative;



    padding: 100px 0;



    background:

        linear-gradient(

            135deg,

            #0F172A,

            #0B3D91

        );



    color: white;



    overflow: hidden;



}



.statistics-overlay {



    position: absolute;



    inset: 0;



    background:

        radial-gradient(

            circle at 20% 50%,

            rgba(212,175,55,.12),

            transparent 30%

        );



}



.statistics-content {



    position: relative;



    z-index: 2;



}



.section-heading.light .section-label {



    color: var(--gold);



}



.section-heading.light h2 {



    color: var(--white);



}



.section-heading.light h2 span {



    color: var(--gold);



}



.section-heading.light p {



    color: rgba(255,255,255,.75);



}



.stats-grid {



    display: grid;



    grid-template-columns: repeat(4, 1fr);



    gap: 20px;



}



.stat-item {



    padding: 30px 20px;



    text-align: center;



    border-right: 1px solid rgba(255,255,255,.15);



}



.stat-item:last-child {



    border-right: none;



}



.stat-icon {



    width: 50px;

    height: 50px;



    display: grid;

    place-items: center;



    margin: 0 auto 15px;



    color: var(--gold);



    font-size: 20px;



}



.stat-item strong {



    display: block;



    color: white;



    font-family: var(--heading-font);



    font-size: 42px;



    line-height: 1;



    margin-bottom: 10px;



}



.stat-item span {



    color: rgba(255,255,255,.7);



    font-size: 13px;



}





/* =========================================================

   PROGRAMS

========================================================= */



.programs-section {



    background: var(--light-gray);



}



.programs-grid {



    display: grid;



    grid-template-columns: repeat(3, 1fr);



    gap: 22px;



}



.program-card {



    position: relative;



    padding: 35px;



    background: var(--white);



    border-radius: 10px;



    border: 1px solid var(--border);



    overflow: hidden;



    transition: var(--transition);



}



.program-card:hover {



    transform: translateY(-7px);



    box-shadow: var(--shadow);



    border-color: rgba(11,61,145,.25);



}



.program-number {



    position: absolute;



    right: 20px;

    top: 15px;



    color: rgba(11,61,145,.07);



    font-family: var(--heading-font);



    font-size: 50px;



    font-weight: 800;



}



.program-icon {



    width: 60px;

    height: 60px;



    display: grid;

    place-items: center;



    margin-bottom: 25px;



    border-radius: 10px;



    background: rgba(11,61,145,.08);



    color: var(--navy);



    font-size: 23px;



}



.program-card h3 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 20px;



    margin-bottom: 12px;



}



.program-card p {



    font-size: 14px;



    margin-bottom: 20px;



}



.program-card a {



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



    display: inline-flex;



    align-items: center;



    gap: 7px;



}



.program-card a:hover {



    color: var(--green);



}





/* =========================================================

   STORIES

========================================================= */



.stories-section {



    background: var(--white);



}



.story-grid {



    display: grid;



    grid-template-columns: repeat(3, 1fr);



    gap: 25px;



}



.story-card {



    background: var(--white);



    border: 1px solid var(--border);



    border-radius: 10px;



    overflow: hidden;



    transition: var(--transition);



}



.story-card:hover {



    transform: translateY(-6px);



    box-shadow: var(--shadow);



}



.story-image {



    height: 230px;



}



.story-content {



    padding: 27px;



}



.story-content > span {



    color: var(--gold);



    font-family: var(--heading-font);



    font-size: 10px;



    font-weight: 700;



    letter-spacing: 1.5px;



}



.story-content h3 {



    margin: 8px 0 10px;



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 21px;



}



.story-content p {



    font-size: 14px;



    margin-bottom: 15px;



}



.story-content a {



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



}





/* =========================================================

   TESTIMONIAL

========================================================= */



.testimonial-section {



    padding: 80px 0;



    background: var(--light-gray);



}



.testimonial-box {



    max-width: 900px;



    margin: auto;



    padding: 55px;



    text-align: center;



    background: var(--white);



    border-radius: 12px;



    box-shadow: var(--shadow);



}



.quote-icon {



    color: var(--gold);



    font-size: 35px;



    margin-bottom: 20px;



}



.testimonial-box blockquote {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: clamp(21px, 3vw, 30px);



    line-height: 1.5;



    font-weight: 500;



    margin-bottom: 30px;



}



.testimonial-author {



    display: inline-flex;



    align-items: center;



    gap: 12px;



    text-align: left;



}



.author-avatar {



    width: 45px;

    height: 45px;



    display: grid;

    place-items: center;



    background: var(--navy);



    color: var(--white);



    border-radius: 50%;



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



}



.testimonial-author strong,

.testimonial-author span {



    display: block;



}



.testimonial-author strong {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 12px;



}



.testimonial-author span {



    color: var(--gray);



    font-size: 11px;



}





/* =========================================================

   PROJECTS

========================================================= */



.projects-section {



    background: var(--white);



}



.project-grid {



    display: grid;



    grid-template-columns: 2fr 1fr 1fr;



    gap: 20px;



}



.project-image {



    position: relative;



    height: 350px;



    overflow: hidden;



    border-radius: 10px;



}



.project-card:not(.large) .project-image {



    height: 350px;



}



.project-overlay {



    position: absolute;



    left: 0;

    right: 0;

    bottom: 0;



    padding: 30px 25px;



    color: var(--white);



    background:

        linear-gradient(

            transparent,

            rgba(15,23,42,.95)

        );



}



.project-overlay span {



    color: var(--gold);



    font-family: var(--heading-font);



    font-size: 10px;



    font-weight: 700;



    letter-spacing: 2px;



}



.project-overlay h3 {



    font-family: var(--heading-font);



    font-size: 20px;



    margin-top: 6px;



}





/* =========================================================

   GALLERY

========================================================= */



.gallery-section {



    background: var(--light-gray);



}



.gallery-grid {



    display: grid;



    grid-template-columns: 2fr 1fr 1fr;



    grid-auto-rows: 200px;



    gap: 15px;



}



.gallery-item {



    overflow: hidden;



    border-radius: 8px;



}



.gallery-large {



    grid-row: span 2;



}



.gallery-item .image-placeholder {



    transition: var(--transition);



}



.gallery-item:hover .image-placeholder {



    transform: scale(1.04);



}





/* =========================================================

   PARTNERS

========================================================= */



.partners-section {



    background: var(--white);



}



.partners-grid {



    display: grid;



    grid-template-columns: repeat(5, 1fr);



    gap: 20px;



}



.partner-logo {



    min-height: 100px;



    display: grid;



    place-items: center;



    padding: 20px;



    border: 1px solid var(--border);



    border-radius: 7px;



    color: #999;



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



    transition: var(--transition);



}



.partner-logo:hover {



    color: var(--navy);



    border-color: var(--navy);



}





/* =========================================================

   GET INVOLVED

========================================================= */



.get-involved-section {



    padding: 100px 0;



    background:

        linear-gradient(

            135deg,

            var(--navy),

            var(--deep-navy)

        );



    color: white;



    text-align: center;



}



.get-involved-content {



    max-width: 850px;



    margin: auto;



}



.get-involved-section .section-label {



    color: var(--gold);



}



.get-involved-section h2 {



    color: white;



    font-family: var(--heading-font);



    font-size: clamp(35px, 5vw, 52px);



    line-height: 1.2;



    margin-bottom: 18px;



}



.get-involved-section h2 span {



    color: var(--gold);



}



.get-involved-section p {



    max-width: 650px;



    margin: 0 auto 30px;



    color: rgba(255,255,255,.75);



}



.involvement-buttons {



    display: flex;



    justify-content: center;



    flex-wrap: wrap;



    gap: 12px;



}





/* =========================================================

   LEADERSHIP

========================================================= */



.leadership-section {



    background: var(--white);



}



.leadership-grid {



    display: grid;



    grid-template-columns: repeat(3, 1fr);



    gap: 25px;



}



.leader-card {



    text-align: center;



}



.leader-photo {



    height: 320px;



    margin-bottom: 20px;



    border-radius: 10px;



    overflow: hidden;



}



.leader-card h3 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 18px;



}



.leader-card > span {



    color: var(--gold);



    font-size: 12px;



}





/* =========================================================

   NEWS

========================================================= */



.news-section {



    background: var(--light-gray);



}



.news-grid {



    display: grid;



    grid-template-columns: repeat(2, 1fr);



    gap: 25px;



}



.news-card {



    display: grid;



    grid-template-columns: 220px 1fr;



    background: white;



    border-radius: 10px;



    overflow: hidden;



    border: 1px solid var(--border);



}



.news-image {



    min-height: 250px;



}



.news-content {



    padding: 30px;



}



.news-type {



    color: var(--gold);



    font-family: var(--heading-font);



    font-size: 10px;



    font-weight: 700;



    letter-spacing: 1.5px;



}



.news-content h3 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 20px;



    margin: 10px 0;



}



.news-content p {



    font-size: 13px;



    margin-bottom: 15px;



}



.news-content a {



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 12px;



    font-weight: 700;



}





/* =========================================================

   FOUNDATION FACTS

========================================================= */



.facts-section {



    background: var(--white);



}



.facts-box {



    display: grid;



    grid-template-columns: 1fr 300px;



    align-items: center;



    gap: 50px;



    padding: 60px;



    background: var(--light-gray);



    border-radius: 12px;



}



.facts-content {



    max-width: 700px;



}



.facts-content h2 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 38px;



    margin-bottom: 15px;



}



.facts-content p {



    font-size: 16px;



}



.facts-tags {



    display: flex;



    flex-wrap: wrap;



    gap: 10px;



    margin-top: 25px;



}



.facts-tags span {



    display: inline-flex;



    align-items: center;



    gap: 7px;



    padding: 8px 12px;



    background: var(--white);



    border-radius: 5px;



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 11px;



    font-weight: 600;



}



.facts-tags i {



    color: var(--green);



}



.facts-symbol {



    width: 250px;

    height: 250px;



    display: grid;

    place-items: center;



    margin: auto;



    border-radius: 50%;



    background: rgba(11,61,145,.07);



    color: var(--navy);



    font-size: 100px;



}





/* =========================================================

   DONATE

========================================================= */



.donate-section {



    background: var(--light-gray);



}



.donate-box {



    max-width: 850px;



    margin: auto;



    padding: 60px;



    background: var(--white);



    text-align: center;



    border-radius: 12px;



    box-shadow: var(--shadow);



}



.donate-icon {



    width: 65px;

    height: 65px;



    display: grid;

    place-items: center;



    margin: 0 auto 20px;



    background: rgba(212,175,55,.15);



    color: var(--gold);



    border-radius: 50%;



    font-size: 25px;



}



.donate-box h2 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 40px;



    line-height: 1.25;



    margin-bottom: 15px;



}



.donate-box h2 span {



    color: var(--navy);



}



.donate-box > p {



    max-width: 650px;



    margin: 0 auto 30px;



}



.donation-options {



    display: flex;



    justify-content: center;



    flex-wrap: wrap;



    gap: 10px;



}



.donation-option {



    padding: 12px 20px;



    border: 1px solid var(--border);



    border-radius: 6px;



    background: white;



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-weight: 600;



    transition: var(--transition);



}



.donation-option:hover,

.donation-option.selected {



    background: var(--navy);



    color: white;



    border-color: var(--navy);



}



.custom-donation {



    max-width: 350px;



    margin: 15px auto;



    display: flex;



    align-items: center;



    border: 1px solid var(--border);



    border-radius: 6px;



    overflow: hidden;



}



.custom-donation span {



    padding: 0 14px;



    color: var(--gray);



    font-family: var(--heading-font);



    font-size: 13px;



    font-weight: 700;



}



.custom-donation input {



    width: 100%;



    padding: 13px;



    border: none;



    outline: none;



    font-size: 15px;



}



.donation-button {



    margin-top: 10px;



}



.donate-box small {



    display: block;



    max-width: 550px;



    margin: 20px auto 0;



    color: #999;



    font-size: 11px;



}





/* =========================================================

   CONTACT

========================================================= */



.contact-section {



    background: var(--white);



}



.contact-grid {



    display: grid;



    grid-template-columns: .9fr 1.1fr;



    gap: 70px;



    align-items: start;



}



.contact-content h2 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 42px;



    line-height: 1.25;



    margin-bottom: 18px;



}



.contact-content h2 span {



    color: var(--navy);



}



.contact-content > p {



    margin-bottom: 35px;



}



.contact-details {



    display: grid;



    gap: 18px;



}



.contact-item {



    display: flex;



    align-items: center;



    gap: 15px;



}



.contact-icon {



    width: 45px;

    height: 45px;



    display: grid;

    place-items: center;



    border-radius: 7px;



    background: rgba(11,61,145,.08);



    color: var(--navy);



}



.contact-item span,

.contact-item strong {



    display: block;



}



.contact-item span {



    color: #999;



    font-size: 10px;



    text-transform: uppercase;



    letter-spacing: 1px;



}



.contact-item strong {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 13px;



}



.social-links {



    display: flex;



    gap: 8px;



    margin-top: 30px;



}



.social-links a,

.footer-socials a {



    width: 38px;

    height: 38px;



    display: grid;

    place-items: center;



    border: 1px solid var(--border);



    border-radius: 50%;



    color: var(--navy);



    font-size: 13px;



    transition: var(--transition);



}



.social-links a:hover,

.footer-socials a:hover {



    background: var(--navy);



    color: white;



    border-color: var(--navy);



}





/* FORM */



.contact-form-wrapper {



    padding: 40px;



    background: var(--light-gray);



    border-radius: 10px;



}



.form-heading {



    margin-bottom: 25px;



}



.form-heading h3 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 24px;



}



.form-heading p {



    font-size: 13px;



}



.form-row {



    display: grid;



    grid-template-columns: 1fr 1fr;



    gap: 15px;



}



.form-group {



    margin-bottom: 17px;



}



.form-group label {



    display: block;



    margin-bottom: 6px;



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 11px;



    font-weight: 600;



}



.form-group input,

.form-group textarea {



    width: 100%;



    padding: 13px 14px;



    border: 1px solid var(--border);



    border-radius: 5px;



    outline: none;



    background: white;



    color: var(--deep-navy);



    font-size: 13px;



    transition: var(--transition);



    resize: vertical;



}



.form-group input:focus,

.form-group textarea:focus {



    border-color: var(--navy);



    box-shadow: 0 0 0 3px rgba(11,61,145,.08);



}



.form-button {



    width: 100%;



}



.form-message {



    margin-top: 12px;



    text-align: center;



    font-size: 12px;



    color: var(--green);



}





/* =========================================================

   FOOTER

========================================================= */



.site-footer {



    padding: 70px 0 0;



    background: var(--deep-navy);



    color: rgba(255,255,255,.65);



}



.footer-grid {



    display: grid;



    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;



    gap: 50px;



    padding-bottom: 55px;



}



.footer-logo {



    display: inline-flex;



    align-items: center;



    gap: 10px;



    margin-bottom: 20px;



}



.footer-logo-icon {



    width: 43px;

    height: 43px;



    display: grid;

    place-items: center;



    background: var(--navy);



    color: white;



    border-radius: 50%;



}



.footer-logo strong,

.footer-logo span {



    display: block;



    font-family: var(--heading-font);



}



.footer-logo strong {



    color: white;



    font-size: 14px;



}



.footer-logo span {



    color: var(--gold);



    font-size: 9px;



    letter-spacing: 2px;



}



.footer-brand > p {



    max-width: 300px;



    font-size: 13px;



}



.footer-socials {



    display: flex;



    gap: 7px;



    margin-top: 20px;



}



.footer-socials a {



    border-color: rgba(255,255,255,.15);



    color: white;



}



.footer-column h4 {



    color: white;



    font-family: var(--heading-font);



    font-size: 14px;



    margin-bottom: 20px;



}



.footer-column > a {



    display: block;



    width: fit-content;



    margin-bottom: 10px;



    font-size: 12px;



    transition: var(--transition);



}



.footer-column > a:hover {



    color: var(--gold);



    transform: translateX(3px);



}



.footer-column p {



    display: flex;



    align-items: start;



    gap: 9px;



    margin-bottom: 13px;



    font-size: 12px;



}



.footer-column p i {



    color: var(--gold);



    margin-top: 4px;



}



.footer-bottom {



    display: flex;



    justify-content: space-between;



    align-items: center;



    gap: 20px;



    padding: 20px 0;



    border-top: 1px solid rgba(255,255,255,.08);



    font-size: 11px;



}



.footer-bottom div {



    display: flex;



    gap: 20px;



}



.footer-bottom a:hover {



    color: var(--gold);



}





/* =========================================================

   BACK TO TOP

========================================================= */



.back-to-top {



    position: fixed;



    right: 25px;

    bottom: 25px;



    width: 45px;

    height: 45px;



    display: grid;

    place-items: center;



    border-radius: 50%;



    background: var(--navy);



    color: white;



    box-shadow: var(--shadow);



    opacity: 0;



    visibility: hidden;



    transform: translateY(15px);



    transition: var(--transition);



    z-index: 500;



}



.back-to-top.show {



    opacity: 1;



    visibility: visible;



    transform: translateY(0);



}



.back-to-top:hover {



    background: var(--deep-navy);



    transform: translateY(-3px);



}





/* =========================================================

   MODAL

========================================================= */



.modal {



    position: fixed;



    inset: 0;



    z-index: 2000;



    display: flex;



    align-items: center;



    justify-content: center;



    padding: 20px;



    background: rgba(15,23,42,.75);



    opacity: 0;



    visibility: hidden;



    transition: var(--transition);



}



.modal.show {



    opacity: 1;



    visibility: visible;



}



.modal-content {



    position: relative;



    width: min(100%, 480px);



    padding: 45px;



    background: white;



    border-radius: 12px;



    text-align: center;



    transform: translateY(20px);



    transition: var(--transition);



}



.modal.show .modal-content {



    transform: translateY(0);



}



.modal-close {



    position: absolute;



    top: 15px;

    right: 15px;



    width: 35px;

    height: 35px;



    background: var(--light-gray);



    color: var(--deep-navy);



    border-radius: 50%;



}



.modal-icon {



    width: 65px;

    height: 65px;



    display: grid;

    place-items: center;



    margin: 0 auto 20px;



    border-radius: 50%;



    background: rgba(212,175,55,.15);



    color: var(--gold);



    font-size: 25px;



}



.modal-content h3 {



    color: var(--deep-navy);



    font-family: var(--heading-font);



    font-size: 23px;



    margin-bottom: 10px;



}



.modal-content p {



    font-size: 13px;



}



.selected-donation {



    margin: 25px 0;



    padding: 18px;



    background: var(--light-gray);



    border-radius: 6px;



}



.selected-donation span,

.selected-donation strong {



    display: block;



}



.selected-donation span {



    color: #999;



    font-size: 11px;



}



.selected-donation strong {



    color: var(--navy);



    font-family: var(--heading-font);



    font-size: 24px;



}





/* =========================================================

   ANIMATIONS

========================================================= */



.reveal-up,

.reveal-left,

.reveal-right {



    opacity: 0;



    transition:

        opacity .8s ease,

        transform .8s ease;



}



.reveal-up {



    transform: translateY(30px);



}



.reveal-left {



    transform: translateX(-35px);



}



.reveal-right {



    transform: translateX(35px);



}



.reveal-up.visible,

.reveal-left.visible,

.reveal-right.visible {



    opacity: 1;



    transform: translate(0);



}



@keyframes slowRotate {



    from {

        transform: rotate(0);

    }



    to {

        transform: rotate(360deg);

    }



}





/* =========================================================

   RESPONSIVE

========================================================= */





/* TABLET */



@media (max-width: 1100px) {



    .desktop-nav {



        gap: 0;



    }



    .nav-link {



        font-size: 11px;



        padding: 8px 5px;



    }



    .hero-grid {



        grid-template-columns:

            20% 60% 20%;



    }



    .symbol-image {



        width: 170px;

        height: 170px;



        font-size: 65px;



    }



    .image-decoration {



        width: 195px;

        height: 195px;



    }



    .programs-grid {



        grid-template-columns: repeat(2, 1fr);



    }



}





/* TABLET */



@media (max-width: 900px) {



    .desktop-nav,

    .header-donate {



        display: none;



    }



    .mobile-menu-button {



        display: flex;



        margin-left: auto;



    }



    .hero {



        padding-top: 130px;



    }



    .hero-grid {



        grid-template-columns: 1fr;



        gap: 35px;



    }



    .hero-image {



        display: none;



    }



    .hero-content {



        max-width: 700px;



    }



    .about-grid,

    .contact-grid {



        grid-template-columns: 1fr;



        gap: 45px;



    }



    .cards-grid {



        grid-template-columns: 1fr;



    }



    .stats-grid {



        grid-template-columns: repeat(2, 1fr);



    }



    .stat-item:nth-child(2) {



        border-right: none;



    }



    .programs-grid,

    .story-grid {



        grid-template-columns: repeat(2, 1fr);



    }



    .project-grid {



        grid-template-columns: 1fr 1fr;



    }



    .project-card.large {



        grid-column: span 2;



    }



    .partners-grid {



        grid-template-columns: repeat(3, 1fr);



    }



    .leadership-grid {



        grid-template-columns: repeat(2, 1fr);



    }



    .news-grid {



        grid-template-columns: 1fr;



    }



    .facts-box {



        grid-template-columns: 1fr;



        text-align: center;



    }



    .facts-content {



        margin: auto;



    }



    .facts-tags {



        justify-content: center;



    }



    .footer-grid {



        grid-template-columns: repeat(2, 1fr);



    }



}





/* MOBILE */



@media (max-width: 600px) {



    .container {



        width: min(

            calc(100% - 30px),

            var(--container)

        );



    }



    .section-padding {



        padding: 65px 0;



    }



    .nav-container {



        height: 72px;



    }



    .hero {



        min-height: auto;



        padding:

            115px

            0

            80px;



    }



    .hero h1 {



        font-size: 31px;



    }



    .hero-description {



        font-size: 15px;



    }



    .hero-buttons {



        flex-direction: column;



    }



    .hero-buttons .btn {



        width: 100%;



    }



    .hero-trust {



        align-items: start;



    }



    .section-heading {



        margin-bottom: 40px;



    }



    .section-heading h2,

    .two-column-heading h2 {



        font-size: 30px;



    }



    .two-column-heading {



        display: block;



    }



    .two-column-heading > p {



        margin-top: 20px;



    }



    .about-image-main {



        min-height: 330px;



    }



    .about-badge {



        right: 10px;



        bottom: 15px;



    }



    .about-content h3 {



        font-size: 28px;



    }



    .objectives-grid {



        grid-template-columns: 1fr;



    }



    .stats-grid {



        grid-template-columns: 1fr 1fr;



    }



    .stat-item {



        border-right: none;



        border-bottom: 1px solid rgba(255,255,255,.12);



    }



    .stat-item strong {



        font-size: 32px;



    }



    .programs-grid,

    .story-grid,

    .leadership-grid {



        grid-template-columns: 1fr;



    }



    .project-grid {



        grid-template-columns: 1fr;



    }



    .project-card.large {



        grid-column: auto;



    }



    .project-image,

    .project-card:not(.large) .project-image {



        height: 280px;



    }



    .gallery-grid {



        grid-template-columns: 1fr 1fr;



        grid-auto-rows: 180px;



    }



    .gallery-large {



        grid-column: span 2;



        grid-row: span 2;



    }



    .partners-grid {



        grid-template-columns: 1fr 1fr;



    }



    .involvement-buttons {



        flex-direction: column;



    }



    .involvement-buttons .btn {



        width: 100%;



    }



    .leader-photo {



        height: 350px;



    }



    .news-card {



        grid-template-columns: 1fr;



    }



    .news-image {



        min-height: 200px;



    }



    .facts-box {



        padding: 35px 25px;



    }



    .facts-content h2 {



        font-size: 30px;



    }



    .facts-symbol {



        width: 180px;

        height: 180px;



        font-size: 70px;



    }



    .donate-box {



        padding: 35px 20px;



    }



    .donate-box h2 {



        font-size: 30px;



    }



    .form-row {



        grid-template-columns: 1fr;



    }



    .contact-form-wrapper {



        padding: 25px 20px;



    }



    .footer-grid {



        grid-template-columns: 1fr;



        gap: 35px;



    }



    .footer-bottom {



        flex-direction: column;



        align-items: flex-start;



    }



    .footer-bottom div {



        flex-direction: column;



        gap: 5px;



    }



    .modal-content {



        padding: 35px 20px;



    }



}





/* VERY SMALL */



@media (max-width: 380px) {



    .logo-name {



        font-size: 12px;



    }



    .logo-subtitle {



        font-size: 8px;



    }



    .logo-mark {



        width: 37px;

        height: 37px;



    }



    .hero h1 {



        font-size: 28px;



    }



    .stats-grid {



        grid-template-columns: 1fr;



    }



}
