:root{--brand:#c51212;--brand-hover:#a50f0f;--brand-soft:#fff1f0;--ink:#242528;--muted:#63666d;--canvas:#f4f5f7;--surface:#fff;--line:#e4e5e9;--sans:'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif;--radius:8px;--control-radius:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:16px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:.875rem;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--brand);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}p{margin:0 0 12px}h1,h2,h3{font-weight:600;line-height:1.45}svg{display:inline-block}.svg-icon{width:18px;height:18px;stroke-width:1.6;flex-shrink:0;vertical-align:middle}.is-hidden,[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-80px;background:var(--brand);color:white;padding:12px;z-index:9999}.skip-link:focus{top:8px}
/* Official identity, restrained product navigation. */
.brand-utility{height:34px;background:#f8f8f9;color:var(--muted);border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.brand-utility>div{display:flex;gap:24px}.brand-utility a{color:var(--muted)}.utility-separator{margin:0 10px;color:#b0b1b5}.topbar{height:88px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px;padding:0 32px}.brand{display:flex;align-items:center;gap:22px;padding:0;flex-shrink:0}.brand img{display:block;width:204px;height:auto}.brand-product{border-left:1px solid var(--line);padding-left:20px;font-size:1rem;font-weight:500;white-space:nowrap}.topbar nav{display:flex;align-self:stretch;gap:32px;margin-left:auto}.nav-item{position:relative;color:var(--muted);padding:0 2px;white-space:nowrap}.nav-item:hover{color:var(--brand)}.nav-item.active{color:var(--brand);font-weight:600}.nav-item.active:after{content:'';position:absolute;height:3px;left:0;right:0;bottom:0;background:var(--brand)}.top-actions{margin-left:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:9px 16px;border-radius:var(--control-radius);border:1px solid transparent;font-size:.875rem;font-weight:500;line-height:1.5;transition:background .16s,border-color .16s}.btn-dark{background:var(--brand);color:white}.btn-dark:hover{background:var(--brand-hover)}.btn-dark:active{background:#8e0c0c}.btn-small{min-height:40px;padding:9px 16px}.btn-outline{border-color:#c9cbd1;background:white}.btn-outline:hover{border-color:#92959e;background:#fafafa}.btn-soft{background:#f0f1f3;border-color:#ececf0}.btn-soft:hover{background:#e5e6e9}.btn-wide{width:100%}.text-btn{display:inline-flex;align-items:center;gap:8px;padding:5px 0;color:var(--brand);font-size:.875rem;min-height:36px}.text-btn:hover{text-decoration:underline}.icon-btn{display:grid;place-items:center;width:36px;height:36px;color:var(--muted);border-radius:6px}.icon-btn:hover{background:#eff0f2}
/* The family form is persistent context, results are the working surface. */
.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1920px;margin:auto}.sidebar{position:sticky;top:0;align-self:start;max-height:100dvh;overflow-y:auto;padding:24px 20px 32px;background:#fff;border-right:1px solid var(--line)}.side-heading{display:flex;align-items:center;justify-content:space-between}.side-heading h2{font-size:1rem;margin:0}.side-intro{font-size:.75rem;color:var(--muted);margin:4px 0 24px}.field{padding:0;border:0;min-width:0;margin:0 0 20px}.field label,.field legend{font-size:.75rem;font-weight:500;display:block;margin:0 0 8px;color:#46484e}.field select,.form-select,.sort-select{appearance:none;border:1px solid #d3d5db;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='m3 4 3 3 3-3' stroke='%2363666d' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;border-radius:var(--control-radius);padding:0 30px 0 12px;min-height:40px;color:var(--ink);width:100%;font-size:.875rem}.field select:hover,.form-select:hover,.sort-select:hover{border-color:#999ca5}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;background:#f1f2f4;border:1px solid var(--line);border-radius:6px}.segmented button{font-size:.75rem;white-space:nowrap;min-height:34px;padding:6px 2px;border-radius:4px;color:var(--muted)}.segmented button:hover{background:#e7e8eb}.segmented button.selected{background:white;color:var(--brand);box-shadow:0 1px 3px #20232b12;font-weight:600}.field-hint{display:block;font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:8px}.budget-field{padding:0 0 20px}.label-row{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:500}.label-row output{font-size:1.25rem;color:var(--brand);font-weight:600;font-variant-numeric:tabular-nums}.budget-field input[type=range]{width:100%;height:16px;accent-color:var(--brand);cursor:pointer;margin:15px 0 8px}.budget-field input:disabled{opacity:.35;cursor:default}.range-labels{display:flex;justify-content:space-between;gap:6px;font-size:.75rem;color:var(--muted)}.range-labels span:nth-child(2){font-size:.75rem}.check-row{display:flex;align-items:flex-start;gap:8px;line-height:1.7;font-size:.875rem;cursor:pointer}.check-row input,.compare-check input{width:16px;height:16px;margin:3px 0 0;accent-color:var(--brand);flex-shrink:0;cursor:pointer}.unknown-budget{font-size:.75rem;color:var(--muted);margin-top:12px}.more-conditions{border-top:1px solid var(--line);padding-top:16px}.more-conditions summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:36px;margin-bottom:14px;cursor:pointer;font-size:.875rem}.more-conditions summary::-webkit-details-marker{display:none}.more-conditions summary span{font-size:1rem}.more-conditions[open] summary span{transform:rotate(45deg)}.sidebar-note{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#f6f6f8;border-radius:6px;margin-top:8px}.sidebar-note .svg-icon{margin-top:2px;color:var(--muted)}.sidebar-note p{margin:0;font-size:.75rem;color:var(--muted);line-height:1.8}.side-source{margin-top:12px;font-size:.75rem;color:var(--muted)}.filter-close{display:none!important}
main{min-width:0;padding:28px 32px 0}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}.hero h1{font-size:1.75rem;letter-spacing:-.5px;margin:0 0 8px}.hero p{color:var(--muted);margin:0;font-size:.875rem}.hero-cta{flex-shrink:0}.demo-note{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:6px;margin:0 0 24px;font-size:.75rem;color:var(--muted);line-height:1.8}.demo-note .svg-icon{margin-top:2px;width:16px;height:16px}.demo-note strong{color:#46484e;margin-right:8px;font-weight:500}.demo-note button{white-space:nowrap;min-height:24px;color:var(--muted);font-size:.75rem;margin-left:auto;padding:0}.demo-note button:hover{color:var(--brand)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-title h2{font-size:1.25rem;margin:0 0 6px}.section-title h1{font-size:1.75rem;margin:0 0 8px}.section-title p{font-size:.875rem;color:var(--muted);margin:0}.section-controls{display:flex;gap:12px;align-items:center}.results-count{font-size:.75rem;color:var(--muted);white-space:nowrap}.sort-select{width:156px;min-height:36px;font-size:.75rem}.profile-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.tag{display:inline-flex;align-items:center;padding:3px 7px;background:#f2f3f5;border:1px solid #e9eaee;border-radius:4px;color:#5b5e65;font-size:.75rem;line-height:1.5}.tag.outline{background:transparent;border-color:#dcdde3}.tag.warm{background:#f4f4f6;color:#555860}.change-note{font-size:.75rem;line-height:1.8;padding:10px 12px;background:#fff;border:1px solid var(--line);margin:0 0 16px;border-radius:6px;color:var(--muted)}
/* Comparison rows: identity on the left; money aligned on the right. */
.results-workbench{min-width:0}.plans-grid{display:grid;gap:16px}.plan-card{background:var(--surface);border:1px solid #dedfe5;border-radius:8px;overflow:hidden}.plan-card.selected-card{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.compare-check{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted);cursor:pointer;min-height:24px}.compare-check input{margin:0}.plan-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;padding:20px}.plan-school{min-width:0}.school-heading h3{font-size:1.25rem;margin:0 0 4px}.school-heading small{display:block;color:var(--muted);font-size:.75rem;line-height:1.5}.school-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px}.housing-strip{margin:0 0 12px}.housing-row{display:flex;align-items:center;gap:7px;font-size:.875rem}.housing-row .svg-icon{color:var(--muted)}.housing-row strong{font-weight:500}.housing-row>span{font-size:.75rem;color:var(--muted)}.housing-sub{font-size:.75rem;color:var(--muted);margin:5px 0 0 25px;font-variant-numeric:tabular-nums}.why-short{display:flex;gap:8px;font-size:.75rem;color:var(--muted);line-height:1.75;margin:0}.why-short .svg-icon{width:16px;height:16px;margin-top:2px}.plan-finance{text-align:right;border-left:1px solid var(--line);padding-left:24px;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;justify-content:center}.price-caption{font-size:.75rem;color:var(--muted)}.price-caption span{font-size:.75rem;margin-left:8px;color:var(--muted)}.price-main{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;margin:3px 0 12px;white-space:nowrap}.price-main strong{font-size:2rem;letter-spacing:-1px;font-weight:600;line-height:1.4}.price-main>span{font-size:.875rem;color:var(--muted)}.price-secondary{display:flex;justify-content:flex-end;gap:26px}.price-secondary div{font-size:.75rem;color:var(--muted)}.price-secondary strong{display:block;color:var(--ink);font-size:1rem;font-weight:500;margin-top:4px;white-space:nowrap}.price-secondary strong span{font-size:.75rem;margin-left:3px;color:var(--muted)}.card-foot{font-size:.75rem;line-height:1.65;color:var(--muted);margin:16px 0 0}.plan-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 20px;border-top:1px solid #eeeff2;background:#fcfcfd}.budget-composition{width:100%;max-width:390px;min-width:0}.budget-summary{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--muted);margin-bottom:8px}.budget-summary strong{font-weight:500;color:#4f525a;white-space:nowrap}.budget-bar{display:flex;height:6px;overflow:hidden;background:#eeeef2;border-radius:2px;gap:2px}.budget-bar>span{height:100%;flex-shrink:0}.bar-tuition{background:var(--brand)}.bar-housing{background:#9397a1}.bar-other{background:#cbd0d8}.budget-legend{display:flex;gap:12px;font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:7px}.budget-legend>span{display:flex;gap:4px;align-items:center}.budget-legend i{width:6px;height:6px;display:inline-block;border-radius:1px}.card-actions{display:flex;gap:8px;flex-shrink:0}.detail-btn{color:var(--brand);background:white;border:1px solid #dfb9b9}.detail-btn:hover{background:var(--brand-soft);border-color:var(--brand)}.map-btn{padding:9px;border:1px solid #d7d9df;background:white;min-width:40px;color:var(--muted)}.map-btn:hover{background:#f1f2f4}.show-more{display:block;padding:10px 16px;min-height:40px;font-size:.875rem;color:var(--muted);margin:12px auto 0}.show-more:hover{color:var(--brand)}
.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;min-width:0}.panel{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px}.panel-heading h3{font-size:1rem;margin:0 0 5px}.panel-heading p{font-size:.75rem;color:var(--muted);margin:0}.panel-link{font-size:.75rem;white-space:nowrap;color:var(--brand);min-height:28px;padding:0}.map-stage{height:264px;position:relative;z-index:1;background:#eceef1}.map-stage.full-map{height:520px}.map-canvas{position:absolute;inset:0;z-index:1;background:#eceef1}.map-status{position:absolute;bottom:28px;left:12px;right:12px;z-index:600;width:fit-content;max-width:calc(100% - 24px);font-size:.75rem;color:#4f525a;background:#ffffffee;border:1px solid #dcdde3;border-radius:4px;padding:6px 10px;pointer-events:none}.map-bottom{padding:12px 16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.75rem;line-height:1.7;color:var(--muted)}.map-legend{display:flex;gap:14px;align-items:center}.legend-dot{display:inline-block;width:8px;height:8px;background:var(--brand);border-radius:2px;margin-right:5px}.legend-dot.home{background:#6e7480;border-radius:50%}.school-pin{display:grid;place-items:center;width:32px;height:32px;border:2px solid white;border-radius:7px;background:var(--brand);color:white;box-shadow:0 1px 5px #20232b33}.school-pin .svg-icon{width:17px;height:17px}.area-pin{display:block;height:13px;width:13px;background:#6e7480;border:2px solid white;border-radius:50%;box-shadow:0 1px 4px #20232b30}.leaflet-container{font-family:var(--sans)!important}.leaflet-control-attribution{font-size:.625rem!important}.leaflet-popup-content{font-size:.75rem!important;line-height:1.8!important}.leaflet-popup-content b{font-size:.875rem}.leaflet-tooltip{font:12px var(--sans)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:0 1px 5px #20232b12!important}.story-preview{padding:0 20px}.story-mini{display:flex;width:100%;gap:12px;align-items:flex-start;text-align:left;padding:16px 0;border-top:1px solid #eeeff2}.story-mini:hover strong{color:var(--brand)}.story-mini>span:nth-child(2){flex:1;min-width:0}.story-icon{display:grid;place-items:center;width:28px;height:28px;color:var(--muted);flex-shrink:0}.story-mini strong{font-size:.875rem;font-weight:500;line-height:1.7;display:block}.story-mini p{font-size:.75rem;color:var(--muted);line-height:1.8;margin:5px 0 0}.story-mini>.svg-icon{color:var(--muted);width:14px;height:14px;margin-top:7px}.story-bottom{font-size:.75rem;color:var(--muted);line-height:1.8;padding:4px 20px 20px}.consult-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:white;border:1px solid var(--line);border-radius:8px;margin-top:24px}.consult-band h3{font-size:1.125rem;margin:0 0 6px}.consult-band p{color:var(--muted);font-size:.875rem;margin:0}.consult-band .btn{flex-shrink:0}.page-footer{font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:16px;padding:24px 0;margin-top:8px}.page-footer div{display:flex;gap:20px}.page-footer button{font-size:.75rem;padding:0;color:var(--muted)}.page-footer button:hover{color:var(--brand)}
/* Secondary working views. */
.empty{padding:40px 24px;background:white;border:1px solid var(--line);border-radius:8px;text-align:center}.empty-mark{color:var(--muted);margin-bottom:16px}.empty-mark .svg-icon{width:30px;height:30px}.empty h3{font-size:1.25rem;margin:0 0 12px}.empty p{font-size:.875rem;color:var(--muted);line-height:1.9;max-width:470px;margin:0 auto 20px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:white}.story-card .school-tags{margin:0 0 16px}.story-card h3{font-size:1.25rem;line-height:1.65;margin:0 0 16px}.story-card p{font-size:.875rem;line-height:1.9;color:var(--muted);margin:16px 0}.match-info{font-size:.75rem;color:#4f525a;line-height:1.8;background:#f3f4f6;padding:10px 12px;border-radius:4px}.mismatch{font-size:.75rem!important;color:var(--muted)!important;line-height:1.8!important}.story-card .source{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;gap:12px;font-size:.75rem;color:var(--muted)}.source-button{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-size:.875rem;line-height:1.7}.source-button .svg-icon{width:15px;height:15px}.stories-notice{padding:14px 16px;border:1px solid var(--line);border-radius:6px;font-size:.875rem;color:var(--muted);line-height:1.8;background:#fff;margin-bottom:20px}.map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px}.area-select{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.area-select button{border:1px solid #d3d5db;border-radius:6px;min-height:36px;padding:6px 16px;background:white;font-size:.875rem}.area-select button:hover{border-color:#999ca5}.area-select button.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.area-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:white;margin-bottom:16px}.area-card h3{font-size:1.25rem;margin:0 0 6px}.area-meta{font-size:.75rem;color:var(--muted);display:block;margin-bottom:12px}.area-card p{font-size:.875rem;color:var(--muted);line-height:1.8;margin:12px 0}.area-card .cost{font-size:1.375rem;font-weight:500;font-variant-numeric:tabular-nums;margin:16px 0 8px;white-space:nowrap}.area-card .cost small{font-size:.75rem;color:var(--muted);font-weight:400}.amenity-list{display:flex;gap:6px;flex-wrap:wrap}.area-card .story-mini strong{font-size:.875rem}.basket{border:1px solid var(--line);border-radius:8px;background:white;padding:24px;margin-top:20px;max-width:840px}.basket h3{font-size:1.125rem;margin:0 0 8px}.basket p{font-size:.875rem;line-height:1.8;color:var(--muted)}.basket-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-variant-numeric:tabular-nums}.basket-row small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.basket-total{display:flex;justify-content:space-between;font-size:1rem;margin:16px 0;font-variant-numeric:tabular-nums}.lead-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:white;margin-bottom:16px}.lead-card header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.lead-card header select{max-width:200px}.lead-card p{font-size:.875rem;color:var(--muted);line-height:1.9}.shared-note{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:.875rem;color:var(--muted);margin-bottom:20px}.shared-note button{color:var(--brand);white-space:nowrap}
/* Honest handoff and progressive detail. */
dialog{padding:0;border:0;color:var(--ink);background:white;box-shadow:0 16px 60px #20232b30}dialog::backdrop{background:#20232b66}.drawer{width:680px;max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-radius:8px 0 0 8px}.drawer-inner{padding:28px 32px 40px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-head h2{font-size:1.5rem;margin:0;line-height:1.5}.dialog-head .step-count{font-size:.75rem;color:var(--muted);margin:8px 0 0}.close-btn{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:1.5rem;line-height:1;background:white}.close-btn:hover{background:#f1f2f4}.detail-callout{background:#f4f5f7;border:1px solid #e9eaee;border-radius:6px;color:var(--muted);font-size:.75rem;padding:12px 14px;line-height:1.9}.money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:24px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.money-cell{padding:0 16px;border-left:1px solid var(--line)}.money-cell:first-child{padding-left:0;border:0}.money-cell:last-child{padding-right:0}.money-cell small{display:block;font-size:.75rem;color:var(--muted);margin-bottom:8px}.money-cell strong{font-size:1.25rem;font-weight:600;white-space:nowrap}.money-cell span{font-size:.75rem;color:var(--muted)}.detail-section{margin-top:28px}.detail-section h3{font-size:1rem;margin:0 0 12px}.detail-section p{color:var(--muted);font-size:.875rem;line-height:1.9;margin:12px 0}.detail-points{padding-left:18px;margin:0}.detail-points li{padding:4px 0;font-size:.875rem;line-height:1.85}.cost-table{border-collapse:collapse;width:100%;font-size:.875rem;font-variant-numeric:tabular-nums}.cost-table th,.cost-table td{padding:12px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.7}.cost-table th{font-size:.75rem;font-weight:500;color:var(--muted)}.cost-table th:last-child,.cost-table td:last-child{text-align:right}.cost-table td:last-child{white-space:nowrap}.cost-table small{display:block;font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:3px;max-width:240px}.inline-number{width:95px;border:1px solid #d3d5db;padding:6px 8px;background:white;color:var(--ink);border-radius:4px;text-align:right;font-variant-numeric:tabular-nums}.apply-fee{font-size:.75rem;color:var(--brand);padding:7px 8px;margin-left:4px;border:1px solid var(--line);border-radius:4px}.apply-fee:hover{background:var(--brand-soft)}.dialog-actions{display:flex;gap:12px;margin-top:28px}.dialog-actions>.btn{flex:1}.modal{width:600px;max-width:calc(100vw - 32px);max-height:90dvh;border-radius:8px}.modal.wide{width:1080px}.modal-inner{padding:28px 32px}.modal p{font-size:.875rem;line-height:1.9;color:var(--muted)}.modal h3{font-size:1.125rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin:20px 0 8px}.form-input{border:1px solid #d3d5db;border-radius:6px;padding:10px 12px;min-height:42px;width:100%;color:var(--ink);background:white}.form-input:hover{border-color:#999ca5}.form-note{font-size:.75rem!important;margin:12px 0 0}.consent-box{border:1px solid var(--line);border-radius:6px;background:#f7f7f9;padding:16px;margin-top:20px}.consent-box p{font-size:.75rem}.consent-box .check-row{font-size:.75rem}.consent-box .check-row input{margin-top:3px}.share-preview{padding:24px;background:#f5f6f8;border:1px solid var(--line);border-radius:6px;text-align:center}.share-logo{width:170px;height:auto;margin-bottom:12px}.share-preview h3{font-size:1.25rem;margin:0 0 12px}.share-preview p{font-size:.875rem;margin:8px 0}.copy-field{display:flex;gap:8px;margin:20px 0 12px}.copy-field input{min-width:0}.copy-field .btn{flex-shrink:0}.compare-wrap{overflow-x:auto;margin-top:20px}.compare-table{border-collapse:collapse;width:100%;min-width:620px;font-size:.875rem;line-height:1.8}.compare-table th,.compare-table td{padding:14px 16px;min-width:180px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare-table th{font-size:1rem;font-weight:500;background:#f5f6f8}.compare-table th:first-child,.compare-table td:first-child{min-width:110px;color:var(--muted);font-size:.75rem}.compare-table td:not(:first-child){font-variant-numeric:tabular-nums}.compare-price{font-size:1.125rem;font-weight:500;color:var(--ink)}.source-list{list-style:none;padding:0}.source-list li{border-bottom:1px solid var(--line);padding:14px 0;font-size:.875rem}.source-list small{display:block;color:var(--muted);font-size:.75rem;line-height:1.8;margin-top:6px}.wizard-progress{display:flex;gap:6px;margin:16px 0 20px}.wizard-progress span{height:3px;border-radius:2px;background:#e8e9ed;flex:1}.wizard-progress span.active{background:var(--brand)}.wizard-options{display:grid;gap:10px;margin:20px 0}.wizard-option{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:14px 16px;min-height:52px;border:1px solid #d3d5db;border-radius:6px;background:white}.wizard-option:hover{background:#f6f6f8}.wizard-option.selected{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.wizard-footer{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.success-icon{width:44px;height:44px;display:grid;place-items:center;background:#f3f4f6;color:var(--ink);border-radius:50%;margin:20px auto;font-size:1.25rem}.success-title{text-align:center;font-size:1.25rem!important}.compare-tray{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;max-width:calc(100vw - 40px);z-index:1001;padding:12px 16px 12px 24px;background:#27292e;color:white;border-radius:8px;box-shadow:0 4px 20px #20232b26}.compare-tray>span:first-child{white-space:nowrap}.tray-names{font-size:.75rem;color:#c9cbd2;white-space:nowrap}.tray-clear{font-size:.75rem;color:#e5e6eb;padding:8px}.compare-tray .btn{background:white;color:var(--ink);white-space:nowrap}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,10px);z-index:6000;background:#27292e;color:white;padding:12px 20px;border-radius:6px;box-shadow:0 4px 20px #20232b20;max-width:90vw;width:max-content;font-size:.875rem;line-height:1.8;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-bottom{display:none}
@media(min-width:1360px){.results-workbench{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.lower-grid{display:grid;grid-template-columns:1fr;margin:0;gap:20px;padding-top:96px}.lower-grid .panel-heading{padding:18px}.lower-grid .panel-heading p{display:none}.lower-grid .panel-heading h3{margin:0}.lower-grid .map-stage{height:260px}.lower-grid .map-bottom{padding:12px 16px}.lower-grid .map-bottom>span{display:none}.lower-grid .story-preview{padding:0 18px}.lower-grid .story-bottom{padding:0 18px 18px}.plan-body{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.budget-composition{max-width:340px}}
@media(min-width:1800px){.results-workbench{grid-template-columns:minmax(0,1fr) 380px}.lower-grid{padding-top:96px}}
@media(max-width:1200px){.topbar{padding:0 24px;gap:24px}.topbar nav{gap:24px}.brand-product{display:none}.top-actions{margin-left:0}.app-shell{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:24px 16px}.segmented button{font-size:.75rem}.range-labels span:nth-child(2){display:none}main{padding:24px 24px 0}.hero{align-items:flex-start}.hero h1{font-size:1.5rem}.hero-cta{font-size:.75rem;padding:9px 12px}.section-head{align-items:flex-start}.section-controls{flex-wrap:wrap;justify-content:flex-end;gap:6px}.plan-body{grid-template-columns:minmax(0,1fr) 218px;gap:20px}.plan-finance{padding-left:20px}.school-heading h3{font-size:1.125rem}.price-main strong{font-size:1.75rem}.plan-bottom{gap:20px}.budget-summary{flex-wrap:wrap;gap:2px}.lower-grid{grid-template-columns:1fr}.map-layout{grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr)}.page-footer{flex-wrap:wrap}.story-grid{grid-template-columns:1fr}.money-cell strong{font-size:1.125rem}}
@media(max-width:1000px) and (min-width:821px){.plan-body{grid-template-columns:1fr}.plan-finance{text-align:left;border-left:0;padding:16px 0 0;border-top:1px solid var(--line)}.price-main{justify-content:flex-start}.price-secondary{justify-content:flex-start;gap:40px}.card-foot{margin-top:12px}.plan-bottom{align-items:flex-end}.card-actions .detail-btn{padding:9px 12px}.budget-legend{gap:8px}.map-layout{grid-template-columns:1fr}.map-stage.full-map{height:430px}}
@media(max-width:820px){.brand-utility{height:30px;padding:0 20px}.brand-utility>span{display:none}.brand-utility>div{justify-content:space-between;width:100%}.topbar{height:78px;padding:0 20px;gap:20px;flex-wrap:wrap;align-content:center}.brand img{width:176px}.topbar nav{margin-left:auto;gap:24px}.top-actions{display:none}.app-shell{display:block}.sidebar{display:none;position:fixed;inset:0 auto 0 0;z-index:1500;width:340px;max-width:100vw;max-height:100dvh;box-shadow:0 0 0 100vmax #20232b70;padding:24px;overscroll-behavior:contain}.sidebar.mobile-open{display:block}.sidebar .side-heading{padding-right:40px}.filter-close{display:grid!important;position:absolute;right:20px;top:24px}.sidebar .segmented button{min-height:38px}.sidebar select{min-height:44px}.sidebar .range-labels span:nth-child(2){display:block}.side-heading h2{font-size:1.125rem}.side-intro{margin-bottom:24px}main{padding:24px 24px 84px}.hero{gap:20px;margin-bottom:20px;align-items:center}.hero h1{font-size:1.5rem}.hero p{font-size:.875rem}.demo-note{margin-bottom:24px}.plan-body{grid-template-columns:minmax(0,1fr) 250px}.plan-finance{padding-left:24px}.price-main strong{font-size:2rem}.lower-grid{grid-template-columns:1fr 1fr}.map-stage{height:240px}.panel-heading{padding:16px;flex-wrap:wrap;gap:8px}.panel-heading p{display:none}.story-preview{padding:0 16px}.story-bottom{padding:0 16px 16px}.story-mini{gap:8px}.story-mini .story-icon{display:none}.map-layout{grid-template-columns:1fr}.map-stage.full-map{height:420px}.map-layout>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:16px}.map-layout .area-card{margin:0}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:1100;display:grid;grid-template-columns:1fr 1.1fr 1.1fr;background:white;border-top:1px solid var(--line);padding:8px 16px max(8px,env(safe-area-inset-bottom));gap:8px}.mobile-bottom button{min-height:44px;font-size:.875rem;border:1px solid var(--line);border-radius:6px;background:white}.mobile-bottom .mobile-consult{background:var(--brand);border-color:var(--brand);color:white}.mobile-bottom #mobile-compare-count{background:#eff0f3;display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;font-size:.75rem;border-radius:3px}.compare-tray{bottom:80px;width:max-content;padding:8px 12px;gap:12px}.tray-names{display:none}.compare-tray>span:first-child{font-size:.75rem}.compare-tray .btn{min-height:36px;font-size:.75rem}.toast{bottom:140px}.section-title h1{font-size:1.5rem}.money-cell strong{font-size:1.25rem}}
@media(max-width:600px){.brand-utility{padding:0 16px;font-size:.75rem}.topbar{height:106px;display:block;padding:14px 16px 0}.brand img{width:160px}.topbar nav{height:44px;gap:28px;margin-top:12px}.nav-item{font-size:.875rem;padding:0 2px;min-height:44px}.brand-product{display:block;font-size:.875rem;border:0;padding:0;color:var(--muted)}.brand{gap:20px}.top-actions{display:none}main{padding:24px 16px 84px}.hero{display:block;margin-bottom:20px}.hero h1{font-size:1.5rem;margin-bottom:8px}.hero p{font-size:.875rem;line-height:1.85;max-width:34ch}.hero-cta{margin-top:16px;min-height:44px;padding:10px 14px;font-size:.875rem}.demo-note{display:flex;flex-wrap:wrap;gap:8px;padding:12px;margin-bottom:24px}.demo-note>.svg-icon{display:none}.demo-note>span{flex:1;min-width:180px}.demo-note button{min-height:28px;margin-left:0}.section-head{display:block;margin-bottom:16px}.section-title h2{font-size:1.125rem}.section-title p{font-size:.75rem;line-height:1.8}.section-controls{justify-content:space-between;flex-wrap:nowrap;margin-top:16px}.sort-select{min-height:44px;font-size:.75rem;width:160px}.profile-tags{gap:6px;margin-bottom:16px}.tag{font-size:.75rem;padding:3px 6px}.compare-check{font-size:.75rem;min-height:32px}.plan-body{display:block;padding:16px}.school-heading h3{font-size:1.125rem}.school-heading small{line-height:1.7}.school-tags{margin:12px 0 16px}.housing-strip{margin:0 0 12px}.housing-row{font-size:.875rem}.why-short{margin:0;font-size:.75rem}.plan-finance{text-align:left;border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:16px}.price-caption{font-size:.75rem}.price-main{justify-content:flex-start;margin:4px 0 12px}.price-main strong{font-size:2rem}.price-secondary{justify-content:flex-start;gap:40px}.price-secondary strong{font-size:1rem}.card-foot{margin:12px 0 0;font-size:.75rem}.plan-bottom{display:block;padding:16px}.budget-composition{max-width:none}.budget-summary{flex-wrap:nowrap}.budget-summary strong{font-size:.75rem}.budget-bar{height:6px}.budget-legend{gap:16px}.card-actions{margin-top:16px}.card-actions .detail-btn{flex:1;min-height:44px}.card-actions .map-btn{min-height:44px;min-width:44px}.lower-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px}.panel-heading{padding:16px;flex-wrap:nowrap}.panel-heading p{display:block;font-size:.75rem;line-height:1.8}.panel-heading h3{font-size:1rem}.panel-link{font-size:.75rem;min-height:36px}.map-stage{height:264px}.map-bottom{padding:12px 16px;font-size:.75rem}.map-bottom>span{display:none}.story-mini{gap:12px;padding:16px 0}.story-mini .story-icon{display:grid}.story-mini strong{font-size:.875rem}.story-bottom{padding-bottom:16px}.consult-band{display:block;padding:20px;margin-top:20px}.consult-band h3{font-size:1.125rem}.consult-band p{font-size:.875rem;line-height:1.8}.consult-band .btn{width:100%;margin-top:20px;min-height:44px}.page-footer{display:block;font-size:.75rem;padding:24px 0 12px}.page-footer div{gap:16px;flex-wrap:wrap;margin-top:8px}.page-footer button{min-height:36px;font-size:.75rem}.empty{padding:32px 20px}.empty h3{font-size:1.125rem}.empty p{font-size:.875rem}.empty .btn{min-height:44px}.story-card{padding:20px}.story-card h3{font-size:1.125rem}.story-card .source{align-items:flex-start}.stories-notice{font-size:.75rem;line-height:1.9}.source-button{font-size:.875rem}.area-select{gap:8px}.area-select button{min-height:44px;padding:8px 14px}.map-stage.full-map{height:360px}.map-layout>div:last-child{display:block}.map-layout .area-card{margin:0 0 16px}.area-card{padding:20px}.area-card .cost{font-size:1.25rem}.area-card .story-icon{display:none}.basket{padding:20px;margin-top:4px}.basket p{font-size:.75rem}.basket-row{font-size:.875rem}.lead-card{padding:20px}.lead-card header{display:block}.lead-card header select{margin-top:12px;max-width:none;min-height:44px}.shared-note{display:block;font-size:.75rem}.shared-note button{display:block;margin-top:8px;min-height:44px;padding:0}.drawer{border-radius:0;width:100vw}.drawer-inner{padding:24px 20px 32px}.dialog-head{margin-bottom:20px}.dialog-head h2{font-size:1.25rem}.close-btn{width:44px;height:44px}.money-grid{grid-template-columns:1fr;gap:12px;margin:20px 0}.money-cell{padding:0!important;border:0;display:flex;align-items:baseline;gap:8px;justify-content:space-between}.money-cell small{margin:0;flex:1}.money-cell strong{font-size:1.25rem;text-align:right}.money-cell span{margin-left:-4px}.detail-section{margin-top:24px}.detail-section p{font-size:.875rem}.detail-section h3{font-size:1rem}.cost-table{font-size:.75rem}.cost-table th{font-size:.75rem}.cost-table small{font-size:.75rem;max-width:148px}.cost-table td:last-child{padding-left:8px;white-space:normal;min-width:140px}.inline-number{width:85px;padding:8px 4px}.apply-fee{padding:8px;margin:8px 0 0 8px;min-height:40px}.dialog-actions{gap:8px}.dialog-actions .btn{font-size:.875rem;min-height:44px;padding:10px}.modal{max-width:calc(100vw - 24px);max-height:92dvh}.modal-inner{padding:24px 20px}.modal .dialog-head h2{font-size:1.25rem}.modal p{font-size:.875rem}.form-input,.form-select{min-height:44px;font-size:.875rem}.copy-field{display:block}.copy-field .btn{width:100%;margin-top:10px;min-height:44px}.wizard-option{min-height:52px}.wizard-footer .btn{min-height:44px}.share-preview{padding:20px 16px}.share-logo{width:160px}.consent-box{padding:12px}.compare-table th,.compare-table td{padding:12px;min-width:185px}.compare-table{min-width:640px}.modal.wide .modal-inner{padding:24px 16px}.compare-wrap{margin-right:-16px}.mobile-bottom{padding-left:12px;padding-right:12px;gap:8px}.mobile-bottom button{font-size:.75rem}.toast{font-size:.75rem}.drawer .detail-callout{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Mainland families see a dated CNY equivalent; HKD stays the source of truth. */
.fx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px 0 24px;font-size:.75rem;color:var(--muted)}.fx-toolbar>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fx-toolbar button{font-size:.75rem;color:var(--muted);padding:2px 0;min-height:28px;white-space:nowrap}.fx-toolbar button:hover{color:var(--brand);text-decoration:underline}.fx-toolbar button:disabled{opacity:.6;text-decoration:none;cursor:wait}.cny-amount{font-size:.75rem;font-weight:400;line-height:1.7;color:var(--muted);display:block;font-variant-numeric:tabular-nums;white-space:nowrap}.plan-finance>.cny-amount{color:var(--brand);margin:-8px 0 12px}.price-secondary .cny-amount{margin-top:2px}.housing-sub .cny-amount{display:inline;margin-left:6px}.budget-cny{display:block;font-size:.75rem;color:var(--muted);text-align:right;min-height:20px;margin-top:3px;font-variant-numeric:tabular-nums}.cost-table td:last-child>.cny-amount{margin-top:5px;color:var(--muted)}.money-cell>.cny-amount{margin-top:5px}.basket-row>span:last-child,.basket-total>strong{text-align:right}.area-card>.cny-amount{margin-top:-4px;color:var(--brand)}
@media(max-width:1200px){.housing-sub .cny-amount{display:block;margin-left:0}}
@media(max-width:600px){.hero{display:flex;align-items:center;gap:12px;justify-content:space-between}.hero h1{font-size:1.5rem;white-space:nowrap;margin:0}.hero p{display:none}.hero-cta{margin:0;padding:10px;gap:8px;font-size:.75rem;min-height:44px}.hero-cta .svg-icon{width:16px;height:16px}.demo-note{margin-bottom:16px}.demo-note>span{min-width:220px}.demo-note button{min-height:28px}.fx-toolbar{display:block;margin:0 0 20px;font-size:.75rem}.fx-toolbar>div{gap:0 10px}.fx-toolbar>button{display:none}.section-title>p{display:none}.section-controls{margin-top:12px}.plan-body{display:flex;flex-direction:column;gap:0}.plan-school{display:contents}.school-heading{order:0}.school-tags{order:1;margin:12px 0}.plan-finance{order:2;display:block;margin:0;padding:12px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.plan-finance>.cny-amount{margin:-8px 0 12px}.housing-strip{order:3;margin:16px 0 12px}.housing-sub .cny-amount{display:block;margin-left:0}.why-short{order:4}.price-secondary{gap:36px}.money-cell{display:grid;grid-template-columns:1fr auto auto;gap:0 6px}.money-cell>.cny-amount{grid-column:2/4;text-align:right;margin:0}.money-cell small{font-size:.75rem}.money-cell>small:first-child{grid-row:1/3}.money-cell span{margin:0}.cny-amount{font-size:.75rem}.compare-table .cny-amount{white-space:nowrap}}
.currency-note{font-size:.75rem!important;color:var(--muted);margin:16px 0 8px!important}.currency-note+.money-grid{margin-top:12px}
html{scroll-padding-top:104px}.topbar{position:sticky;top:0;z-index:1000}.sidebar{top:88px;max-height:calc(100dvh - 88px)}.filters-open{overflow:hidden}
@media(max-width:820px){.sidebar{top:0;max-height:100dvh}html{scroll-padding-top:94px}}
@media(max-width:600px){html{scroll-padding-top:122px}}
@media(max-width:360px){.hero h1{font-size:1.25rem}.hero-cta{padding:10px 8px}.brand img{width:150px}.brand{gap:16px}}

/* Finish-review batch F1–F5: currency, recovery, identity, and browser affordances. */
.school-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.school-heading>div{min-width:0}.compare-check{flex-shrink:0;min-height:44px;margin-top:-8px;padding:8px 0}.price-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.price-secondary>div{min-width:0}.price-secondary .cny-amount{white-space:normal;overflow-wrap:anywhere;max-width:100%}.price-secondary strong{white-space:nowrap}.cny-amount{max-width:100%}::selection{background:#f4cccc;color:var(--ink)}input,textarea{caret-color:var(--brand)}*{scrollbar-width:thin;scrollbar-color:#8b8e97 #f1f2f4}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f2f4}::-webkit-scrollbar-thumb{background:#8b8e97;border:2px solid #f1f2f4;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#63666d}
@media(max-width:820px){.sidebar .segmented button{min-height:44px}.compare-check{min-height:44px}}
@media(max-width:600px){.school-heading{align-items:flex-start}.school-heading small{font-size:.75rem}.compare-check{min-height:44px;font-size:.75rem;margin-top:-7px}.fx-toolbar[data-fx-state="error"]{display:flex;align-items:center;gap:12px}.fx-toolbar[data-fx-state="error"]>div{flex:1;min-width:0}.fx-toolbar[data-fx-state="error"]>button{display:block;min-width:80px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:white;padding:8px 12px;color:var(--brand)}.plan-finance>.cny-amount{white-space:normal}.price-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
.price-secondary .cny-amount{word-break:keep-all;overflow-wrap:normal}
/* Source-backed rentals: shared filters, property facts and route context. */
.filter-section-title{font-size:.875rem;margin:24px 0 16px;padding-top:20px;border-top:1px solid var(--line)}.housing-facts{display:block;margin:5px 0;color:var(--muted);line-height:1.8}.housing-sub .text-btn{font-size:.75rem;min-height:36px}.housing-sub .text-btn .svg-icon{width:14px;height:14px}.source-badge{font-size:.75rem;color:var(--muted);white-space:nowrap}.rental-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:16px}.rental-filters label{display:block;font-size:.75rem;font-weight:500;margin-bottom:8px}.rental-filters select,.rental-filters input{width:100%;min-width:0;height:40px;padding:8px 10px;border:1px solid #d3d5db;border-radius:6px;background:#fff;color:var(--ink)}.rental-school{grid-column:span 2}.area-range{grid-column:span 2}.area-range>div{display:flex;align-items:center;gap:8px}.area-range input{width:calc(50% - 14px)}.area-range span{color:var(--muted)}.area-range small{font-size:.75rem;display:block;color:var(--muted);margin-top:5px}.route-notice{font-size:.75rem;line-height:1.9;color:var(--muted);padding:0 0 16px}.housing-map-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,1fr);gap:20px;align-items:start}.rental-map-panel{position:sticky;top:108px}.rental-map-panel .full-map{height:560px}.rental-results{min-width:0}.rental-results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.rental-results-head h2{font-size:1rem;margin:0}.rental-results-head>span{font-size:.75rem;color:var(--muted);max-width:45%;text-align:right}.rental-list{max-height:620px;overflow-y:auto;padding:1px 8px 1px 1px;display:grid;gap:12px;overscroll-behavior:contain}.rental-card{background:white;border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}.rental-card.is-selected{border-color:var(--brand)}.rental-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rental-title{padding:0;text-align:left;min-width:0;flex:1;min-height:44px}.rental-title h3{font-size:1rem;margin:0 0 4px}.rental-title>span{font-size:.75rem;color:var(--muted);display:block;line-height:1.8}.rental-title:hover h3{color:var(--brand)}.rental-price{text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.rental-price>strong{font-size:1.125rem;font-weight:600}.rental-price>span{font-size:.75rem;color:var(--muted)}.rental-price .cny-amount{font-size:.75rem;color:var(--muted)}.rental-metrics{font-size:.875rem;margin:14px 0 8px;font-variant-numeric:tabular-nums}.rental-route{font-size:.75rem;display:flex;align-items:flex-start;gap:6px;margin:0 0 8px;color:var(--ink)}.rental-route .svg-icon{width:15px;height:15px;margin-top:2px}.rental-includes{font-size:.75rem;color:var(--muted);margin:0 0 12px;line-height:1.8}.rental-card-foot{border-top:1px solid var(--line);padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.rental-card-foot>span{font-size:.75rem;color:var(--muted);line-height:1.8;flex:1}.rental-card-foot .text-btn{font-size:.75rem;white-space:nowrap;min-height:36px}.rental-pin{display:inline-block;background:#30343c;border:2px solid white;border-radius:6px;color:white;font:500 12px/22px var(--sans);padding:0 8px;white-space:nowrap;box-shadow:0 2px 5px #20232b25}.rental-marker{width:auto!important;white-space:nowrap}.active-pin{box-shadow:0 0 0 3px #c5121233}.rental-popup{max-height:260px;overflow-y:auto;line-height:1.8}.rental-popup hr{border:0;border-top:1px solid var(--line);margin:10px 0}.popup-action{color:var(--brand);min-height:36px;padding:6px 0;text-align:left}.inventory-note{color:var(--muted);font-size:.75rem;line-height:1.9;margin:16px 0}.filter-error{font-size:.875rem!important;color:var(--brand)!important;line-height:1.8;padding:12px;border:1px solid #e8b9b9;background:var(--brand-soft);border-radius:6px;margin:12px 0}.rental-address{font-size:.875rem;color:var(--muted);line-height:1.9}.rental-detail-price{font-variant-numeric:tabular-nums;padding:12px 0 20px}.rental-detail-price>strong{font-size:1.75rem}.rental-detail-price>span{font-size:.875rem;color:var(--muted)}.rental-detail-price .cny-amount{font-size:.875rem;color:var(--brand);margin-top:4px}.housing-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.housing-detail-grid>div{min-width:0}.housing-detail-grid span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:6px}.housing-detail-grid strong{font-size:.875rem;font-weight:500}.route-summary{display:grid;gap:6px;background:#f5f6f8;padding:12px 16px;border-radius:6px}.route-summary strong{font-size:.875rem;font-weight:500}.route-summary span{font-size:.75rem;color:var(--muted)}.route-links{display:flex;gap:10px;flex-wrap:wrap}.route-links .btn{font-size:.875rem}.listing-source{display:grid;grid-template-columns:100px 1fr;gap:8px 16px;font-size:.875rem;line-height:1.8}.listing-source dt{color:var(--muted)}.listing-source dd{margin:0}.reserve-editor{border:1px solid var(--line);border-radius:6px;padding:12px 16px;margin-top:16px}.reserve-editor summary{cursor:pointer;font-size:.875rem;min-height:36px;line-height:36px}.reserve-editor .btn{margin-top:16px}.reserve-inputs{display:flex;gap:10px}.reserve-inputs input{min-width:0}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:12px 0 20px}.product-price{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border-bottom:1px solid var(--line);padding:16px 0;font-size:.875rem}.product-price>div:nth-child(2){text-align:right}.product-price strong{font-weight:500}.product-price small{font-size:.75rem;display:block;color:var(--muted);margin-top:4px}.product-price p{grid-column:1/-1;font-size:.75rem;color:var(--muted);line-height:1.8;margin:0}.basket{max-width:none}.basket h2{font-size:1.25rem;margin:0 0 8px}.drawer .rental-card{padding:16px}.drawer .rental-list{max-height:none}
@media(max-width:1200px){.rental-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.housing-map-layout{grid-template-columns:1fr}.rental-map-panel{position:relative;top:auto}.rental-map-panel .full-map{height:430px}.rental-list{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));padding:1px}.product-grid{grid-template-columns:1fr}.rental-card-head{display:block}.rental-price{text-align:left;margin-top:10px}.rental-price .cny-amount{display:inline;margin-left:8px}}
@media(max-width:820px){.rental-filters{gap:12px;padding:16px}.rental-filters input,.rental-filters select{height:44px}.rental-map-panel .full-map{height:400px}.source-badge{display:block;margin-top:10px}.rental-card-foot .text-btn,.popup-action,.route-links .btn{min-height:44px}.housing-sub .text-btn{min-height:44px}}
@media(max-width:600px){.rental-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.rental-school,.area-range{grid-column:span 2}.rental-filters label{font-size:.75rem}.rental-filters select,.rental-filters input{font-size:.875rem}.housing-map-layout{gap:16px}.rental-map-panel .full-map{height:350px}.rental-list{grid-template-columns:1fr;gap:12px}.rental-card-head{display:flex}.rental-price{text-align:right;margin-top:0}.rental-price .cny-amount{display:block;margin-left:0}.rental-metrics{font-size:.75rem}.rental-results-head{display:block}.rental-results-head>span{display:block;max-width:none;text-align:left;margin-top:5px}.rental-detail-price>strong{font-size:1.5rem}.route-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-links .btn{padding:10px 6px;font-size:.75rem}.housing-detail-grid{gap:16px 12px}.listing-source{grid-template-columns:82px 1fr;font-size:.75rem;gap:8px 12px}.reserve-inputs{display:grid;grid-template-columns:1fr 1fr}.reserve-editor{padding:12px}.rental-card .rental-title{min-height:44px}.product-price{grid-template-columns:minmax(0,1fr) auto;gap:10px}.product-price>div:first-child>strong{font-size:.875rem}.product-price>div:nth-child(2)>strong{font-size:.875rem}.basket h2{font-size:1.125rem}.housing-sub .housing-facts{line-height:1.9}.housing-strip{margin-top:16px}.filter-section-title{margin-top:20px}}
@media(min-width:1201px){.rental-filters{grid-template-columns:repeat(5,minmax(0,1fr))}}
.rental-filter-actions{display:flex;align-items:flex-end;justify-content:flex-end}.rental-filter-actions .btn{width:100%;height:40px}.area-range small{font-size:.75rem}
@media(min-width:1201px){.rental-filter-actions{grid-column:5;grid-row:1}}
@media(max-width:1200px){.rental-filter-actions{grid-column:1/-1}.rental-filter-actions .btn{width:auto;min-width:140px}}
@media(max-width:820px){.rental-filter-actions .btn{height:44px}}
@media(max-width:600px){.rental-filter-actions .btn{width:100%}}
/* Territory-wide catalogs keep the existing FIIC tokens and typography. */
.catalog-note{font-size:13px;color:var(--muted,#666);line-height:1.8;margin:0 0 24px}.catalog-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:#fff;border:1px solid var(--border,#ddd);padding:20px;margin-bottom:24px;border-radius:8px;align-items:end}.catalog-filters label{display:block;font-size:12px;margin-bottom:8px}.catalog-filters select,.catalog-filters input{width:100%;height:44px;min-width:0}.catalog-filters .catalog-search{grid-column:span 2}.catalog-result-head{display:flex;justify-content:space-between;gap:16px;font-size:13px;margin:24px 0 16px}.catalog-result-head span{color:var(--muted,#666)}.school-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.directory-card{padding:24px;background:#fff;border:1px solid var(--border,#ddd);border-radius:8px;display:flex;flex-direction:column;min-width:0}.directory-card h2{font-size:18px;line-height:1.5;margin:16px 0 6px}.directory-card>small{font-size:11px;color:var(--muted,#666);overflow-wrap:anywhere}.directory-card p{font-size:12px;line-height:1.8;margin:16px 0 0}.directory-card-foot{border-top:1px solid var(--border,#ddd);padding-top:16px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}.directory-card-foot>span{font-size:11px;color:var(--muted,#666)}.directory-card .school-tags{flex-wrap:wrap}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:28px 0}.catalog-pagination span{font-size:13px}.catalog-pagination button:disabled{opacity:.4;cursor:default}.consumer-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.consumer-product-grid .product-price{background:#fff;border:1px solid var(--border,#ddd);border-radius:8px;padding:22px;align-content:start;min-width:0}.consumer-product-grid .product-price>div{grid-column:1/-1}.consumer-product-grid .product-price>div:nth-child(2){text-align:left;margin-top:12px}.consumer-product-grid .product-price p{min-height:42px;overflow-wrap:anywhere}.shopping-basket{padding:24px;border:1px solid var(--border,#ddd);border-radius:8px;background:#fff;margin-top:24px}.shopping-basket h2{font-size:18px}.shopping-basket h2 small{font-size:12px;color:var(--muted,#666)}.cart-rows>div{display:grid;grid-template-columns:1fr 72px 40px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border,#ddd)}.cart-rows span{font-size:13px}.cart-rows small{display:block;color:var(--muted,#666);font-size:11px;margin-top:4px}.cart-rows input{width:100%;height:40px;padding:8px;border:1px solid var(--border,#ddd);border-radius:4px}.basket-total{margin-top:20px}.basket-total>strong{font-size:20px}.basket-total p,.shopping-basket>p{font-size:12px;line-height:1.8;color:var(--muted,#666)}.rental-cover{display:block;width:100%;height:160px;object-fit:cover;border-radius:6px;margin-bottom:16px}.rental-gallery{margin:24px 0}.gallery-main{position:relative;background:#f3f3f3;border-radius:8px;overflow:hidden}.gallery-main img{display:block;width:100%;height:340px;object-fit:contain}.gallery-main>span{display:block;padding:10px 14px;font-size:12px;color:#555}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:10px;padding:3px}.gallery-thumbs button{flex:0 0 84px;height:65px;padding:0;border:2px solid transparent;border-radius:5px;background:#f3f3f3;overflow:hidden;cursor:pointer}.gallery-thumbs button.selected{border-color:var(--brand,#af2b22)}.gallery-thumbs img{height:100%;width:100%;object-fit:cover}.photo-empty{padding:24px;background:#f5f5f5;font-size:13px;margin:24px 0}.photo-empty a{color:var(--brand,#af2b22)}.photo-failed{object-fit:contain;color:#777;font-size:12px}.source-facts{display:grid;grid-template-columns:100px 1fr;gap:12px 16px;font-size:13px;line-height:1.7;margin:24px 0}.source-facts dt{color:var(--muted,#666)}.source-facts dd{margin:0;overflow-wrap:anywhere}.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(max-width:1400px){.school-directory-grid,.consumer-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar nav{gap:20px}.topbar .nav-item{white-space:nowrap}}
@media(max-width:1100px){.catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{gap:16px}.topbar nav{gap:14px}.topbar .brand-label{display:none}}
@media(max-width:820px){.topbar nav{max-width:100%;overflow-x:auto;flex-wrap:nowrap;gap:24px}.topbar .nav-item{flex-shrink:0}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.school-directory-grid,.consumer-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-card{padding:20px}.gallery-main img{height:270px}}
@media(max-width:600px){.school-directory-grid,.consumer-product-grid{grid-template-columns:1fr}.catalog-filters{gap:12px;padding:16px}.catalog-filters .catalog-search{grid-column:1/-1}.catalog-filters>button{grid-column:1/-1}.catalog-note{font-size:12px}.shopping-basket{padding:18px}.cart-rows>div{grid-template-columns:1fr 56px 36px;gap:8px}.gallery-main img{height:240px}.source-facts{grid-template-columns:80px 1fr;gap:10px}.catalog-result-head{font-size:12px}.rental-cover{height:180px}}
.remote-inventory{border-top:1px solid var(--border,#ddd);padding-top:32px;margin:32px 0}.remote-inventory .section-title h2{font-size:22px}.remote-status{font-size:12px;color:var(--muted,#666);margin:16px 0}.remote-inventory .directory-card h3{font-size:18px}.catalog-refresh{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:16px 0 24px;font-size:12px;color:var(--muted,#666)}
.rental-photo-button{display:block;width:100%;padding:0;margin:0 0 16px;border:0;background:none;cursor:pointer}.rental-photo-button .rental-cover{margin:0}.rental-photo-button:focus-visible{outline:2px solid var(--brand,#af2b22);outline-offset:3px}
/* Family decisions lead; source catalogs remain secondary reference pages. */
.plan-match{margin:18px 0 0;padding:14px 16px;background:transparent;border:0;border-radius:0;font-size:12px;line-height:1.7}.plan-match strong{font-size:12px;font-weight:600}.plan-match ul{margin:7px 0 0;padding-left:17px}.plan-match p{margin:6px 0 0;color:#666}.plan-match.needs-flex{color:var(--ink)}.plan-match.needs-check{color:var(--ink)}.nearby-notice{padding:18px 20px;background:#faf6ef;border:1px solid #e8dcc9;border-radius:6px;margin:0 0 20px;font-size:13px;line-height:1.7}.nearby-notice p{margin:6px 0 0;color:#6d6458}.secondary-insights{display:none}.housing-map-layout .plan-match{margin:0 0 20px}.sidebar .more-conditions{margin-top:24px}.sidebar .more-conditions>p{margin-bottom:16px}.sidebar .field[hidden]{display:none}.page-footer div{flex-wrap:wrap}.catalog-refresh{flex-wrap:wrap}
.results-workbench{display:block}.results-workbench .results-list{width:100%;max-width:none}.plan-match+ .why-short{margin-top:12px}
.traditional-name{display:block;font-size:11px!important;line-height:1.6;color:#777;margin-top:4px}.identity-entry{display:block;margin:18px 0 0;font-size:12px}.family-timeline{background:#fff;border:1px solid var(--border,#ddd);border-radius:6px;padding:20px;margin:0 0 20px}.family-timeline h2{font-size:16px}.timeline-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px}.timeline-glance small,.timeline-glance span{display:block;font-size:11px;color:#777;line-height:1.7}.timeline-glance strong{display:block;font-size:19px;margin:5px 0}.family-timeline>details{border-top:1px solid #eee;margin-top:18px;padding-top:14px}.family-timeline summary,.identity-more summary{font-size:12px;cursor:pointer}.timeline-attention{background:#faf6ef;padding:12px;font-size:12px;line-height:1.8;border-radius:4px}.identity-events{list-style:none;padding:0;margin:22px 0}.identity-events li{display:grid;grid-template-columns:110px 1fr;gap:16px;border-left:0;padding:10px 0 10px 18px;font-size:12px;line-height:1.7}.identity-events time{color:#777}.identity-effect{border-top:1px solid #eee;padding:16px 0}.identity-effect h3{font-size:14px;margin:0 0 8px}.identity-effect p{font-size:12px;line-height:1.9;color:#666;margin:0 0 8px}.identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;border:0;padding:0;margin:24px 0}.identity-fields legend{font-size:15px;font-weight:600;padding:0;margin-bottom:16px}.identity-fields .identity-wide{grid-column:1/-1}.identity-more{border-top:1px solid #eee;padding-top:18px;margin:10px 0 20px}.identity-fields .form-input{width:100%;height:44px;min-width:0}.identity-more .identity-fields{margin-bottom:0}
@media(max-width:600px){.identity-fields{grid-template-columns:1fr}.identity-fields .identity-wide{grid-column:auto}.timeline-glance{gap:12px}.timeline-glance strong{font-size:15px;overflow-wrap:anywhere}.family-timeline{padding:16px}.identity-events li{grid-template-columns:88px 1fr;gap:10px;padding-left:12px}}
@media(max-width:600px){.hero{flex-direction:column;align-items:flex-start;gap:12px}.hero-copy{min-width:0;width:100%}.hero h1{font-size:24px;line-height:1.45;white-space:normal}.hero-cta{align-self:flex-start}}

.commute-preferences{border:0;padding:0;margin:20px 0}.commute-preferences legend{font-size:.875rem;font-weight:600;margin:0 0 16px}.commute-preferences .field:last-of-type{margin-bottom:8px}.commute-preferences .field-hint{line-height:1.8}.show-more{min-height:44px}
