/* GameChanger Charity — shared brand system (staging replica). Matches gamechangercharity.org:
   Space Mono, #00B073 green, #1C1C1C ink. Used by every page; keep pages consistent with this. */
:root{
  --green:#00B073; --green-cta:#009462; --green-deep:#007a50; --green-soft:#e6f7f0; --green-bright:#1fd790;
  --ink:#1C1C1C; --ink-2:#262626; --slate:#333740; --muted:#6b7280; --muted-2:#9aa1aa;
  --paper:#ffffff; --paper-2:#f6f8f7; --line:#e7e9ec; --line-2:#d7dbe0;
  --r:14px; --r-lg:20px;
  --shadow:0 1px 2px rgba(28,28,28,.06), 0 12px 30px -14px rgba(28,28,28,.18);
  --wrap:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--slate);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55}
::selection{background:#bdf0db}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{letter-spacing:-.02em;color:var(--ink);line-height:1.05;margin:0}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--green-deep);font-weight:700}
.eyebrow.on-dark{color:var(--green)}

/* buttons */
.btn{display:inline-block;font-family:inherit;font-weight:700;font-size:15px;border-radius:var(--r);padding:13px 22px;cursor:pointer;border:0;transition:transform .08s,background .15s,opacity .15s}
.btn:active{transform:translateY(1px)}
.btn-green{background:var(--green-cta);color:#fff;box-shadow:0 10px 22px -12px rgba(0,148,98,.6)}
.btn-green:hover{background:var(--green-deep)}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px #fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-2)}

/* header */
.site-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:14px;height:64px}
.logo{height:38px;width:38px;border-radius:10px;background:var(--green);display:grid;place-items:center;color:#fff;font-weight:700;font-size:20px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25);flex:0 0 auto}
.brand-name{font-weight:700;color:var(--ink);font-size:15px;line-height:1.1}
.brand-tag{font-size:10.5px;color:var(--green-deep);letter-spacing:.18em;text-transform:uppercase;margin-top:2px}
.nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.nav a{font-size:13.5px;font-weight:700;color:var(--slate);transition:color .15s}
.nav a:hover,.nav a.active{color:var(--green-deep)}
.nav .btn{padding:9px 18px;font-size:13.5px}
.navtoggle{display:none}
@media(max-width:860px){
  .nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 22px 16px}
  .nav.open{display:flex}
  .nav a{padding:11px 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:10px;text-align:center}
  .navtoggle{display:inline-grid;margin-left:auto;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:18px}
}

/* hero / sections */
.section{padding:64px 0}
.section.tight{padding:44px 0}
.dark{background:var(--ink);color:#fff}
.dark h1,.dark h2,.dark h3{color:#fff}
.soft{background:var(--paper-2)}
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:84px 0 72px}
.hero:before{content:"";position:absolute;inset:0;background:
  radial-gradient(640px 320px at 86% -10%,rgba(0,176,115,.34),transparent 60%),
  radial-gradient(520px 320px at -8% 120%,rgba(0,176,115,.18),transparent 60%);pointer-events:none}
.hero-inner{position:relative;max-width:760px}
.hero h1{font-size:clamp(40px,6.4vw,72px);font-weight:700}
.hero h1 em{font-style:normal;color:var(--green)}
.hero p{margin-top:18px;font-size:clamp(15px,2vw,18px);color:#d8dbd9;max-width:54ch}
.hero .cta-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}

/* stats band */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:620px){.stats{grid-template-columns:1fr;gap:22px;text-align:center}}
.stat .n{font-size:clamp(30px,4vw,44px);font-weight:700;color:var(--green)}
.dark .stat .n{color:var(--green-bright)}
.stat .l{font-size:12.5px;color:var(--muted);letter-spacing:.04em;margin-top:4px}
.dark .stat .l{color:#9aa19c}

/* section heading */
.sec-head{max-width:640px;margin-bottom:34px}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:700;margin-top:10px}
.sec-head p{margin-top:12px;color:var(--muted);font-size:15px}
.dark .sec-head p{color:#b9bdba}

/* card grid */
.grid{display:grid;gap:18px}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.grid.c3,.grid.c4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow)}
.card .ico{font-size:26px}
.card h3{font-size:17px;margin-top:12px}
.card p{margin-top:8px;font-size:13.5px;color:var(--muted)}
.pillar{border-left:3px solid var(--green);padding:6px 0 6px 18px}
.pillar h3{font-size:18px}
.pillar p{margin-top:8px;color:var(--muted);font-size:14px}

/* quote */
.quote{background:var(--green-soft);border-radius:var(--r-lg);padding:30px 28px}
.quote p{font-size:18px;color:var(--ink);line-height:1.5}
.quote .who{margin-top:14px;font-size:12.5px;color:var(--green-deep);font-weight:700;letter-spacing:.04em}

/* footer */
.site-foot{background:var(--ink);color:#cdd2ce;padding:54px 0 34px;margin-top:0}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
@media(max-width:760px){.foot-top{grid-template-columns:1fr;gap:26px}}
.site-foot h4{color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
.site-foot a{display:block;color:#cdd2ce;font-size:13.5px;padding:4px 0}
.site-foot a:hover{color:var(--green-bright)}
.foot-brand .brand-name{color:#fff}
.foot-note{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#8b918c;display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between}

/* reveal */
.reveal{opacity:0;transform:translateY(12px);animation:rise .6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}}
.muted{color:var(--muted)}
.center{text-align:center}
.mt8{margin-top:32px}.mt5{margin-top:20px}
