@keyframes mpIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}:root{--paper:#F7F5F0;--paper-raised:#FCFBF8;--ink:#1C1B19;--ink-soft:#55524A;--ink-faint:#8B8778;--emerald:#0F5C4C;--emerald-soft:#E4EEE9;--gold:#8A6D2F;--gold-soft:#F3ECDB;--brick:#9C3B2E;--brick-soft:#F5E6E2;--rule:#D8D2C4;--rule-strong:#B9B29E;--serif:'Source Serif 4', Georgia, serif;--sans:'Inter', -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}.search-row input,body{font-family:var(--sans);color:var(--ink)}body{background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-wrap:break-word}.wrap{margin:0 auto;padding:0 24px 120px}header{border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;padding:20px 0 16px;gap:12px}.search-block{padding:40px 0 8px}.search-block h1{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.28;max-width:560px;letter-spacing:-.01em;font-size:clamp(22px,3.6vw,28px)}.search-block p.lede{margin-top:10px;color:var(--ink-soft);font-size:14.5px;max-width:520px}.search-row{margin-top:22px;display:flex;gap:10px;position:relative}.search-row input{flex:1;background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:3px;padding:13px 15px}.search-row input::placeholder{color:var(--ink-faint)}.field input:focus,.search-row input:focus{outline:0;border-color:var(--emerald)}.btn{background:var(--emerald);color:var(--paper-raised);border:0;border-radius:3px;padding:13px 22px;font-family:var(--sans);font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}.btn:hover{background:#0c4a3d}.btn:disabled{background:var(--rule-strong);cursor:not-allowed}.btn-ghost{background:0 0;border:1px solid var(--rule-strong);color:var(--ink-soft)}.btn-ghost:hover{border-color:var(--ink-soft);color:var(--ink)}.suggest-panel{background:var(--paper-raised);border:1px solid var(--rule);border-radius:4px;overflow:hidden;display:none}.suggest-panel.active{display:block}.suggest-row{padding:11px 15px;font-size:13.5px;cursor:pointer;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}.suggest-row:last-child{border-bottom:none}.suggest-row:hover{background:var(--emerald-soft)}.suggest-row .stype{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.suggest-chips{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:12.5px;color:var(--ink-soft);border:1px solid var(--rule);border-radius:20px;padding:5px 12px;cursor:pointer;background:var(--paper-raised)}.chip:hover{border-color:var(--emerald);color:var(--emerald)}.pref-section{margin-top:40px;border-top:1px solid var(--rule);padding-top:30px;display:none}.pref-section.active{display:block}.section-label{font-size:12px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.pref-section h2{font-family:var(--serif);font-size:20px;font-weight:500;margin-bottom:6px}.match-summary,.pref-section p.hint{font-size:13.5px;color:var(--ink-soft)}.pref-section p.hint{max-width:560px;margin-bottom:18px}.match-summary{background:var(--paper-raised);border:1px solid var(--rule);border-radius:4px;padding:16px 18px;margin-bottom:22px}.match-summary b{color:var(--ink)}.pref-lists{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:16px}@media (max-width:640px){.pref-lists{grid-template-columns:1fr}}.pref-col-label{font-size:12px;color:var(--ink-faint);margin-bottom:9px}.pool{display:flex;flex-direction:column;gap:8px;min-height:44px}.field input,.field select,.pref-item{background:var(--paper-raised);border-radius:3px;font-size:13.5px}.pref-item{border:1px solid var(--rule);padding:10px 12px;display:flex;align-items:center;gap:9px;cursor:grab;user-select:none}.pref-item:active{cursor:grabbing}.pref-item.dragging{opacity:.4}.pref-item .handle{color:var(--ink-faint);font-size:12px;letter-spacing:2px}.pref-item .rank{font-family:var(--serif);font-weight:600;color:var(--emerald);width:16px;flex-shrink:0}.pref-item .name{flex:1}.pref-item .weight-tag{font-size:11.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.ranked .pref-item{border-color:var(--emerald);background:var(--emerald-soft)}.pool-empty{border:1px dashed var(--rule-strong);border-radius:3px;padding:14px;font-size:12.5px;color:var(--ink-faint);text-align:center}.pref-actions{margin-top:22px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.weight-note{font-size:12px;color:var(--ink-faint);margin-top:12px}.area-input-row{margin-top:18px;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--ink-faint)}.field input,.field select{border:1px solid var(--rule-strong);padding:9px 11px;color:var(--ink)}.field input{width:190px;-webkit-text-fill-color:var(--ink)}.field select{font-family:var(--sans)}.results{margin-top:40px;display:none}.results.active{display:block}.result-header{border-top:1px solid var(--rule);padding-top:30px}.result-header .addr{font-family:var(--serif);font-size:23px;font-weight:500}.result-header .meta{color:var(--ink-soft);font-size:13px;margin-top:4px}.ledger{margin-top:26px;background:var(--paper-raised);border:1px solid var(--rule);border-radius:4px;overflow:hidden}.ledger-top{padding:20px 22px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:12px}.ledger-top .label{font-size:11.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.ledger-top .value{font-family:var(--serif);font-size:32px;font-weight:600}.ledger-top .value .unit{font-size:14px;color:var(--ink-soft);font-family:var(--sans);font-weight:400;margin-left:4px}.ledger-top .sub{font-size:12.5px;color:var(--ink-soft);margin-top:4px}.ledger-top .vs{text-align:right}.ledger-rows{padding:4px 22px}.ledger-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule);font-size:13.5px}.ledger-row:last-child{border-bottom:none}.ledger-row .rname{display:flex;align-items:center;gap:8px}.ledger-row .rank-badge{font-size:10px;background:var(--emerald);color:var(--paper-raised);border-radius:10px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.ledger-row .score{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12.5px}.ledger-row .impact{font-variant-numeric:tabular-nums;font-weight:600;margin-left:16px;min-width:90px;text-align:right}.ledger-total{padding:16px 22px;background:var(--emerald-soft);display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-weight:600;font-size:17px}.compare-strip{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden}@media (max-width:700px){.compare-strip{grid-template-columns:1fr}}.compare-cell,.rr-input-row input{background:var(--paper-raised);padding:16px 18px}.compare-cell .clabel{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}.compare-cell .cvalue{font-family:var(--serif);font-size:19px;font-weight:600}.compare-cell .cdelta{font-size:12px;margin-top:4px;color:var(--ink-soft)}.compare-cell .cdelta.up{color:var(--emerald)}.compare-cell .cdelta.down{color:var(--brick)}.rr-box{margin-top:18px;background:var(--gold-soft);border:1px solid var(--rule);border-radius:4px;padding:16px 18px}.rr-box .rrlabel{font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.rr-input-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rr-input-row input{border:1px solid var(--rule-strong);border-radius:3px;padding:9px 11px;font-size:13.5px;width:180px}.rr-result{margin-top:14px;font-size:13.5px;display:none}.rr-result.active{display:block}.rr-result .rr-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rule-strong)}.rr-result .rr-row:last-child{border-bottom:none;font-weight:600}.factor-detail{margin-top:34px}.altprop-section h3,.amenity-note h3,.comps-section h3,.factor-detail h3,.growth-section h3{font-family:var(--serif);font-size:17px;font-weight:500;margin-bottom:13px}.factor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width:640px){.factor-grid{grid-template-columns:1fr}}.factor-card{border:1px solid var(--rule);border-radius:4px;padding:15px 17px;background:var(--paper-raised)}.factor-card .fname{font-size:13px;font-weight:600;display:flex;justify-content:space-between}.factor-card .fname .frank{color:var(--ink-faint);font-weight:400;font-size:11.5px}.factor-card .fbar-track{height:5px;background:var(--rule);border-radius:3px;margin:10px 0 8px;overflow:hidden}.factor-card .fbar-fill{height:100%;background:var(--emerald)}.factor-card .fdetail{font-size:12px;color:var(--ink-soft)}.comps-section{margin-top:34px}.comps-lede{font-size:13px;color:var(--ink-soft);margin-bottom:14px}.comp-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--rule);font-size:13.5px}.comp-row:first-child{border-top:1px solid var(--rule)}.comp-row .cleft{color:var(--ink)}.comp-row .cright{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right}.growth-section{margin-top:34px}.growth-box{border:1px solid var(--rule);border-radius:4px;background:var(--paper-raised);padding:18px 20px}.growth-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--rule);font-size:13.5px}.growth-row:last-child,table.cmp tbody tr:last-child td{border-bottom:none}.growth-row .gval{font-weight:600;font-variant-numeric:tabular-nums}.growth-drivers{margin-top:12px;font-size:12.5px;color:var(--ink-soft)}.altprop-section{margin-top:34px}.altprop-lede{font-size:13px;color:var(--ink-soft);margin-bottom:14px;max-width:580px}.alt-card,.controls-row .field select,table.cmp{background:var(--paper-raised)}.alt-card,.amenity-note{border:1px solid var(--rule);border-radius:4px}.alt-card{padding:15px 17px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center;gap:16px}.alt-card .aleft .aname{font-weight:600;font-size:14px}.alt-card .aleft .adesc{font-size:12px;color:var(--ink-soft);margin-top:3px}.alt-card .aright{text-align:right;flex-shrink:0}.alt-card .aright .aprice{font-family:var(--serif);font-weight:600;font-size:15px}.alt-card .aright .amatch{font-size:11px;color:var(--emerald);margin-top:2px}.amenity-note{margin-top:34px;background:var(--brick-soft);padding:16px 18px}.amenity-note p{font-size:13px;color:#7a2e23;color:var(--brick-text)}.disclaimer,table.cmp thead th{font-size:11.5px;color:var(--ink-faint)}.disclaimer{margin-top:40px;border-top:1px solid var(--rule);padding-top:18px;line-height:1.6}.loading-state{display:none;padding:50px 0;text-align:center;color:var(--ink-faint);font-size:14px}.loading-state.active{display:block}.source-tag{display:inline-block;font-size:10.5px;background:var(--emerald-soft);color:var(--emerald);padding:2px 7px;border-radius:3px;margin-left:8px;vertical-align:middle}.controls-row{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin:18px 0 6px}.controls-row .field select{border:1px solid var(--rule-strong);border-radius:3px;padding:9px 11px;font-size:13.5px;width:150px;font-family:var(--sans);color:var(--ink)}.controls-row .field input{width:150px}.table-wrap{margin-top:20px;overflow-x:auto;border:1px solid var(--rule);border-radius:4px}table.cmp{border-collapse:collapse;width:100%;min-width:980px}table.cmp thead th{text-align:left;font-weight:600;padding:12px 14px;border-bottom:1px solid var(--rule-strong);white-space:nowrap;background:var(--emerald-soft)}table.cmp tbody td{padding:14px;border-bottom:1px solid var(--rule);font-size:13px;vertical-align:top}table.cmp tbody tr:hover{background:#fbf9f4;background:var(--hover-row)}.cell-rank{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--emerald);width:28px}.cell-project .pname{font-weight:600;font-size:13.5px}.cell-project .plocality{color:var(--ink-soft);font-size:12px;margin-top:2px}.badge{display:inline-block;font-size:10px;padding:2px 7px;border-radius:3px;margin-top:5px;margin-right:4px}.badge.tier1{background:var(--emerald-soft);color:var(--emerald)}.badge.tier2{background:var(--gold-soft);color:var(--gold)}.badge.status{background:var(--rule);color:var(--ink-soft)}.cell-rate .rate-main{font-family:var(--serif);font-weight:600;font-size:14px}.cell-rate .rate-sub{color:var(--ink-faint);font-size:11px;margin-top:2px}.cell-growth{font-variant-numeric:tabular-nums}.cell-growth .gpos{color:var(--emerald);font-weight:600}.cell-growth .gneg{color:var(--brick);font-weight:600}.cell-conn{font-size:12px;color:var(--ink-soft);max-width:150px}.cell-area,.cell-rr{font-variant-numeric:tabular-nums;font-size:12.5px}.score-bar-wrap{display:flex;align-items:center;gap:8px}.score-bar-track{width:54px;height:5px;background:var(--rule);border-radius:3px;overflow:hidden;flex-shrink:0}.score-bar-fill{height:100%;background:var(--emerald)}.score-num{font-family:var(--serif);font-weight:600;font-size:13px}.no-results{padding:40px 0;text-align:center;color:var(--ink-faint);font-size:14px}.toggle-group{display:flex;border:1px solid var(--rule-strong);border-radius:3px;overflow:hidden;width:fit-content}.toggle-btn{background:var(--paper-raised);border:0;font-size:13px;font-family:var(--sans);color:var(--ink-soft);cursor:pointer;border-right:1px solid var(--rule-strong)}.toggle-btn:last-child{border-right:none}.toggle-btn.active{background:var(--emerald);color:var(--paper-raised)}.cell-amenity{font-size:11.5px;color:var(--ink-soft);max-width:170px}.cell-amenity .am-group{margin-bottom:3px}.cell-amenity .am-none{color:var(--ink-faint);font-style:italic}.rr-tag{font-size:9.5px;padding:1px 5px;border-radius:2px;margin-left:4px}.rr-tag.researched{background:var(--emerald-soft);color:var(--emerald)}.rr-tag.estimated{background:var(--gold-soft);color:var(--gold)}.cell-growth .g5yr{font-size:11px;color:var(--ink-faint);margin-top:2px}.mode-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.mode-btn{background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:3px;padding:11px 16px;font-size:13.5px;font-family:var(--sans);color:var(--ink-soft);cursor:pointer;text-align:left;flex:1;min-width:150px}.mode-btn .mtitle{font-weight:600;color:var(--ink);font-size:13.5px}.mode-btn .msub{font-size:11.5px;color:var(--ink-faint);margin-top:2px}.mode-btn.active{border-color:var(--emerald);background:var(--emerald-soft)}.mode-btn.active .mtitle{color:var(--emerald)}.mode-view{display:none}.mode-view.active{display:block}.calc-form{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:760px){.calc-form{grid-template-columns:1fr 1fr}}@media (max-width:520px){.calc-form{grid-template-columns:1fr}}.calc-form .field input,.calc-form .field select{width:100%}.calc-form .field.checkbox{flex-direction:row;align-items:center;gap:8px}.calc-form .field.checkbox label{font-size:13px;color:var(--ink);order:2}.calc-form .field.checkbox input{width:auto}.calc-note{font-size:12px;color:var(--ink-faint);margin-top:16px;max-width:600px}.ledger-section-label{font-size:11.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;padding:14px 22px 4px}.ledger-row .rtag{font-size:10px;color:var(--ink-faint);margin-left:6px}.assumptions-box,.fsi-preview,.profit-box{border:1px solid var(--rule);border-radius:4px}.profit-box{margin-top:18px;background:var(--gold-soft);padding:18px 20px}.fsi-preview .fp-label,.profit-box .prow{display:flex;justify-content:space-between}.profit-box .prow{padding:8px 0;font-size:14px}.profit-box .prow.total{border-top:1px solid var(--rule-strong);margin-top:6px;padding-top:12px;font-family:var(--serif);font-weight:600;font-size:17px}.brand span,.profit-box .prow .pos{color:var(--emerald)}.profit-box .prow .neg{color:var(--brick)}.assumptions-box,.fsi-preview{margin-top:22px;background:var(--paper-raised);padding:16px 18px}.assumptions-box h4{font-family:var(--serif);font-size:14px;font-weight:500;margin-bottom:8px}.assumptions-box ul{padding-left:18px;font-size:12px;color:var(--ink-soft)}.assumptions-box li{margin-bottom:4px}.fsi-preview{margin-top:18px}.fsi-preview .fp-label{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;align-items:baseline}.fsi-preview .fp-total{font-family:var(--serif);font-size:15px;color:var(--ink);font-weight:600;text-transform:none;letter-spacing:0}.fsi-stack,.fsi-stack .seg{display:flex;overflow:hidden}.fsi-stack{height:28px;border-radius:4px;background:var(--rule)}.fsi-stack .seg{height:100%;transition:width .25s ease;align-items:center;justify-content:center;font-size:10.5px;color:#fff;font-weight:600;white-space:nowrap}.fsi-stack .seg.basic{background:var(--emerald)}.fsi-stack .seg.premium{background:var(--gold)}.fsi-stack .seg.tdr{background:#8b6f9e}.fsi-stack .seg.fungible{background:var(--ink-faint)}.fsi-stack .seg.empty-note,.mp-head span{color:var(--ink-faint)}.fsi-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:11.5px;color:var(--ink-soft)}.fsi-legend .litem{display:flex;align-items:center;gap:5px}.fsi-legend .lswatch{width:9px;height:9px;border-radius:2px;flex-shrink:0}.fsi-legend .lswatch.basic{background:var(--emerald)}.fsi-legend .lswatch.premium{background:var(--gold)}.fsi-legend .lswatch.tdr{background:#8b6f9e}.fsi-legend .lswatch.fungible{background:var(--ink-faint)}.fsi-preview .fp-perunit{margin-top:10px;font-size:11.5px;color:var(--ink-faint);border-top:1px solid var(--rule);padding-top:10px}:root{--emerald-strong:#0c4a3d;--brick-text:#7a2e23;--hover-row:#FBF9F4;--seg-text:#ffffff;--tdr:#8B6F9E;--shadow:rgba(28,27,25,.10);--scrim:rgba(20,20,18,.52);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}html{scroll-padding-top:env(safe-area-inset-top,0);-webkit-text-size-adjust:100%}.btn:hover{background:var(--emerald-strong)}.fsi-stack .seg{color:var(--seg-text)}.fsi-legend .lswatch.tdr,.fsi-stack .seg.tdr{background:var(--tdr)}:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}.field input:focus-visible,.search-row input:focus-visible{outline:0}.wrap{max-width:1320px;padding:0 max(20px,env(safe-area-inset-right,0)) 96px max(20px,env(safe-area-inset-left,0))}.brand{font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:.01em;color:var(--ink);text-decoration:none;white-space:nowrap}.header-mid{flex:1;min-width:0}.tagline{font-size:13px;color:var(--ink-faint)}.auth-area{display:flex;align-items:center;gap:10px;margin-left:auto}.btn-sm{padding:9px 16px;min-height:40px;font-size:13.5px}.btn-link{background:0 0;border:0;color:var(--ink-soft);font:600 13.5px var(--sans);cursor:pointer;padding:9px 6px;min-height:40px}.btn-link:hover,.site-footer .sf-brand span{color:var(--emerald)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--emerald);color:var(--paper-raised);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.uname{font-size:13.5px;font-weight:600;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{min-height:44px}.home-title{font-family:var(--serif);font-weight:500;font-size:clamp(22px,4vw,30px);letter-spacing:-.01em;margin:34px 0 20px}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.home-card{text-align:left;background:var(--paper-raised);color:var(--ink);border:1px solid var(--rule);border-radius:10px;padding:22px 22px 18px;cursor:pointer;display:flex;flex-direction:column;gap:10px;min-height:172px;font-family:var(--sans);transition:border-color .15s,transform .15s,box-shadow .15s}.home-card:hover{border-color:var(--emerald);transform:translateY(-2px);box-shadow:0 8px 22px var(--shadow)}.hc-title{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.25}.hc-desc{font-size:14px;color:var(--ink-soft);line-height:1.55;flex:1}.hc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--ink-faint)}.hc-go{color:var(--emerald);font-weight:700;font-size:13px;white-space:nowrap}.tool-bar{display:flex;align-items:center;gap:12px;padding:16px 0 0;flex-wrap:wrap}.back-btn{background:0 0;border:1px solid var(--rule-strong);color:var(--ink-soft);border-radius:999px;padding:8px 16px;min-height:40px;font:600 13px var(--sans);cursor:pointer}.back-btn:hover{border-color:var(--emerald);color:var(--emerald)}.tool-name{font-size:13px;color:var(--ink-faint)}.search-block{padding-top:22px}.search-row input{min-width:0;font-size:16px;min-height:46px}.suggest-panel{position:absolute;top:100%;left:0;right:0;z-index:30;margin-top:4px;box-shadow:0 10px 28px var(--shadow);max-height:60vh;overflow-y:auto}.suggest-row{min-height:44px;align-items:center;gap:12px}.pref-item{min-height:46px}.pref-item.tappable{cursor:pointer}.pref-item.tappable:hover{border-color:var(--emerald)}.add-hint{font-size:12px;font-weight:700;color:var(--emerald);margin-left:auto;white-space:nowrap}.rank-ctl{display:inline-flex;gap:4px;margin-left:4px}.rc-btn{background:var(--paper-raised);border:1px solid var(--rule-strong);color:var(--ink-soft);border-radius:6px;width:34px;height:34px;font-size:12px;cursor:pointer;line-height:1}.rc-btn:hover:not(:disabled){border-color:var(--emerald);color:var(--emerald)}.rc-btn:disabled{opacity:.35;cursor:default}@media (pointer:coarse){.pref-item .handle{display:none}.rc-btn{width:40px;height:40px}}.assumptions-box,.head-cards,.ledger,.profit-box{max-width:900px}.lock-card{margin-top:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--emerald-soft);border:1px solid var(--rule-strong);border-radius:10px;padding:18px 20px}.lock-card svg{flex-shrink:0;color:var(--emerald)}.lock-text{flex:1 1 240px;min-width:0;font-size:14px;color:var(--ink-soft);line-height:1.5}.lock-text strong{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}.lock-actions{display:flex;gap:10px;flex-wrap:wrap}.ghost-rows{margin-top:14px;display:grid;gap:10px}.ghost-row{height:58px;border-radius:10px;border:1px solid var(--rule);background:linear-gradient(90deg,var(--rule)0,var(--rule) 38%,var(--paper-raised) 38%,var(--paper-raised) 100%);opacity:.55;filter:blur(2.5px)}.head-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-top:20px}.head-card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:10px;padding:16px 18px}.head-card .hk,.head-card.locked .hv{color:var(--ink-faint);font-weight:600}.head-card .hk{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.head-card .hv,.modal h2{font-family:var(--serif);font-size:24px;font-weight:600}.head-card .hs{font-size:12px;color:var(--ink-faint);margin-top:6px;line-height:1.45}.head-card.locked{border-style:dashed;background:0 0}.head-card.locked .hv{font-size:15px;font-family:var(--sans);display:flex;align-items:center;gap:8px}#results-redevelopment .lock-card,.profit-box.teaser{max-width:900px}.profit-box.teaser .prow.total{border-top:0;margin-top:0;padding-top:0}.modal-overlay{position:fixed;inset:0;z-index:100;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.modal-overlay[hidden]{display:none}.modal{position:relative;width:100%;max-width:440px;background:var(--paper-raised);color:var(--ink);border:1px solid var(--rule);border-radius:14px;padding:26px 24px 22px;box-shadow:0 24px 60px var(--shadow);margin:auto}.modal-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;background:0 0;color:var(--ink-faint);font-size:26px;line-height:1;cursor:pointer;border-radius:50%}.modal-close:hover{color:var(--ink);background:var(--emerald-soft)}.auth-tabs{display:inline-flex;border:1px solid var(--rule-strong);border-radius:999px;padding:3px;margin-bottom:16px}.auth-tab{border:0;background:0 0;color:var(--ink-soft);font:600 13px var(--sans);padding:8px 18px;border-radius:999px;cursor:pointer}.auth-tab[aria-selected=true]{background:var(--emerald);color:var(--paper-raised)}.modal h2{font-size:22px;margin-bottom:6px;padding-right:30px}.auth-context{font-size:14px;color:var(--ink-soft);margin-bottom:14px;line-height:1.5}.auth-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.auth-field label{font-size:12.5px;font-weight:600;color:var(--ink-soft)}.auth-field input[type=email],.auth-field input[type=tel],.auth-field input[type=text]{width:100%;font:16px var(--sans);min-height:46px;padding:10px 12px;background:var(--paper);color:var(--ink);-webkit-text-fill-color:var(--ink);border:1px solid var(--rule-strong);border-radius:8px}.auth-field input:focus{outline:0;border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-soft)}.auth-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:4px 0 12px}.auth-consent input{width:20px;height:20px;margin-top:1px;flex-shrink:0;accent-color:var(--emerald)}.auth-error{min-height:20px;font-size:13px;color:var(--brick);font-weight:600;margin-bottom:10px}.auth-submit{width:100%}.auth-switch{text-align:center;font-size:13px;color:var(--ink-faint);margin-top:12px}.auth-switch button{background:0 0;border:0;color:var(--emerald);font:700 13px var(--sans);cursor:pointer;min-height:40px;padding:8px}@media (max-width:1240px){.table-wrap{overflow:visible;border:0;background:0 0;margin-top:14px}table.cmp{min-width:0;background:0 0;border-collapse:separate}table.cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}table.cmp,table.cmp tbody{display:block}table.cmp tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;position:relative;border:1px solid var(--rule);border-radius:12px;padding:16px;margin-bottom:14px}table.cmp tbody tr,table.cmp tbody tr:hover{background:var(--paper-raised)}table.cmp tbody td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere}table.cmp tbody td::before{content:attr(data-label);display:block;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}table.cmp tbody td.cell-rank{position:absolute;top:14px;right:14px;width:auto;background:var(--emerald-soft);color:var(--emerald);padding:3px 11px;border-radius:999px;font-size:13px}table.cmp tbody td.cell-rank::before{content:"#";display:inline;margin:0;font-size:inherit;letter-spacing:0;color:inherit;text-transform:none}table.cmp tbody td.cell-amenity-col,table.cmp tbody td.cell-match,table.cmp tbody td.cell-project{grid-column:1/-1}table.cmp tbody td.cell-project{padding-right:56px}table.cmp tbody td.cell-match::before,table.cmp tbody td.cell-project::before{display:none}.cell-amenity,.cell-conn{max-width:none}}@media (min-width:700px) and (max-width:1240px){table.cmp tbody tr{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){header{padding:14px 0 12px}.header-mid,.tagline{display:none}.home-title{margin:22px 0 14px}.home-card{padding:18px 18px 14px;min-height:0}input,select,textarea{font-size:16px!important}.controls-row .field input,.controls-row .field select,.field input{width:100%}.controls-row{gap:12px}.controls-row .field,.pref-actions .btn{flex:1 1 140px}.calc-form .field input,.calc-form .field select{min-height:44px}.btn,.btn-ghost{min-height:46px}.ledger-top{padding:16px}.ledger-top .value{font-size:26px}.ledger-rows{padding:2px 16px}.ledger-row{gap:12px}.ledger-row .rname{flex:1 1 0;min-width:0;overflow-wrap:anywhere;flex-wrap:wrap}.ledger-row .impact{min-width:0;margin-left:0;white-space:nowrap}.ledger-total{padding:14px 16px;font-size:16px;gap:10px}.profit-box{padding:16px}.profit-box .prow{gap:12px;align-items:flex-start}.profit-box .prow>span:first-child{min-width:0;overflow-wrap:anywhere}.profit-box .prow>span:last-child{text-align:right}.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;margin:0;border-radius:16px 16px 0 0;border-bottom:0;padding:22px 18px calc(18px + env(safe-area-inset-bottom,0))}.lock-actions{width:100%}.lock-actions .btn{flex:1 1 140px}}input::placeholder{color:var(--ink-faint);-webkit-text-fill-color:var(--ink-faint);opacity:1}.brand{display:inline-flex;align-items:center;min-height:40px}.controls-row .field input,.controls-row .field select,.field.checkbox,.toggle-btn{min-height:44px}.field.checkbox input[type=checkbox]{width:22px;height:22px;flex-shrink:0;accent-color:var(--emerald);cursor:pointer}.field.checkbox label{cursor:pointer;padding:8px 0;flex:1}.toggle-btn{padding:0 18px}.auth-tab{min-height:40px}.auth-consent{min-height:44px;padding:6px 0}@media (max-width:430px){.uname{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (hover:none){.home-card:hover{transform:none;box-shadow:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.more-prefs{margin-top:16px;border:1px dashed var(--rule-strong);border-radius:12px;padding:14px 16px;background:var(--paper-raised)}.more-prefs.locked{opacity:.75}.more-prefs.open{border-style:solid;border-color:var(--emerald)}.more-prefs.open:not(.seen){animation:mpIn .4s ease}.mp-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;font-size:13px}.mp-list{margin-top:10px;max-height:290px;overflow-y:auto;display:grid;gap:8px;padding-right:4px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.mp-item{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;text-align:left;width:100%;min-height:52px;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);cursor:pointer;color:var(--ink);font-family:var(--sans);transition:border-color .2s,transform .2s}.mp-item:hover{border-color:var(--emerald);transform:translateX(2px)}.mp-n{font-weight:600;font-size:14px}.mp-d{flex:1 1 180px;font-size:12px;color:var(--ink-faint)}.site-footer{margin-top:56px;padding:24px 0 8px;border-top:1px solid var(--rule)}.site-footer .sf-brand{font-family:var(--serif);font-weight:600;font-size:18px}.site-footer .sf-line{margin-top:6px;font-size:14px;color:var(--ink-soft)}.site-footer .sf-small{margin-top:8px;font-size:11.5px;color:var(--ink-faint);line-height:1.6;max-width:760px}