:root{--red:#A9241C;--ochre:#C4862A;--green:#22355F;--black:#111111;--paper:#FAF6EE;--ink:#141414;--mute:#6B665E;--line:#E4DED2}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',Arial,sans-serif;line-height:1.5}
h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:900;line-height:1;margin:0;letter-spacing:-.015em}
.wrap{width:min(1100px,100% - 48px);margin-inline:auto}
.tri{height:12px;background:var(--red) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'><path d='M6 1l1.6 3.4L11 6l-3.4 1.6L6 11 4.4 7.6 1 6l3.4-1.6z' fill='%23FAF6EE'/><path d='M18 3l3 3-3 3-3-3z' fill='%231F3A68'/></svg>") repeat-x}.tri div{display:none}
header{padding:22px 0}header .wrap{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo .mark{width:36px;height:36px;background:var(--red);color:#fff;display:grid;place-items:center;font:700 20px/1 'Amiri';padding-top:4px}
.logo b{font:900 22px 'Playfair Display';letter-spacing:.01em}
nav{display:flex;gap:26px;align-items:center;font-weight:600;font-size:15px}nav a{color:var(--ink);text-decoration:none}
.btn{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:17px;padding:16px 34px;text-decoration:none;border-radius:4px}
.btn.inv{background:#fff;color:var(--red)}
.btn.sm{padding:10px 20px;font-size:14px}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:min(78vh,660px);color:#fff;background:#7E1B16;overflow:hidden}
.hero::before{display:none}
.hero .wrap{grid-column:1;grid-row:1;width:auto;margin:0;padding:56px 40px 56px max(24px,calc((100vw - 1100px)/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.hero h1{font-size:clamp(44px,6.4vw,88px)}.hero h1 em{font-style:italic;color:#fff;display:inline-block;line-height:.82;background:var(--red);padding:.06em .16em .1em .12em;margin-left:.06em;vertical-align:baseline}
.hero p{font-size:20px;max-width:600px;margin:20px auto 26px;color:#fff;opacity:.95}
.bbc{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-weight:600;font-size:15px;color:#fff}
.stats{display:grid;grid-template-columns:1fr 1fr 1fr}
.stats div{padding:44px 32px;color:#fff;text-align:center}
.stats .b{background:var(--green)}.stats .r{background:var(--red)}.stats .g{background:var(--ochre)}
.stats b{display:block;font:900 clamp(42px,5.4vw,72px)/1 'Playfair Display'}.stats span{font-size:16px;opacity:.92}

.how{padding:72px 0;background:#fff;border-top:1px solid var(--line)}.how .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.how h2{font-size:clamp(32px,4vw,52px);text-align:left;margin:0}
.how ol{list-style:none;margin:0;padding:0}.how li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line)}.how li:last-child{border-bottom:1px solid var(--line)}
.how li span{font:900 22px 'Playfair Display';color:var(--red)}.how li:nth-child(1) span{color:var(--black)}.how li:nth-child(3) span{color:var(--green)}
.how h3{margin:0 0 4px;font-size:21px;font-weight:800}.how p{margin:0;color:var(--mute)}
.voices{background:var(--green);color:#fff;padding:88px 0;text-align:center}.voices h2{font-size:clamp(32px,4.4vw,56px);margin-bottom:48px}
.voices .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.voices blockquote{margin:0;text-align:left;border-left:3px solid rgba(255,255,255,.45);padding-left:22px}
.voices .sil{width:44px;height:44px;fill:#fff;display:block;margin-bottom:16px}
.voices p{margin:0 0 14px;font:italic 900 22px/1.3 'Playfair Display'}
.voices cite{font:600 12px 'Inter';letter-spacing:.14em;text-transform:uppercase;color:#F3CF8A;font-style:normal}

.sing h2{font-size:clamp(32px,4.4vw,56px)}.sing p{font-size:18px;max-width:600px;margin:16px auto 30px;opacity:.95}
.play{width:88px;height:88px;border-radius:50%;background:var(--red);display:inline-grid;place-items:center}.play i{border:16px solid transparent;border-left:26px solid #fff;border-right:0;margin-left:8px}
.team{padding:88px 0;text-align:center}.team h2{font-size:clamp(32px,4.4vw,56px);margin-bottom:40px}
.team .grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}.team figure{margin:0;flex:0 0 calc((100% - 5*22px)/6)}   /* flex, not a fixed grid, so any number of people sits centered */
.team img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:50%}
.team figcaption{padding-top:14px;font-size:14px;color:var(--mute)}.team figcaption b{display:block;font-weight:800;font-size:16px;color:var(--ink)}
.last{position:relative;overflow:hidden;background:var(--red);color:#fff;padding:96px 0;text-align:center}.last::before{content:'';position:absolute;left:50%;top:50%;width:720px;height:720px;transform:translate(-50%,-50%);background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23FAF6EE' stroke-width='1.2'><path d='M100 6 194 100 100 194 6 100Z'/><path d='M100 30 170 100 100 170 30 100Z'/><path d='M100 54 146 100 100 146 54 100Z'/><path d='M100 20l9 25 25 9-25 9-9 25-9-25-25-9 25-9z' transform='translate(0 46)'/><path d='M6 100h188M100 6v188'/><circle cx='100' cy='100' r='10'/></svg>") center/contain no-repeat;opacity:.12;pointer-events:none}.last .wrap{position:relative}
.last .ar{font:700 72px/1 'Amiri';color:#fff;opacity:.9;margin-bottom:14px}
.last h2{font-size:clamp(44px,6.4vw,92px)}.last h2 em{font-style:italic;opacity:.85}
.last p{font-size:19px;max-width:540px;margin:22px auto 32px;opacity:.9}
footer{padding:44px 0 36px;font-size:14px;color:var(--mute)}footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:720px){nav a:not(.btn){display:none}.hero{grid-template-columns:1fr;min-height:0}.slides{grid-column:1;grid-row:2;min-height:300px}.hero .wrap{grid-row:1;padding:40px 24px}
.stats{grid-template-columns:1fr}.how .wrap{grid-template-columns:1fr;gap:28px}
.voices .grid{grid-template-columns:1fr}.team figure{flex-basis:calc((100% - 2*22px)/3)}}


.hero .def{display:block;width:max-content;max-width:100%;margin:0 0 32px;text-align:left;border-left:4px solid var(--ochre);padding-left:28px}
.hero .def .w{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.hero .def .w b{font:900 clamp(56px,6.4vw,88px)/1 'Playfair Display'}.hero .def .w .ar{font:700 clamp(48px,6vw,78px)/1 'Amiri';color:#7E1B16;background:var(--cream,#FAF6EE);padding:.02em .18em .1em;line-height:.95}.hero .def .w .pr{font-size:22px;opacity:.8}
.hero .def .pos{margin:14px 0 12px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.hero .def .m{font:900 clamp(20px,2vw,27px)/1.3 'Playfair Display'}.hero .def .m2{margin-top:10px;font:900 clamp(20px,2vw,27px)/1.3 'Playfair Display';color:#F3CF8A}
.bbc .bx{display:flex;gap:2px}.bbc .bx i{background:#fff;color:#000;font:900 13px/1 Arial,sans-serif;padding:4px 5px;font-style:normal}.bbc em{font:900 15px Arial,sans-serif;font-style:normal;letter-spacing:.04em;margin-right:6px}
/* stats: breathing room between number and label */
.stats b{display:block;font:900 clamp(40px,5vw,66px)/1.05 'Playfair Display';margin-bottom:10px}
.stats div{padding:52px 32px}
@media(max-width:720px){.hero .def{padding-left:18px}.hero .def .w b{font-size:60px}.hero .def .w .ar{font-size:46px}.hero .def .m,.hero .def .m2{font-size:20px}}

/* Inner pages */
.top{padding:72px 0 40px}.top h1{font-size:clamp(44px,6.4vw,84px)}.top p{font-size:20px;color:var(--mute);max-width:620px;margin:18px 0 0}
.top.dark{background:var(--black);color:#fff}
nav a[aria-current=page]{color:var(--red)}
.team .more{margin-top:36px;font-weight:600}.team .more a{color:var(--red);text-decoration:none}
footer a{color:inherit;text-decoration:none}footer .legal{display:block;margin-top:14px;font-size:13px;color:var(--mute);max-width:760px}
.progs{padding:24px 0 88px}.progs .grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.prog{border:1px solid var(--line);padding:34px 32px;display:flex;flex-direction:column;gap:14px;background:#fff}
.prog h2{font-size:28px}.prog p{margin:0;color:var(--mute)}.prog .goal{display:flex;align-items:baseline;gap:10px;margin-top:auto;padding-top:10px}.prog .goal span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.prog .goal b{font:900 30px 'Playfair Display'}
.prog .btn{align-self:flex-start}
.note{padding:0 0 88px}.note .wrap{border-top:1px solid var(--line);padding-top:36px;max-width:760px}.note h2{font-size:28px;margin-bottom:12px}.note p{font-size:18px;color:#333;margin:0 0 12px}.note a{color:var(--red);font-weight:600;text-decoration:none}
.timeline{padding:72px 0 88px}.timeline ol{list-style:none;margin:0;padding:0;max-width:820px}
.timeline li{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line);align-items:start}.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline li span{font:900 18px 'Playfair Display';color:var(--red)}.timeline li p{margin:0;font-size:18px}
.timeline .next{margin-top:36px;font-size:18px}.timeline .next a{color:var(--red);font-weight:600;text-decoration:none}
.events{padding:24px 0 88px}.event{border-top:1px solid var(--line);padding:36px 0;max-width:760px}.event:last-child{border-bottom:1px solid var(--line)}
.event .tag{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:4px 10px;color:#fff;background:var(--green);margin-bottom:14px}.event .tag.past{background:var(--mute)}
.event h2{font-size:32px;margin-bottom:10px}.event p{font-size:18px;color:#333;margin:0 0 20px}
.people{padding:24px 0 88px}.person{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center;padding:36px 0;border-top:1px solid var(--line);max-width:900px}.person:last-child{border-bottom:1px solid var(--line)}
.person img{width:200px;aspect-ratio:1;object-fit:cover;border-radius:50%}.person h2{font-size:30px;margin-bottom:4px}.person .role{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:800;margin:0 0 12px}.person p{margin:0;font-size:18px;color:#333}
.roles{padding:24px 0 48px}.roles .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

@media(max-width:720px){.top{padding:48px 0 28px}.progs .grid,.roles .grid{grid-template-columns:1fr}.person{grid-template-columns:1fr;gap:18px}.person img{width:140px}.timeline li{grid-template-columns:1fr;gap:4px}}
.timeline .year{font-size:clamp(40px,5vw,64px);color:var(--red);margin-bottom:20px}
.event .pics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}.event .pics img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media(max-width:720px){.event .pics{grid-template-columns:1fr}}

.slides{position:relative;grid-column:2;min-height:360px}.slides div{position:absolute;inset:0;background:center 25%/cover no-repeat;opacity:0;transition:opacity 1.6s ease}.slides div.on{opacity:1}
.clock{padding:22px 0;text-align:center;border-bottom:1px solid var(--line)}.clock .wrap{display:flex;align-items:baseline;justify-content:center;gap:18px;flex-wrap:wrap}.clock h2{font-size:clamp(34px,5vw,64px)}.clock h2 span{color:var(--red)}.clock p{margin:10px 0 0;font-size:18px;color:var(--mute)}
.story{padding:72px 0 64px}.story h2{font-size:clamp(34px,4.6vw,60px);margin-bottom:18px}.story>.wrap>p{font-size:19px;max-width:720px;color:#333;margin:0 0 32px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:28px}.ba figure{margin:0}.ba img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.ba figcaption{padding-top:12px;font-size:16px;color:var(--mute)}.ba figcaption b{color:var(--ink);margin-right:8px}.ba figure:first-child figcaption b{color:var(--green)}.ba figure:last-child figcaption b{color:var(--red)}
@media(max-width:720px){.ba{grid-template-columns:1fr}}
.clock .k{font-size:16px;color:var(--mute);margin:0}
.tick{display:flex;justify-content:center;gap:14px}.tick div{display:flex;align-items:baseline;gap:5px}
.tick b{font:900 26px/1 'Playfair Display';color:var(--red);font-variant-numeric:tabular-nums}.tick span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.clock p:last-child{margin:0;font:900 18px 'Playfair Display';color:var(--ink)}
@media(max-width:720px){.clock .wrap{gap:8px 14px}.tick b{font-size:22px}}
.story b{color:var(--red);font-weight:800}
.play{border:0;cursor:pointer;padding:0}.play.on i{border:0;width:22px;height:26px;margin:0;border-left:7px solid #fff;border-right:7px solid #fff;box-sizing:border-box}
.bar{display:flex;align-items:center;gap:12px;max-width:420px;margin:22px auto 0;font-size:13px;color:rgba(20,20,20,.7);font-variant-numeric:tabular-nums}.bar .track{flex:1;height:3px;background:rgba(20,20,20,.18)}.bar #fill{height:100%;width:0;background:var(--red)}
.bar[hidden]{display:none}
.hero .btn{background:var(--ochre);color:#fff}

.sing{background:var(--ochre);color:var(--ink);padding:80px 0}
.sing .wrap{display:grid;grid-template-columns:1fr minmax(0,440px);gap:56px;align-items:center}
.sing .sing-text{text-align:left}.sing h2{font-size:clamp(34px,4.4vw,56px)}.sing .sing-text p{font-size:19px;max-width:460px;margin:18px 0 0;opacity:1}
.sing-video{position:relative;margin:0}
.sing-video video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#000;border-radius:50%;border:6px solid var(--paper);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.sing-video video[controls]{border-radius:12px}
.sing-video .play{position:absolute;left:50%;top:calc(50% - 16px);transform:translate(-50%,-50%);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.sing-video .play[hidden]{display:none}
.sing-video figcaption{margin-top:14px;text-align:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(20,20,20,.7)}
@media(max-width:720px){.sing .wrap{grid-template-columns:1fr;gap:32px}.sing-video{max-width:340px;margin:0 auto}}

/* Donate page */
.give-top{padding:64px 0 36px}.give-top .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.give-top h1{font-size:clamp(44px,6.4vw,84px)}.give-top p{font-size:19px;color:var(--mute);max-width:520px;margin:14px 0 0}
.give-top .total{text-align:right}.give-top .total b{display:block;font:900 clamp(44px,6vw,76px)/1 'Playfair Display';color:var(--red)}.give-top .total span{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.ticker{background:var(--green);color:#fff;overflow:hidden;padding:14px 0;border-top:3px solid var(--ochre);border-bottom:3px solid var(--ochre)}
.ticker .run{display:flex;width:max-content;animation:tick 60s linear infinite}.ticker:hover .run{animation-play-state:paused}
.ticker .run>div{display:flex;gap:44px;padding-right:44px}
.ticker .t{white-space:nowrap;font-size:15px}.ticker .t b{color:#F3CF8A;font:900 17px 'Playfair Display';margin-right:4px}.ticker .t em{font-style:normal;opacity:.75}.ticker .t q{font-style:italic;opacity:.9;margin-left:6px}
.ticker .t::before{content:"✦";color:var(--ochre);margin-right:12px}
@keyframes tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker .run{animation:none}}
.progs{padding:48px 0 80px}.progs .grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.prog{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;padding:0;gap:0}
.prog .pic{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--line)}.prog .pic img{width:100%;height:100%;object-fit:cover;display:block}
.prog .lab{position:absolute;left:14px;top:14px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px}
.prog .ph{width:100%;height:100%;display:grid;place-items:center}.prog .ph span{font:700 96px 'Amiri';color:rgba(255,255,255,.9)}.ph-red{background:var(--red)}.ph-indigo{background:var(--green)}.ph-ochre{background:var(--ochre)}
.prog .body{padding:28px 28px 30px;display:flex;flex-direction:column;gap:12px;flex:1}
.prog h2{font-size:26px}.prog p{margin:0;color:var(--mute)}
.meter{height:10px;background:#EEE8DC;border-radius:6px;overflow:hidden;margin-top:auto}.meter i{display:block;height:100%;width:0;border-radius:6px;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}.meter.go i{width:var(--w)}
.c-red .meter i{background:var(--red)}.c-indigo .meter i{background:var(--green)}.c-ochre .meter i{background:var(--ochre)}
.nums{display:flex;justify-content:space-between;font-size:15px;color:var(--mute)}.nums b{color:var(--ink);font:900 20px 'Playfair Display'}
.prog .give{align-self:flex-start;border:0;cursor:pointer;margin-top:6px}
.wall{padding:24px 0 96px}.wall h2{font-size:clamp(34px,4.4vw,56px)}.wall .sub{color:var(--mute);font-size:18px;margin:8px 0 32px}
.notes{columns:4 220px;column-gap:20px}
.note-card{break-inside:avoid;margin:0 0 20px;padding:20px 20px 18px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--red)}
.note-card.n1{border-top-color:var(--green)}.note-card.n2{border-top-color:var(--ochre)}.note-card.n3{transform:rotate(-.6deg)}.note-card.n1{transform:rotate(.5deg)}
.note-card b{font:900 26px 'Playfair Display';color:var(--red)}.note-card p{margin:8px 0 12px;font:italic 900 18px/1.35 'Playfair Display'}.note-card p .muted{font:400 14px 'Inter';color:var(--mute)}
.note-card>span{font-size:13px;color:var(--mute)}
dialog#give{border:0;padding:0;width:min(460px,92vw);background:var(--paper);color:var(--ink)}dialog#give::backdrop{background:rgba(20,10,8,.6)}
#give form{padding:34px 30px 28px;display:flex;flex-direction:column;gap:14px;position:relative}
#give .x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer;color:var(--mute)}
#give .for{margin:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}#give h2{font-size:28px}
#give .freq{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}#give .freq label{padding:12px;text-align:center;font-weight:600;cursor:pointer}#give .freq label:has(input:checked){background:var(--green);color:#fff}#give .freq input{display:none}
#give .amts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}#give .amts button,#give .amts input{padding:14px 0;border:1px solid var(--line);background:#fff;font:900 18px 'Playfair Display';cursor:pointer;text-align:center}#give .amts .on{background:var(--red);color:#fff;border-color:var(--red)}#give .amts input{grid-column:1/-1;font:400 16px 'Inter'}
#give .chk{font-size:15px;display:flex;gap:8px;align-items:center}#give textarea{font:inherit;padding:10px;border:1px solid var(--line);resize:vertical}
#give .wide{width:100%;border:0;opacity:.6;cursor:not-allowed}#give .fine{font-size:12px;color:var(--mute);margin:0}
@media(max-width:720px){.progs .grid{grid-template-columns:1fr}.give-top .total{text-align:left}}
.bbc{text-decoration:none}.bbc:hover{opacity:.85}
#give input[type=text]{font:inherit;padding:10px;border:1px solid var(--line)}
#give .wide{opacity:1;cursor:pointer}#give .wide:disabled{opacity:.6;cursor:wait}
#give .err{margin:0;color:var(--red);font-size:14px;font-weight:600}
.wall .empty{color:var(--mute);font-size:18px;font-style:italic}
.ticker[hidden]{display:none}
.thanks{padding:110px 0 120px;text-align:center}.thanks .ar{font:700 72px/1 'Amiri';color:var(--red)}.thanks h1{font-size:clamp(48px,7vw,96px);margin:10px 0 20px}.thanks p{font-size:19px;max-width:560px;margin:0 auto 26px;color:#333}
body.demo .give-top::before{content:"Preview data on this computer only";display:block;width:min(1100px,100% - 48px);margin:0 auto 14px;font:600 12px 'Inter';letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
/* phones: text first, then the photos underneath (this must come after the desktop hero rules) */
@media(max-width:720px){
 .hero{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0}
 .hero .wrap{grid-column:1;grid-row:1;padding:36px 24px 32px}
 .slides{grid-column:1;grid-row:2;min-height:0;height:62vw;max-height:340px}
 .hero .def{margin-bottom:24px}
}
@media(max-width:720px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .hero .def{width:auto;padding-left:16px}
 .hero .def .w{gap:10px 14px}
 .clock .wrap{flex-direction:column;align-items:center;gap:10px}
 .tick{display:grid;grid-template-columns:repeat(4,auto);gap:6px 14px}
 .tick div{flex-direction:column;align-items:center;gap:2px}
 .tick b{font-size:26px}.tick span{font-size:10px}
}
/* Get involved */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.filters button{border:1px solid var(--line);background:#fff;padding:10px 18px;font:600 15px 'Inter';cursor:pointer;border-radius:999px;color:var(--ink)}
.filters button sup{font-size:11px;color:var(--mute);margin-left:2px}.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.filters button.on sup{color:#ddd}
.roles .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.job{border:1px solid var(--line);background:#fff;padding:28px 26px;display:flex;flex-direction:column;gap:8px;border-top:4px solid var(--green)}
.job[hidden]{display:none}.job.t-partner{border-top-color:var(--ochre)}.job.t-open{border-top-color:var(--red);background:var(--paper)}.job.t-paid{border-top-color:var(--red)}
.job .tag{align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--green);padding:4px 9px}
.job.t-partner .tag{background:var(--ochre)}.job.t-open .tag{background:var(--red)}
.job h2{font-size:23px;margin:6px 0 0}.job .meta{margin:0;font-size:13px;color:var(--mute);font-weight:600}.job p{margin:0;color:#333}
.job .apply{margin-top:auto;padding-top:14px;align-self:flex-start;border:0;background:none;font:700 15px 'Inter';color:var(--red);cursor:pointer;padding-left:0}
.roles .empty{font-size:18px;color:var(--mute)}.linkish{border:0;background:none;padding:0;font:inherit;color:var(--red);font-weight:600;cursor:pointer;text-decoration:underline}
a.apply{text-decoration:none;display:inline-block}.mailnote{margin:28px 0 0;font-size:14px;color:var(--mute)}.mailnote a{color:var(--red)}
dialog#apply{border:0;padding:0;width:min(480px,92vw);background:var(--paper);color:var(--ink)}dialog#apply::backdrop{background:rgba(20,10,8,.6)}
#apply form{padding:34px 30px 28px;display:flex;flex-direction:column;gap:12px;position:relative}
#apply .x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer;color:var(--mute)}
#apply .for{margin:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}#apply h2{font-size:26px;margin-bottom:4px}
#apply label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}
#apply input:not([type=file]),#apply textarea{font:400 16px 'Inter';padding:10px;border:1px solid var(--line);background:#fff}
#apply .wide{width:100%;border:0;cursor:pointer;margin-top:4px}#apply .fine{font-size:12px;color:var(--mute);margin:0}
@media(max-width:900px){.roles .grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.roles .grid{grid-template-columns:1fr}}
.person .ig{display:inline-block;margin-top:12px;font-weight:700;color:var(--red);text-decoration:none}.person .ig:hover{text-decoration:underline}
/* footer with the legal entity */
footer .foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start}
footer .entity p{margin:0}footer .entity .k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
footer .entity .name{font:900 20px 'Playfair Display';color:var(--ink)}footer .entity .meta{font-size:14px;color:var(--ink);margin:4px 0 12px}
footer .entity .about{font-size:14px;line-height:1.6;color:var(--mute);max-width:640px}
footer .contact{display:flex;flex-direction:column;gap:8px;font-size:15px;text-align:right}footer .contact a{color:var(--ink);font-weight:600}
footer .copy{margin-top:24px;font-size:13px;color:var(--mute)}
@media(max-width:720px){footer .foot{grid-template-columns:1fr;gap:20px}footer .contact{text-align:left}}

/* transparency */
.money{padding:64px 0 24px}.money .total{font-size:20px;margin:0 0 22px;max-width:820px}.money .total b{display:block;font:900 clamp(52px,7vw,92px)/1 'Playfair Display';color:var(--ink);margin-bottom:8px}
.split{display:flex;height:34px;border-radius:999px;overflow:hidden;max-width:980px;background:var(--green)}.split .haq{background:var(--red)}.split .pre{flex:1}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:980px;margin-top:30px}
.legend>div{padding-left:18px;border-left:6px solid var(--red)}.legend .pre{border-color:var(--green)}
.legend b{font:900 clamp(34px,4vw,48px)/1 'Playfair Display'}.legend .haq b{color:var(--red)}.legend .pre b{color:var(--green)}
.legend h2{font:800 15px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:10px 0 8px}.legend p{margin:0;font-size:17px;color:#333}
.partners{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}.partners li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:15px;font-weight:600}.partners a{color:var(--green);text-decoration:none}
.girls{padding:56px 0;background:var(--ochre);color:#fff;margin-top:48px}.girls h2{font-size:clamp(30px,3.6vw,44px);margin:0 0 26px}
.dots{display:flex;flex-wrap:wrap;gap:14px}.dots i,.girls .key i{display:inline-block;width:46px;height:46px;border-radius:50%;border:3px solid #fff}.dots i.in,.girls .key i.in{background:#fff}
.girls .big{font-size:22px;margin:24px 0 8px}.girls .big b{font:900 34px 'Playfair Display'}
.girls .key{display:flex;gap:28px;flex-wrap:wrap;margin:0;font-size:17px;font-weight:600}.girls .key span{display:flex;align-items:center;gap:10px}.girls .key i{width:18px;height:18px;border-width:2px}
.timeline .year{font-size:clamp(30px,3.6vw,44px)}.timeline li h3{font:800 20px/1.3 'Playfair Display';margin:0 0 6px}.timeline li .links{margin-top:10px;display:flex;gap:18px;flex-wrap:wrap}.timeline li .links a{color:var(--red);font-weight:700;font-size:16px;text-decoration:none}.timeline li .links a:hover{text-decoration:underline}
@media(max-width:720px){.legend{grid-template-columns:1fr;gap:28px}.dots{display:grid;grid-template-columns:repeat(5,52px);gap:14px 14px}.split{height:24px}}
.dots{align-items:flex-end;gap:16px}.dots .fig{width:64px;height:64px;display:block}
.girls .key .fig{width:24px;height:24px;display:block}.girls .key span{gap:8px}
.legal{padding:64px 0 0}.legal .cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:980px}.legal h2{font-size:clamp(26px,3vw,34px);margin:0 0 12px}.legal p{font-size:17px;color:#333;margin:0 0 12px}.legal a{color:var(--red);font-weight:700;text-decoration:none}
@media(max-width:720px){.legal .cols{grid-template-columns:1fr;gap:28px}}
@media(max-width:720px){.dots .fig{width:52px;height:52px}}
.btn.off{background:#d8d2c6;color:#7a7368;cursor:default;pointer-events:none}
/* embedded Stripe checkout inside the donate dialog */
#give-form[hidden],#pay[hidden]{display:none}
dialog#give:has(#pay:not([hidden])){width:min(620px,96vw)}
#pay{position:relative;padding:52px 16px 20px;min-height:420px}
#pay .x{position:absolute;top:12px;right:14px}
.legal-notice{padding:56px 0 96px}.legal-notice .wrap>p{max-width:62ch;line-height:1.7;color:var(--mute);margin:0 0 18px}
.legal-notice .big{font-size:20px;color:var(--ink)!important}.legal-notice b{color:var(--ink)}.legal-notice a{color:var(--red)}
.foot .contact a+a{margin-left:0}
@media print{header,footer,.tri{display:none}}

/* phone menu */
.menu-toggle{position:absolute;opacity:0;pointer-events:none}.menu-btn,.mnav{display:none}
@media(max-width:720px){
 header .wrap{flex-wrap:wrap;gap:6px 8px}.logo{margin-right:auto;min-width:0}.logo b{font-size:18px;white-space:nowrap}nav{order:2}nav .btn.sm{padding:10px 14px}
 .menu-btn{order:3;display:grid;place-items:center;width:44px;height:44px;cursor:pointer;margin-right:-8px}
 .menu-btn span,.menu-btn span::before,.menu-btn span::after{content:'';display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s}
 .menu-btn span::before{position:absolute;top:-7px}.menu-btn span::after{position:absolute;top:7px}
 .menu-toggle:checked~.menu-btn span{background:transparent}.menu-toggle:checked~.menu-btn span::before{transform:translateY(7px) rotate(45deg)}.menu-toggle:checked~.menu-btn span::after{transform:translateY(-7px) rotate(-45deg)}
 .menu-toggle:focus-visible~.menu-btn{outline:2px solid var(--red);outline-offset:2px}
 .mnav{order:4;flex-basis:100%;flex-direction:column;border-top:1px solid var(--line);margin-top:12px;padding-top:4px}
 .menu-toggle:checked~.mnav{display:flex}
 .mnav a{padding:14px 0;font-weight:600;font-size:18px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.mnav a[aria-current=page]{color:var(--red)}
}
@media(max-width:360px){.logo{gap:7px}.logo b{font-size:15px}.logo .mark{width:30px;height:30px;font-size:17px}nav .btn.sm{padding:9px 11px;font-size:14px}}
