:root{--paper:#f4f4f1;--card:#fff;--ink:#22312b;--muted:#54655d;--faint:#8a9790;--rule:#cfd6d0;--hair:#e2e6e2;--green:#557d6f;--brick:#7a2e21;--wash:#eef0ec;--serif:Fraunces, "Iowan Old Style", Georgia, serif;--sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure:1060px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);font-feature-settings:"tnum" 0;margin:0}a{color:var(--brick)}a:hover{text-decoration-thickness:2px}.wrap{max-width:var(--measure);margin:0 auto;padding:0 28px}.masthead{border-bottom:2px solid var(--ink)}.masthead .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;padding-block:22px 18px;display:flex}.wordmark{font:650 22px/1 var(--serif);letter-spacing:-.015em;color:var(--ink);text-decoration:none}.wordmark em{color:var(--brick);font-style:normal}.masthead nav{font:500 13px/1 var(--sans);gap:22px;display:flex}.masthead nav a{color:var(--muted);text-decoration:none}.masthead nav a:hover{color:var(--ink);text-decoration:underline}.crumb{font:500 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:26px 0 10px}.crumb a{color:var(--faint);text-decoration:none}.crumb a:hover{color:var(--brick);text-decoration:underline}.crumb span[aria-hidden]{padding:0 6px}h1{font:650 clamp(34px, 6vw, 54px) /1.05 var(--serif);letter-spacing:-.02em;margin:0 0 10px}.standfirst{font:400 17px/1.6 var(--sans);color:var(--muted);max-width:62ch;margin:0 0 26px}.standfirst b{color:var(--ink);font-weight:600}h2{font:650 26px/1.25 var(--serif);letter-spacing:-.01em;margin:0 0 6px}h3{font:600 17px/1.35 var(--sans);margin:0 0 6px}section{margin-bottom:44px}.section-note{font:400 13px/1.6 var(--sans);color:var(--muted);max-width:68ch;margin:0 0 14px}.stats{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,1fr);margin-bottom:34px;display:grid}.stats>div{border-right:1px solid var(--rule);padding:16px 18px 14px}.stats>div:last-child{border-right:0}.stats .k{font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:9px}.stats .v{font:650 clamp(24px, 3.4vw, 30px) /1 var(--serif);font-variant-numeric:tabular-nums}.stats .v.na{color:var(--faint)}.stats .d{font:400 12px/1.5 var(--sans);color:var(--muted);margin-top:6px}.stats .reconcile{color:var(--faint);margin-top:3px;display:block}.stats-note{font:400 12px/1.6 var(--sans);color:var(--faint);max-width:68ch;margin:-22px 0 34px}.up{color:var(--green)}.down{color:var(--brick)}.soft{color:var(--ink)}.plate{border:1px solid var(--ink);background:var(--card)}.plate-slot{text-align:center;background:repeating-linear-gradient(45deg, transparent 0 11px, #557d6f12 11px 22px), var(--card);place-content:center;gap:8px;height:340px;padding:24px;display:grid}.plate-slot .mark{font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--green)}.plate-slot p{font:400 14px/1.6 var(--sans);color:var(--muted);max-width:44ch;margin:0}.plate-cap{font:400 12px/1.6 var(--sans);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:9px 2px 0;display:flex}.plate-cap b{color:var(--ink);font-weight:600}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font:400 14px/1.5 var(--sans)}caption{text-align:left;font:400 13px/1.6 var(--sans);color:var(--muted);padding-bottom:12px}th{text-align:left;font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--ink);white-space:nowrap;padding:0 10px 8px}td{border-bottom:1px solid var(--hair);vertical-align:baseline;padding:10px}tbody th[scope=row]{font:400 14px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);border-bottom:1px solid var(--hair);white-space:normal;border-top:0;padding:10px}tbody tr:hover td{background:var(--wash)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.price{font:650 15px/1 var(--serif);font-variant-numeric:tabular-nums}td .sub,th .sub{font:400 11.5px/1.4 var(--sans);color:var(--faint);display:block}.tag{font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--green);border:1px solid var(--rule);vertical-align:1px;border-radius:2px;margin-left:6px;padding:3px 5px;display:inline-block}.dash{color:var(--faint)}tbody tr.thin th[scope=row],tbody tr.thin td{color:var(--muted)}tbody tr.thin td.price{font-weight:500}.flag{color:var(--brick);cursor:help;padding-left:2px;font-weight:600}.sortable-h{cursor:pointer;user-select:none;white-space:nowrap}.sortable-h:hover{color:var(--ink)}.sortable-h:after{content:"↕";opacity:.45;padding-left:5px}.sortable-h[aria-sort=ascending]:after{content:"↑";opacity:1;color:var(--ink)}.sortable-h[aria-sort=descending]:after{content:"↓";opacity:1;color:var(--ink)}.sortable-h:focus-visible{outline:2px solid var(--green);outline-offset:2px}.trend{width:100%;height:auto;display:block}.trend .bar{fill:var(--green)}.trend .bar.part{fill:var(--rule)}.trend .bar.thin{fill:#a9c0b6}.trend .val{font:600 10px/1 var(--mono);fill:var(--ink)}.trend .chg{font:500 10px/1 var(--mono);fill:var(--faint)}.trend .chg.up{fill:var(--green)}.trend .chg.down{fill:var(--brick)}.trend .lab,.trend .axis{font:400 10px/1 var(--mono);fill:var(--faint)}.trend .grid{stroke:var(--hair);stroke-width:1px;stroke-dasharray:2 4}.trend .base{stroke:var(--rule);stroke-width:1px}.lag{font:400 13px/1.6 var(--sans);color:var(--muted);border-left:3px solid var(--rule);background:var(--wash);max-width:68ch;margin:0 0 14px;padding:9px 12px}.lag b{color:var(--ink);font-weight:600}.cards{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;display:grid}.card{border:1px solid var(--rule);background:var(--card);color:inherit;padding:12px 14px;text-decoration:none;display:block}a.card:hover{border-color:var(--ink)}.card .c{font:650 18px/1.1 var(--serif);letter-spacing:-.01em}.card .c-sub{font:400 11px/1.3 var(--mono);letter-spacing:.06em;color:var(--faint);margin-top:2px;display:block}.card .m{font:400 12px/1.5 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px}.card.flat{background:0 0}.linkrow{font:400 15px/1.8 var(--sans);color:var(--muted);margin:0}.linkrow a{font-weight:500;text-decoration:none}.linkrow a:hover{text-decoration:underline}.linkrow .sep{color:var(--rule);padding:0 4px}.linkrow .nb{white-space:nowrap}.search{margin:0 0 34px}.search label{font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;display:block}.search-row{border:1px solid var(--ink);background:var(--card);gap:0;max-width:460px;display:flex}.search input{min-width:0;font:400 16px/1.3 var(--sans);color:var(--ink);background:0 0;border:0;flex:auto;padding:11px 13px}.search input::placeholder{color:var(--faint)}.search input:focus{outline:none}.search-row:focus-within{outline:2px solid var(--green);outline-offset:1px}.search button{border:0;border-left:1px solid var(--rule);background:var(--wash);color:var(--ink);font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:0 16px}.search button:hover{background:var(--ink);color:var(--paper)}.search-list{border:1px solid var(--ink);background:var(--card);border-top:0;max-width:460px;margin:0;padding:0;list-style:none}.search-list li{cursor:pointer;border-bottom:1px solid var(--hair);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 13px;display:flex}.search-list li:last-child{border-bottom:0}.search-list li.on{background:var(--wash)}.search-list .t{font:500 15px/1.2 var(--sans);color:var(--ink)}.search-list .k{font:400 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.search-fallback{font:400 12px/1.6 var(--sans);color:var(--faint);margin:8px 0 0}.budget .budget-controls{margin-bottom:18px}.budget-presets{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--rule);background:var(--card);color:var(--ink);font:500 13px/1 var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;padding:8px 14px}.chip:hover{border-color:var(--ink)}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip.go{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--wash)}.budget-free{margin-top:14px}.budget-free>label{font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:7px;display:block}.budget-input{border:1px solid var(--ink);background:var(--card);align-items:center;gap:0;max-width:320px;display:flex}.budget-input span{font:400 16px/1 var(--sans);color:var(--muted);padding:0 4px 0 12px}.budget-input input{min-width:0;font:400 16px/1.3 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);background:0 0;border:0;flex:auto;padding:10px 8px 10px 2px}.budget-input input:focus{outline:none}.budget-input:focus-within{outline:2px solid var(--green);outline-offset:1px}.budget-input .chip{border:0;border-left:1px solid var(--rule)}.budget-window{border:0;flex-wrap:wrap;align-items:baseline;gap:16px;margin:12px 0 0;padding:0;display:flex}.budget-window legend{float:left;width:100%;font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:7px;padding:0}.budget-window label{font:400 13px/1.4 var(--sans);color:var(--muted)}.budget-lede{font:400 17px/1.6 var(--sans);color:var(--muted);max-width:62ch;margin:0 0 20px}.budget-lede b{color:var(--ink);font-weight:600}.budget .stats{margin-bottom:14px}.budget .stats .v{font-size:clamp(22px,3vw,27px)}.faq{border-top:1px solid var(--rule)}.faq>div{border-bottom:1px solid var(--hair);padding:16px 0}.faq h3{font:650 18px/1.35 var(--serif);margin:0 0 6px}.faq p{color:var(--muted);max-width:72ch;margin:0;font-size:15px}.prose{max-width:68ch}.prose p,.prose li{color:var(--muted)}.prose h2{color:var(--ink);margin-top:34px}.prose blockquote{border-left:3px solid var(--green);background:var(--card);font:400 14px/1.65 var(--mono);color:var(--ink);margin:16px 0;padding:12px 16px}.prose code{font:400 13px/1 var(--mono)}.colophon{border-top:2px solid var(--ink);margin-top:60px;padding-block:22px 60px}.colophon .grid{grid-template-columns:1.4fr 1fr;gap:28px;display:grid}.colophon h4{font:500 10px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}.colophon p{font:400 12.5px/1.65 var(--sans);color:var(--muted);margin:0 0 8px}.colophon a{color:var(--muted)}.stamp{font:400 11px/1.6 var(--mono);color:var(--faint);letter-spacing:.04em}.notice-warn{border:1px solid var(--brick);color:var(--ink);font:400 14px/1.6 var(--sans);background:#fbf3f1;border-left-width:4px;max-width:68ch;margin:0 0 26px;padding:14px 16px}.todo{color:var(--ink);background:#f6e6b8;padding:1px 5px;font-weight:600}@media (width<=760px){.wrap{padding:0 18px}.stats{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(2){border-right:0}.stats>div:first-child,.stats>div:nth-child(2){border-bottom:1px solid var(--rule)}.stats-note{margin-top:-26px}.colophon .grid{grid-template-columns:1fr}.masthead nav{gap:16px;font-size:12.5px}}@media (width<=700px){.scroll.stacked table,.scroll.stacked tbody,.scroll.stacked tr,.scroll.stacked td,.scroll.stacked th[scope=row]{width:100%;display:block}.scroll.stacked thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scroll.stacked tr{border:1px solid var(--rule);background:var(--card);flex-direction:column;margin-bottom:10px;padding:12px 14px 10px;display:flex}.scroll.stacked tbody tr:hover td{background:0 0}.scroll.stacked th[scope=row]{font:650 17px/1.25 var(--serif);letter-spacing:-.01em;border:0;order:-3;padding:0 0 8px}.scroll.stacked th[scope=row] .sub{margin-top:2px}.scroll.stacked td{border:0;border-top:1px solid var(--hair);text-align:right;white-space:normal;justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0;display:flex}.scroll.stacked td:before{content:attr(data-label);font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-align:left;flex:none}.scroll.stacked td[data-label=Price]{border-top:0;order:-2}.scroll.stacked td[data-label=£\/m²]{order:-1}.scroll.stacked td[data-label="Median, 3y"]{border-top:0;order:-2}.scroll.stacked td.price{font-size:19px}.scroll.stacked td .sub{display:inline}.scroll:not(.stacked):after{content:"scroll for the rest of the columns →";font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding-top:8px;display:block;position:sticky;left:0}.search-row,.search-list{max-width:none}}
