.lab-intro { margin-bottom: 26px; }
.lab-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 14px; margin-bottom: 17px; }
.lab-toolbar p { color: var(--muted); font-size: .85rem; }
.lab-toolbar label { width: 130px; }
.housing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.housing-card { min-width: 0; }
.housing-card h2 { font-size: clamp(1.55rem, 3.2vw, 2.5rem); }
.housing-card > p:not(.eyebrow) { margin-bottom: 12px; }
.construction-card { grid-column: 1 / -1; }
.construction-card .housing-output { max-width: 800px; }
.housing-metric { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 10px; margin: 14px 0 8px; }
.housing-metric strong { color: var(--mint); font-size: clamp(1.65rem, 5vw, 2.6rem); line-height: 1; font-variant-numeric: tabular-nums; }
.housing-metric small { color: var(--muted); }
.housing-plot { width: 100%; height: auto; display: block; background: #0e1927; border: 1px solid var(--line); border-radius: 8px; }
.housing-plot text { fill: var(--muted); font: 12px system-ui, sans-serif; }
.housing-plot .plot-line { fill: none; stroke: var(--mint); stroke-width: 2.4; vector-effect: non-scaling-stroke; }
.housing-plot .plot-grid { stroke: var(--line); stroke-width: 1; }
.housing-plot .plot-marker { fill: var(--mint); }
.housing-plot .plot-guide { stroke: var(--blue); stroke-dasharray: 4 4; }
.housing-explore { margin-top: 10px; }
.housing-explore input { min-height: 24px; padding: 0; accent-color: var(--mint); }
.housing-output .housing-readout { margin-top: 5px; min-height: 1.4em; color: var(--ink); font-size: .86rem; font-variant-numeric: tabular-nums; }
.housing-card .lab-source { margin: 12px 0 0; color: var(--muted); font-size: .78rem; }
.lab-source a { color: var(--mint); }
.lab-source a:hover { text-decoration: underline; }
.housing-output details { margin-top: 10px; }
.housing-output summary { font-size: .82rem; color: var(--muted); cursor: pointer; }
.housing-output table { width: min(100%, 450px); }
@media (max-width: 760px) { .housing-grid { grid-template-columns: 1fr; } }

