:root{--ink:#193b35;--muted:#60716a;--bg:#f3f2e9;--paper:#fffdf7;--line:#d4dbce;--water:#357b90;--power:#ad762f;--money:#667d45;--shadow:0 12px 30px #183d3510}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:16px/1.6 system-ui,sans-serif;color:var(--ink)}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c58339;outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:9999}header{padding:23px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;background:var(--paper)}.brand{font:700 23px Georgia,serif;letter-spacing:2px;text-decoration:none;white-space:nowrap}.brand span{font:10px system-ui;letter-spacing:3px;display:block}nav{display:flex;flex-wrap:wrap;gap:23px;font-size:13px}main{min-height:65vh}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(42px,5.5vw,76px)/1.06 Georgia,serif;letter-spacing:-2px}h2{font:normal 34px/1.15 Georgia,serif}h3{font:normal 24px/1.25 Georgia,serif}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:650;color:var(--muted);margin-bottom:15px}.hero{padding:66px 6% 50px;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}.hero p{max-width:650px;font-size:18px;color:var(--muted)}.hero-art{background:#dce5d8;border-radius:140px 140px 14px 14px;min-height:330px;position:relative;overflow:hidden;padding:38px}.hero-art svg{width:100%;height:240px}.hero-art p{font:italic 23px Georgia,serif;margin:0;color:var(--ink)}.search{display:flex;gap:8px;margin-top:24px;max-width:660px}.search input{padding:15px 18px;border:1px solid var(--line);border-radius:7px;background:var(--paper);min-width:0;flex:1}.button,button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 16px;border-radius:6px;text-decoration:none;display:inline-block}.button.primary,button.primary{background:var(--ink);color:white;border-color:var(--ink)}.wrap{padding:20px 6% 65px;max-width:1700px;margin:auto}.section-title{display:flex;justify-content:space-between;align-items:end;margin:18px 0 24px;gap:20px}.section-title p{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:27px;box-shadow:var(--shadow);overflow-wrap:anywhere}.place-card{display:flex;flex-direction:column;min-height:310px;position:relative}.place-card .button{margin-top:auto;align-self:start}.place-card p{color:var(--muted)}.place-card .number{font:italic 40px Georgia;color:#9cae8c;position:absolute;right:25px;top:20px}.place-head{padding:39px 6% 24px;background:#e4e9dc}.place-head .crumb{font-size:12px;color:var(--muted);margin-bottom:22px}.place-head h1{margin-bottom:15px}.place-head p{max-width:820px}.place-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.pill{display:inline-block;border:1px solid #bfccba;border-radius:30px;padding:4px 10px;font-size:11px;background:#ffffff65}.tabs{display:flex;gap:5px;overflow:auto;padding:15px 6%;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:900}.tabs button{white-space:nowrap;border:0;background:none}.tabs button[aria-selected=true]{background:var(--ink);color:white}.view{padding:32px 6% 60px;max-width:1800px;margin:auto}.view-intro{display:flex;gap:30px;justify-content:space-between;margin-bottom:24px}.view-intro p{max-width:770px;color:var(--muted)}.two{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.topics .card{min-height:230px;box-shadow:none;border-top:4px solid var(--water)}.topics .card.power{border-color:var(--power)}.topics .card.money{border-color:var(--money)}.mini{font-size:12px;color:var(--muted)}.limit{font-size:13px;background:#eeeae0;padding:13px 15px;border-radius:5px;margin-top:15px}.evidence{font-size:13px;display:block;margin:12px 0}.evidence small{display:block;color:var(--muted)}.flow{display:flex;gap:27px;overflow-x:auto;padding:16px 0 27px}.flow .stop{min-width:260px;max-width:320px;flex:1;border-top:4px solid var(--water);position:relative}.flow .stop:not(:last-child):after{content:'→';position:absolute;right:-24px;top:35px;font-size:25px}.flow .stop.open{border-style:dashed}.stop button{background:transparent;border:none;padding:0;text-align:left}.stop h3{margin:0 0 10px}.detail{padding:27px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.detail ul{padding-left:20px}.detail li{margin:8px 0}.detail h4{text-transform:uppercase;font-size:10px;letter-spacing:2px;margin:23px 0 10px}.detail h2{margin-bottom:12px}.map{height:480px;border-radius:12px;z-index:1;background:#dce5d8;border:1px solid var(--line)}.graph{width:100%;height:auto;min-width:650px}.graphWrap{overflow:auto;background:#e9ede3;border-radius:10px;padding:15px}.graph .node{cursor:pointer}.graph text{font-family:system-ui,sans-serif}.money-value{font:42px Georgia,serif;color:var(--money)}details{padding:16px 0;border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600}footer{padding:38px 6%;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer a{margin-right:20px}.notice{padding:18px;background:#e5eadc;border:1px solid var(--line);border-radius:8px}.loading{padding:60px}.empty{padding:25px;color:var(--muted);border:1px dashed var(--line);border-radius:7px}.flex{display:flex;gap:10px;flex-wrap:wrap}.source-list{columns:2;column-gap:45px}.source-list>article{break-inside:avoid;padding:15px 0;border-bottom:1px solid var(--line)}.tag{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--water)}.event{border-left:4px solid var(--water);padding:17px 25px;margin:18px 0;background:var(--paper)}.event.past{border-color:#9a8b74}.row{display:flex;align-items:center;justify-content:space-between;gap:15px}.facts{margin-bottom:20px}.facts a{margin-right:15px}.text-link{border:0;padding:0;background:none;text-decoration:underline}.map-label{background:#fffdf7e8;color:var(--ink);font-size:13px;padding:4px;border:0;box-shadow:none}
@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr;padding:45px 5%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.hero-art{min-height:300px}.source-list{columns:1}}@media(max-width:650px){header{padding:17px 5%;align-items:start}header nav{gap:10px;font-size:11px;justify-content:end}.brand{font-size:18px}.hero{display:block;padding:34px 5%}.hero-art{display:none}h1{font-size:45px;letter-spacing:-1px}h2{font-size:29px}.grid{grid-template-columns:1fr}.wrap,.view{padding-left:5%;padding-right:5%}.place-head{padding:28px 5%}.view-intro{display:block}.tabs{padding-left:5%}.map{height:360px}.search button{padding:10px}.card{padding:22px}.source-list{columns:1}.place-card{min-height:260px}.row{align-items:start}.place-meta{gap:8px}}
@media print{header,.tabs,footer,.search,.button,button{display:none}.view,.place-head{padding:15px}.grid,.two{display:block}.card{break-inside:avoid;margin-bottom:15px;box-shadow:none}.map{display:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.place-head .crumb{display:block}.eyebrow{display:block}.tabs{flex-wrap:nowrap}.tabs a{white-space:nowrap;text-decoration:none;padding:9px 13px;border-radius:5px}.tabs a.active{background:var(--ink);color:white}.view-intro{display:block;max-width:900px}.view-intro h2{margin-bottom:14px}.view-intro p{max-width:850px}.place-card,.topics a{text-decoration:none}.place-card:hover,.topics a:hover{border-color:#76917c;transform:translateY(-2px)}.place-card .text-link{margin-top:auto}.flow{display:flex;flex-direction:column;gap:10px;overflow:visible;padding:0}.flow .stop{display:flex;align-items:center;gap:18px;min-width:0;max-width:none;width:100%;text-align:left;border:1px solid var(--line);border-left:4px solid var(--water);padding:18px}.flow .stop:not(:last-child):after{display:none}.stop>span{color:var(--muted);font-size:12px}.stop small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.stop b{margin-left:auto}.stop.open{background:#e4ecdf;border-style:solid}.detail .source-list{columns:auto;font-size:12px}.notice{margin:24px 0}.topics{margin-bottom:24px}.search button{background:var(--ink);color:white}.graph g[role=button]{cursor:pointer}.graph g[role=button]:hover rect{fill:#dfe9d8}.source-list .card{padding:22px;margin:16px 0}.source-list{margin-top:20px}.source-list a{overflow-wrap:anywhere}.place-card h3{font-size:34px}.event .flex{align-items:center;gap:20px}
