:root{--navy:#102d41;--deep:#071e30;--ink:#153248;--muted:#607080;--light:#edf3f4;--line:#d9e4e7;--teal:#11adc4;--green:#008971;--amber:#de952f;--rust:#d45b52;--white:#fff;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f9f8;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.48}button,input,select{font:inherit}button{cursor:pointer}a{color:#006c83}a:hover{text-decoration:underline}.skip{position:absolute;top:-150px;left:10px;background:white;z-index:200;padding:12px}.skip:focus{top:10px}.inner{max-width:1370px;padding:0 34px;margin:auto}.sitebar{position:relative;z-index:3;background:#09283b;color:white}.navflex{display:flex;min-height:78px;justify-content:space-between;gap:26px;align-items:center}.wordmark{color:white;text-decoration:none;font-weight:900;letter-spacing:.02em;font-size:23px;line-height:1}.wordmark span,.footer span{color:#42cbdb}.wordmark small{display:block;font-weight:600;letter-spacing:.2em;font-size:8px;padding-top:8px}.sitebar nav{display:flex;flex-wrap:wrap;gap:24px}.sitebar nav a{font-size:13px;font-weight:650;color:#cfe0e7;text-decoration:none;padding:10px 0}.sitebar nav a.active{color:#7fe9f3;border-bottom:2px solid #48bbce}.sitebar nav a:hover{color:white}.hero{height:405px;position:relative;background:#173f53;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/hero.webp') 50% 43%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,25,42,.97) 0%,rgba(3,25,42,.81) 45%,rgba(3,25,42,.12) 100%)}.hero-inner{position:relative;padding-top:52px}.overline,.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#007a91}.overline{color:#8ee5ef}.hero h1{font-size:clamp(46px,6.4vw,83px);letter-spacing:-.06em;line-height:1.02;margin:14px 0 10px;font-weight:820}.hero h1 em{font-style:normal;color:#5de5e5}.hero-sub{max-width:640px;font-size:clamp(16px,1.6vw,20px);margin:0}.hero-note{font-size:12px;color:#d0e8eb;margin-top:18px}.explainer{padding:52px 0 28px}.explainer h2,.bottom-note h2{font-size:35px;letter-spacing:-.035em;line-height:1.1;margin:10px 0}.explainer>p{max-width:900px;font-size:17px;margin:15px 0 22px}.warningline{border-left:5px solid #d89d32;background:#fff8e9;display:flex;gap:18px;align-items:flex-start;padding:12px 20px;max-width:1110px;border-radius:6px}.warningline>span{font-size:28px;color:#b97f1d}.warningline p{margin:0;color:#543f24;font-size:14px}.calc-layout{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(340px,.83fr);gap:26px;align-items:start;margin:8px 0 58px}.control-col,.results-col{min-width:0}.sheet{background:#fff;border:1px solid #dfe8e9;border-radius:var(--radius);box-shadow:0 4px 25px rgba(5,38,58,.04);margin-bottom:20px;padding:25px}.step-title{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px}.number{display:grid;place-items:center;flex:0 0 42px;height:42px;background:#e2f7f8;color:#007990;border-radius:50%;font-size:16px;font-weight:850}.step-title h2{font-size:23px;line-height:1.16;letter-spacing:-.025em;margin:1px 0 5px}.step-title p{font-size:14px;color:var(--muted);margin:0}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-fields>label,.item-toolbar>label{font-size:12px;font-weight:750;color:#53697b;display:flex;flex-direction:column;gap:7px}.two-fields select,.two-fields input,.item-toolbar input,.item-toolbar select{min-height:43px;width:100%;border:1px solid #bacbd2;background:white;color:var(--ink);padding:9px 12px;border-radius:8px;outline-offset:2px}.two-fields input[type=number]{font-variant-numeric:tabular-nums}.slider-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;font-size:13px;font-weight:650}.slider-row strong{font-size:19px;color:#00859b;font-variant-numeric:tabular-nums}.sheet>input[type=range]{width:100%;accent-color:#0089a1;height:22px;margin:6px 0}input[type=range]{accent-color:#0089a1}.help{font-size:12px;line-height:1.5;color:#6f7b88;margin:12px 0 0}.item-toolbar{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.small-metrics{font-size:12px;font-weight:720;letter-spacing:.015em;color:#6d7b83;margin:15px 0 8px}.list-scroller{max-height:370px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fcfdfd;scrollbar-color:#9eb7bf transparent}.list-scroller.projects{max-height:380px}.item{padding:12px 14px;border-bottom:1px solid #e7edef;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:start;transition:background .15s}.item:last-child{border-bottom:0}.item:hover{background:#f2f8f9}.item.changed{background:#fef4e8;border-left:3px solid #d48a22}.item input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;accent-color:#008fa5}.item label{display:block;font-size:14px;font-weight:760;cursor:pointer}.item .meta{font-size:11px;color:#5c7381;margin-top:3px}.item .detail{font-size:12px;color:#6e8089;margin-top:4px;line-height:1.45}.item .item-cost{white-space:nowrap;font-size:13px;font-weight:850;color:#193b53;font-variant-numeric:tabular-nums}.item .item-source{display:inline-block;margin-top:4px;font-size:11px}.item .caution{color:#985e0f;font-weight:700;font-size:11px;margin-top:6px}.item.dimmed{opacity:.75}.item.disabled-item{background:#f1f5f6}.item.disabled-item label{cursor:not-allowed}.assumptions{margin-top:13px;border-top:1px solid var(--line);padding-top:13px}.assumptions summary{font-size:13px;font-weight:800;color:#17617a;cursor:pointer;list-style:none}.assumptions summary span{float:right}.assumption-body{padding:16px 4px 5px}.assumption-body label{display:grid;grid-template-columns:minmax(0,1fr) 190px 50px;gap:10px;align-items:center;font-size:12px;font-weight:650;margin-bottom:10px}.assumption-body output{text-align:right;color:#007890;font-weight:850}.assumption-body p{font-size:12px;color:#667985}.helpbox{font-size:12px;background:#edf7f6;padding:14px;color:#42616a;border-radius:8px;line-height:1.6;margin-top:18px}.results-sticky{position:sticky;top:18px}.result-panel{padding:26px;background:#0e354b;color:white;border-radius:var(--radius) var(--radius) 0 0}.eyebrow.light{color:#8fe8f2}.baseline-label{font-size:13px;color:#c3e0e8;letter-spacing:.075em;font-weight:750;margin:14px 0 7px}.balance-figure{font-size:clamp(43px,5vw,67px);font-weight:850;letter-spacing:-.06em;line-height:1.1;font-variant-numeric:tabular-nums}.balance-figure.positive{color:#9eecb5}.balance-caption{font-size:14px;color:#c9dde5;margin:8px 0 15px}.balance-meter{height:7px;background:#416174;border-radius:8px;overflow:hidden;margin:16px 0 21px}.balance-meter div{height:100%;width:0;background:#64d4b1;transition:width .18s}.balance-line{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-top:1px solid #426277;padding:11px 0;color:#c6dde5;font-size:13px}.balance-line strong{white-space:nowrap;font-size:16px;color:white;font-variant-numeric:tabular-nums}.balance-line.total{font-weight:850;color:white}.goal-banner{margin-top:8px;padding:12px;border-radius:8px;background:#164962;color:#e2f1f4;font-size:13px;font-weight:650}.goal-banner.good{background:#11604c;color:#f3fffb}.separation{background:white;padding:23px 22px 12px;border:1px solid var(--line);border-top:0}.separation-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.separation-head>span:last-child{font-size:9px;color:#7b8795;font-weight:750}.impact-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f3;font-size:12px}.impact-row strong{white-space:nowrap;font-size:14px;color:#1d4151;font-variant-numeric:tabular-nums}.dot{display:inline-block;width:9px;height:9px;border-radius:99px;margin-right:4px}.dot.green{background:#008e6c}.dot.rust{background:#cf655d}.dot.blue{background:#259ad0}.dot.amber{background:#d99928}.dot.purple{background:#7b62c2}.dot.teal{background:#0ebabc}.micro{font-size:11px;line-height:1.55;color:#6d7e87}.sharing{border-radius:0 0 var(--radius) var(--radius);background:#ebf4f5;border:1px solid #dce7e8;border-top:0;padding:20px 22px}.sharing h3{margin:0;font-size:18px}.sharing>p{margin:7px 0 14px;font-size:12px;color:#4d6574}.share-buttons{display:flex;flex-wrap:wrap;gap:8px}.share-buttons button{padding:10px 12px;border-radius:7px;border:1px solid #a6bdc6;background:transparent;font-size:12px;font-weight:750;color:#17475d}.share-buttons button.primary{background:#006e86;border-color:#006e86;color:white}.share-buttons button:hover{filter:brightness(.94)}.share-buttons .subtle{border-color:transparent}.share-toast{font-size:12px;color:#12644d;min-height:16px;padding-top:8px}.bottom-note{padding:42px 0 70px;border-top:1px solid #dce5e7}.bottom-note h2{max-width:850px}.evidence-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.evidence-cards article{background:white;border:1px solid #d9e4e5;border-radius:10px;padding:20px}.evidence-cards h3{margin:0 0 12px}.evidence-cards p{font-size:13px;color:#4e6470;margin:0}.doclinks{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0}.doclinks a{background:#e4f2f4;padding:11px 15px;border-radius:7px;font-size:12px;font-weight:750;text-decoration:none}.doclinks a:hover{text-decoration:underline}.footer{background:#09283b;color:#cbdde3;padding:24px 0;font-size:12px;font-weight:680}.footer a{color:#85dfeb}@media(max-width:1020px){.calc-layout{grid-template-columns:minmax(0,1fr)}.results-col{grid-row:1}.results-sticky{position:static;display:grid;grid-template-columns:1fr 1fr}.result-panel{border-radius:14px 0 0 14px;grid-row:span 2}.separation{border-top:1px solid var(--line);border-radius:0 14px 0 0}.sharing{border-radius:0 0 14px 0}.balance-figure{font-size:54px}.hero{height:370px}}@media(max-width:650px){body{font-size:15px}.inner{padding:0 18px}.navflex{display:block;padding-top:18px;padding-bottom:12px}.sitebar nav{gap:14px;margin-top:11px}.sitebar nav a{font-size:11px;padding:5px 0}.hero{height:360px}.hero-inner{padding-top:34px}.hero h1{font-size:51px}.hero-sub{font-size:16px;line-height:1.5}.hero-sub br{display:none}.explainer{padding:29px 0 15px}.explainer h2,.bottom-note h2{font-size:29px}.explainer>p{font-size:15px}.calc-layout{gap:16px;margin-top:0}.sheet{padding:18px;margin-bottom:13px}.step-title h2{font-size:20px}.step-title p{font-size:12px}.number{flex-basis:34px;height:34px}.two-fields,.item-toolbar{grid-template-columns:1fr}.results-sticky{display:block}.result-panel{border-radius:13px 13px 0 0;padding:20px}.balance-figure{font-size:57px}.separation,.sharing{border-radius:0}.sharing{border-radius:0 0 13px 13px}.evidence-cards{grid-template-columns:1fr}.assumption-body label{grid-template-columns:minmax(0,1fr) 100px 35px}.item .item-cost{font-size:12px}.item{grid-template-columns:20px minmax(0,1fr);position:relative}.item .item-cost{grid-column:2;grid-row:2}.bottom-note{padding-top:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* v2 community calculator: independent service percentages */
.bulk-adjust{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px;margin:14px 0;border:1px solid #b9d8df;background:#eaf7f8;border-radius:10px}
.bulk-adjust>div{flex:1 1 190px}.bulk-adjust strong{display:block;font-size:13px;color:#114459}.bulk-adjust span{display:block;font-size:12px;color:#577988;margin-top:2px}
.bulk-adjust label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:750}.bulk-adjust input{width:65px;border:1px solid #9cbac5;border-radius:7px;padding:8px;font-weight:800;text-align:center}
.bulk-adjust button{border:1px solid #99b5c2;padding:10px 12px;border-radius:8px;background:#fff;font-size:12px;font-weight:780;color:#175268}
.bulk-adjust button#applyReduction{color:white;background:#006d86;border-color:#006d86}
.chosen-services{border:1px solid #b9d8df;background:#f1fbfa;border-radius:9px;padding:11px 13px;margin:10px 0}.chosen-services>strong{display:block;font-size:12px;margin-bottom:8px}
.selection-pills{display:flex;flex-wrap:wrap;gap:6px}.selection-pills button{font-size:11px;padding:5px 8px;border:1px solid #99c9cf;border-radius:30px;background:white;color:#144a60;font-weight:700;cursor:pointer}
.reduction-control{margin:12px 0 8px;padding:12px 10px;border-radius:9px;border:1px solid #d0e5e8;background:#f4fafa;min-width:0}
.item.changed .reduction-control{background:#fff;border-color:#deb987}
.reduction-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.item .reduction-top label{font-size:12px;cursor:default}.reduction-top strong{font-size:12px;color:#006f86;white-space:nowrap}
.reduction-inputs{display:flex;align-items:center;gap:10px;margin:9px 0 2px}.reduction-inputs>input[type=range]{min-width:0;flex:1 1 auto;width:100%;height:22px}
.percent-input{display:flex;align-items:center;gap:2px;background:white;border:1px solid #b8d0d8;border-radius:7px;padding:0 6px}
.percent-input input{width:48px;height:35px;text-align:right;border:0;background:transparent;font-size:14px;font-weight:800;color:#063749}
.percent-input span{font-size:12px;font-weight:700;color:#567080}.reduction-hint{font-size:10px;color:#657d88;line-height:1.4}
.item.changed .item-cost{color:#bd651e}.item .item-cost{align-self:start}
@media(max-width:650px){.bulk-adjust{align-items:stretch}.bulk-adjust>div{flex-basis:100%}.bulk-adjust button{flex:1 1 130px}.reduction-inputs{gap:5px}.item{grid-template-columns:22px minmax(0,1fr);gap:8px}.item .item-cost{grid-column:2;grid-row:2;font-size:12px;justify-self:start;margin-bottom:5px}.item:has(.reduction-control) .item-cost{grid-row:1;grid-column:2;justify-self:end}.item:has(.reduction-control)>div:nth-child(2){grid-row:2;grid-column:2}}

.service-estimate{margin-top:8px;border-top:1px solid #d4e4e6;padding-top:8px;color:#24596b;font-size:11px;line-height:1.45;font-weight:750}
.item.changed .service-estimate{border-top-color:#ead2b2}
/* v3: fund and income transparency */
.finance-primer{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 24px}
.finance-primer>div{background:#fff;border:1px solid #dce7ea;border-radius:13px;padding:19px 20px}
.finance-primer h3{margin:11px 0 5px;font-size:20px;letter-spacing:-.02em}
.finance-primer p{font-size:13px;color:#506978;line-height:1.52;margin:0}
.pill,.fund-pill{font-size:10px;display:inline-block;font-weight:850;letter-spacing:.06em;border-radius:20px;padding:4px 9px;background:#e8f3fa;color:#175772}
.pill.cap{background:#e9e5f9;color:#51438f}.pill.op{background:#e0f7ed;color:#136b53}.pill.fund{background:#fff2de;color:#8c5207}
.fund-pill{letter-spacing:0;text-transform:none;background:#e6f4f5;color:#265b64}.fund-pill.utility{background:#dff4f4;color:#006e76}.fund-pill.mixed{background:#fff0db;color:#8a5806}
.service-title{font-size:15px;font-weight:810}.item-budget-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 15px;font-size:11px;color:#53717c;margin:12px 0 5px}
.item-budget-grid span{display:flex;justify-content:space-between;border-bottom:1px solid #e5edef;gap:12px}.item-budget-grid b{font-weight:800;color:#16364b;font-variant-numeric:tabular-nums}
.proposed-impacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}.proposed-impacts span{display:block;font-size:11px;font-weight:700;background:#e5f4f6;padding:5px 8px;border-radius:5px;color:#24596b}
.item.changed .proposed-impacts span{background:#fcf3e9}
.item .item-cost small{font-size:9px;font-weight:600;display:block;text-align:right;color:#6c7f85}
.catalogue-summary{background:#f1f9f8;border:1px solid #c8e0e2;border-radius:12px;padding:15px 16px;margin-bottom:19px}.catalogue-summary-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:baseline}.catalogue-summary-head>strong{font-size:16px}.catalogue-summary-head>span{font-size:11px;color:#5f7981}
.catalogue-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.catalogue-kpis>div{background:#fff;border:1px solid #dce9e8;border-radius:8px;padding:10px}.catalogue-kpis small{display:block;font-size:10px;color:#5e7782}.catalogue-kpis strong{display:block;font-size:19px;color:#164259;letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin-top:3px}.catalogue-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px}.catalogue-selector label{font-weight:720;font-size:12px;color:#5e7580;display:flex;flex-direction:column;gap:5px}.catalogue-selector select{width:100%;border-radius:6px;border:1px solid #afc9ce;background:white;padding:9px;font-size:12px}
.cluster-finance-list{margin-top:11px;max-height:205px;overflow:auto}.cluster-finance-row{display:grid;grid-template-columns:1.4fr .65fr 1fr 1fr .8fr;gap:7px;padding:7px 5px;border-bottom:1px solid #d5e6e5;font-size:11px}.cluster-finance-row b{font-variant-numeric:tabular-nums}.cluster-finance-row>strong{font-size:11px}
.four-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}.four-metrics>div{background:#f0f7f7;border:1px solid #dae8ea;border-radius:8px;padding:11px}.four-metrics small{font-size:10px;display:block;color:#4d6975}.four-metrics strong{font-size:21px;display:block;color:#007b8d;margin-top:4px}
.workforce-panel>input[type=range],#rateExtra{width:100%;accent-color:#0089a1;height:22px;margin:7px 0}.mini-heading{font-size:17px;margin:22px 0 7px;color:#163f54}.rate-mini{padding:10px 12px;background:#e5f6f3;border-radius:8px;margin:10px 0 18px;font-size:13px;display:flex;justify-content:space-between;gap:10px}.rate-mini strong{font-size:17px;color:#136953}
@media(max-width:1100px){.cluster-finance-row{grid-template-columns:1.4fr .5fr 1fr 1fr}.cluster-finance-row>span:last-child{display:none}.catalogue-kpis strong{font-size:15px}}
@media(max-width:700px){.finance-primer{grid-template-columns:1fr}.catalogue-kpis{grid-template-columns:repeat(2,1fr)}.catalogue-selector{grid-template-columns:1fr}.four-metrics{grid-template-columns:repeat(2,1fr)}.cluster-finance-row{grid-template-columns:1.3fr 1fr 1fr}.cluster-finance-row>span:nth-child(2){display:none}.proposed-impacts{grid-template-columns:1fr 1fr}.item-budget-grid{grid-template-columns:1fr}.finance-primer>div{padding:14px}.catalogue-kpis strong{font-size:19px}}

.neutral-srv-calc{background:#eaf4f5;color:#183b48;border-left:4px solid #14949d;border-radius:3px;padding:15px 19px;margin:20px 0 26px;font-size:13px;line-height:1.55}.neutral-srv-calc a{color:#067280;font-weight:780}.neutral-srv-calc strong{color:#193e4d}
