/* ===========================
   GOOGLE FONT
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@500;600;700&display=swap');

/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;

    background:#ffffff;

    color:#1F2937;

    overflow-x:hidden;

}

.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}

/* ===========================
      COLORS
=========================== */

:root{

    --purple:#9B6DFF;

    --purple-dark:#6F42F5;

    --purple-light:#F4F0FF;

    --purple-bg:#FAF8FF;

    --text:#1F2937;

    --gray:#6B7280;

    --white:#ffffff;

}

/* ===========================
      NAVBAR
=========================== */

header{

    position:fixed;

    width:100%;

    top:0;

    z-index:999;

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

    backdrop-filter:blur(15px);

    border-bottom:1px solid rgba(0,0,0,.05);

}

.navbar{

    width:90%;

    max-width:1200px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:90px;

}

.logo img{

    height:65px;

    transition:.3s;

}

.logo img:hover{

    transform:scale(1.05);

}

.nav-links{

    display:flex;

    list-style:none;

    gap:40px;

}

.nav-links a{

    text-decoration:none;

    color:var(--text);

    font-weight:500;

    transition:.3s;

}

.nav-links a:hover{

    color:var(--purple);

}

.donate-btn{

    background:linear-gradient(135deg,var(--purple),var(--purple-dark));

    color:white;

    padding:14px 28px;

    border-radius:40px;

    text-decoration:none;

    font-weight:600;

    box-shadow:0 10px 25px rgba(111,66,245,.25);

    transition:.3s;

}

.donate-btn:hover{

    transform:translateY(-3px);

}

/* ===========================
      HERO
=========================== */

.hero{

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:120px 20px 40px;

    background:
    radial-gradient(circle at top left,#EADFFF 0%,transparent 40%),
    radial-gradient(circle at bottom right,#F4F0FF 0%,transparent 40%),
    #ffffff;

}

.hero-content{

    max-width:850px;

}

.hero h1{

    font-family:'Poppins',sans-serif;

    font-size:4.3rem;

    line-height:1.15;

    margin-bottom:25px;

}

.hero p{

    color:var(--gray);

    font-size:1.2rem;

    max-width:720px;

    margin:auto;

    margin-bottom:45px;

}

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

}

.primary-btn{

    background:linear-gradient(135deg,var(--purple),var(--purple-dark));

    color:white;

    padding:16px 35px;

    border-radius:40px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.primary-btn:hover{

    transform:translateY(-4px);

}

.secondary-btn{

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

    color:var(--purple);

    padding:16px 35px;

    border-radius:40px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.secondary-btn:hover{

    background:var(--purple);

    color:white;

}

/* ===========================
      GENERAL
=========================== */

section{

    padding:110px 0;

}

section h2{

    text-align:center;

    font-size:2.8rem;

    font-family:'Poppins';

    margin-bottom:25px;

}

section p{

    color:var(--gray);

}

/* ===========================
      MISSION
=========================== */

.mission{

    background:white;

    text-align:center;
    

    padding:90px 0;


}

.mission p{

    max-width:760px;

    margin:auto;

    font-size:1.15rem;

}

/* ===========================
      CARDS
=========================== */

.program-grid,
.event-grid,
.stats{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));

    gap:30px;

    margin-top:60px;

}

.card,
.event-card,
.stat{

    background:white;

    border-radius:24px;

    padding:40px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);

    transition:.35s;

    padding:35px;

    display:flex;

    flex-direction:column;

}

.card:hover,
.event-card:hover,
.stat:hover{

    transform:translateY(-10px);

    box-shadow:
    0 25px 50px rgba(111,66,245,.12);

}

.card .primary-btn{

margin-top:30px;

display:inline-block;

align-self:flex-start;

}

.card h3,
.event-card h3{

    color:var(--purple);

    margin-bottom:15px;

}

.stat{

    text-align:center;

}

.stat h1{

    font-size:3rem;

    color:var(--purple);

}

/* ===========================
      ALTERNATING SECTIONS
=========================== */

.programs,
.events-preview{

    background:var(--purple-bg);

}

/* ===========================
      CTA
=========================== */

.cta{

    background:linear-gradient(
    135deg,
    #9B6DFF,
    #B993FF
    );

    text-align:center;

    color:white;

    border-radius:50px;

    width:92%;

    margin:auto;

}

.cta h2{

    color:white;

}

.cta p{

    color:white;

    max-width:700px;

    margin:25px auto 45px;

}

/* ===========================
      FOOTER
=========================== */

footer{

    margin-top:100px;

    background:#111827;

    color:white;

    text-align:center;

    padding:70px 20px;

}

.footer-links{

    display:flex;

    justify-content:center;

    gap:30px;

    margin:35px 0;

    flex-wrap:wrap;

}

.footer-links a{

    color:white;

    text-decoration:none;

}

.footer-links a:hover{

    color:#D8B4FE;

}

.copyright{

    color:#BDBDBD;

    margin-top:20px;

}

/* ===========================
      MOBILE
=========================== */

@media(max-width:900px){

.navbar{

flex-direction:column;

height:auto;

padding:20px 0;

}

.nav-links{

flex-direction:column;

text-align:center;

gap:18px;

margin:20px 0;

}

.hero h1{

font-size:2.8rem;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:25px;

margin-top:35px;

}

section{

padding:80px 20px;

}

}
.hero-logo{

    width:170px;

    margin-bottom:35px;

    animation:float 5s ease-in-out infinite;

}

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0px);
}

}

.hero{

background:
radial-gradient(circle at top left,#F5F1FF 0%,transparent 40%),
radial-gradient(circle at bottom right,#ECE5FF 0%,transparent 40%),
white;

}
.emoji{

font-size:45px;

margin-bottom:20px;

}

/* ===========================
   GALLERY
=========================== */

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:25px;

margin-top:50px;

}


.gallery-grid img{

width:100%;

height:300px;

object-fit:cover;

border-radius:25px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.3s;

}


.gallery-grid img:hover{

transform:translateY(-8px);

}


/* ===========================
ABOUT HERO
=========================== */

.about-hero{

height:600px;

background-image:
linear-gradient(
rgba(45,25,80,0.45),
rgba(45,25,80,0.45)
),
url("../images/about-background.jpg");

background-size:cover;

background-repeat:no-repeat;

background-position:center top;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;

}


.hero-overlay{

max-width:850px;

padding:45px;

background:rgba(30,15,50,0.45);

border-radius:25px;

}


.hero-overlay h1{

font-size:4rem;

color:white;

}


.hero-overlay p{

font-size:1.3rem;

color:white;

font-weight:500;

}

/* ===========================
EXECUTIVE TEAM
=========================== */


.team-section{

padding:80px 0;

}


.team-intro{

text-align:center;

max-width:700px;

margin:0 auto 50px;

}



.team-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:35px;

}



.team-card{

background:white;

padding:30px;

border-radius:25px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,0.08);

}



.team-card img{

width:160px;

height:160px;

object-fit:cover;

border-radius:50%;

margin-bottom:20px;

}



.team-card h3{

font-size:1.4rem;

}



.team-card h4{

color:#8b5cf6;

margin-bottom:15px;

}

/* ===========================
HOME HERO
=========================== */

.home-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(70, 40, 100, 0.15);
}

.home-event img {
    transition: transform 0.4s ease;
}

.home-event:hover img {
    transform: scale(1.04);
}


.home-hero{

min-height:750px;

background-image:
linear-gradient(
rgba(35,20,60,0.55),
rgba(35,20,60,0.55)
),
url("../images/home-banner.JPG");

background-size:cover;

background-position:center;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;

padding-bottom:80px;

}



.home-overlay{

max-width:900px;

padding:40px;

}



.home-overlay h1{

font-size:5rem;

font-family:'Poppins', sans-serif;

margin-bottom:20px;

color:white;

}



.home-overlay h2{

font-size:2rem;

font-weight:600;

color:white;

margin-bottom:20px;

}



.home-overlay p{

font-size:1.2rem;

line-height:1.7;

color:white;

margin-bottom:35px;

}




.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

}

.secondary-btn{

padding:15px 35px;

border-radius:30px;

background:white;

color:#6F42F5;

font-weight:600;

text-decoration:none;

transition:.3s;

}



.secondary-btn:hover{

background:#eee6ff;

}

/* ===========================
EVENTS HERO
=========================== */

.events-hero{

height:600px;

background-image:
linear-gradient(
rgba(45,25,80,0.45),
rgba(45,25,80,0.45)
),
url("../images/5k.JPG");


background-size:cover;

background-repeat:no-repeat;

background-position:center top;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;

}


.hero-overlay{

max-width:850px;

padding:45px;

background:rgba(30,15,50,0.45);

border-radius:25px;

}


.hero-overlay h1{

font-size:4rem;

color:white;

}


.hero-overlay p{

font-size:1.3rem;

color:white;

line-height:1.6;

}

.mission .primary-btn{

display:inline-block;

margin-top:35px;

}


/* ===========================
VOLUNTEER HERO
=========================== */


.involve-hero{

min-height:700px;

padding:80px 20px;

box-sizing:border-box;

height:600px;

background-image:
linear-gradient(
rgba(45,25,80,0.45),
rgba(45,25,80,0.45)
),
url("../images/volunteer-background.JPG");


background-size:cover;

background-repeat:no-repeat;

background-position:center top;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;

}

.hero-overlay .primary-btn{

display:inline-block;

margin-top:35px;

}

/* ===========================
PROGRAMS HERO
=========================== */


.programs-hero{

height:600px;

background-image:
linear-gradient(
rgba(45,25,80,0.45),
rgba(45,25,80,0.45)
),
url("../images/programs-background.JPG");


background-size:cover;

background-repeat:no-repeat;

background-position:center top;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;

}

/* ===========================
DONATE HERO
=========================== */


.donate-hero{

height:600px;

background-image:
linear-gradient(
rgba(45,25,80,0.5),
rgba(45,25,80,0.5)
),
url("../images/donate.JPG");

background-size:cover;

background-repeat:no-repeat;

background-position:center 23%;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;

}

/* ===========================
GET INVOLVED CARDS
=========================== */


.involve-grid{

display:grid;

grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));

gap:35px;

align-items:stretch;

}



.involve-grid .card{

display:flex;

flex-direction:column;

justify-content:space-between;

padding:35px;

}



.involve-grid .primary-btn{

display:inline-block;

margin-top:25px;

width:fit-content;

}

/* ===========================
CONTACT HERO
=========================== */

.contact-hero{

height:600px;

background-image:
linear-gradient(
rgba(45,25,80,0.45),
rgba(45,25,80,0.45)
),
url("../images/about-background.jpg");


background-size:cover;

background-repeat:no-repeat;

background-position:center 25%;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

color:white;
}

/* ===========================
CONTACT MESSAGE SECTION
=========================== */


.contact-message{

padding:90px 0;

background:#faf7ff;

}



.contact-header{

text-align:center;

max-width:750px;

margin:0 auto 50px;

}



.contact-header h2{

font-size:2.8rem;

color:#6F42F5;

margin-bottom:20px;

}



.contact-header p{

font-size:1.1rem;

line-height:1.8;

color:#555;

}





.contact-form{

max-width:700px;

margin:auto;

background:white;

padding:45px;

border-radius:25px;

box-shadow:0 10px 30px rgba(0,0,0,0.08);

}





.form-group{

margin-bottom:25px;

}




.form-group label{

display:block;

font-weight:600;

margin-bottom:10px;

color:#333;

}




.form-group input,
.form-group textarea{

width:100%;

padding:15px;

border:1px solid #ddd;

border-radius:12px;

font-size:1rem;

font-family:inherit;

}



.form-group textarea{

resize:none;

}




.form-group input:focus,
.form-group textarea:focus{

outline:none;

border-color:#8b5cf6;

}




.contact-form .primary-btn{

border:none;

cursor:pointer;

font-size:1rem;

}

/* ===========================
HERO ANIMATION
=========================== */

.hero-overlay{

animation: fadeUp 1s ease forwards;

}


@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}


to{

opacity:1;

transform:translateY(0);

}

}


.primary-btn,
.secondary-btn,
.donate-btn{

transition:all 0.3s ease;

}


.primary-btn:hover,
.secondary-btn:hover,
.donate-btn:hover{

transform:translateY(-5px);

box-shadow:0 10px 20px rgba(111,66,245,0.25);

}

.card{

transition:transform 0.3s ease, box-shadow 0.3s ease;

}


.card:hover{

transform:translateY(-10px);

box-shadow:0 15px 30px rgba(0,0,0,0.12);

}

.gallery-grid img{

transition:transform 0.4s ease;

}


.gallery-grid img:hover{

transform:scale(1.05);

}

.fade-in{

opacity:0;

transform:translateY(40px);

transition:all 0.8s ease;

}


.fade-in.show{

opacity:1;

transform:translateY(0);

}

/* =========================
   HOMEPAGE
========================= */

.home-page {
  color: #1d1720;
  background: #ffffff;
}

.home-page * {
  box-sizing: border-box;
}

.home-page a {
  text-decoration: none;
}

.site-header {
  min-height: 82px;
  padding: 12px 6%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  background: #ffffff;
  border-bottom: 1px solid #eee8f1;
}

.site-logo img,
.footer-logo img {
  display: block;
  width: 120px;
  height: auto;
}

.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
}

.main-nav a {
  color: #302536;
  font-size: 0.92rem;
  font-weight: 600;
  transition: color 0.25s ease;
}

.main-nav a:hover,
.main-nav a.active {
  color: #74438d;
}

.nav-donate,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 22px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-weight: 700;
  text-align: center;
  transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.nav-donate {
  background: #74438d;
  color: #ffffff;
}

.nav-donate:hover,
.button-purple:hover {
  background: #5f3375;
  color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(71, 31, 93, 0.22);
}

.home-hero {
  position: relative;
  min-height: 640px;
  display: grid;
  place-items: center;
  padding: 90px 6%;
  color: #ffffff;
background: url("../images/home-banner.JPG") center/cover no-repeat;
}

.home-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(26, 12, 33, 0.82), rgba(54, 27, 67, 0.56));
}

.home-hero-content {
  position: relative;
  width: min(700px, 100%);
  margin-right: auto;
}

.eyebrow {
  margin: 0 0 13px;
  color: #dfc6ef;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.purple-text {
  color: #74438d;
}

.home-hero h1,
.home-page h2,
.home-page h3 {
  margin-top: 0;
}

.home-hero h1 {
  max-width: 700px;
  margin-bottom: 20px;
  font-size: clamp(2.7rem, 6vw, 5rem);
  line-height: 1.04;
}

.hero-text {
  max-width: 580px;
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.7;
  color:#ddd;
}

.hero-buttons,
.involved-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 30px;
}

.button-light {
  background: #ffffff;
  color: #63377a;
}

.button-light:hover {
  color: #63377a;
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.button-outline-light {
  border-color: #ffffff;
  color: #ffffff;
}

.button-outline-light:hover {
  background: #ffffff;
  color: #63377a;
  transform: translateY(-3px);
}

.button-purple {
  background: #74438d;
  color: #ffffff;
}

.button-secondary {
  border-color: #74438d;
  color: #74438d;
  background: #ffffff;
}

.button-secondary:hover {
  background: #f0e4f6;
  color: #5f3375;
  transform: translateY(-3px);
}

.section-content {
  width: min(1160px, 88%);
  margin: 0 auto;
}

.mission-section,
.what-we-do-section,
.gallery-section,
.involved-section {
  padding: 90px 0;
}

.mission-section {
  background: #faf7fc;
}

.mission-content {
  max-width: 820px;
  text-align: center;
}

.home-page h2 {
  color: #27152f;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.12;
}

.mission-statement {
  margin: 20px auto 24px;
  color: #463a4a;
  font-size: clamp(1.12rem, 2.3vw, 1.45rem);
  line-height: 1.7;
}

.text-link {
  display: inline-block;
  color: #704087;
  font-weight: 800;
}

.text-link span {
  display: inline-block;
  margin-left: 4px;
  transition: transform 0.2s ease;
}

.text-link:hover span {
  transform: translateX(5px);
}

.section-heading {
  max-width: 670px;
  margin-bottom: 38px;
}

.section-heading p:not(.eyebrow) {
  color: #5f5364;
  line-height: 1.65;
}

.program-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.program-card {
  padding: 30px 24px;
  border: 1px solid #eadff0;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(67, 34, 80, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.program-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 16px 30px rgba(67, 34, 80, 0.14);
}

.program-icon {
  width: 49px;
  height: 49px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #f0e3f6;
  color: #6a3981;
  font-size: 1.55rem;
  font-weight: 700;
}

.program-card h3 {
  margin-bottom: 10px;
  color: #311b3a;
  font-size: 1.2rem;
}

.program-card p {
  margin: 0;
  color: #625667;
  line-height: 1.65;
}

.center-link {
  margin-top: 35px;
  text-align: center;
}

.impact-section,
.donate-section {
  padding: 82px 0;
  color: #ffffff;
  background: linear-gradient(125deg, #321640, #704087);
}

.impact-layout {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr;
  align-items: center;
  gap: 65px;
}

.impact-copy h2,
.donate-content h2 {
  color: #ffffff;
}

.impact-copy > p:not(.eyebrow),
.donate-content > p:not(.eyebrow) {
  max-width: 620px;
  margin-bottom: 27px;
  color: #f3eafa;
  line-height: 1.7;
}

.impact-stat {
  padding: 42px 28px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
}

.impact-number,
.impact-label {
  display: block;
}

.impact-number {
  margin-bottom: 9px;
  font-size: clamp(3.2rem, 7vw, 5.5rem);
  font-weight: 800;
  line-height: 1;
}

.impact-label {
  font-size: 1.04rem;
  font-weight: 600;
}

.gallery-heading {
  display: flex;
  max-width: none;
  align-items: end;
  justify-content: space-between;
  gap: 25px;
}

.gallery-heading h2 {
  margin-bottom: 0;
}

.event-gallery {
  display: grid;
  grid-template-columns: 1.45fr 1fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 15px;
}

.gallery-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 14px;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.gallery-image:hover {
  filter: brightness(1.05);
  transform: scale(1.02);
}

.gallery-large {
  grid-row: span 2;
}

.involved-section {
  background: #f4edf7;
}

.involved-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
}

.involved-layout h2 {
  margin-bottom: 13px;
}

.involved-layout p {
  max-width: 630px;
  margin: 0;
  color: #5f5364;
  line-height: 1.65;
}

.involved-buttons {
  margin-top: 0;
  justify-content: flex-end;
}

.donate-content {
  max-width: 770px;
  margin: 0 auto;
  text-align: center;
}

.donate-content > p:not(.eyebrow) {
  margin-right: auto;
  margin-left: auto;
}

.site-footer {
  padding: 55px 6% 22px;
  color: #e8deeb;
  background: #1f1723;
}

.footer-content {
  width: min(1160px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 1fr;
  gap: 40px;
}

.footer-logo {
  display: inline-block;
  margin-bottom: 14px;
}

.footer-content p {
  max-width: 300px;
  margin: 0;
  color: #cfc2d3;
  line-height: 1.65;
}

.footer-links,
.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.site-footer a {
  width: fit-content;
  color: #ffffff;
  transition: color 0.2s ease;
}

.site-footer a:hover {
  color: #ddaef4;
}

.footer-donate {
  margin-top: 4px;
  font-weight: 800;
}

.copyright {
  width: min(1160px, 100%);
  margin: 38px auto 0;
  padding-top: 18px;
  border-top: 1px solid #46364c;
  color: #af9fb5;
  font-size: 0.85rem;
}

/* Keeps cards working with the existing js/script.js fade-in observer */
.home-page .fade-in {
  transition: opacity 0.6s ease, transform 0.6s ease;
}

@media (max-width: 900px) {
  .site-header {
    justify-content: center;
    flex-wrap: wrap;
  }

  .main-nav {
    order: 3;
  }

  .program-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .impact-layout,
  .footer-content {
    grid-template-columns: 1fr;
  }

  .involved-layout {
    display: block;
  }

  .involved-buttons {
    margin-top: 25px;
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  .site-header {
    padding: 15px 5%;
  }

  .main-nav {
    gap: 12px 16px;
  }

  .home-hero {
    min-height: 560px;
    padding: 75px 7%;
  }

  .mission-section,
  .what-we-do-section,
  .gallery-section,
  .involved-section {
    padding: 65px 0;
  }

  .program-grid {
    grid-template-columns: 1fr;
  }

  .event-gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 240px 150px 150px;
  }

  .gallery-large {
    grid-column: span 2;
    grid-row: auto;
  }

  .gallery-heading {
    display: block;
  }

  .gallery-heading .text-link {
    margin-top: 12px;
  }

  .impact-section,
  .donate-section {
    padding: 65px 0;
  }
}

/* Fix homepage content being permanently hidden by old fade-in styles */
.home-page .fade-in {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Keep the hero centered, but move its content slightly lower */
.home-page .home-hero {
  display: grid;
  place-items: center;
  padding: 90px 6%;
}

.home-page .home-hero-content {
  top: 85px;
}

@media (max-width: 600px) {
  .home-page .home-hero-content {
    top: 22px;
  }
}

/* =========================================================
   INNER PAGE REFRESH — matches the homepage visual system
========================================================= */

:root {
  --purple: #74438d;
  --purple-dark: #5f3375;
  --purple-light: #f0e4f6;
  --purple-bg: #faf7fc;
  --text: #27152f;
  --gray: #625667;
}

body:not(.home-page) {
  color: var(--text);
  background: #ffffff;
}

/* The older pages use .navbar; this gives it the same refined look as Home. */
body:not(.home-page) header {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid #eee8f1;
  box-shadow: 0 2px 14px rgba(43, 20, 53, 0.04);
}

body:not(.home-page) .navbar {
  width: min(1160px, 88%);
  height: 82px;
}

body:not(.home-page) .logo img {
  height: 58px;
}

body:not(.home-page) .nav-links {
  gap: 22px;
}

body:not(.home-page) .nav-links a {
  color: #302536;
  font-size: 0.92rem;
  font-weight: 600;
}

body:not(.home-page) .nav-links a:hover {
  color: var(--purple);
}

body:not(.home-page) .donate-btn,
body:not(.home-page) .primary-btn {
  border-radius: 999px;
  background: var(--purple);
  box-shadow: none;
}

body:not(.home-page) .donate-btn:hover,
body:not(.home-page) .primary-btn:hover {
  background: var(--purple-dark);
  box-shadow: 0 10px 22px rgba(71, 31, 93, 0.22);
}

body:not(.home-page) :is(.about-hero, .programs-hero, .events-hero, .involve-hero, .donate-hero, .contact-hero) {
  min-height: 500px;
  height: 500px;
  padding: 110px 6% 48px;
  background-position: center;
}

body:not(.home-page) .donate-hero {
  background-image: linear-gradient(rgba(36, 16, 45, 0.74), rgba(78, 42, 94, 0.62)), url("../images/donate.JPG");
}

body:not(.home-page) .hero-overlay {
  max-width: 720px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

body:not(.home-page) .hero-overlay h1 {
  margin-bottom: 15px;
  font-size: clamp(2.5rem, 5vw, 4.3rem);
  line-height: 1.08;
}

body:not(.home-page) .hero-overlay p {
  font-size: 1.1rem;
  line-height: 1.7;
}

body:not(.home-page) section {
  padding: 82px 0;
}

body:not(.home-page) section h2 {
  color: var(--text);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
}

body:not(.home-page) .mission,
body:not(.home-page) .team-section,
body:not(.home-page) .gallery-section {
  background: #ffffff;
}

body:not(.home-page) .programs,
body:not(.home-page) .events-preview,
body:not(.home-page) .contact-message {
  background: var(--purple-bg);
}

body:not(.home-page) .mission p,
body:not(.home-page) .team-intro,
body:not(.home-page) .contact-header p {
  color: var(--gray);
  line-height: 1.75;
}

body:not(.home-page) .program-grid,
body:not(.home-page) .event-grid,
body:not(.home-page) .stats,
body:not(.home-page) .team-grid,
body:not(.home-page) .involve-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin-top: 38px;
}

body:not(.home-page) .card,
body:not(.home-page) .event-card,
body:not(.home-page) .stat,
body:not(.home-page) .team-card {
  padding: 29px 25px;
  border: 1px solid #eadff0;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(67, 34, 80, 0.06);
}

body:not(.home-page) .card:hover,
body:not(.home-page) .event-card:hover,
body:not(.home-page) .stat:hover,
body:not(.home-page) .team-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 16px 30px rgba(67, 34, 80, 0.14);
}

body:not(.home-page) .card h3,
body:not(.home-page) .event-card h3,
body:not(.home-page) .team-card h3 {
  color: #311b3a;
}

body:not(.home-page) .card p,
body:not(.home-page) .event-card p,
body:not(.home-page) .team-card p {
  color: var(--gray);
  line-height: 1.65;
}

body:not(.home-page) .team-card h4,
body:not(.home-page) .stat h1 {
  color: var(--purple);
}

body:not(.home-page) .team-card img {
  border: 5px solid var(--purple-light);
}

body:not(.home-page) .cta {
  width: min(1160px, 88%);
  padding: 70px 7%;
  border-radius: 20px;
  background: linear-gradient(125deg, #321640, #704087);
}

body:not(.home-page) .cta h2,
body:not(.home-page) .cta p {
  color: #ffffff;
}

body:not(.home-page) .cta .primary-btn {
  color: var(--purple);
  background: #ffffff;
}

body:not(.home-page) .cta .primary-btn:hover {
  color: var(--purple-dark);
  background: #ffffff;
}

body:not(.home-page) .gallery-grid {
  gap: 15px;
}

body:not(.home-page) .gallery-grid img {
  border-radius: 14px;
}

body:not(.home-page) .contact-header h2 {
  color: var(--text);
}

body:not(.home-page) .contact-form {
  padding: 35px;
  border: 1px solid #eadff0;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(67, 34, 80, 0.08);
}

body:not(.home-page) .form-group input,
body:not(.home-page) .form-group textarea {
  border-color: #dfd1e6;
}

body:not(.home-page) .form-group input:focus,
body:not(.home-page) .form-group textarea:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 3px rgba(116, 67, 141, 0.12);
}

body:not(.home-page) footer {
  margin-top: 0;
  padding: 55px 6% 22px;
  background: #1f1723;
}

body:not(.home-page) footer h2 {
  color: #ffffff;
}

body:not(.home-page) footer > p:not(.copyright) {
  color: #cfc2d3;
}

body:not(.home-page) footer .footer-links {
  flex-direction: row;
  justify-content: center;
  gap: 14px 25px;
}

body:not(.home-page) .copyright {
  width: min(1160px, 88%);
  margin: 34px auto 0;
  padding-top: 18px;
  border-top: 1px solid #46364c;
  color: #af9fb5;
}

/* Existing pages load script.js before their HTML, so make all content readable. */
body:not(.home-page) .fade-in {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

@media (max-width: 900px) {
  body:not(.home-page) .navbar {
    height: auto;
    padding: 14px 0;
  }

  body:not(.home-page) .nav-links {
    justify-content: center;
    gap: 10px 16px;
  }

  body:not(.home-page) :is(.about-hero, .programs-hero, .events-hero, .involve-hero, .donate-hero, .contact-hero) {
    min-height: 460px;
    height: auto;
  }
}

@media (max-width: 600px) {
  body:not(.home-page) section {
    padding: 62px 0;
  }

  body:not(.home-page) .nav-links a {
    font-size: 0.82rem;
  }

  body:not(.home-page) .donate-btn {
    padding: 10px 18px;
  }

  body:not(.home-page) .cta {
    padding: 52px 7%;
  }
}

/* Center the What We Do heading */
.home-page .what-we-do-section .section-heading {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

/* Center the hero description text */
.home-page .hero-text {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.home-page .home-hero {
  background-position: center 10%;
}

/* Adjust image focus for each inner-page banner */
body:not(.home-page) .about-hero {
  background-position: center 30% !important;
}

body:not(.home-page) .programs-hero {
  background-position: center 15% !important;
}

body:not(.home-page) .events-hero {
  background-position: center 40% !important;
}

body:not(.home-page) .involve-hero {
  background-position: center 35% !important;
}

body:not(.home-page) .donate-hero {
  background-position: center 25% !important;
}

body:not(.home-page) .contact-hero {
  background-position: center 25% !important;
}

/* About Us section on homepage */
.home-page .about-home-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(300px, 1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 80px);
}

.home-page .about-home-photo {
  width: 100%;
  min-height: 390px;
  display: block;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 16px 32px rgba(67, 34, 80, 0.16);
}

.home-page .about-home-copy .mission-statement {
  margin-right: 0;
  margin-left: 0;
}

@media (max-width: 900px) {
  .home-page .about-home-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .home-page .about-home-photo {
    min-height: 280px;
  }
}