:root{
  --green:#0e7a3d;--deep:#123528;--dark:#142414;--orange:#e06e00;--cream:#f7f8f3;
  --ink:#1d2c25;--muted:#5f6f5f;--line:#e4e9e3;
  --font:'Plus Jakarta Sans',system-ui,sans-serif;
  --display:'Fraunces',Georgia,serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.7}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(980px,calc(100% - 40px));margin:0 auto}
.wrap-wide{width:min(1100px,calc(100% - 40px));margin:0 auto}
.top{
  position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);backdrop-filter:blur(8px);
}
.top-inner{width:min(1100px,calc(100% - 40px));margin:0 auto;height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand img{height:52px;width:auto;max-width:min(240px,58vw);object-fit:contain}
.top-nav{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;font-weight:700;color:#46604f}
.top-nav a:hover{color:var(--orange)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 18px;border-radius:4px;font-size:12px;font-weight:700;border:0;
}
.btn-orange{background:var(--orange);color:#fff}
.btn-green{background:var(--green);color:#fff}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--deep)}
.btn-dark{background:var(--deep);color:#fff}
.hero{
  background:
    linear-gradient(180deg,rgba(10,30,20,.78),rgba(10,30,20,.55)),
    url('/photos/hero.jpg?v=women-greenery') center 30%/cover no-repeat;
  color:#fff;padding:72px 0 64px;
}
.hero .kicker{color:#f2a24f;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}
.hero h1{font:800 clamp(36px,6vw,58px)/1.08 var(--display);margin:0 0 12px;letter-spacing:-.03em;max-width:14ch}
.hero .tagline{font:700 22px/1.35 var(--display);margin:0 0 18px;color:#f2a24f}
.hero .lead{max-width:620px;margin:0 0 28px;color:#d7e5dc;font-size:16px;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.math-band{background:var(--cream);border-bottom:1px solid var(--line);padding:28px 0}
.math-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.math-card{background:#fff;border:1px solid var(--line);padding:18px 16px}
.math-card strong{display:block;font:800 28px/1 var(--display);color:var(--deep);margin-bottom:8px}
.math-card span{display:block;font-size:12px;color:var(--muted);line-height:1.5}
.section{padding:56px 0}
.section h2{font:700 clamp(26px,4vw,36px)/1.2 var(--display);color:var(--dark);margin:0 0 12px;letter-spacing:-.02em}
.section .intro{color:var(--muted);max-width:680px;margin:0 0 28px;font-size:16px;line-height:1.8}
.note{
  background:#f3f6f2;border:1px solid var(--line);border-left:4px solid #f2a24f;
  padding:14px 16px;font-size:14px;color:#4a5a4a;margin:0 0 22px;line-height:1.7;
}
.principles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.principle{background:#fff;border:1px solid var(--line);padding:18px 16px}
.principle b{display:block;font:800 28px/1 var(--display);color:var(--orange);margin-bottom:8px}
.principle span{display:block;font-size:13px;color:var(--muted);line-height:1.55}
.dashboard{
  background:var(--deep);color:#fff;padding:28px;margin:0 0 28px;
}
.dashboard-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.dashboard-top small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#f2a24f;font-weight:800;margin-bottom:8px}
.dashboard-top strong{font:800 42px/1 var(--display);color:#fff}
.dashboard-top span{display:block;margin-top:8px;color:#c8d9cf;font-size:13px}
.progress{height:10px;background:rgba(255,255,255,.12);overflow:hidden;margin:0 0 18px}
.progress > i{display:block;height:100%;width:0%;background:var(--orange)}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dash-stats div{background:rgba(255,255,255,.06);padding:14px}
.dash-stats b{display:block;font:800 24px/1 var(--display);color:#f2a24f;margin-bottom:6px}
.dash-stats span{font-size:12px;color:#c8d9cf}
.amounts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.amount-btn{
  min-width:72px;padding:14px 16px;border:1px solid var(--line);background:#fff;
  font:800 16px var(--display);color:var(--deep);cursor:pointer;
}
.amount-btn.is-active,.amount-btn:hover{border-color:var(--orange);color:var(--orange)}
.cause-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cause-card{border:1px solid var(--line);padding:22px 18px;background:#fff;display:flex;flex-direction:column;gap:10px;min-height:100%}
.cause-card small{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.cause-card h3{margin:0;font:700 20px/1.25 var(--display);color:var(--dark)}
.cause-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7;flex:1}
.cause-card .meta{font-size:12px;font-weight:700;color:var(--deep)}
.challenge-table,.tier-table{width:100%;border-collapse:collapse;font-size:14px}
.challenge-table th,.tier-table th{
  text-align:left;background:var(--deep);color:#fff;padding:12px 14px;font-size:12px;
  letter-spacing:.04em;text-transform:uppercase;
}
.challenge-table td,.tier-table td{padding:12px 14px;border-top:1px solid var(--line);color:var(--muted)}
.challenge-table tr:nth-child(even) td,.tier-table tr:nth-child(even) td{background:#fafbf8}
.table-wrap{overflow-x:auto;border:1px solid var(--line);margin:0 0 18px}
.circle{
  background:linear-gradient(180deg,#123528,#1a3d2c);color:#fff;padding:56px 0;
}
.circle h2,.circle .intro{color:#fff}
.circle .intro{color:#c8d9cf}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 22px}
.tier{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:18px 16px;
}
.tier small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#f2a24f;font-weight:800;margin-bottom:8px}
.tier b{display:block;font:800 28px/1 var(--display);margin-bottom:8px}
.tier span{display:block;font-size:13px;color:#c8d9cf;line-height:1.5}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0 0 22px;padding:0;list-style:none}
.benefits li{color:#d7e5dc;font-size:14px;padding-left:18px;position:relative}
.benefits li:before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;background:var(--orange)}
.share-box{background:var(--cream);border:1px solid var(--line);padding:22px;margin:0 0 18px}
.share-box pre{
  white-space:pre-wrap;font-family:var(--font);font-size:14px;line-height:1.7;color:var(--ink);
  margin:0 0 14px;background:#fff;border:1px solid var(--line);padding:16px;
}
.rules{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rule{border:1px solid var(--line);padding:16px 18px;background:#fff}
.rule b{display:block;font:700 15px var(--display);color:var(--dark);margin-bottom:6px}
.rule span{display:block;font-size:13px;color:var(--muted);line-height:1.6}
.cta-final{background:var(--cream);border-left:4px solid var(--orange);padding:28px;margin-top:8px}
.cta-final strong{display:block;font:700 24px/1.3 var(--display);color:var(--dark);margin-bottom:10px}
.cta-final p{margin:0 0 16px;color:var(--muted)}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.foot{background:var(--deep);color:#c8d9cf;padding:28px 0;font-size:12px}
.foot a{color:#fff;font-weight:700}
.foot-grid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.foot-links{display:flex;flex-wrap:wrap;gap:14px}
@media(max-width:900px){
  .math-grid,.principles,.cause-grid,.dash-stats,.tier-grid,.benefits,.rules{grid-template-columns:1fr 1fr}
  .top-nav{display:none}
}
@media(max-width:560px){
  .math-grid,.principles,.cause-grid,.dash-stats,.tier-grid,.benefits,.rules{grid-template-columns:1fr}
  .hero{padding:56px 0 48px}
}
