.route-actions{display:flex;gap:12px;flex-wrap:wrap}.route-actions a{font-size:13px;padding:8px;border:1px solid #ced6df;border-radius:6px}.student-agent{display:flex;align-items:center;gap:12px;padding:18px;background:white;border:1px solid #d8e0e8;border-radius:10px;text-align:left}.student-agent span:last-child{margin-left:auto}.flow{scroll-margin-top:100px}body[data-view=student] #agentDirectory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:700px){.brand-slogan{display:none}.head-in{flex-wrap:wrap}.head-right{flex-wrap:wrap}.route-actions a{font-size:12px}body[data-view=student] #agentDirectory{grid-template-columns:1fr}}
#londonMap{height:430px;background:#e8edf0;border-radius:12px;z-index:0}.map-section{margin:30px auto}.building-dot{background:#133e63;border:3px solid white;border-radius:50%;box-shadow:0 1px 6px #555}.leaflet-popup-content button{padding:8px;background:#123759;color:white;border:0;border-radius:5px}.leaflet-popup-content button:disabled{opacity:.5}@media(max-width:600px){#londonMap{height:330px}}
/* Route actions remain visible; the header must grow rather than overlap the hero. */
.site-head{position:sticky;top:0;z-index:2000}.head-in{height:auto;min-height:var(--head-h);padding-top:10px;padding-bottom:10px;flex-wrap:wrap}.route-actions a{color:#123759;background:#fff}.head-right{flex-wrap:wrap}.homes-hero{padding-top:36px}.flow{clear:both}@media(max-width:700px){.head-right{margin-left:0;width:100%;justify-content:space-between}.route-actions{gap:6px}.head-right .lang{margin-left:auto}.head-in{row-gap:6px}}
/* V2: navigation links share the main nav style; no extra CTA-button row. */
#schemeDialog{width:min(920px,calc(100vw - 28px));max-height:85vh;border:0;border-radius:14px;padding:22px;overflow:auto;overscroll-behavior:contain}#schemeDialog::backdrop{background:rgba(4,20,38,.55)}#schemeDialog .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#closeScheme{display:block;margin-left:auto;background:#123759;color:white;border:0;border-radius:6px;padding:9px 14px}#schemeDialog h2{font-size:24px;margin:12px 0}#studentListings{margin:18px 0}#studentListings summary{cursor:pointer;font-weight:600;padding:14px;background:#eef3f7;border-radius:6px}.map-wheel-hint{font-size:13px;color:#556373;margin:10px 0}#londonMap:focus{outline:2px solid #526f85;outline-offset:3px}
body[data-view=student] .homes-content{padding-bottom:8px}body[data-view=student] .availability-note{font-size:12px;margin-bottom:12px}
@media(max-width:600px){#schemeDialog{padding:14px;max-height:80vh}#schemeDialog .listing-grid{grid-template-columns:1fr}#schemeDialog .photo-button{max-height:170px}#schemeDialog h2{font-size:21px}.map-wheel-hint{font-size:12px}}

/* Student summary: live values, visible methodology, deliberately light. */
body[data-view="student"] .student-stats{padding-top:28px;padding-bottom:4px}
.student-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.student-stats-updated{margin:12px 0 0;font-size:14px;color:#78808a;text-align:left}.student-stats-updated b{margin-left:6px;color:#123758;font-weight:400}.student-stat-delta{display:block;margin-top:6px;font-style:normal;font-size:13px;color:#78808a}
.student-stat{min-width:0;border:1px solid #dfe7ee;border-radius:12px;background:#f7f9fc;padding:20px 24px;color:#123758}
.student-stat .student-stat-value{display:block;font-size:36px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.student-stat p{margin:8px 0 0;color:#596779;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.student-stat-time{background:#fff;display:flex;flex-direction:column;justify-content:center;text-align:right}
.student-stat-time p{margin:0 0 8px}
.student-stat-time b{font-size:16px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.student-stats .availability-note{margin:12px 2px 0;font-size:12px;line-height:1.7;color:#596779}
@media(max-width:600px){.student-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-stat{padding:16px}.student-stat .student-stat-value{font-size:30px}.student-stat-time{grid-column:1/-1;text-align:left;padding:12px 16px}.student-stat-time p{margin:0 0 4px}.student-stat-time b{font-size:14px}.student-stats .availability-note{font-size:12px}body[data-view="student"] .student-stats{padding-top:20px}}

#londonMap{position:relative;isolation:isolate;z-index:0}.flow{scroll-margin-top:16px}.ldm-gate{position:relative;z-index:1}body .homes-hero{padding-top:32px}
@media(max-width:767px){body .site-head .head-in{flex-wrap:nowrap;min-height:62px}body .site-head .head-right{width:auto;margin-left:auto;flex-wrap:nowrap}body .site-head .head-right .lang{margin-left:0}}

.listing-dot{background:#d48335;border:2px solid white;border-radius:50%}.map-layer-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;margin:12px 0}.map-layer-controls button{padding:8px;border:1px solid #ccd8e4;border-radius:6px;background:white;color:#123758}

.scheme-cluster{display:grid;place-items:center;border-radius:50%;background:#123758;color:white;border:4px solid #bcd1e4;font-weight:bold}

.scheme-cluster{box-sizing:border-box;text-align:center;line-height:28px}.scheme-cluster span{display:block;width:28px;height:28px;line-height:28px;text-align:center}

.retention-policy{border:1px solid #ccdae7;border-left:4px solid #143d62;border-radius:10px;background:#f3f7fb;padding:20px 24px;margin-bottom:24px}.retention-policy h2{font-size:22px;margin:0 0 12px}.retention-policy li{margin:8px 0}.retention-policy p{font-size:14px;color:#4b5e70;border-top:1px solid #ccdae7;padding-top:12px;margin-bottom:0}@media(max-width:600px){.retention-policy{padding:16px}.retention-policy h2{font-size:20px}}

/* ---------- 收紧地图与房源说明之间的空白（2026-09-25） ---------- */
.map-section{margin:24px auto 10px}
.source-note{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;margin-bottom:10px}
.homes-content{padding-top:0;padding-bottom:0}
.flow{margin:8px auto 40px}
