@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&family=Caveat:wght@500;600&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#0b0b0a;--paper:#eeeae1;--signal:#ff3b16;--line:rgba(11,11,10,.25);--pad:clamp(18px,3.2vw,54px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.35}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto auto;align-items:center;min-height:64px;padding:0 var(--pad);border-bottom:1px solid var(--ink);background:rgba(238,234,225,.94);backdrop-filter:blur(12px)}.wordmark{font-size:clamp(18px,2vw,28px);font-weight:900;letter-spacing:-.06em}.top-meta{display:flex;gap:24px;font:10px/1 monospace;letter-spacing:.1em}.menu{display:none;border:0;background:none;font:11px monospace}nav{display:flex;gap:22px;margin-left:40px;font:11px monospace;text-transform:uppercase}nav a:hover,.arrow-link:hover,.contact:hover{color:var(--signal)}.ruled{border-bottom:1px solid var(--ink)}.hero{min-height:calc(100vh - 64px);padding:var(--pad);display:flex;flex-direction:column}.eyebrow{display:flex;justify-content:space-between;font:10px monospace;letter-spacing:.12em}.kicker{margin:clamp(60px,9vh,120px) 0 12px;font:11px monospace;letter-spacing:.14em;color:var(--signal)}h1{margin:0;max-width:1300px;font-size:clamp(52px,9.2vw,150px);font-weight:900;line-height:.79;letter-spacing:-.085em}h1>span{color:var(--signal)}.hero-foot{margin-top:auto;padding-top:48px;display:grid;grid-template-columns:minmax(260px,520px) 1fr;gap:40px;align-items:end}.hero-foot p{margin:0;font-size:clamp(18px,2vw,28px);letter-spacing:-.025em}.arrow-link{justify-self:end;font:11px monospace;letter-spacing:.1em}.arrow-link span{font-size:24px;margin-left:14px}.ledger{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--ink)}.ledger div{min-height:145px;padding:22px var(--pad);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--ink)}.ledger div:last-child{border:0}.ledger strong{font-size:clamp(40px,5.5vw,82px);line-height:1;letter-spacing:-.07em}.ledger span,.section-id,.label,.status-tag{font:10px monospace;letter-spacing:.12em}.split,.principle,.next-system,.participate,.record,.method{display:grid;grid-template-columns:minmax(170px,24%) 1fr;padding:var(--pad)}.section-id{display:flex;gap:20px;align-items:flex-start}.section-id span:first-child{color:var(--signal)}.statement{max-width:900px}.serif{margin:0 0 70px;font-family:Georgia,Times,serif;font-size:clamp(38px,5.2vw,78px);line-height:.98;letter-spacing:-.045em;font-style:italic}.statement>p:not(.serif),.principle>p,.next-system>div>p:not(.label){max-width:670px;font-size:clamp(17px,1.5vw,23px)}.method ol{margin:0;padding:0;list-style:none}.method li{display:grid;grid-template-columns:55px minmax(180px,1fr) 1fr;align-items:baseline;padding:18px 0;border-top:1px solid var(--ink)}.method li span{font:10px monospace;color:var(--signal)}.method li strong{font-size:clamp(28px,4vw,58px);letter-spacing:-.055em}.method li em{font-family:Georgia,serif;font-weight:normal}.record-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px}.giant-number{font-size:clamp(76px,15vw,230px);font-weight:900;line-height:.75;letter-spacing:-.1em}.giant-number span{display:block;margin-top:24px;font:14px monospace;letter-spacing:.05em}.status-tag{display:inline-block;padding:8px;background:var(--signal);color:#fff}.status h2,.next-system h2{font-size:clamp(38px,5vw,74px);line-height:.95;letter-spacing:-.06em;margin:32px 0}.status p{max-width:600px;font-size:18px}.note{font:11px monospace!important;text-transform:uppercase;border-top:1px solid var(--line);padding-top:15px}.phases{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid var(--ink)}.phases div{padding:18px 18px 0 0}.phases span{display:block;color:var(--signal);font:10px monospace;margin-bottom:35px}.phases strong{display:block;font-size:18px}.phases p{font-size:14px}.principle blockquote{margin:0 0 70px;font-size:clamp(42px,6.2vw,94px);font-weight:900;line-height:.9;letter-spacing:-.065em}.next-system{background:var(--ink);color:var(--paper)}.next-system .section-id span:first-child,.next-system .label{color:var(--signal)}.participate{min-height:78vh;padding-top:calc(var(--pad)*1.6);padding-bottom:calc(var(--pad)*1.6)}.participate>div:last-child{display:flex;flex-direction:column}.participate .serif{font-size:clamp(52px,7vw,106px)}.participate>div>p:not(.serif){max-width:650px;font-size:18px}.contact{margin-top:auto;padding:22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;font-size:clamp(18px,2vw,30px);font-weight:bold}.contact span{color:var(--signal)}footer{min-height:80px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);font:10px monospace;letter-spacing:.1em}
@media(max-width:760px){.topbar{grid-template-columns:1fr auto}.top-meta{display:none}.menu{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;margin:0;padding:22px var(--pad);background:var(--paper);border-bottom:1px solid var(--ink);flex-direction:column}nav.open{display:flex}.hero{min-height:760px}.hero-foot{grid-template-columns:1fr}.arrow-link{justify-self:start}.ledger{grid-template-columns:1fr 1fr}.ledger div:nth-child(2){border-right:0}.ledger div:nth-child(-n+2){border-bottom:1px solid var(--ink)}.split,.principle,.next-system,.participate,.record,.method{grid-template-columns:1fr;gap:65px}.method li{grid-template-columns:35px 1fr}.method li em{grid-column:2;margin-top:6px}.record-grid{grid-template-columns:1fr}.phases{grid-column:1;grid-template-columns:1fr}.phases div{border-bottom:1px solid var(--line)}.serif{margin-bottom:40px}footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.roadmap,.functions{display:grid;grid-template-columns:minmax(170px,24%) 1fr;padding:var(--pad)}
.socials{display:flex;gap:20px}.roadmap-list article{display:grid;grid-template-columns:150px 1fr 1fr;gap:25px;padding:28px 0;border-top:1px solid var(--ink)}.roadmap-list span{font:11px monospace;color:var(--signal)}.roadmap-list h2{margin:0;font-size:clamp(30px,4vw,60px);line-height:.9;letter-spacing:-.055em}.roadmap-list p{margin:0;max-width:420px}.function-grid{display:grid;grid-template-columns:1fr 1fr}.function-grid a{min-height:240px;padding:25px;display:flex;flex-direction:column;border-top:1px solid var(--ink);border-right:1px solid var(--ink)}.function-grid a:nth-child(even){border-right:0}.function-grid a:hover{background:var(--signal);color:#fff}.function-grid span{font:10px monospace}.function-grid strong{margin:auto 0 12px;font-size:clamp(24px,3vw,44px);letter-spacing:-.05em}.function-grid em{font-family:Georgia,serif}.page-head{padding:clamp(80px,12vw,170px) var(--pad) var(--pad);border-bottom:1px solid var(--ink)}.page-head h1{max-width:1200px}.page-head p{max-width:700px;font-size:clamp(18px,2vw,27px)}.page-section{padding:var(--pad);border-bottom:1px solid var(--ink)}.page-section h2{font-size:clamp(35px,5vw,76px);line-height:.94;letter-spacing:-.06em}.download-list a,.tool-list article{display:grid;grid-template-columns:70px 1fr auto;gap:25px;padding:24px 0;border-top:1px solid var(--ink);align-items:center}.download-list strong,.tool-list strong{font-size:clamp(20px,2.5vw,36px)}.download-list span,.tool-list span{font:10px monospace;color:var(--signal)}.download-list em,.tool-list em{font-family:Georgia,serif;font-weight:normal}.download-list a:hover{color:var(--signal)}
.map-shell{padding:var(--pad);border-bottom:1px solid var(--ink)}.map-controls{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.map-controls button{min-height:42px;padding:0 16px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:11px monospace}.map-controls button.active{background:var(--signal);color:#fff;border-color:var(--signal)}#shelter-map{display:block;width:100%;height:auto;min-height:520px;background:var(--ink)}#shelter-map .land{fill:#242422;stroke:#77736c;stroke-width:.65}#shelter-map .focus{fill:#ff3b16;stroke:#eeeae1;stroke-width:1.5}#shelter-map .point{fill:#ff3b16;stroke:#eeeae1;stroke-width:1.5;cursor:pointer}#shelter-map text{fill:#eeeae1;font:12px monospace}.map-detail{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:20px 0 0;border-top:1px solid var(--ink);margin-top:20px}.map-detail span{font:10px monospace;color:var(--signal)}.map-detail strong{font-size:clamp(20px,3vw,42px)}
@media(max-width:760px){.roadmap,.functions{grid-template-columns:1fr;gap:65px}.roadmap-list article{grid-template-columns:1fr}.function-grid{grid-template-columns:1fr}.function-grid a{border-right:0}.download-list a,.tool-list article{grid-template-columns:45px 1fr}.download-list em,.tool-list em{grid-column:2}.socials{flex-direction:column;gap:4px}.map-detail{grid-template-columns:1fr}#shelter-map{min-height:340px}}
.serif{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:800;line-height:.94;letter-spacing:-.06em}
.manifesto-hero{max-width:1100px;font-size:clamp(48px,7vw,108px);line-height:.86}.home-map>.section-id{margin-bottom:35px}
.home-map>h2{margin:0 0 28px;font-size:clamp(28px,4vw,54px);letter-spacing:-.05em}.home-map{padding-top:clamp(55px,8vw,110px);padding-bottom:clamp(55px,8vw,110px)}.section-id span:first-child,.roadmap-list span{color:var(--ink)}.status-tag{background:var(--ink)}.record,.roadmap,.participate{grid-template-columns:180px 1fr}.participate{min-height:58vh}
.home-manifesto{padding:clamp(60px,8vw,120px) var(--pad)}.home-manifesto h2{max-width:1050px;margin:0;font-size:clamp(38px,5.4vw,78px);line-height:.92;letter-spacing:-.055em}.home-manifesto p{max-width:660px;margin:50px 0 28px;font-size:20px}.home-manifesto a{font-weight:700}.initiative-map-intro{padding:clamp(70px,10vw,140px) var(--pad)}.initiative-map-intro h1{max-width:1000px;font-size:clamp(48px,7vw,100px)}.initiative-map-intro p{max-width:760px;font-size:20px}.status h2{font-size:clamp(32px,4vw,54px)}.roadmap-list h2{font-size:clamp(28px,3.3vw,48px)}.participate .serif{font-size:clamp(38px,5vw,70px)}
.record,.roadmap,.participate{grid-template-columns:1fr}.record .phases{grid-column:1}
.roadmap{padding-top:clamp(45px,6vw,80px);padding-bottom:0}.roadmap-list{max-width:1120px;margin:0 auto;width:100%}.roadmap-list article{grid-template-columns:120px minmax(220px,360px) 1fr;padding:22px 0;gap:30px}.roadmap-list h2{font-size:clamp(24px,2.6vw,38px);line-height:.98}.roadmap-list p{font-size:16px}.closing-care{margin:clamp(70px,10vw,140px) auto 0;padding:clamp(70px,9vw,130px) 0;text-align:center;max-width:900px;width:100%;border-top:1px solid var(--ink)}.closing-care h2{margin:0;font-size:clamp(38px,5vw,68px);line-height:.94;letter-spacing:-.055em}.closing-care p{max-width:720px;margin:36px auto;font-size:18px}.closing-care .contact{max-width:620px;margin:55px auto 0;text-align:left}
@media(max-width:760px){.roadmap-list article{grid-template-columns:1fr;gap:8px}.closing-care{text-align:left}.closing-care p{margin-left:0}.closing-care .contact{margin-left:0}}
.topbar{grid-template-columns:1fr auto 1fr}.topbar nav{justify-self:end}.header-social{display:flex;align-items:center;justify-content:center;gap:18px}.header-social a{font:700 12px/1 Arial,Helvetica,sans-serif}.header-social a:hover{color:var(--signal)}
@media(max-width:760px){.header-social{display:none}}

/* Taller, leaner type hierarchy: one display face, one reading face, one utility face. */
:root{--display:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",sans-serif;--body:Manrope,"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"DM Mono","SFMono-Regular",Menlo,monospace;--editorial:"Bodoni Moda",Didot,Bodoni,serif}
body{font-family:var(--body);font-weight:400;line-height:1.4}
.wordmark{font-family:var(--display);font-size:clamp(20px,2vw,30px);font-weight:500;letter-spacing:-.035em}
nav,.menu,.top-meta,.eyebrow,.kicker,.arrow-link,.ledger span,.section-id,.label,.status-tag,.roadmap-list span,.function-grid span,.download-list span,.tool-list span,.map-controls button,#shelter-map text,.map-detail span,footer{font-family:var(--mono)}
h1{font-family:var(--display);font-size:clamp(62px,10.5vw,170px);font-weight:500;font-stretch:condensed;line-height:.74;letter-spacing:-.045em}
.hero-foot p{font-family:var(--body);font-weight:300}
.ledger strong{font-family:var(--display);font-size:clamp(48px,6.4vw,96px);font-weight:500;line-height:.86;letter-spacing:-.04em}
.home-manifesto h2,.roadmap-list h2,.closing-care h2,.page-section h2,.status h2,.next-system h2,.method li strong{font-family:var(--display);font-weight:500;letter-spacing:-.04em}
.serif,.method li em,.function-grid em,.download-list em,.tool-list em{font-family:var(--editorial);font-weight:400}
.contact{font-family:var(--display);font-weight:500;letter-spacing:-.025em}
.header-social a{font-family:var(--mono);font-weight:500}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.social-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}.social-icon svg .fill{fill:currentColor;stroke:none}.header-social{gap:16px}.header-social .social-icon{width:15px;height:15px}.footer-social{display:flex;justify-content:center;gap:22px;margin-top:30px}.footer-social .social-icon{width:19px;height:19px}.laws{max-width:980px;width:100%;margin:clamp(56px,8vw,112px) auto 0;padding:clamp(30px,5vw,60px);background:#e2dac7;border:1px solid rgba(11,11,10,.34);text-align:left}.laws h2{margin:8px 0 28px;font-family:var(--display);font-size:clamp(32px,4vw,54px);font-weight:500;letter-spacing:-.035em}.laws ol{margin:0;padding:0;list-style:none;columns:2;column-gap:45px;font-family:var(--editorial);font-size:clamp(16px,1.6vw,21px);line-height:1.8}.laws li{break-inside:avoid;border-top:1px solid rgba(11,11,10,.28);padding:5px 0}.laws li:last-child{border-bottom:1px solid rgba(11,11,10,.28)}nav a{white-space:nowrap}@media(max-width:760px){nav{gap:18px}.laws ol{columns:1}.footer-social{justify-content:flex-start}.header-social .social-icon{width:14px;height:14px}}
.topbar{grid-template-columns:auto 1fr}.topbar nav{margin-left:auto}.laws ol{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.laws li{display:flex;flex-direction:column;padding:13px 0}.laws li strong{font-family:var(--display);font-size:clamp(21px,2.3vw,30px);font-weight:500}.laws li span{font-family:var(--body);font-size:14px;line-height:1.45}.problem-link{display:block;max-width:620px;margin:18px auto 0;font:500 11px/1.45 var(--mono);letter-spacing:.04em;text-align:left}.problem-link:hover{color:var(--signal)}.giant-footer{min-height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:var(--pad);background:var(--ink);color:var(--paper)}.giant-footer span{font-family:var(--display);font-size:clamp(88px,18vw,280px);font-weight:500;line-height:.7;letter-spacing:-.04em}.giant-footer small{font:10px var(--mono);letter-spacing:.1em}@media(max-width:760px){.topbar{grid-template-columns:1fr auto}.laws ol{grid-template-columns:1fr}.laws li span{font-size:13px}.problem-link{margin-left:0}.giant-footer span{font-size:23vw}}
:root{--signal:#00a240}#shelter-map .focus,#shelter-map .point{fill:#00a240}

.method li em{font-family:var(--display);font-style:normal;font-size:clamp(18px,2vw,26px);line-height:1.1;letter-spacing:-.02em}

/* The ledger states scope; it is not a dashboard. */
.ledger{border-bottom:0}
.ledger div{border-right:0}

/* Social links sit below the primary navigation, not apart from it. */
.topbar{grid-template-columns:1fr auto;min-height:94px}
.topbar nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:13px 22px;margin-left:auto}
.topbar .header-social{flex-basis:100%;justify-content:flex-end;padding-top:2px}
@media(max-width:760px){.topbar{min-height:64px}.topbar .header-social{display:flex;justify-content:flex-start;padding-top:10px}}

/* Keep the opening focused and make its controls follow the copy. */
.hero.ruled{border-bottom:0}
.hero-foot{grid-template-columns:minmax(260px,620px);gap:18px;align-items:start}
.hero-foot p{font-size:clamp(16px,1.45vw,22px)}
.hero-foot .arrow-link{justify-self:start}

/* The roadmap and its laws begin from the same left edge. */
.roadmap-list{margin-left:0;margin-right:0}
.laws{margin-left:0;margin-right:0}

/* Preserve clear breathing room below the oversized footer wordmark. */
.giant-footer{gap:18px;padding-bottom:calc(var(--pad) * 1.25)}
.giant-footer span{line-height:.86}
.giant-footer small{margin:0}
@media(max-width:760px){.hero-foot{grid-template-columns:1fr}.roadmap-list,.laws{margin-left:0;margin-right:0}.giant-footer{gap:12px}.giant-footer span{line-height:.9}}

/* One deliberate divider: the contact line after the closing call. */
body *{border-color:transparent!important}
.closing-care .contact{border-top-color:var(--ink)!important}

/* Keep the map's evidence statement in the primary OFANIMA typeface. */
.initiative-map-intro + .split .serif{font-family:var(--display);font-style:normal;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:.9;letter-spacing:-.04em}

/* A single, restrained approval mark for the field constitution. */
.laws{position:relative}
.approval-stamp{position:absolute;right:clamp(26px,4vw,60px);bottom:clamp(28px,4vw,58px);display:grid;place-items:center;width:clamp(80px,8vw,122px);aspect-ratio:1;border:3px solid #a31f1f!important;border-radius:50%;color:#a31f1f;font:600 clamp(42px,5vw,74px)/1 Caveat,cursive;letter-spacing:-.15em;transform:rotate(-12deg);opacity:.9}
.problem-link span{display:block;margin-top:9px}
@media(max-width:760px){.approval-stamp{right:24px;bottom:24px;width:74px;border-width:2px;font-size:44px}}

.contact-intro{max-width:620px;margin:18px auto 0;font:500 11px/1.45 var(--mono);letter-spacing:.04em;text-align:left}
@media(max-width:760px){.contact-intro{margin-left:0}}
