@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--paper:#f4f2ed;--ink:#101114;--blue:#164dff;--red:#e43d30;--line:#c9c8c2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',sans-serif}header{height:74px;border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;background:rgba(244,242,237,.96);z-index:5}.brand{font-weight:700;letter-spacing:.08em;display:flex;align-items:center;gap:10px}.brand small{font:10px 'IBM Plex Mono';color:#666;margin-left:12px}.mark{color:var(--red);font-size:27px}nav{display:flex;align-items:center;gap:25px;font:12px 'IBM Plex Mono'}nav a{color:inherit;text-decoration:none}button{font:inherit;border:0;cursor:pointer}.brand+nav button{background:var(--blue);color:#fff;padding:11px 14px}.intro{min-height:440px;padding:72px 8vw 54px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--ink)}.eyebrow{font:11px 'IBM Plex Mono';letter-spacing:.15em;margin:0 0 20px}.red{color:var(--red)}h1{font-size:clamp(60px,9vw,140px);line-height:.82;letter-spacing:-.08em;margin:0 0 32px;font-weight:600}h1 em{color:var(--blue);font-style:normal}.lede{max-width:480px;font-size:18px;line-height:1.45}.stamp{width:125px;height:125px;border:1px solid var(--ink);border-radius:50%;display:grid;place-content:center;text-align:center;font:16px 'IBM Plex Mono';line-height:1.05;transform:rotate(9deg)}.stamp b{font-size:33px;color:var(--red)}.stamp small{font-size:8px;margin-top:4px}.map-shell{margin:36px 4vw 0;border:1px solid var(--ink);position:relative;background:#dbe2dd}.map-shell:before{content:'';position:absolute;inset:0;pointer-events:none;border:10px solid rgba(244,242,237,.8);z-index:2}.map-shell #mapCanvas{height:600px;filter:saturate(.7) contrast(1.05)}.map-tools{position:absolute;z-index:3;top:28px;left:28px;background:var(--paper);border:1px solid var(--ink);padding:18px;width:280px;box-shadow:7px 7px 0 var(--blue)}.map-tools label{font:10px 'IBM Plex Mono';letter-spacing:.1em}.filters{display:flex;gap:5px;flex-wrap:wrap;margin:13px 0}.filter{background:transparent;border:1px solid var(--line);padding:6px 8px;font-size:11px}.filter.active{background:var(--ink);color:white}.filter b{font:10px 'IBM Plex Mono';color:var(--red)}#search{width:100%;border:0;border-bottom:1px solid var(--ink);padding:10px 0;background:none;outline:0}.map-note{position:absolute;bottom:24px;left:28px;z-index:3;background:var(--ink);color:#fff;padding:8px 11px;font:10px 'IBM Plex Mono'}.map-note span{color:#bfc5d4;margin-left:14px}.ledger{padding:110px 8vw}.ledger-head{display:flex;justify-content:space-between;align-items:end;border-bottom:3px solid var(--ink);padding-bottom:30px}.ledger h2{font-size:clamp(42px,6vw,84px);line-height:.9;letter-spacing:-.06em;margin:0}.ledger-copy{max-width:310px;line-height:1.5;font-size:14px}.entries{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--ink)}.entry{padding:28px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-height:280px;display:flex;flex-direction:column;justify-content:space-between}.entry:hover{background:#fff}.entry-top{display:flex;justify-content:space-between;font:10px 'IBM Plex Mono'}.entry h3{font-size:27px;letter-spacing:-.04em;margin:20px 0 6px}.entry p{font-size:13px;line-height:1.4;color:#4c4d50}.tag{color:var(--red);text-transform:uppercase}.entry a{color:var(--blue);font:11px 'IBM Plex Mono';text-decoration:none;border-bottom:1px solid var(--blue);width:max-content}.how{background:var(--blue);color:white;padding:70px 8vw 90px}.protocol{display:grid;grid-template-columns:repeat(3,1fr);gap:7vw}.protocol strong{font:12px 'IBM Plex Mono';color:#ffcfca}.protocol h3{font-size:36px;margin:35px 0 10px}.protocol p{max-width:230px;line-height:1.45;color:#dbe2ff}footer{display:flex;justify-content:space-between;padding:20px 4vw;font:10px 'IBM Plex Mono';border-top:1px solid var(--ink)}.leaflet-popup-content-wrapper{border-radius:0;border:1px solid var(--ink);box-shadow:5px 5px 0 var(--red)}.leaflet-popup-tip{display:none}.popup{font-family:'Space Grotesk';min-width:170px}.popup small{font:10px 'IBM Plex Mono';color:var(--red)}.popup h4{font-size:18px;margin:5px 0}.popup a{color:var(--blue);font-size:11px}
@media(max-width:700px){header{padding:0 18px}.brand small,nav a{display:none}.intro{padding:55px 22px 40px;min-height:420px}.stamp{width:90px;height:90px}.map-shell{margin:20px 15px 0}.map-shell #mapCanvas{height:470px}.map-tools{left:17px;top:17px;width:calc(100% - 34px)}.map-note{left:17px;bottom:17px}.map-note span{display:none}.ledger{padding:70px 22px}.ledger-head{display:block}.ledger-copy{margin-top:24px}.entries{grid-template-columns:1fr;margin-top:25px}.entry{min-height:220px}.protocol{grid-template-columns:1fr;gap:20px}.protocol h3{margin:12px 0 5px}footer{display:block;line-height:2}}
