:root{
  --navy:#1b2a3d;
  --navy-soft:#2f4258;
  --green:#3f9142;
  --green-dark:#2f7332;
  --orange:#e8792c;
  --yellow:#f2b632;
  --paper:#ffffff;
  --paper-tint:#f7f5f0;
  --line:#e7e2d8;
  --muted:#5c6673;
  --radius:14px;
  --maxw:1160px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--navy);
  background:var(--paper);
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{color:var(--green-dark);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3{line-height:1.2;margin:0 0 .5em 0;}
h1{font-size:clamp(2rem,4vw,3rem);}
h2{font-size:clamp(1.6rem,3vw,2.2rem);}
p{margin:0 0 1em 0;}
.muted{color:var(--muted);}
.btn{
  display:inline-block;padding:14px 28px;border-radius:999px;font-weight:700;
  border:2px solid transparent;cursor:pointer;transition:transform .15s ease;
}
.btn:hover{transform:translateY(-2px);text-decoration:none;}
.btn-primary{background:var(--orange);color:#fff;}
.btn-secondary{background:transparent;color:var(--navy);border-color:var(--navy);}
.btn-light{background:#fff;color:var(--navy);}
.badge{
  display:inline-block;background:var(--yellow);color:var(--navy);
  font-weight:700;font-size:.85rem;padding:6px 14px;border-radius:999px;margin-bottom:16px;
}
section{padding:72px 0;}
.section-head{max-width:720px;margin:0 auto 40px auto;text-align:center;}
.section-head p{margin:0;}

/* header */
header{
  position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);z-index:50;
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;color:var(--navy);}
.brand .mark{
  height:42px;width:auto;flex:none;display:block;
}
nav{display:flex;gap:28px;align-items:center;}
nav a{color:var(--navy);font-weight:600;font-size:.95rem;}
nav a.active{color:var(--green-dark);}
.nav-cta{background:var(--green);color:#fff;padding:10px 20px;border-radius:999px;font-weight:700;}
.nav-cta:hover{text-decoration:none;opacity:.92;}
.burger{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--navy);}
@media (max-width:860px){
  nav{position:fixed;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;gap:0;max-height:0;overflow:hidden;transition:max-height .25s ease;}
  nav.open{max-height:460px;}
  nav a,nav .nav-cta{width:100%;padding:16px 24px;border-radius:0;text-align:left;}
  .burger{display:block;}
}

/* hero */
.hero{padding:64px 0 56px;background:var(--paper-tint);}
.hero .wrap{max-width:820px;text-align:center;}
.hero p.lede{font-size:1.15rem;color:var(--muted);max-width:640px;margin:0 auto 28px auto;}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px;}
.stat-row{display:flex;gap:36px;justify-content:center;flex-wrap:wrap;margin-top:44px;}
.stat{text-align:center;}
.stat .num{font-size:2rem;font-weight:800;color:var(--green-dark);}
.stat .label{font-size:.85rem;color:var(--muted);}

/* journey strip */
.strip{background:var(--navy);color:#fff;}
.strip .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;padding:40px 24px;}
.strip-step{flex:1;min-width:140px;text-align:center;}
.strip-step .n{
  width:36px;height:36px;border-radius:50%;background:var(--yellow);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 10px auto;
}
.strip-step h4{margin:0 0 4px 0;font-size:1rem;}
.strip-step p{margin:0;font-size:.85rem;color:#c7cedb;}

/* about */
#about{background:var(--paper);}
#about .about-text{max-width:760px;margin:0 auto;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;}
.pillar{
  background:var(--paper-tint);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;text-align:center;
}
.pillar .ic{
  width:48px;height:48px;border-radius:50%;margin:0 auto 14px auto;display:flex;
  align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1.2rem;
}
.pillar:nth-child(1) .ic{background:var(--green);}
.pillar:nth-child(2) .ic{background:var(--orange);}
.pillar:nth-child(3) .ic{background:var(--yellow);color:var(--navy);}
.pillar h3{font-size:1.05rem;}
.pillar p{margin:0;font-size:.92rem;color:var(--muted);}
@media (max-width:700px){.pillars{grid-template-columns:1fr;}}

/* vision */
#vision{background:var(--paper-tint);}
.vision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:8px;}
.vision-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;
}
.vision-card .vnum{
  display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;
  align-items:center;justify-content:center;font-weight:800;font-size:.9rem;margin-bottom:14px;
}
.vision-card h3{font-size:1.1rem;}
.vision-card p{margin:0;color:var(--muted);font-size:.95rem;}
@media (max-width:700px){.vision-grid{grid-template-columns:1fr;}}

/* support */
#support{background:var(--paper);}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.support-item{
  border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--paper-tint);
}
.support-item h3{font-size:1rem;margin-bottom:6px;}
.support-item p{margin:0;font-size:.9rem;color:var(--muted);}
@media (max-width:860px){.support-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.support-grid{grid-template-columns:1fr;}}

/* love gift / giving */
.lovegift{background:var(--navy);color:#fff;}
.lovegift .section-head h2,.lovegift .section-head p{color:#fff;}
.lovegift .section-head p{color:#c7cedb;}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.tier{
  background:var(--navy-soft);border-radius:var(--radius);padding:30px 24px;text-align:center;
  border:1px solid rgba(255,255,255,.08);
}
.tier .amt{font-size:1.8rem;font-weight:800;color:var(--yellow);margin-bottom:6px;}
.tier .per{font-size:.85rem;color:#c7cedb;margin-bottom:16px;}
.tier ul{list-style:none;margin:0 0 20px 0;padding:0;text-align:left;font-size:.9rem;color:#dfe4ea;}
.tier li{margin-bottom:8px;padding-left:22px;position:relative;}
.tier li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800;}
.lovegift-note{
  margin-top:32px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);padding:22px 26px;text-align:center;color:#dfe4ea;font-size:.95rem;
}
@media (max-width:860px){.tiers{grid-template-columns:1fr;}}

/* contact */
.cta-section{background:var(--paper-tint);}
.cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;}
.amount-pills{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px 0;}
.amount-pills span{
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:700;font-size:.9rem;
}
.contact-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;
}
.contact-card .row{padding:14px 0;border-bottom:1px solid var(--line);}
.contact-card .row:last-child{border-bottom:none;}
.contact-card h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 6px 0;}
.contact-card p,.contact-card a{font-size:1rem;}
.bank{margin:0;font-size:.95rem;}
.placeholder-flag{
  display:inline-block;margin-top:6px;font-size:.78rem;color:var(--orange);font-weight:700;
}
@media (max-width:860px){.cta-grid{grid-template-columns:1fr;}}

footer{background:var(--navy);color:#c7cedb;padding:56px 0 24px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:36px;}
.foot-grid h4{color:#fff;font-size:.95rem;margin:0 0 14px 0;}
.foot-grid ul{list-style:none;margin:0;padding:0;}
.foot-grid li{margin-bottom:10px;}
.foot-grid a{color:#c7cedb;font-size:.92rem;}
.foot-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;margin-bottom:12px;}
.foot-brand .mark{
  height:36px;width:auto;flex:none;display:block;
}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:.82rem;color:#8d98a8;text-align:center;}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr;}}

/* ===== NEWSLETTER PAGE ===== */
.nl-hero{padding:56px 0 48px;background:var(--paper-tint);text-align:center;}
.nl-hero .wrap{max-width:760px;}
.nl-hero .issue-tag{
  display:inline-block;background:var(--navy);color:#fff;font-weight:700;font-size:.8rem;
  padding:6px 14px;border-radius:999px;margin-bottom:16px;letter-spacing:.02em;
}
.nl-article{padding:56px 0;}
.nl-article .wrap{max-width:780px;}
.nl-article h2{margin-top:2.2em;}
.nl-article h2:first-of-type{margin-top:0;}
.nl-article h3{font-size:1.15rem;margin-top:1.6em;}
.nl-lede{font-size:1.1rem;color:var(--muted);}
.nl-pull{
  border-left:4px solid var(--green);background:var(--paper-tint);padding:18px 22px;border-radius:0 var(--radius) var(--radius) 0;
  font-style:italic;color:var(--navy-soft);margin:1.6em 0;
}
.nl-list{margin:0 0 1em 0;padding-left:1.3em;}
.nl-list li{margin-bottom:.5em;}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px;}
.story-card{
  background:var(--paper-tint);border:1px solid var(--line);border-radius:var(--radius);padding:22px;
}
.story-card h4{margin:0 0 6px 0;font-size:1.02rem;}
.story-card .tag{
  display:inline-block;font-size:.72rem;font-weight:700;color:var(--green-dark);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;
}
.story-card p{margin:0;font-size:.92rem;color:var(--muted);}
@media (max-width:760px){.story-grid{grid-template-columns:1fr;}}

.project-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.95rem;}
.project-table th{
  text-align:left;background:var(--navy);color:#fff;padding:12px 16px;font-size:.8rem;
  text-transform:uppercase;letter-spacing:.03em;
}
.project-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;}
.project-table tr:nth-child(even) td{background:var(--paper-tint);}
.project-table td:first-child{font-weight:700;}
@media (max-width:640px){
  .project-table, .project-table thead, .project-table tbody, .project-table th, .project-table td, .project-table tr{display:block;}
  .project-table thead{display:none;}
  .project-table tr{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;}
  .project-table td{border-bottom:none;}
  .project-table td::before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:2px;}
}

.involve-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px;}
.involve-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff;}
.involve-card h4{margin:0 0 6px 0;font-size:1.02rem;}
.involve-card p{margin:0;font-size:.92rem;color:var(--muted);}
@media (max-width:700px){.involve-grid{grid-template-columns:1fr;}}

.nl-cta{
  margin-top:48px;background:var(--navy);color:#fff;border-radius:var(--radius);
  padding:36px 32px;text-align:center;
}
.nl-cta h3{color:#fff;margin-bottom:.4em;}
.nl-cta p{color:#c7cedb;max-width:520px;margin:0 auto 20px auto;}

.archive-note{
  margin-top:56px;padding-top:28px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.92rem;
}
