.geo-capstone .geo-capstone-title{font-size:clamp(19px,2.2vw,25px);line-height:1.4;margin:26px 0 16px;color:#284d51}
.geo-capstone .geo-capstone-chart{display:block;width:100%;height:auto;max-height:none;background:#f5faf7;border:1px solid #d2e3dc;border-radius:20px;fill:#31545a;font:26px system-ui,sans-serif}
.geo-capstone-chart .geo-chart-strong{font-weight:750;font-size:29px}
.geo-chart-grid{stroke:#d4e1dd;stroke-width:1.5;fill:none}
.geo-capstone .geo-capstone-overlay .geo-capstone-focus{fill:#d1f1e91c;stroke:#fff;stroke-width:10;filter:drop-shadow(0 3px 6px #153d4470)}
.geo-capstone-overlay .geo-proposal-area{fill:#75c7ad50;stroke:#faffff;stroke-width:9;stroke-dasharray:22 15}
.geo-city-block{fill:#d8e9db;stroke:#a3c0ac;stroke-width:2}
.geo-city-route-context{fill:none;stroke:#d1c9df;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.geo-city-route{fill:none;stroke:#7951ad;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}
.geo-city-proposed{fill:none;stroke:#207965;stroke-width:22;stroke-dasharray:13 9}
.geo-city-endpoint{fill:#fff;stroke:#7650a8;stroke-width:6}
.geo-food-input{fill:#aac8c9}
.geo-food-usable{fill:#43866e}
.geo-food-loss{fill:#d6a15a}
.geo-food-goal{fill:none;stroke:#64418f;stroke-width:4;stroke-dasharray:8 7}
.geo-capstone-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;line-height:1.5;margin:15px 0}
.geo-capstone-legend span{border-radius:9px;padding:8px 12px;background:#f0f5ee}
.geo-capstone-legend .geo-legend-loss{background:#fbefdd}
.geo-resource-cycle{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:24px 0}
.geo-resource-cycle span{border:1px solid #c3d9ce;background:#f0f7f1;border-radius:15px;padding:18px;font-size:18px;line-height:1.45}
.geo-resource-cycle b{font-size:26px;color:#7650a8}
.geo-capstone-overlay .geo-risk-zone{fill:#51b3df40;stroke:#e7fcff;stroke-width:9;stroke-dasharray:22 14}
.geo-capstone-overlay .geo-risk-people{fill:#eaa75a3d;stroke:#fff5df;stroke-width:9}
.geo-readiness-link{fill:none;stroke:#714595;stroke-width:14;stroke-dasharray:24 18;filter:drop-shadow(0 0 4px white)}
.geo-readiness-node{fill:#7950a6;stroke:#fff;stroke-width:8}
.geo-households{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;padding:16px;border:1px solid #d2e1db;border-radius:16px;background:#f6faf8}
.geo-households span{display:flex;align-items:center;justify-content:center;min-height:36px;font-size:28px;color:#46645a;background:#e0ece5;border-radius:8px}
.geo-households .is-exposed{background:#f2d4a6;color:#71512c}
.geo-warning-chain{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.geo-warning-chain span{padding:15px;border:1px solid #cbbade;border-radius:12px;background:#f6f1fb;font-size:16px;line-height:1.5}
.geo-climate-baseline{stroke:#59797b;stroke-width:3;stroke-dasharray:9 7;fill:none}
.geo-climate-line{fill:none;stroke:#aa684e;stroke-width:4;stroke-linejoin:round}
.geo-climate-dot{fill:#a95f45;stroke:#fff;stroke-width:2}
.geo-climate-bar{fill:#bf7756}
.geo-data-table{margin:18px 0;border:1px solid #cdded8;border-radius:14px;overflow:hidden;background:#fff}
.geo-data-table summary{min-height:48px;padding:15px 17px;font-size:16px;line-height:1.4;cursor:pointer}
.geo-data-table summary:focus-visible{outline:3px solid #7854a5;outline-offset:-4px}
.geo-data-table>div{padding:0 12px 12px;overflow-x:auto}
.geo-data-table table{border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}
.geo-data-table caption{text-align:left;padding:12px 6px;line-height:1.5}
.geo-data-table th,.geo-data-table td{padding:9px;border-bottom:1px solid #dde8e1;text-align:left}
.geo-field-route{fill:none;stroke:#fff;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}
.geo-field-point{stroke-width:8}
.geo-field-point.is-shaded{fill:#176a54;stroke:#fff}
.geo-field-point.is-open{fill:#fff;stroke:#795135}
.geo-field-cells{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0;padding:0}
.geo-field-cells li{min-width:0;border:2px solid #c7d9cf;border-radius:12px;text-align:center;padding:10px 3px;font-size:14px;line-height:1.5}
.geo-field-cells li>span{display:block;font-size:19px;font-weight:750;font-variant-numeric:tabular-nums}
.geo-field-cells li>strong{font-size:12px;font-weight:600}
.geo-field-cells .is-shaded{background:#e0f0e5;border-color:#7fae94;color:#245946}
.geo-field-cells .is-open{background:#fffcf3;border-color:#d5c4a5;color:#705438}
.geo-capstone-overlay .geo-proposal-canopy{fill:#bba0dc66;stroke:#fff;stroke-width:10;stroke-dasharray:24 15}
.geo-capstone-overlay .geo-proposal-tree{fill:#60ae8066;stroke:#fff;stroke-width:9;stroke-dasharray:20 14}
.geo-proposal-post{fill:none;stroke:#fff;stroke-width:10;stroke-dasharray:18 12}
.geo-project-tokens{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:15px;background:#f5f0fb;border-radius:15px;margin:18px 0}
.geo-project-tokens span{display:grid;place-items:center;width:40px;height:40px;border:2px dashed #a493b9;border-radius:50%;color:#75618d;font-size:17px;font-weight:750}
.geo-project-tokens .is-used{border-style:solid;background:#7854a5;color:white}
@media(max-width:600px){.geo-capstone .geo-results>span{min-width:110px}.geo-capstone .geo-capstone-chart{font-size:27px}.geo-capstone .geo-capstone-chart .geo-chart-strong{font-size:29px}.geo-warning-chain{grid-template-columns:1fr}.geo-resource-cycle{flex-direction:column}.geo-resource-cycle b{transform:rotate(90deg)}.geo-households{gap:4px;padding:10px}.geo-households span{font-size:23px}.geo-field-cells{gap:5px}.geo-field-cells li{padding:9px 1px}.geo-field-cells li>strong{font-size:11px}.geo-project-tokens{gap:9px}.geo-project-tokens span{width:34px;height:34px}}
