:root{--ink:#111;--ink2:#4a4a4a;--paper:#FAF8F5;--line:#E4E0DA;--blue:#0B4F9C;--blue-d:#083B75;
--f:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
--m:16px;--g:16px;--max:1296px}
@media(min-width:768px){:root{--m:40px;--g:24px}}
@media(min-width:1280px){:root{--m:64px}}
@media(min-width:1440px){:root{--m:72px}}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{font-family:var(--f);background:var(--paper);color:var(--ink);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}
@media(min-width:768px){body{font-size:18px;line-height:28px}}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 16px;z-index:9}.skip:focus{left:8px}
.wrap{max-width:calc(var(--max) + 2*var(--m));margin:0 auto;padding:0 var(--m)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--g)}
@media(min-width:768px){.grid{grid-template-columns:repeat(8,1fr)}}
@media(min-width:1280px){.grid{grid-template-columns:repeat(12,1fr)}}
.c-all{grid-column:1/-1}
/* type 1.25, lines on 8/4 */
.display{font-size:48px;line-height:56px;font-weight:600;letter-spacing:-.02em}
.h2{font-size:32px;line-height:40px;font-weight:600;letter-spacing:-.015em}
.h3{font-size:24px;line-height:32px;font-weight:600}
.lead{font-size:20px;line-height:32px;color:var(--ink2);max-width:60ch}
.small{font-size:14px;line-height:24px;color:var(--ink2)}
.eyebrow{font-size:14px;line-height:24px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
@media(min-width:768px){.display{font-size:72px;line-height:80px}.h2{font-size:40px;line-height:48px}}
/* header */
header{position:sticky;top:0;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{font-weight:600;text-decoration:none;font-size:18px;display:flex;gap:8px;align-items:center}
.logo i{display:inline-flex;gap:3px}.logo i b{width:10px;height:10px;border-radius:50%;background:var(--blue)}.logo i b+b{background:var(--ink)}
.nav ul{display:none;list-style:none;padding:0;gap:32px}
.nav ul a{text-decoration:none;font-size:16px;padding:12px 0}.nav ul a:hover{text-decoration:underline;text-underline-offset:6px}
@media(min-width:1024px){.nav ul{display:flex}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;font-size:16px;border:0;cursor:pointer;font-family:inherit;transition:background .2s}
.btn:hover{background:var(--blue-d)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
section{padding:96px 0}@media(min-width:1280px){section{padding:128px 0}}
.rule{border-top:1px solid var(--line)}
/* hero: text cols 1-8 (desktop 1-7), image 7-12 */
.hero{padding:64px 0 96px}
.hero h1{grid-column:1/-1}
.hero .lead{grid-column:1/-1;margin-top:24px}
.hero .actions{grid-column:1/-1;margin-top:40px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.hero .ph{grid-column:1/-1;margin-top:48px}
@media(min-width:1280px){.hero h1{grid-column:1/8}.hero .lead{grid-column:1/7}.hero .actions{grid-column:1/7}.hero .ph{grid-column:8/13;grid-row:1/4;margin-top:0;align-self:start}}
.ph{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:#ECE7E0}
.ph svg{width:100%;height:100%;display:block}
.ph span{position:absolute;left:16px;bottom:16px;font-size:14px;line-height:24px;background:var(--paper);padding:0 8px;border-radius:2px}
/* paths 4+4+4 */
.paths .card{grid-column:1/-1;padding:32px 0;border-top:1px solid var(--ink);display:flex;flex-direction:column;gap:16px}
@media(min-width:768px){.paths .card{grid-column:span 8}}
@media(min-width:1280px){.paths .card{grid-column:span 4}}
.paths h2{grid-column:1/-1;margin-bottom:48px}
.card a.more{font-weight:600;text-decoration:none;display:inline-flex;min-height:48px;align-items:center;gap:8px;color:var(--blue)}
.card a.more:hover{text-decoration:underline;text-underline-offset:6px}
/* impact */
.impact .n{grid-column:span 4;padding:24px 0;border-top:1px solid var(--line)}
@media(min-width:768px){.impact .n{grid-column:span 4}}@media(min-width:1280px){.impact .n{grid-column:span 4}}
.n strong{display:block;font-size:40px;line-height:48px;font-weight:600;color:var(--ink2)}
/* story */
.story .txt{grid-column:1/-1}.story .ph{grid-column:1/-1;margin-top:48px}
@media(min-width:1280px){.story .txt{grid-column:2/7;align-self:center}.story .ph{grid-column:8/13;margin-top:0}}
blockquote{font-size:32px;line-height:40px;font-weight:500;letter-spacing:-.01em;margin:24px 0}
/* donate: story 1-6, form 8-12 */
.donate .info{grid-column:1/-1}.donate .form{grid-column:1/-1;margin-top:48px}
@media(min-width:1280px){.donate .info{grid-column:1/7}.donate .form{grid-column:8/13;margin-top:0}}
.form{background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px}
fieldset{border:0;padding:0;margin:0 0 24px}legend{font-weight:600;margin-bottom:16px}
.seg,.chips{display:grid;gap:8px}.seg{grid-template-columns:1fr 1fr}.chips{grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.chips{grid-template-columns:repeat(3,1fr)}}
.seg input,.chips input{position:absolute;opacity:0;width:1px;height:1px}
.seg label,.chips label{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--ink2);border-radius:999px;cursor:pointer;font-weight:500;font-size:16px}
.seg input:checked+label,.chips input:checked+label{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.seg input:focus-visible+label,.chips input:focus-visible+label{outline:3px solid var(--blue);outline-offset:2px}
.field{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.field input{min-height:48px;border:1px solid var(--ink2);border-radius:8px;padding:0 16px;font:inherit;background:#fff}
.hint{font-size:14px;line-height:24px;color:var(--ink2);margin-top:8px}
.form .btn{width:100%;margin-top:24px}
.status{margin-top:16px;font-size:14px;line-height:24px}
/* help */
.help .txt{grid-column:1/-1}.help ol{grid-column:1/-1;list-style:none;padding:0;margin-top:48px;display:grid;gap:0}
@media(min-width:1280px){.help .txt{grid-column:1/6}.help ol{grid-column:7/13;margin-top:0}}
.help li{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:48px 1fr;gap:16px}
.help li b{font-weight:600}
footer{border-top:1px solid var(--line);padding:64px 0 48px}
footer .col{grid-column:1/-1;margin-bottom:32px}@media(min-width:1280px){footer .col{grid-column:span 3}}
footer ul{list-style:none;padding:0}footer a{display:inline-block;padding:8px 0;text-decoration:none}footer a:hover{text-decoration:underline}
.mark{background:#FFF3C4;padding:0 4px;border-radius:2px;font-size:14px}
/* reveal */
.rv{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
/* links page cols 5-8 */
.lh{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:64px var(--m)}
.lh .box{width:100%;max-width:368px;text-align:center}
.lh ul{list-style:none;padding:0;margin-top:40px;display:grid;gap:16px}
.lh ul a{display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:8px 24px;border:1px solid var(--ink);border-radius:999px;text-decoration:none;font-weight:600;transition:background .2s}
.lh ul a small{font-weight:400;font-size:14px;line-height:20px;color:var(--ink2)}
.lh ul a:hover{background:#fff}.lh ul a.pri{background:var(--blue);color:#fff;border-color:var(--blue)}.lh ul a.pri small{color:#E6EEF8}
.soc{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap}.soc a{min-height:48px;display:inline-flex;align-items:center;padding:0 8px;font-size:14px}
.proto-banner{background:#111;color:#FAF8F5;font-size:14px;line-height:24px;text-align:center;padding:8px 16px}
