/* ═══ HERO ═══ */
#hero{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:110px;padding-bottom:9rem;}
.hero-slider{position:absolute;inset:0;z-index:0;}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:top;opacity:0;transition:opacity 1.5s ease-in-out;filter:contrast(1.1) brightness(0.9) saturate(1.1);}
.hero-slide.active{opacity:1;}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.28) 45%,rgba(0,0,0,.12) 75%);}
.hero-content{position:relative;z-index:2;color:#fff;margin-top:0!important;padding-top:0!important;transform:translateY(3rem);}
.hero-copy{width:min(1080px,100%);}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 18px;border-radius:50px;margin-bottom:1rem;animation:fadeUp .8s .2s both;}
.hero-title{font-family:var(--font-display);font-size:clamp(2.3rem,5.4vw,4.1rem);font-weight:800;line-height:1.08;max-width:1080px;text-wrap:balance;animation:fadeUp .8s .4s both;}
.hero-title em{color:var(--green-light);font-style:italic;}
.hero-sub{font-size:1.08rem;font-weight:400;max-width:800px;line-height:1.68;opacity:.92;text-wrap:normal;animation:fadeUp .8s .6s both;}
.hero-ctas{animation:fadeUp .8s .8s both;}
.hero-ctas .btn{min-height:3.1rem;text-align:center;}
.hero-title.mb-4{margin-bottom:1rem!important;}
.hero-sub.mb-5{margin-bottom:2rem!important;}
.hero-dots{position:absolute;bottom:5.8rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px;}
.hero-dot{width:10px;height:10px;border-radius:50%;cursor:pointer;border:none;background:rgba(255,255,255,.35);transition:background .3s,transform .3s;}
.hero-dot.active{background:var(--green);transform:scale(1.35);}
.hero-stats{position:absolute;bottom:0;left:0;right:0;z-index:3;background:rgba(0,0,0,.35);backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.12);}
.hero-stat{text-align:center;padding:1.1rem 0;color:#fff;}
.hero-stat .val{display:block;font-family:var(--font-display);font-size:2.1rem;font-weight:700;color:var(--green-light);}
.hero-stat .lbl{font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;opacity:.82;}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* ═══ ABOUT ═══ */
.about-img{width:100%;height:460px;object-fit:cover;object-position:top;border-radius:18px;box-shadow:22px 22px 0 var(--red);}
.about-badge{position:absolute;bottom:-20px;right:-20px;background:var(--green);color:#fff;border-radius:14px;padding:1.1rem 1.6rem;text-align:center;box-shadow:0 10px 28px rgba(59,173,110,.35);}
.about-badge .num{font-family:var(--font-display);font-size:2.6rem;font-weight:700;display:block;}
.about-badge .lbl{font-size:.75rem;letter-spacing:.08em;opacity:.9;}

/* ═══ STORY CARDS ═══ */
.home-equal-grid{justify-content:center;}
.home-equal-grid>[class*="col"]{display:flex;}
.home-equal-grid>[class*="col"]:only-child{max-width:540px;margin-left:auto;margin-right:auto;}
.home-equal-grid>a,.home-equal-grid .reveal>a{width:100%;display:block;}
.home-equal-grid .story-card,.home-equal-grid .program-card{min-height:100%;}
.story-card{border:none;border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.08);height:100%;width:100%;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
.story-card:hover{transform:translateY(-7px);box-shadow:0 14px 40px rgba(0,0,0,.14);}
.story-img{width:100%;height:240px;object-fit:cover;transition:transform .5s;}
.story-card:hover .story-img{transform:scale(1.05);}
.story-card .card-body{display:flex;flex-direction:column;flex:1;}
.story-tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 14px;border-radius:50px;}
.story-quote{font-size:1rem;font-style:italic;line-height:1.65;color:#333;}
.story-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;}
.story-card h3,.story-card h4,.story-card h5{font-family:var(--font-body);font-weight:800;}

/* ═══ PROJECT CARDS ═══ */
.project-card-link{display:block;height:100%;color:inherit;text-decoration:none;}
.project-card-link:focus-visible{outline:3px solid var(--green);outline-offset:5px;border-radius:18px;}
.program-card{border:none;border-radius:10px;padding:2.2rem 1.8rem;background:#fff;height:100%;box-shadow:0 2px 18px rgba(0,0,0,.07);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;}
.project-card-link:hover .program-card{transform:translateY(-6px);box-shadow:0 12px 36px rgba(0,0,0,.13);}
.prog-icon-wrap{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin-bottom:1.3rem;}
.prog-stat-pill{display:inline-block;font-size:.75rem;font-weight:600;padding:4px 14px;border-radius:50px;margin-top:1rem;letter-spacing:.05em;}
.project-card-cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;font-size:.82rem;font-weight:700;color:var(--charcoal);}
.project-card-link:hover .project-card-cta{color:var(--green);}
.project-card-cta i{transition:transform .25s;}
.project-card-link:hover .project-card-cta i{transform:translateX(3px);}
.project-importance{display:inline-flex;align-items:center;width:max-content;max-width:100%;white-space:normal;background:rgba(142,0,5,.09);color:var(--red);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.25rem .65rem;margin-bottom:.9rem;}
.home-program-card{min-height:330px;padding:2.5rem 2.2rem;display:flex;flex-direction:column;color:#fff!important;}
.home-program-card *{color:#fff!important;}
.home-program-card h5{font-family:var(--font-body);font-size:1.25rem;font-weight:800;line-height:1.25;}
.home-program-card p{font-size:.95rem;line-height:1.75;}
.home-program-card .project-card-cta{margin-top:auto;padding-top:1rem;}
.program-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;white-space:normal;background:rgba(0,0,0,.045);color:var(--charcoal);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.25rem .65rem;margin-bottom:.9rem;}
.project-theme-urgent .prog-icon-wrap{background:rgba(142,0,5,.125);color:var(--red);}
.project-theme-urgent .prog-stat-pill{background:rgba(59,173,110,.09);color:var(--green);}
.project-theme-urgent .prog-bottom-bar{background:var(--red);}
.prog-bottom-bar{position:absolute;bottom:0;left:0;right:0;height:4px;}
.program-theme-green{background:#000!important;}
.program-theme-green .prog-icon-wrap{background:rgba(255,255,255,.18);}
.program-theme-green .prog-stat-pill{background:rgba(255,255,255,.15);}
.program-theme-green .prog-bottom-bar{background:var(--green);}
.program-theme-red{background:#000!important;}
.program-theme-red .prog-icon-wrap{background:rgba(255,255,255,.18);}
.program-theme-red .prog-stat-pill{background:rgba(255,255,255,.15);}
.program-theme-red .prog-bottom-bar{background:var(--red);}
.home-program-card .program-label{background:rgba(255,255,255,.20);color:#fff!important;}

/* Program cards — with background image */
.home-program-card.has-bg{
  background-size:cover;
  background-repeat:no-repeat;
  isolation:isolate;          /* own stacking context so z-index is local */
}
/* Content layer sits above the card-bg-img / card-overlay divs (z-index 0/1) */
.home-program-card.has-bg>*:not(.card-bg-img):not(.card-overlay){
  position:relative;
  z-index:2;
}
/* Theme colour for the card-overlay div background */
.program-theme-red.has-bg .card-overlay{background:#000;}
.program-theme-green.has-bg .card-overlay{background:#000;}
/* ── All text and icons white ── */
.home-program-card.has-bg,
.home-program-card.has-bg *{
  color:#fff!important;
}
/* ── Pill / label / icon backgrounds ── */
.home-program-card.has-bg .program-label{
  background:rgba(255,255,255,.20)!important;
}
.home-program-card.has-bg .prog-icon-wrap{
  background:rgba(255,255,255,.20)!important;
}
.home-program-card.has-bg .prog-stat-pill{
  background:rgba(255,255,255,.18)!important;
}
/* ── Bottom accent bar ── */
.home-program-card.has-bg .prog-bottom-bar{
  background:rgba(255,255,255,.50);
}

/* ═══ PARTNERS SECTION ═══ */
.partners-track-wrap{overflow:hidden;}
.partners-track{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;width:auto;}
.partners-track a{display:flex;align-items:center;justify-content:center;flex:0 1 180px;min-width:140px;}
.partner-logo{height:100px;max-width:200px;width:auto;opacity:1;transition:transform .3s,opacity .3s;}
.partner-logo:hover{transform:scale(1.05);opacity:1;}

/* ═══ DONATE SECTION ═══ */
#donate{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 55%,#2d0002 100%);position:relative;overflow:hidden;padding:5.5rem 0;}
#donate::before{content:'';position:absolute;top:-100px;right:-100px;width:440px;height:440px;border-radius:50%;background:rgba(255,255,255,.04);}
#donate::after{content:'';position:absolute;bottom:-80px;left:-60px;width:320px;height:320px;border-radius:50%;background:rgba(59,173,110,.1);}
.donate-impact-item{display:flex;align-items:flex-start;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.1);}
.donate-impact-item:last-child{border-bottom:none;}
.donate-impact-emoji{font-size:1.5rem;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.donate-impact-text strong{color:#fff;display:block;font-size:.93rem;margin-bottom:.15rem;}
.donate-impact-text span{color:rgba(255,255,255,.65);font-size:.83rem;line-height:1.5;}
.gg-cta-card{background:#fff;border-radius:12px;box-shadow:0 28px 80px rgba(0,0,0,.25);overflow:hidden;}
.gg-cta-top{background:linear-gradient(135deg,#1a7a4a 0%,#138a42 100%);padding:1.6rem 2rem;}
.gg-cta-body{padding:2rem;}
.btn-gg-main{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.7rem;background:var(--green);color:#fff;border-radius:50px;padding:1rem 2rem;font-size:1.05rem;font-weight:700;border:none;box-shadow:0 8px 28px rgba(59,173,110,.4);transition:all .25s;text-decoration:none;width:100%;text-align:center;}
.btn-gg-main:hover{background:var(--green-dark);color:#fff;transform:translateY(-2px);}
.gg-logo-badge{background:#fff;color:var(--green);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;flex-shrink:0;}
.trust-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;}
.trust-item-sm{display:flex;align-items:center;gap:5px;font-size:.76rem;color:rgba(255,255,255,.55);}
.trust-item-sm i{color:var(--green-light);}
.donate-strip{
  background:linear-gradient(
    135deg,
    var(--red),
    #6d0004
  );

  padding:4.5rem 0;
  position:relative;
  overflow:hidden;
}

.donate-title{
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:700;
  color:#fff;
  line-height:1.1;
  margin-bottom:1rem;
}

.donate-title em{
  color:var(--green-light);
  font-style:normal;
}

.donate-text{
  color:rgba(255,255,255,.78);
  max-width:520px;
  line-height:1.8;
  margin:0;
}

.donate-trust{
  margin-top:1rem;
  color:rgba(255,255,255,.65);
  font-size:.82rem;
}

/* ═══ TESTIMONIAL PAGINATION ═══ */
@keyframes tFadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.t-card-col.t-entering{animation:tFadeUp .32s ease both;}
.t-pagination{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--cream);}
.t-arrow{width:42px;height:42px;border-radius:50%;border:none;background:rgba(59,173,110,.12);color:var(--green);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .22s,color .22s,transform .2s;flex-shrink:0;}
.t-arrow:hover:not(:disabled){background:var(--green);color:#fff;transform:scale(1.09);}
.t-arrow:disabled{background:#f3f4f6;color:#ccc;cursor:default;transform:none;}
.t-dots{display:flex;gap:6px;align-items:center;}
.t-dot{height:10px;width:10px;border-radius:5px;border:none;background:#ddd;cursor:pointer;padding:0;transition:width .28s ease,background .22s;}
.t-dot.active{width:28px;background:var(--green);}
.t-page-label{font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.06em;min-width:2.6rem;text-align:center;}

@media(max-width:991px){
  #hero{
    min-height:680px;
    min-height:max(680px, calc(100svh - 64px));
    align-items:flex-start;
    padding-top:2.5rem;
    padding-bottom:9.5rem;
  }

  .hero-content{
    margin-top:0!important;
    padding-top:2rem!important;
    transform:translateY(1.75rem);
  }

  .hero-title{
    font-size:clamp(1.35rem,9vw,3.4rem);
  }

  .hero-sub{
    max-width:100%;
    font-size:1rem;
  }

  .hero-dots{
    bottom:7.2rem;
  }

  .hero-stat{
    padding:.8rem .25rem;
  }

  .hero-stat .val{
    font-size:1.45rem;
  }

  .hero-stat .lbl{
    font-size:.62rem;
    letter-spacing:.06em;
  }

  .about-img{
    height:360px;
    border-radius:14px;
    box-shadow:14px 14px 0 var(--red);
  }

  .about-badge{
    right:-8px;
    bottom:-14px;
  }


  .partners-track{
    gap:1.25rem;
  }

  .partner-logo{
    height:72px;
    max-width:150px;
  }

  .donate-strip{
    text-align:left;
    padding:3.75rem 0;
  }
}

@media(max-width:575px){
  #hero{
    min-height:760px;
    min-height:max(760px, 100svh);
    padding-top:1.25rem;
    padding-bottom:14rem;
  }

  .hero-content{
    transform:none;
  }

  .hero-eyebrow{
    font-size:.64rem;
    letter-spacing:.08em;
    padding:6px 12px;
  }

  .hero-title{
    font-size:clamp(2.05rem,12vw,2.85rem);
    line-height:1.05;
  }

  .hero-sub{
    font-size:.96rem;
    line-height:1.58;
  }

  .hero-ctas{
    flex-direction:column;
    gap:.7rem!important;
  }

  .hero-ctas .btn{
    width:100%;
  }

  .hero-dots{
    bottom:11.4rem;
  }

  .hero-stats .row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hero-stats .col{
    width:100%;
  }

  .hero-stat{
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .hero-stat .lbl{
    display:block;
    line-height:1.2;
    padding:0 .2rem;
  }

  .about-img{
    height:280px;
    box-shadow:9px 9px 0 var(--red);
  }

  .about-badge{
    padding:.85rem 1rem;
  }

  .about-badge .num{
    font-size:2rem;
  }


  .story-img{
    height:210px;
  }

  .program-card,
  .gg-cta-body{
    padding:1.5rem;
  }

  .home-program-card{
    min-height:280px;
    padding:1.7rem 1.45rem;
  }

  .partners-track{
    gap:1rem;
  }

  .partners-track a{
    flex:1 1 130px;
    min-width:120px;
  }

  .partner-logo{
    height:60px;
    max-width:140px;
  }

  .donate-title{
    font-size:2rem;
  }
}

@media(max-width:380px){
  #hero{
    min-height:790px;
    padding-bottom:14.5rem;
  }

  .hero-title{
    font-size:clamp(1.9rem,11.5vw,2.45rem);
  }

  .hero-eyebrow{
    max-width:100%;
  }
}
