.wh-municipal-utilities{--brand-50:#f2f8fd;--brand-100:#e3f0fb;--brand-200:#c2e0f5;--brand-300:#75bdea;--brand-400:#4eabe2;--brand-500:#2791d0;--brand-600:#1973b0;--brand-700:#155c8f;--brand-800:#154f77;--brand-900:#174263;--brand-950:#0f2a42;--green:#00a544;--green-soft:#dcfce7;--amber:#dd7400;--amber-soft:#fef3c6;--bad:#b3382c;--bad-soft:#fde8e8;--ink:var(--brand-950);--ink-soft:#44586b;--ink-faint:#64778a;--paper:#fff;--tint:var(--brand-50);--hairline:#dbe7f1;--radius:14px;--shadow:0 10px 40px #0f2a421f;--grad:linear-gradient(92deg, var(--brand-500), var(--brand-300));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}.wh-municipal-utilities *{box-sizing:border-box;margin:0;padding:0}.wh-municipal-utilities a{color:var(--brand-600);text-decoration:none}.wh-municipal-utilities .mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.wh-municipal-utilities .nums{font-variant-numeric:tabular-nums}.wh-municipal-utilities .wrap{max-width:1180px;margin-left:auto;margin-right:auto;padding:0 24px;display:block}.wh-municipal-utilities .kicker{letter-spacing:.28em;color:var(--brand-500);text-transform:uppercase;font-size:13px;font-weight:700;display:inline-block}.wh-municipal-utilities h2{letter-spacing:-.02em;text-wrap:balance;color:var(--ink);margin-top:10px;font-size:clamp(26px,3.4vw,44px);font-weight:800;line-height:1.08}.wh-municipal-utilities .sub{color:var(--ink-soft);max-width:64ch;margin-top:14px;font-size:clamp(15.5px,1.5vw,18px)}.wh-municipal-utilities .center{text-align:center}.wh-municipal-utilities .center .sub{margin-left:auto;margin-right:auto}.wh-municipal-utilities section.chapter{padding:clamp(48px,7vw,100px) 0}.wh-municipal-utilities section.tinted{background:var(--tint)}.wh-municipal-utilities .btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:13px 28px;font-family:inherit;font-size:15.5px;font-weight:600;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.wh-municipal-utilities .btn:hover{transform:translateY(-1px)}.wh-municipal-utilities .btn:active{transform:translateY(0)}.wh-municipal-utilities .btn:focus-visible{outline:3px solid var(--brand-300);outline-offset:2px}.wh-municipal-utilities .btn-solid{background:var(--brand-500);color:#fff;box-shadow:0 6px 24px #2791d073}.wh-municipal-utilities .btn-solid:hover{background:var(--brand-400)}.wh-municipal-utilities .btn-ghost{border:1.5px solid var(--brand-300);color:#e9f3fb;background:0 0}.wh-municipal-utilities .dots{pointer-events:none;background-image:radial-gradient(#75bdea26 1px,#0000 1.4px);background-size:26px 26px;position:absolute;inset:0}.wh-municipal-utilities .gradtext{background:linear-gradient(92deg, var(--brand-500), var(--brand-300), var(--brand-500));color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:5.5s ease-in-out infinite gradslide-mu}.wh-municipal-utilities .hero{background:linear-gradient(168deg, var(--brand-950) 0%, var(--brand-900) 55%, var(--brand-700) 100%);color:#e9f3fb;padding:0;position:relative;overflow:hidden}.wh-municipal-utilities .hero:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#2791d04d,#0000 65%);animation:22s ease-in-out infinite alternate drift-mu;position:absolute;inset:-40%}.wh-municipal-utilities .hero-inner{z-index:2;padding-top:clamp(28px,4vw,50px);padding-bottom:0;position:relative}.wh-municipal-utilities .aichip{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-200);background:#2791d01f;border:1px solid #75bdea66;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.wh-municipal-utilities .aichip .beacon{background:var(--brand-300);border-radius:50%;width:8px;height:8px;animation:2.2s ease-in-out infinite beacon-mu}.wh-municipal-utilities .hero h1{letter-spacing:-.025em;color:#fff;text-wrap:balance;max-width:18ch;margin-top:20px;font-size:clamp(38px,5.6vw,70px);font-weight:800;line-height:1.02}.wh-municipal-utilities .hero .lede{color:#bcd9ee;max-width:62ch;margin-top:18px;font-size:clamp(16px,1.8vw,20px)}.wh-municipal-utilities .hero .lede b{color:#fff;font-weight:600}.wh-municipal-utilities .cta-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;display:flex}.wh-municipal-utilities .cta-note{color:var(--brand-300);font-size:12.5px}.wh-municipal-utilities .hero-note{color:var(--brand-300);margin:clamp(30px,4vw,48px) 0 14px;font-size:12.5px}.wh-municipal-utilities .stage{grid-template-columns:minmax(300px,7fr) minmax(260px,4fr);align-items:start;gap:20px;padding-bottom:clamp(40px,6vw,72px);display:grid}@media (max-width:860px){.wh-municipal-utilities .stage{grid-template-columns:1fr}}.wh-municipal-utilities .boardwin{color:var(--ink);border-radius:var(--radius);background:#fff;border:1px solid #ffffff38;overflow:hidden;box-shadow:0 30px 90px #00000080}.wh-municipal-utilities .bw-bar{border-bottom:1px solid var(--hairline);background:var(--tint);align-items:center;gap:10px;padding:12px 16px;display:flex}.wh-municipal-utilities .bw-title{font-size:12.5px;font-weight:800}.wh-municipal-utilities .bw-live{color:var(--green);align-items:center;gap:6px;margin-left:auto;font-size:11px;font-weight:700;display:inline-flex}.wh-municipal-utilities .bw-live:before{content:"";background:var(--green);border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite beacon-green-mu}.wh-municipal-utilities .bw-rows{padding:4px 10px 6px}.wh-municipal-utilities .drow{border-bottom:1px solid #eef4fa;grid-template-columns:minmax(96px,1.1fr) 2fr 88px;align-items:center;gap:12px;padding:11px 8px;font-size:13px;display:grid}.wh-municipal-utilities .drow:last-child{border-bottom:none}.wh-municipal-utilities .drow.head{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:8px;font-size:10.5px;font-weight:700}.wh-municipal-utilities .dname{font-weight:700}.wh-municipal-utilities .dbar{background:var(--brand-100);border-radius:6px;height:9px;overflow:hidden}.wh-municipal-utilities .dbar i{background:var(--grad);border-radius:6px;width:0;height:100%;display:block}.wh-municipal-utilities .dpill{text-transform:uppercase;letter-spacing:.05em;text-align:center;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700;transition:background .3s,color .3s}.wh-municipal-utilities .dpill.p-plan{color:var(--ink-faint);background:#eef1f4}.wh-municipal-utilities .dpill.p-track{background:var(--brand-100);color:var(--brand-700)}.wh-municipal-utilities .dpill.p-done{background:var(--green-soft);color:#008138}.wh-municipal-utilities .bw-foot{color:var(--ink-faint);border-top:1px solid #eef4fa;padding:10px 16px 14px;font-size:11px}.wh-municipal-utilities .sidecol{flex-direction:column;gap:14px;margin-top:26px;display:flex}@media (max-width:860px){.wh-municipal-utilities .sidecol{margin-top:0}}.wh-municipal-utilities .repcard{color:var(--ink);opacity:0;background:#fff;border:1px solid #ffffff38;border-radius:12px;padding:14px 16px;transition:opacity .5s,transform .5s;transform:translateY(12px);box-shadow:0 24px 70px #00000073}.wh-municipal-utilities .repcard.in{opacity:1;transform:none}.wh-municipal-utilities .rc-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.wh-municipal-utilities .rc-k{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px;font-weight:700}.wh-municipal-utilities .rc-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--amber-soft);color:var(--amber);border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700;transition:background .3s,color .3s}.wh-municipal-utilities .repcard.resolved .rc-tag{background:var(--green-soft);color:#008138}.wh-municipal-utilities .rc-title{margin-top:8px;font-size:13.5px;font-weight:700}.wh-municipal-utilities .rc-res{color:#008138;background:var(--green-soft);opacity:0;border:1px solid #b9f8cf;border-radius:8px;margin-top:10px;padding:6px 10px;font-size:12px;font-weight:600;transition:opacity .45s,transform .45s;transform:translateY(4px)}.wh-municipal-utilities .repcard.resolved .rc-res{opacity:1;transform:none}.wh-municipal-utilities .packcard{background:var(--brand-950);color:#e9f3fb;opacity:0;border:1px solid #75bdea4d;border-radius:12px;padding:14px 16px;transition:opacity .5s,transform .5s;transform:translateY(12px)scale(.97);box-shadow:0 24px 70px #00000080}.wh-municipal-utilities .packcard.show{opacity:1;transform:none}.wh-municipal-utilities .pk-stamp{text-transform:uppercase;letter-spacing:.08em;color:#7ee2a8;border:1.5px dashed #7ee2a899;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:800;display:inline-block}.wh-municipal-utilities .pk-chip{color:#d7ebf8;background:#75bdea24;border:1px solid #75bdea4d;border-radius:999px;margin-top:10px;padding:4px 11px;font-size:11px;font-weight:600;display:inline-block}.wh-municipal-utilities .band{background:var(--brand-950);color:#e9f3fb;position:relative;overflow:hidden}.wh-municipal-utilities .band .wrap{z-index:1;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:52px;padding-bottom:52px;display:grid;position:relative}@media (max-width:760px){.wh-municipal-utilities .band .wrap{grid-template-columns:1fr}}.wh-municipal-utilities .band .lead{text-transform:uppercase;letter-spacing:.14em;color:#6f93b3;grid-column:1/-1;margin-bottom:4px;font-size:12.5px;font-weight:600}.wh-municipal-utilities .stat .n{letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:var(--grad);color:#0000;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,3.2vw,40px);font-weight:800}.wh-municipal-utilities .stat .l{color:#9cc4e2;max-width:28ch;margin-top:4px;font-size:13.5px}.wh-municipal-utilities .band .fine{color:#7fa8c9;border-top:1px solid #9cc4e22e;grid-column:1/-1;margin-top:8px;padding-top:14px;font-size:12.5px}.wh-municipal-utilities .pillars{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;display:grid}@media (max-width:900px){.wh-municipal-utilities .pillars{grid-template-columns:1fr}}.wh-municipal-utilities .pillar{border:1px solid var(--hairline);border-radius:var(--radius);background:#fff;padding:26px;transition:transform .18s,box-shadow .18s}.wh-municipal-utilities .pillar:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.wh-municipal-utilities .pillar h3{font-size:19px;font-weight:800}.wh-municipal-utilities .pillar p{color:var(--ink-soft);margin-top:8px;font-size:14.5px}.wh-municipal-utilities .caps{flex-direction:column;gap:clamp(34px,5vw,64px);margin-top:44px;display:flex}.wh-municipal-utilities .cap{grid-template-columns:minmax(280px,5fr) minmax(300px,6fr);align-items:center;gap:clamp(24px,4vw,56px);display:grid}@media (max-width:860px){.wh-municipal-utilities .cap{grid-template-columns:1fr}}.wh-municipal-utilities .cap.flip .cap-copy{order:2}.wh-municipal-utilities .cap.flip .cap-viz{order:1}@media (max-width:860px){.wh-municipal-utilities .cap.flip .cap-copy{order:1}.wh-municipal-utilities .cap.flip .cap-viz{order:2}}.wh-municipal-utilities .cap-n{color:var(--brand-300);letter-spacing:.1em;font-size:13px;font-weight:800}.wh-municipal-utilities .cap-k{letter-spacing:.2em;text-transform:uppercase;color:var(--brand-500);margin-top:6px;font-size:12px;font-weight:700;display:inline-block}.wh-municipal-utilities .cap h3{letter-spacing:-.015em;text-wrap:balance;margin-top:8px;font-size:clamp(21px,2.4vw,28px);font-weight:800}.wh-municipal-utilities .cap p{color:var(--ink-soft);max-width:52ch;margin-top:10px;font-size:15px}.wh-municipal-utilities .vizcard{border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:16px}.wh-municipal-utilities .vc-head{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:12px;font-size:11px;font-weight:700}.wh-municipal-utilities .oplist{flex-direction:column;display:flex}.wh-municipal-utilities .oprow{opacity:0;border-bottom:1px solid #eef4fa;align-items:center;gap:10px;padding:10px 4px;font-size:13px;transition:opacity .45s,transform .45s;display:flex;transform:translateY(6px)}.wh-municipal-utilities .oprow.on{opacity:1;transform:none}.wh-municipal-utilities .oprow:last-child{border-bottom:none}.wh-municipal-utilities .opdot{background:var(--brand-300);border-radius:50%;flex:none;width:9px;height:9px}.wh-municipal-utilities .opdot.done{background:var(--green)}.wh-municipal-utilities .opdot.due{background:var(--amber)}.wh-municipal-utilities .optime{color:var(--ink-faint);flex:none;width:44px;font-size:11.5px}.wh-municipal-utilities .opt{flex:1;font-weight:600}.wh-municipal-utilities .ops{color:var(--ink-faint);flex:none;font-size:11.5px}.wh-municipal-utilities .ops.ok{color:var(--green);font-weight:600}.wh-municipal-utilities .mgrid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;display:grid}@media (max-width:860px){.wh-municipal-utilities .mgrid{grid-template-columns:1fr}}.wh-municipal-utilities .mcard{border:1px solid var(--hairline);border-radius:var(--radius);text-align:center;background:#fff;padding:28px 26px}.wh-municipal-utilities .mcard .mv{letter-spacing:-.02em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,4vw,48px);font-weight:800}.wh-municipal-utilities .mcard .ml{color:var(--ink-soft);margin-top:8px;font-size:13.5px}.wh-municipal-utilities .faq{flex-direction:column;gap:12px;max-width:820px;margin:40px auto 0;display:flex}.wh-municipal-utilities details.qa{background:var(--paper);border:1px solid var(--hairline);border-radius:12px;overflow:hidden}.wh-municipal-utilities details.qa summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:14px;padding:17px 20px;font-size:16px;font-weight:600;list-style:none;display:flex}.wh-municipal-utilities details.qa summary::-webkit-details-marker{display:none}.wh-municipal-utilities details.qa summary .pm{color:var(--brand-500);font-size:20px;font-weight:400;line-height:1;transition:transform .2s}.wh-municipal-utilities details.qa[open] summary .pm{transform:rotate(45deg)}.wh-municipal-utilities details.qa .a{color:var(--ink-soft);max-width:66ch;padding:0 20px 18px;font-size:14.5px;line-height:1.6}.wh-municipal-utilities details.qa summary:focus-visible{outline:2px solid var(--brand-400);outline-offset:-2px}.wh-municipal-utilities #contact{background:linear-gradient(165deg, var(--brand-950), var(--brand-800));color:#fff;padding:clamp(48px,7vw,100px) 0;position:relative;overflow:hidden}.wh-municipal-utilities #contact h2{color:#fff;margin-top:0;font-size:clamp(30px,4vw,52px)}.wh-municipal-utilities #contact p{color:#bcd9ee;max-width:60ch;margin-top:14px;font-size:17px}.wh-municipal-utilities #contact .wrap{z-index:1;position:relative}.wh-municipal-utilities .contact-grid{grid-template-columns:minmax(300px,1fr) minmax(320px,1fr);align-items:center;gap:clamp(28px,4vw,64px);display:grid}@media (max-width:760px){.wh-municipal-utilities .contact-grid{grid-template-columns:1fr}}.wh-municipal-utilities .capform{border-radius:var(--radius);background:#0f2a428c;border:1px solid #75bdea59;padding:24px;box-shadow:0 18px 70px #0006}.wh-municipal-utilities .capform .cf-k{color:#fff;margin-bottom:14px;font-size:16px;font-weight:800}.wh-municipal-utilities .cf-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}@media (max-width:640px){.wh-municipal-utilities .cf-grid{grid-template-columns:1fr}}.wh-municipal-utilities .capform input,.wh-municipal-utilities .capform select{color:#fff;background:#ffffff12;border:1px solid #75bdea59;border-radius:9px;width:100%;padding:11px 13px;font-family:inherit;font-size:14px}.wh-municipal-utilities .capform select{appearance:none}.wh-municipal-utilities .capform option{color:var(--ink)}.wh-municipal-utilities .capform input::placeholder{color:#9cc4e2}.wh-municipal-utilities .capform input:focus,.wh-municipal-utilities .capform select:focus{outline:2px solid var(--brand-400);outline-offset:1px}.wh-municipal-utilities .cf-btn{background:var(--brand-500);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px;font-family:inherit;font-size:15.5px;font-weight:700;transition:background .15s,transform .15s}.wh-municipal-utilities .cf-btn:hover{background:var(--brand-400);transform:translateY(-1px)}.wh-municipal-utilities .cf-note{color:#9cc4e2;text-align:center;margin-top:10px;font-size:11.5px}.wh-municipal-utilities .reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}.wh-municipal-utilities .reveal.in{opacity:1;transform:none}.wh-municipal-utilities .stick{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);background:#ffffffeb;transition:transform .35s;position:fixed;top:0;left:0;right:0;transform:translateY(-100%);box-shadow:0 6px 24px -12px #0f2a4240}.wh-municipal-utilities .stick.show{transform:none}.wh-municipal-utilities .stick .wrap{justify-content:space-between;align-items:center;gap:16px;padding:11px 24px;display:flex}.wh-municipal-utilities .stick .sl{color:var(--ink);font-size:14px;font-weight:800}.wh-municipal-utilities .stick .sl span{color:var(--brand-500)}.wh-municipal-utilities .stick .sr{align-items:center;gap:12px;display:flex}.wh-municipal-utilities .stick .sr .mini{color:var(--ink-faint);font-size:12.5px}@media (max-width:620px){.wh-municipal-utilities .stick .sr .mini{display:none}}.wh-municipal-utilities .stick-btn{padding:9px 18px;font-size:14px}@media (prefers-reduced-motion:reduce){.wh-municipal-utilities *,.wh-municipal-utilities .gradtext,.wh-municipal-utilities .aichip .beacon,.wh-municipal-utilities .hero:after,.wh-municipal-utilities .bw-live:before{animation:none!important}.wh-municipal-utilities .reveal{opacity:1;transition:none;transform:none}.wh-municipal-utilities .oprow,.wh-municipal-utilities .repcard,.wh-municipal-utilities .rc-res,.wh-municipal-utilities .packcard{opacity:1!important;transition:none!important;transform:none!important}.wh-municipal-utilities .dbar i{transition:none!important}.wh-municipal-utilities .dpill,.wh-municipal-utilities .rc-tag,.wh-municipal-utilities .stick{transition:none}.wh-municipal-utilities .pillar:hover,.wh-municipal-utilities .btn:hover,.wh-municipal-utilities .cf-btn:hover{transform:none}}@keyframes gradslide-mu{0%,to{background-position:0 0}50%{background-position:100% 0}}@keyframes drift-mu{0%{transform:translate(-6%,-4%)}to{transform:translate(7%,6%)}}@keyframes beacon-mu{0%,to{box-shadow:0 0 #4eabe28c}55%{box-shadow:0 0 0 7px #4eabe200}}@keyframes beacon-green-mu{0%,to{box-shadow:0 0 #00a54473}55%{box-shadow:0 0 0 6px #00a54400}}
