.pj{--st-plan:#8b3df5;--st-build:#ea580c;--st-done:#16a34a;--st-none:#8794ad}.pj .st-plan{--s:var(--st-plan);--st:#6d28d9;--sb:#efe6ff}.pj .st-build{--s:var(--st-build);--st:#b23c06;--sb:#ffedd5}.pj .st-done{--s:var(--st-done);--st:#15803d;--sb:#ddf5e6}.pj .st-none{--s:var(--st-none);--st:#4a5878;--sb:#eef1f6}.pj .source{color:var(--h-ink-3);margin:12px 0 0;font-size:.8125rem}.pj h3{font-family:var(--font-display);margin:0}.pj [id]{scroll-margin-top:84px}.pj-top .in{flex-direction:column;gap:16px;padding-block:40px 48px;display:flex}.pj .crumbs{color:var(--h-ink-3);flex-wrap:wrap;gap:6px;font-size:.875rem;display:flex}.pj .crumbs a{padding-block:4px}.pj-top h1{letter-spacing:-.02em;font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:800;line-height:1.1}.pj-top .lede{max-width:46em;color:var(--h-ink-2);margin:0;font-size:1.0625rem}.pj-top .stats{margin-top:16px}.pj .asof{color:var(--h-ink-3);margin:0;font-size:.8125rem}.pj-top .in.pj-hero{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:start;gap:48px;display:grid}.pj-hero-copy{flex-direction:column;gap:14px;min-width:0;display:flex}.pj-sub{color:var(--h-ink-2);margin:-6px 0 0;font-size:1.0625rem}.pj-hero .facts{margin-top:4px}.pj-jump{flex-wrap:wrap;gap:4px 18px;font-weight:700;display:flex}.pj-jump a{padding-block:8px}.pj-tags{flex-wrap:wrap;gap:6px;margin:0;display:flex}.pj-stage,.pj-tag{border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.pj-stage{background:var(--sb);color:var(--st)}.pj-stage:before{content:"";background:var(--s);border-radius:50%;width:8px;height:8px}.pj-tag{color:var(--h-ink-2);background:#eef2f9;font-weight:500}.pj-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;margin:0;padding:0;list-style:none;display:grid}.pj-card{border-top:3px solid var(--h-ink);flex-direction:column;gap:10px;padding-top:18px;display:flex}.pj-card h3,.pj-row h3{font-size:1.2rem;font-weight:800;line-height:1.25}.pj-card h3 a,.pj-row h3 a{color:var(--h-ink);text-decoration:none}.pj-card h3 a:hover,.pj-row h3 a:hover{color:var(--h-blue);text-decoration:underline}.pj-where{color:var(--h-ink-3);margin:0;font-size:.9375rem}.pj-facts{border-block:1px solid var(--h-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding-block:10px;display:grid}.pj-facts>div{flex-direction:column-reverse;justify-content:flex-end;display:flex}.pj-facts dt{color:var(--h-ink-3);font-size:.75rem}.pj-facts dd{margin:0;font-size:.9375rem;font-weight:700}.pj-pace{color:#15803d;align-items:center;gap:6px;margin:0;font-size:.875rem;font-weight:700;display:flex}.pj-devs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:28px 32px;margin:0;padding:0;list-style:none;display:grid}.pj-devs li{color:var(--h-ink-3);flex-direction:column;align-items:flex-start;gap:8px;font-size:.875rem;display:flex}.pj-devs img{object-fit:contain;object-position:right center;width:120px;height:48px}.pj-devname{height:48px;font-family:var(--font-display);color:var(--h-ink);align-items:center;font-size:1.15rem;font-weight:800;display:flex}.pj-filters{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:28px;display:flex}.pj-filters label{color:var(--h-ink-2);flex-direction:column;gap:4px;font-size:.8125rem;font-weight:700;display:flex}.pj-filters select{min-width:170px;min-height:44px;font:inherit;color:var(--h-ink);background:#fff;border:1px solid #c9d4e8;border-radius:10px;padding:0 12px}.pj-filters .btn{cursor:pointer;min-height:44px;font:inherit;border:0;align-self:flex-end;font-weight:700}.pj-filters>a{align-self:center;padding:10px 4px}.pj-split{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start;gap:32px;display:grid}.pj-map{flex-direction:column;order:2;gap:10px;display:flex;position:sticky;top:88px}.pj-legend{color:var(--h-ink-2);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.pj-legend li{align-items:center;gap:6px;display:flex}.pj-legend li:before{content:"";background:var(--s);width:10px;height:10px;box-shadow:0 0 0 1px var(--s);border:2px solid #fff;border-radius:50%}.pj-list{border-top:1px solid var(--h-line);margin:0;padding:0;list-style:none}.pj-row{border-bottom:1px solid var(--h-line);flex-direction:column;gap:8px;padding-block:20px;display:flex}.pj-row-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.pj-row .more{align-self:flex-start}.pj-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.pj-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%;display:block}.pj-gallery small{color:var(--h-ink-3);font-size:.75rem}.pj-brief{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px;margin:0;padding:0;list-style:none;display:grid}.pj-brief li{border-top:3px solid var(--c);color:var(--h-ink-2);padding-top:12px;line-height:1.6}.pj-h3{font-size:1.15rem;font-weight:700;margin:32px 0 12px!important}.pj-tablebox{border-top:1px solid var(--h-line);overflow-x:auto}.pj-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9375rem}.pj-table th{text-align:start;color:var(--h-ink-3);white-space:nowrap;padding:10px 12px 10px 0;font-size:.8125rem;font-weight:700}.pj-table td{border-top:1px solid var(--h-line);white-space:nowrap;padding:10px 12px 10px 0}.pj-more{margin-top:12px}.pj-more>summary,.pj-faq summary,.pj-area summary{cursor:pointer;color:var(--h-blue);padding-block:10px;font-weight:700}.pj-note{color:var(--h-ink-2);align-items:center;gap:8px;margin:16px 0 0;display:flex}.pj-note .ico{color:var(--h-blue)}.pj-bars{margin:0}.pj-bars ol{padding:0;border-bottom:1px solid var(--h-line);direction:ltr;grid-auto-columns:minmax(28px,1fr);grid-auto-flow:column;align-items:end;gap:6px;height:240px;margin:0;padding-top:24px;list-style:none;display:grid;overflow-x:auto}.pj-bars li{flex-direction:column;justify-content:flex-end;align-items:stretch;height:100%;display:flex;position:relative}.pj-bars .bar{background:#ffd9bd;border-radius:6px 6px 0 0;justify-content:center;align-items:flex-start;min-block-size:2px;display:flex}.pj-bars .bar b{color:#9a3412;margin-top:4px;font-size:.75rem}.pj-bars .v{text-align:center;color:#15803d;order:-1;min-height:1.2em;font-size:.75rem;font-weight:700}.pj-bars .t{text-align:center;color:var(--h-ink-3);white-space:nowrap;padding-top:6px;font-size:.6875rem;position:absolute;top:100%;left:0;right:0}.pj-bars .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pj-bars figcaption{color:var(--h-ink-2);margin-top:32px;font-size:.875rem}.pj-vs{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;padding:0;list-style:none;display:grid}.pj-vs li{border-top:3px solid var(--c);flex-direction:column;gap:2px;padding-top:14px;display:flex}.pj-vs span{color:var(--h-ink-2);font-size:.875rem}.pj-vs strong{font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:800;line-height:1.1}.pj-vs small{color:var(--h-ink-3);font-size:.8125rem}.pj-steps{counter-reset:s;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.pj-steps li{color:var(--h-ink-3);flex-direction:column;gap:4px;padding-top:36px;display:flex;position:relative}.pj-steps li:before{content:"";top:12px;background:#e3e8f2;border-radius:2px;height:4px;position:absolute;inset-inline:0}.pj-steps li.done:before{background:var(--h-blue)}.pj-steps .dot{top:2px;z-index:1;color:#fff;background:#fff;border:3px solid #cfd8e8;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;inset-inline-start:0}.pj-steps li.done .dot{background:var(--h-blue);border-color:var(--h-blue)}.pj-steps strong{color:var(--h-ink);font-size:.9375rem}.pj-steps li:not(.done) strong{color:var(--h-ink-2);font-weight:500}.pj-steps small{font-size:.75rem}.pj-area details{border-top:1px solid var(--h-line)}.pj-area details:last-of-type{border-bottom:1px solid var(--h-line)}.pj-area summary{padding-block:16px;font-size:1.0625rem}.pj-area .rep-sec{background:0 0;border:0;margin:0 0 24px;padding:0}.pj-area .rep-sec>.block-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pj-devtext{max-width:46em;color:var(--h-ink-2)}.pj-check{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;margin:0;padding:0;list-style:none;display:grid}.pj-check li{gap:12px;display:flex}.pj-check .ico{color:var(--h-blue);margin-top:3px}.pj-check p{color:var(--h-ink-2);margin:4px 0 0;font-size:.9375rem}.pj-faq{border-top:1px solid var(--h-line);max-width:52em}.pj-faq details{border-bottom:1px solid var(--h-line)}.pj-faq summary{color:var(--h-ink);padding-block:14px}.pj-faq p{color:var(--h-ink-2);margin:0 0 16px}@media (max-width:1100px){.pj-cards,.pj-check{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.pj-top .in.pj-hero,.pj-split{grid-template-columns:minmax(0,1fr);gap:28px}.pj-map{order:-1;position:static}.pj-cards,.pj-brief,.pj-vs,.pj-check{grid-template-columns:minmax(0,1fr);gap:28px}.pj-steps{grid-template-columns:minmax(0,1fr);gap:0}.pj-steps li{padding:0 36px 18px 0}.pj-steps li:before{top:24px;bottom:0;width:4px;height:auto;inset-inline:10px auto}.pj-steps li:last-child:before{display:none}.pj-near li{grid-template-columns:minmax(0,1fr) auto}.pj-filters label{flex:140px}.pj-filters select{width:100%;min-width:0}}.pj-chart{margin:0 0 40px}.pj-chart svg{width:100%;height:auto;display:block;overflow:visible}.pj-chart .grid{stroke:#e3e8f2;stroke-width:1px}.pj-chart .tick{fill:var(--h-ink-3);font-variant-numeric:tabular-nums;font-size:12px}.pj-chart .val{fill:var(--h-blue-deep);font-size:13px;font-weight:700}.pj-chart .line{fill:none;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.pj-chart .line.proj{stroke:var(--h-blue)}.pj-chart .line.area{stroke:#16a34a;stroke-dasharray:6 5;stroke-width:2.5px}.pj-chart .dot.proj{fill:var(--h-blue);stroke:#fff;stroke-width:2px}.pj-chart .dot.area{fill:#16a34a}.pj-chart figcaption{color:var(--h-ink-2);margin-top:8px;font-size:.875rem}.pj-chart-key{color:var(--h-ink-2);flex-wrap:wrap;gap:4px 20px;margin:0 0 8px;padding:0;font-size:.875rem;list-style:none;display:flex}.pj-chart-key li{align-items:center;gap:8px;display:flex}.pj-chart-key li:before{content:"";border-top:3px solid var(--h-blue);width:22px;height:0}.pj-chart-key li.area:before{border-top:3px dashed #16a34a}.pj-chart .sr,.pj .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pj-imap{flex-direction:column;gap:10px;display:flex}.pj-imap-stage{isolation:isolate;background:#eef1ea;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #d9e1ee}.pj-imap-box{z-index:1;font:inherit;position:absolute;inset:0}.pj-imap-static{z-index:0;position:absolute;inset:0}.pj-imap-static .tmap{height:100%;box-shadow:none;border-radius:0;aspect-ratio:auto!important}.pj-imap .pj-tiles{filter:saturate(.5)brightness(1.04)}.pj-imap-full{z-index:1001;min-height:36px;color:var(--h-ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #c9d4e8;border-radius:8px;padding:0 12px;font-size:.875rem;font-weight:700;position:absolute;top:10px;right:10px;box-shadow:0 2px 6px #0b1b3f26}.pj-imap-note{z-index:1001;bottom:10px;color:var(--h-ink);background:#fff;border-radius:8px;padding:6px 12px;font-size:.875rem;position:absolute;inset-inline-start:10px;box-shadow:0 2px 6px #0b1b3f26}.pj-imap-note button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin-inline-start:8px;padding:0;font-weight:700;text-decoration:underline}.pj-imap.full{z-index:60;background:#fff;padding:12px;position:fixed;inset:0}.pj-imap.full .pj-imap-stage{flex:1}.pj-layers{color:var(--h-ink-2);border:0;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;font-size:.875rem;display:flex}.pj-layers legend{float:right;color:var(--h-ink);margin-inline-end:6px;font-weight:700}.pj-layers label{cursor:pointer;align-items:center;gap:6px;min-height:32px;display:inline-flex}.pj-layers label:after{content:"";border-radius:50%;order:2;width:12px;height:12px}.pj-layers .ly-projects:after{background:var(--h-blue)}.pj-layers .ly-stations:after{background:#be123c}.pj-layers .ly-renewal:after{border:2px dashed #ea580c;border-radius:3px}.pj-layers .ly-plans:after{border:2px solid #8b3df5;border-radius:3px}.pj-layers .ly-schools:after{background:#0d9488}.pj-layers input{width:18px;height:18px;accent-color:var(--h-blue)}.pj-mk{background:var(--s,var(--h-blue));box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 2px 6px #0b1b3f66}.pj-mk.logo{border:2px solid var(--s,var(--h-blue));background:#fff;place-items:center;display:grid;overflow:hidden}.pj-mk.logo img{object-fit:contain;width:78%;height:78%}.pj-mk.current{background:var(--h-blue);border-width:4px;box-shadow:0 0 0 8px #1d5cf033,0 4px 10px #0b1b3f66}.leaflet-marker-icon:focus-visible .pj-mk{outline:3px solid var(--h-blue-deep);outline-offset:2px}.pj-tip.leaflet-tooltip{color:var(--h-ink);white-space:normal;border:0;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.8125rem;line-height:1.45;box-shadow:0 10px 28px -8px #0b1b3f73}.pj-tipcard{text-align:right;flex-direction:column;gap:4px;width:220px;display:flex}.pj-tipcard strong{font-size:.9375rem}.pj-tipcard .logo{object-fit:contain;object-position:right center;width:72px;height:28px}.pj-tipcard .sub{color:var(--h-ink-3)}.pj-tipcard .stage{background:var(--sb);color:var(--st);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:.75rem;font-weight:700}.pj-tipcard dl{gap:2px;margin:4px 0 0;display:grid}.pj-tipcard dl div{justify-content:space-between;gap:12px;display:flex}.pj-tipcard dt{color:var(--h-ink-3)}.pj-tipcard dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.pj-tipcard .go{color:var(--h-blue);margin-top:2px;font-weight:700}.pj-imap .leaflet-container{font-family:inherit}.pj-imap .leaflet-container img,.pj-imap .leaflet-container svg{max-width:none!important;max-height:none!important}.pj-imap .leaflet-container .pj-mk img{max-width:78%!important}.bt{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:48px;display:grid}.bt-part{border-top:3px solid var(--h-blue);flex-direction:column;gap:14px;padding-top:16px;display:flex}.bt-part h3{font-size:1.3rem;font-weight:800}.bt-intro{color:var(--h-ink-2);margin:0}.bt-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.bt-fields label{color:var(--h-ink-2);flex-direction:column;gap:4px;font-size:.8125rem;font-weight:700;display:flex}.bt-fields input,.bt-fields select{min-height:44px;font:inherit;color:var(--h-ink);background:#fff;border:1px solid #c9d4e8;border-radius:10px;padding:0 12px;font-weight:500}.bt-fields input{font-variant-numeric:tabular-nums}.bt-loan{grid-template-columns:repeat(3,minmax(0,1fr))}.bt-result{background:var(--h-wash);border-radius:12px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.bt-result span{color:var(--h-ink-2);font-size:.875rem}.bt-result strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:800;line-height:1.15}.bt-result small{color:var(--h-ink-2);font-size:.8125rem;line-height:1.5}.bt-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.bt-table th{text-align:start;color:var(--h-ink-2);border-bottom:1px solid var(--h-line);background:0 0;padding:8px 0;font-weight:500}.bt-table td{text-align:end;border-bottom:1px solid var(--h-line);white-space:nowrap;padding:8px 0;font-weight:700}.bt-table .sum th,.bt-table .sum td{color:var(--h-ink);border-bottom:0;font-size:1.05rem;font-weight:800}.bt-notes{color:var(--h-ink-3);flex-direction:column;gap:6px;margin:0;padding-inline-start:18px;font-size:.8125rem;display:flex}@media (max-width:860px){.bt{grid-template-columns:minmax(0,1fr);gap:36px}.bt-loan{grid-template-columns:repeat(2,minmax(0,1fr))}}.pj-reports{flex-direction:column;gap:28px;margin:0;padding:0;list-style:none;display:flex}.pj-reports li{border-top:3px solid #8b3df5;flex-direction:column;gap:10px;padding-top:16px;display:flex}.pj-rep-head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.pj-rep-head strong{font-family:var(--font-display);font-size:1.15rem}.pj-rep-head span{color:var(--h-ink-2)}.pj-rep-head a{margin-inline-start:auto;font-size:.875rem;font-weight:700}.pj-rep-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 24px;margin:0;display:grid}.pj-rep-facts div{flex-direction:column-reverse;justify-content:flex-end;display:flex}.pj-rep-facts dt{color:var(--h-ink-3);font-size:.8125rem}.pj-rep-facts dd{margin:0;font-size:1.05rem;font-weight:800}.pj-reports p{color:var(--h-ink-2);max-width:60em;margin:0}.lx .lx-pj .pj-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.lx .lx-pj .pj-facts>div:first-child{grid-column:1/-1}.pj-pin{background:var(--field,#2e6a4c);box-sizing:border-box;border:3px solid #fff;border-radius:50% 50% 50% 0;width:30px;height:30px;display:block;position:relative;transform:rotate(-45deg);box-shadow:0 4px 10px #1c2a2373}.pj-pin:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:7px}.pj-pin.approx{background:#9a5b00}.leaflet-marker-icon:focus-visible .pj-pin{outline:3px solid var(--ink,#1c2a23);outline-offset:2px}.pj-touch{color:var(--ink-3,#6b7a72);text-align:center;margin:6px 0 0;font-size:.78rem}.lx .pjp-context{background:var(--paper);border:1px solid var(--line);border-radius:12px;gap:6px;margin:12px 0 4px;padding:12px 16px;font-size:.95rem;line-height:1.55;list-style:none;display:grid}
.tmap{isolation:isolate;background:#eef1ea;border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 0 1px #d9e1ee}.tmap .tiles{direction:ltr;position:absolute;inset:0}.tmap .tiles img{filter:saturate(.55)brightness(1.03);max-width:none;display:block;position:absolute}.tmap .tpin{z-index:1;background:var(--s,var(--h-blue));border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 2px 6px #0b1b3f59}a.tpin:after{content:"";position:absolute;inset:-8px}a.tpin:hover,a.tpin:focus-visible{z-index:3;transform:scale(1.35)}.tmap .tpin.current{z-index:2;background:var(--h-blue);border-width:4px;width:26px;height:26px;margin:-13px 0 0 -13px;box-shadow:0 0 0 8px #1d5cf02e,0 4px 10px #0b1b3f66}.tmap .tip{background:var(--h-ink);color:#fff;pointer-events:none;opacity:0;border-radius:8px;width:max-content;max-width:220px;padding:5px 9px;font-size:.8125rem;font-weight:500;line-height:1.35;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}a.tpin:hover .tip,a.tpin:focus-visible .tip{opacity:1}.tmap .osm{z-index:4;color:var(--h-ink-3);direction:ltr;background:#ffffffe0;border-radius:4px;padding:1px 6px;font-size:.6875rem;text-decoration:none;position:absolute;bottom:6px;left:8px;right:auto}.tmap a.osm:hover{text-decoration:underline}.tmap .tarea{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tmap .tarea path{fill:#2e6a4c21;stroke:#2e6a4c;stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}
