
:root{--ink:#15343a;--muted:#5b7074;--paper:#f3f5f0;--line:#d7e0d9;--teal:#135f61;--gold:#edc866;--cyan:#65eee9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:#116466;text-underline-offset:3px}button{background:white;border:1px solid #becdc8;border-radius:6px;padding:8px 12px;color:var(--ink)}button:hover{background:#eaf1eb}button[aria-pressed=true],button.active{background:var(--teal);color:white;border-color:var(--teal)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d7a338;outline-offset:3px}input,select{border:1px solid #bdcdc7;border-radius:5px;padding:9px;background:white;color:var(--ink)}header{background:#123b3e;color:#fff;padding:24px 30px 20px}.header-top{display:flex;justify-content:space-between;gap:20px;align-items:center;max-width:1740px;margin:auto}header a{color:#d9f6e6}h1{font-size:32px;line-height:1.15;letter-spacing:-.9px;font-weight:650;margin:6px 0 8px}header p{margin:0;max-width:810px;color:#d0e2dc;font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:650;color:var(--muted)}header .eyebrow{color:#acd3bd}.header-links{display:flex;gap:14px;white-space:nowrap;font-size:13px}.cities{display:flex;flex-wrap:wrap;gap:7px;max-width:1740px;margin:20px auto 0}.cities button{border:1px solid #668783;background:transparent;color:#e0ede8;font-size:13px;padding:8px 14px}.cities button[aria-pressed=true]{background:#d9edb5;color:#173d37;border-color:#d9edb5}main{max-width:1800px;padding:18px 30px 35px;margin:auto}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:15px}.filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--muted)}#search{width:280px}#count{margin-left:auto;align-self:center;font-size:12px;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.map-card,.side,.section-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.map-head{padding:14px 17px 10px;display:flex;justify-content:space-between;gap:14px;align-items:center}.map-head h2{font-size:20px;line-height:1.25;margin:0}.map-head p{font-size:12px;margin:5px 0 0;color:var(--muted)}.map-controls{display:flex;gap:5px;flex-shrink:0}.map-controls button{padding:5px 9px;font-size:12px;min-height:32px}.view-tabs{display:flex;gap:6px;padding:0 17px 12px}.view-tabs button{font-size:12px;padding:7px 12px}.map-wrap{height:550px;position:relative;overflow:hidden;background:#dee5dc}#map{width:100%;height:100%;display:block;cursor:grab;touch-action:none}#map:active{cursor:grabbing}.north{position:absolute;right:14px;top:12px;background:#ffffffe8;padding:6px 10px;border-radius:4px;text-align:center;line-height:1.15;font-size:11px;pointer-events:none}.north b{font-size:20px}.map-tools{position:absolute;bottom:44px;right:13px;display:flex;flex-direction:column;gap:5px}.map-tools button{font-size:20px;line-height:24px;background:#fffef4ee;width:36px;padding:3px}.map-caption{background:#fff;border-top:1px solid var(--line);padding:9px 14px;font-size:11px;line-height:1.45;min-height:54px;color:var(--muted)}.map-caption strong{color:var(--ink)}.map-options{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:#f4f7f0;border-top:1px solid var(--line);font-size:12px}.map-options label{display:flex;gap:5px;align-items:center}.map-options input[type=checkbox]{accent-color:var(--teal);width:15px;height:15px}.map-options input[type=range]{width:100px;accent-color:var(--teal);padding:0}.map-options .key{display:flex;gap:5px;align-items:center}.swatch{width:15px;height:11px;display:inline-block;border:2px solid var(--gold);background:#edc86660}.swatch.cyan{border-color:#159e9b;background:#65eee950}.legend{display:flex;gap:7px 15px;flex-wrap:wrap;padding:10px 14px;font-size:10px;border-top:1px solid var(--line)}.dot{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:4px}.side-tabs{display:flex;padding:10px;gap:6px;border-bottom:1px solid var(--line)}.side-tabs button{flex:1;font-size:12px;padding:7px}.side-body{height:688px;overflow:auto;scrollbar-width:thin}.project-row{width:100%;border:0;border-bottom:1px solid #e0e6e1;border-radius:0;padding:13px;display:flex;gap:10px;text-align:left;line-height:1.35;background:white}.project-row[aria-pressed=true]{background:#edf4e6;color:var(--ink)}.num{font-size:11px;font-weight:700;min-width:27px;height:27px;line-height:25px;text-align:center;border:1.5px solid #809a92;border-radius:50%}.project-row .name{font-size:13px;font-weight:650;display:block}.sub{font-size:11px;color:var(--muted);display:block;margin-top:4px}.results-meta{padding:11px 14px;color:var(--muted);font-size:12px;background:#f7f9f4}.record-preview{padding:16px}.record-preview h2{font-size:22px;line-height:1.2;margin:5px 0 9px;letter-spacing:-.4px}.record-preview p{font-size:13px;line-height:1.5;margin:10px 0}.record-preview .address{font-size:12px;color:var(--muted)}.status{border-left:3px solid var(--teal);background:#f0f4ed;padding:9px 11px;font-size:12px;margin:12px 0}.preview-visual{display:block;width:100%;padding:0;position:relative;background:#edf0e9;border:1px solid #d9dfd7;overflow:hidden}.preview-visual img{display:block;width:100%;height:210px;object-fit:contain;background:#fafbf7}.preview-visual .image-label{display:block;padding:7px 9px;font-size:10px;text-align:left;background:#1b4546;color:white}.record-preview .caption{font-size:10px;color:var(--muted);margin:6px 0 13px}.preview-actions{display:flex;gap:7px;flex-wrap:wrap}.preview-actions button,.preview-actions a{font-size:12px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.metric{padding:10px 12px;background:#edf3e5;border-radius:5px}.metric b{display:block;font-size:22px;font-weight:650;letter-spacing:-.5px}.metric span{font-size:10px;line-height:1.3;display:block;color:#4e655b}.record-preview .metric{padding:8px}.record-preview .metric b{font-size:19px}.record-preview .impact-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:18px;font-weight:650}.small{font-size:12px;color:var(--muted)}.coverage{display:flex;gap:22px;flex-wrap:wrap;align-items:center;padding:14px 2px;color:var(--muted);font-size:11px}.coverage strong{font-size:16px;color:var(--ink);font-weight:650;margin-right:3px}.coverage a{margin-left:auto}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:22px 0 13px}.section-title h2{font-size:25px;letter-spacing:-.6px;margin:3px 0}.section-title p{font-size:13px;margin:0;color:var(--muted)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.section-card{padding:24px}.section-card h3{margin:0 0 10px;font-size:18px;letter-spacing:-.2px}.section-card p{font-size:14px;line-height:1.65;margin:9px 0}.section-card .small{font-size:11px;line-height:1.5}.section-card dl{font-size:13px;line-height:1.6}.section-card dt{font-weight:650;margin-top:16px}.section-card dd{margin:4px 0 12px}.section-card li{font-size:13px;margin:7px 0}.section-card ul{padding-left:19px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.figure-card{margin:0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.figure-card button{display:block;width:100%;padding:0;border:0;border-radius:0;background:white}.figure-card img{width:100%;height:245px;object-fit:contain;display:block;background:#f9faf6}.figure-card figcaption{padding:13px 15px}.figure-card strong{display:block;font-size:14px;margin-bottom:6px}.figure-card p{font-size:12px;margin:5px 0;line-height:1.5}.figure-card .small{font-size:10px}.figure-card .links{display:flex;gap:14px;font-size:11px;margin-top:9px}.city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.city-project{background:white;border:1px solid var(--line);padding:0;overflow:hidden;text-align:left;border-radius:8px}.city-project img{width:100%;height:185px;object-fit:contain;display:block;background:#edf0e8}.city-project .card-copy{padding:15px;display:block}.city-project strong{display:block;font-size:15px;line-height:1.3}.city-project .small{font-size:11px;display:block;margin-top:7px}.city-project .image-tag{font-size:10px;color:#5a7164;display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.technical{margin:18px 0;background:white;border:1px solid var(--line);border-radius:8px;padding:20px 24px}.technical summary{font-size:16px;font-weight:650;cursor:pointer}.technical .research{max-width:1100px;margin:auto}.research h3{font-size:16px;margin:24px 0 8px}.research p,.research li,.research dd{font-size:13px;line-height:1.6}.research dt{font-size:13px;font-weight:650;margin-top:15px}.research dd{margin:4px 0 10px}.research a{overflow-wrap:anywhere}.research .caution{background:#fbf4e7;padding:13px 18px;border-radius:5px}.research .caution h3{margin-top:0}.empty{padding:25px;color:var(--muted);font-size:13px}.missing-visual{padding:25px;background:#eef3e9;border:1px solid var(--line);border-radius:7px;color:#456054;font-size:13px;line-height:1.6}.map-label{font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:#173331;paint-order:stroke;stroke:#ffffffdf;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.city-label{font-size:14px;font-weight:650;letter-spacing:.4px;stroke-width:4px}.pin-label{font:bold 11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-anchor:middle;dominant-baseline:central;fill:white;pointer-events:none}.pin{cursor:pointer}.scale-label{font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:#29434a}.parcel-label{font-size:10px;fill:#685013}footer{font-size:12px;line-height:1.65;color:var(--muted);margin-top:24px}footer details{border-top:1px solid var(--line);padding:15px 0}footer summary{cursor:pointer;font-weight:650;color:var(--ink)}.method{max-width:1150px;columns:2;column-gap:40px}.method p{break-inside:avoid}.image-view{position:absolute;inset:0;background:#f0f1eb;display:flex;flex-direction:column}.sheet-toolbar{padding:9px 12px;display:flex;gap:8px;align-items:center;background:#fcfdf9;border-bottom:1px solid var(--line)}.sheet-toolbar select{font-size:12px;min-width:0;max-width:60%;flex:1;padding:6px}.sheet-toolbar button,.sheet-toolbar a{font-size:12px;padding:5px 9px}.sheet-canvas{flex:1;min-height:0;width:100%;cursor:grab;touch-action:none;display:block}.sheet-canvas:active{cursor:grabbing}.sheet-caption{font-size:11px;line-height:1.4;padding:8px 13px;background:#ffffffef;color:var(--muted)}.sheet-caption a{margin-left:8px}.modal{border:1px solid #aabcb4;border-radius:10px;padding:0;width:min(1450px,96vw);height:94vh;max-width:none;max-height:none;background:#f0f1eb;box-shadow:0 12px 60px #09222255}.modal::backdrop{background:#102d32bb}.modal-shell{display:flex;flex-direction:column;height:100%}.modal-header{background:white;padding:12px 18px;display:flex;align-items:center;gap:10px}.modal-header h2{font-size:17px;line-height:1.3;margin:0;flex:1}.modal-header button{padding:6px 10px;font-size:13px}.modal .sheet-canvas{height:100%;min-height:120px}.modal-caption{padding:12px 18px;background:white;font-size:12px;line-height:1.5}.modal-caption p{margin:4px 0}.modal-caption .links{display:flex;gap:18px;margin-top:5px}.modal-caption .small{font-size:10px}[hidden]{display:none!important}@media(min-width:1500px){.layout{grid-template-columns:minmax(0,1fr) 415px}.map-wrap{height:620px}.side-body{height:758px}.preview-visual img{height:250px}}@media(max-width:1100px){header{padding:22px}.header-top{align-items:flex-start}.header-links{flex-direction:column;gap:6px}main{padding:16px 20px}.layout{grid-template-columns:minmax(0,1fr) 310px;gap:13px}.map-head{align-items:flex-start}.map-head h2{font-size:17px}.map-controls{flex-direction:column}.map-wrap{height:520px}.side-body{height:710px}#search{width:220px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.figure-card img{height:235px}}@media(max-width:780px){header{padding:20px 16px}.header-top{display:block}.header-links{flex-direction:row;margin-top:15px}h1{font-size:28px}main{padding:14px}.cities{gap:5px;margin-top:16px}.cities button{padding:7px 9px;font-size:12px}.layout{display:flex;flex-direction:column}.map-card,.side{width:100%}.map-wrap{height:470px}.side-body{height:auto;max-height:620px}.map-head{align-items:center}.map-controls{flex-direction:row}.map-head h2{font-size:18px}.filters label{flex:1;min-width:130px}.filters input,.filters select,#search{width:100%}#count{flex:100%;margin:0}.story-grid{grid-template-columns:1fr}.city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title{display:block}.gallery{grid-template-columns:1fr 1fr}.figure-card img{height:180px}.coverage{gap:10px 18px}.coverage a{margin-left:0}.method{columns:1}.section-card{padding:20px}.preview-visual img{height:280px}.record-preview .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.record-preview .metric b{font-size:21px}.modal-header{flex-wrap:wrap}.modal-header h2{flex-basis:100%}.view-tabs{padding-left:12px;gap:5px}.view-tabs button{font-size:11px;padding:7px 9px}.map-caption{min-height:70px}}@media(max-width:430px){.city-grid,.gallery{grid-template-columns:1fr}.figure-card img{height:250px}.map-wrap{height:430px}.map-controls button{font-size:11px;padding:5px 6px}.map-options{font-size:11px;gap:8px}.record-preview .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{header,.filters,.side-tabs,.map-controls,.map-tools,.view-tabs,footer,.coverage,.map-options,.legend{display:none}main{padding:0}.layout{display:block}.map-wrap{height:500px}.side-body{height:auto;overflow:visible}#list-view{display:none}.story-grid,.gallery{display:block}.figure-card{break-inside:avoid;margin:15px 0}.figure-card img{height:350px}.side{border:0}.map-card,.section-card{break-inside:avoid}.technical{display:none}body{background:white}}
