@import url('vendor/fonts/fonts.css');
:root{--ink:#183036;--muted:#637276;--paper:#f6f5ef;--line:#daddd5;--coral:#d87d5f;--blue:#368ca5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 'DM Sans',sans-serif}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:35px;background:#faf9f5}.brand{display:flex;gap:13px;text-decoration:none;align-items:center;font-size:11px;letter-spacing:2px;line-height:1.8}.brand b{font-size:14px;letter-spacing:1px}.brand-mark{background:var(--ink);color:#fff;width:47px;height:48px;border-radius:2px;display:grid;place-content:center;font:700 25px Manrope;position:relative}.brand-mark span{position:absolute;right:3px;top:0px;color:#e4a383;font-size:19px}.edition{margin-left:auto;font-size:12px;letter-spacing:1.8px}.edition span{display:block;color:var(--muted);font-size:11px;letter-spacing:1px;margin-top:5px}.quiet{border:0;background:transparent;font-size:14px}.app{display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);padding:34px 26px;min-height:calc(100vh - 92px)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.9px;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font:600 29px/1.22 Manrope;margin:14px 0}.intro{font-size:14px;color:var(--muted);margin-bottom:27px}nav{display:grid;gap:4px}nav button{border:0;background:transparent;text-align:left;padding:11px 13px;display:flex;justify-content:space-between;align-items:center;border-radius:3px;font-size:14px}nav button span{color:#8b9898;font-size:11px}nav button.active{background:var(--ink);color:white}nav button:hover:not(.active){background:#e8ebe3}.sidebar-foot{display:flex;gap:10px;border-top:1px solid var(--line);margin-top:27px;padding-top:23px;font-size:13px}.sidebar-foot p{font-size:12px;color:var(--muted);margin-top:4px}.line-key{width:5px;border-radius:3px;background:#dbad47;flex-shrink:0}.small{font-size:11px;color:var(--muted);margin-top:22px}main{min-width:0}.view-head{padding:27px 30px 22px;display:flex;justify-content:space-between;align-items:center}h2{font:600 30px/1.25 Manrope;margin-top:6px}.view-actions{display:flex;gap:8px}.view-actions button,.toolbar button{border:1px solid var(--line);background:transparent;border-radius:3px;font-size:13px;padding:9px 13px}.view-actions button:last-child{background:var(--ink);color:#fff;border-color:var(--ink)}.scene-wrap{height:calc(100vh - 327px);min-height:410px;position:relative;margin:0 25px;background:#e9eee9;border:1px solid var(--line);overflow:hidden;border-radius:4px}#scene{width:100%;height:100%;display:block;outline:none}#loading{position:absolute;inset:0;display:grid;place-content:center;background:#edf1e9cc;color:var(--ink);font-size:14px;z-index:5}.scene-info{position:absolute;top:20px;left:22px;display:grid;gap:5px;pointer-events:none;font-size:10px;font-weight:700;letter-spacing:1.3px}.scene-info span:last-child{font-size:11px;letter-spacing:0;font-weight:400;color:#607477}.compass{position:absolute;right:20px;top:20px;text-align:center;line-height:1;font-size:17px}.scene-help{position:absolute;bottom:17px;left:20px;color:#647477;font-size:11px;background:#f6f5efcc;padding:5px 8px;border-radius:3px}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:17px 25px;gap:12px}.segmented{display:flex;gap:4px}.toolbar .active{background:var(--ink);color:white;border-color:var(--ink)}.legend{display:flex;gap:18px;font-size:11px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:2px}.existing{background:#bac5c6}.construction{background:var(--blue)}.proposed{background:var(--coral)}.context-strip{margin:0 25px;padding:19px 0 25px;display:flex;justify-content:space-between;border-top:1px solid var(--line);gap:24px}.context-strip b{font-size:15px;font-weight:500}.context-strip p{font-size:12px;color:var(--muted);margin-top:5px;max-width:650px}.context-strip a{white-space:nowrap;font-size:12px;align-self:center;text-decoration:none;border-bottom:1px solid #a9b2ac;padding-bottom:5px}.research{padding:30px;border-top:1px solid var(--line);background:#faf9f4}.research>p{margin-top:12px;color:var(--muted);font-size:14px}.selection{position:absolute;right:17px;bottom:17px;width:290px;background:#fffdf8f5;padding:18px;box-shadow:0 6px 35px #1431351c;border:1px solid #d5ddd4;border-radius:5px;font-size:13px}.selection b{font-size:16px;display:block}.selection p{margin-top:9px;color:var(--muted)}.selection button{float:right;border:0;background:none}.selection a{display:inline-block;margin-top:10px}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:7px;max-width:630px;padding:35px}dialog::backdrop{background:#18303688}dialog p{margin:20px 0;font-size:15px}dialog>button{float:right;border:0;background:none;font-size:26px}#projectList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.project{border:1px solid var(--line);padding:20px;background:var(--paper);border-radius:4px}.project h3{font-size:17px}.project p{font-size:13px;color:var(--muted);margin-top:10px}.project .status{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#a36447;margin-bottom:8px}.project a{font-size:12px;margin-right:10px}.project details{font-size:12px;margin-top:14px}.project summary{cursor:pointer}.project ul{padding-left:18px}.project li{margin:8px 0}@media(min-width:1600px){.app{grid-template-columns:300px 1fr}.sidebar{padding:40px 32px}.scene-wrap{height:calc(100vh - 347px)}}@media(max-width:1000px){.app{grid-template-columns:215px 1fr}.sidebar{padding:25px 16px}h1{font-size:25px}.edition{display:none}.view-head{padding:22px}.legend{display:none}.scene-wrap{margin:0 16px}.context-strip{margin:0 17px;display:block}.context-strip a{display:inline-block;margin-top:14px}}@media(max-width:700px){header{height:76px;padding:0 18px;justify-content:space-between;gap:10px}.brand{font-size:9px;letter-spacing:1px}.brand b{font-size:12px}.brand-mark{width:37px;height:40px}header .quiet{font-size:12px}.app{display:block}.sidebar{padding:17px 17px 0;min-height:0;border-right:0}.sidebar h1,.sidebar .intro,.sidebar .eyebrow,.sidebar-foot,.sidebar>.small{display:none}nav{display:flex;overflow-x:auto;padding-bottom:10px;gap:5px}nav button{flex-shrink:0;font-size:13px;padding:9px 12px;border:1px solid var(--line)}nav button span{display:none}.view-head{padding:16px}.view-head .eyebrow{font-size:9px}h2{font-size:24px}.view-actions button{font-size:11px;padding:8px}.view-actions{gap:4px}.scene-wrap{height:53vh;min-height:350px}.scene-info{left:13px;top:14px;font-size:9px}.scene-help{font-size:9px;left:8px;bottom:10px}.toolbar{padding:12px 16px}.toolbar button{font-size:11px;padding:8px 10px}.context-strip{padding:16px 0}.research{padding:24px 17px}#projectList{grid-template-columns:1fr}.selection{width:240px;right:10px;bottom:40px}dialog{width:calc(100% - 28px);padding:25px}}
.compare-control{margin:14px 25px 0;display:flex;align-items:center;gap:25px;font-size:14px}.compare-control input[type=range]{flex:1;max-width:450px;accent-color:var(--coral)}input[type=checkbox]{accent-color:var(--ink);width:16px;height:16px;vertical-align:-3px;margin-right:6px}.layer-controls{padding:0 25px 18px;display:flex;flex-wrap:wrap;gap:20px;font-size:13px;color:var(--muted)}#compareLabels{position:absolute;bottom:50px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}#compareLabels[hidden]{display:none}#compareLabels span{font-size:12px;background:#f6f5efdc;border:1px solid #d3d9ce;padding:5px 9px;border-radius:3px}#compareLine{position:absolute;top:0;bottom:0;width:2px;background:#fff8;pointer-events:none}.compass span{display:inline-block;transform-origin:50% 50%}.research-tools{display:flex;gap:10px;margin:24px 0 10px}.research-tools input,.research-tools select{border:1px solid var(--line);background:var(--paper);border-radius:3px;color:var(--ink);font:14px 'DM Sans',sans-serif;padding:12px}.research-tools input{flex:1;min-width:140px}#resultCount{font-size:13px;color:var(--muted)}.source-links{display:grid;gap:10px;margin-top:14px}.source-links a{font-size:13px;line-height:1.4}.coverage{font-size:12px;margin-top:14px;padding:7px 9px;background:#e8ece3;color:#49615b;border-radius:3px}.locate{font-size:13px;padding:8px 11px;border:1px solid #ccd4c8;background:transparent;border-radius:3px;margin-top:18px}.project p{font-size:14px}.project details{font-size:14px}.project .status{font-size:12px}.selection{max-height:70%;overflow:auto;width:350px}.selection .source-links a{font-size:12px}.selection p{font-size:13px}.selection h3{font-size:18px;line-height:1.3}.transit-section{background:#e7ece2;padding:42px 30px;border-top:1px solid var(--line)}.transit-section p{max-width:900px;font-size:15px;margin-top:20px;color:#486067}.transit-section a{font-size:14px}.transit-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.transit-facts strong{display:block;font:500 28px Manrope}.transit-facts span{display:block;font-size:13px;color:var(--muted);margin-top:6px}footer{padding:30px;font-size:12px;line-height:1.8;color:var(--muted)}footer div{display:flex;gap:20px;flex-wrap:wrap;margin-top:15px}footer a{font-size:13px}.scene-wrap{height:calc(100vh - 400px);min-height:420px}.scene-info{background:#f6f5efb0;padding:8px 10px;border-radius:3px;left:12px;top:12px}.scene-info span:first-child{font-size:11px}.scene-info span:last-child{font-size:12px}.empty{padding:20px 0;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1000px){.research-tools{flex-wrap:wrap}.research-tools input{flex-basis:100%}.research-tools select{flex:1}.layer-controls{gap:12px}.transit-facts{gap:18px}.compare-control{flex-wrap:wrap;gap:12px}}@media(max-width:700px){.scene-wrap{height:52vh;min-height:340px}.compare-control{margin:12px 17px 0;font-size:13px}.compare-control input[type=range]{min-width:120px;max-width:100%}.layer-controls{padding:0 17px 16px;font-size:12px;gap:10px}.selection{width:calc(100% - 20px);max-height:65%}.scene-info span:first-child{font-size:9px}.scene-info span:last-child{font-size:10px}.scene-info{max-width:85%}.transit-section{padding:30px 18px}.transit-facts{grid-template-columns:1fr;gap:16px}.transit-facts strong{font-size:24px}.research-tools select{min-width:120px;font-size:12px}.research-tools input{font-size:14px}footer{padding:25px 18px}.legend{display:none}#compareLabels{left:10px;right:10px}#compareLabels span{font-size:10px}}

.legend .uncertain{background:#956aa8}

.mobile-district{display:none}@media(max-width:980px){.mobile-district{display:flex;align-items:center;gap:14px;padding:18px 20px 0;font-size:13px}.mobile-district select{font:inherit;padding:10px;background:#fbfaf5;border:1px solid #ccd3cd;max-width:64%}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:10px}.toolbar{flex-wrap:wrap;gap:12px}}

/* Native option menus; a directly draggable, keyboard-accessible divider. */
select{appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important;cursor:default;font:inherit}select:focus-visible{outline:3px solid #368ca5;outline-offset:3px}
#compareDivider,#compareLine{border:0;border-radius:0;padding:0;position:absolute;top:0;bottom:0;height:100%;width:44px;transform:translateX(-50%);background:linear-gradient(90deg,transparent calc(50% - 1px),#fff calc(50% - 1px),#fff calc(50% + 1px),transparent calc(50% + 1px));cursor:ew-resize;touch-action:none;pointer-events:auto;z-index:4}
#compareDivider:after,#compareLine:after{content:'↔';position:absolute;left:2px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid #ccd3cf;background:#fffef6;color:#183036;border-radius:50%;display:grid;place-content:center;font:20px sans-serif;box-shadow:0 2px 12px #10202b40}
#compareDivider:focus-visible,#compareLine:focus-visible{outline:0}#compareDivider:focus-visible:after,#compareLine:focus-visible:after{outline:3px solid #368ca5;outline-offset:3px}.comparison-hint{font-size:12px;color:#637276;margin:16px 0}.picture-compare img{user-select:none;-webkit-user-drag:none}

.app{display:block}.view-head{gap:28px;flex-wrap:wrap}.view-head>div:nth-child(2){margin-right:auto}.district-picker{display:grid;gap:6px;font-size:12px;color:#637276}.district-picker select,.scenario-picker select{font:14px system-ui;color:#183036;padding:10px 12px;border:1px solid #b9c5bf;border-radius:4px;background-color:#fffef9;min-width:210px}.scenario-picker{display:flex;gap:12px;align-items:center;font-size:13px}.scene-wrap{height:65vh;min-height:470px}.toolbar{flex-wrap:wrap}.legend{display:flex;flex-wrap:wrap}.compare-control input[type=range]{display:none}.research,.transit-section,footer{padding-left:5%;padding-right:5%}@media(max-width:600px){.view-head{gap:16px}.district-picker{width:100%}.district-picker select{width:100%;min-width:0}.view-head>div:nth-child(2){margin-right:0}.scene-wrap{height:58vh;min-height:380px}.scenario-picker{width:100%}.scenario-picker select{flex:1;min-width:0}.legend{display:flex}.view-head{padding:18px 16px}}

.transit-picker{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 20px;border-bottom:1px solid #ccd3cb}.transit-picker label{display:flex;align-items:center;gap:12px}.transit-picker select{max-width:420px;padding:9px 12px;border:1px solid #aebbb1;border-radius:5px;background:#fff;color:#183036;font:inherit}.transit-key{display:flex;align-items:center;gap:7px;font-size:12px}.transit-key i{width:18px;height:4px;display:inline-block;margin-left:8px}@media(max-width:680px){.transit-picker{align-items:stretch;flex-direction:column}.transit-picker label{align-items:stretch;flex-direction:column;gap:6px}.transit-picker select{max-width:100%;width:100%}.transit-key{flex-wrap:wrap}}

/* Keep every full-width text section comfortably inside the viewport. */
:root{--page-gutter:clamp(20px,3vw,64px)}
header,.view-head,.toolbar,.layer-controls,.transit-picker,.research,.transit-section,footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.scene-wrap,.compare-control,.context-strip{margin-left:var(--page-gutter);margin-right:var(--page-gutter)}
.context-strip{gap:28px}.context-strip>div{min-width:0}.context-strip p{max-width:100ch}.context-strip>a{flex-shrink:0}#projectList .project{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){:root{--page-gutter:18px}}

/* Model navigation remains explicit on mouse, trackpad, touch and keyboard. */
#scene{touch-action:none;cursor:grab}#scene:active{cursor:grabbing}#scene:focus-visible{outline:3px solid #368ca5;outline-offset:-3px}.navigation-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px var(--page-gutter) 0}.navigation-tools>span{font-size:12px;color:#637276;line-height:1.6}.navigation-modes,.zoom-buttons{display:flex;gap:4px}.navigation-tools button{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid #b9c5bf;background:#fffef9;color:#183036;border-radius:5px;font:inherit;cursor:pointer}.navigation-modes button[aria-pressed=true]{background:#183036;color:#fffef9}.navigation-tools button:focus-visible{outline:3px solid #368ca5;outline-offset:3px}.scene-help{pointer-events:none;max-width:calc(100% - 24px);text-align:center;line-height:1.5}.scene-help span{display:inline}#loading button{padding:12px 18px;margin-top:12px;cursor:pointer}#sceneWrap[aria-busy=true] .scene-help{visibility:hidden}@media(max-width:600px){.navigation-tools{gap:10px}.navigation-tools>span{width:100%}.scene-help{font-size:10px}}

.brand-logo{width:38px;height:40px;object-fit:contain;flex-shrink:0}@media(max-width:600px){.brand-logo{width:29px;height:32px}}
