:root { color-scheme: light; font: 16px/1.65 system-ui,sans-serif; color: #152b2a; background: #f4f7f3; }
* { box-sizing: border-box; }
body { margin: 0; }
.wrap { width: min(1080px, calc(100% - 36px)); margin-inline: auto; }
header { background: #fff; border-bottom: 1px solid #dce6df; }
.bar { min-height: 64px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.bar a { color: #152b2a; text-decoration: none; font-size: 22px; font-weight: 850; }
.bar span, a { color: #086453; }
.hero { margin: 28px 0; background: #123f37; color: #fff; padding: clamp(24px, 5vw, 56px); border-radius: 22px; }
.eyebrow { color: #246957; font-size:.84rem; font-weight: 750; letter-spacing:.04em; margin:0; }
.hero .eyebrow { color: #b2e4ca; }
h1 { font-size: clamp(1.8rem, 5vw, 3.2rem); line-height:1.2; margin: 8px 0 14px; letter-spacing:-.045em; }
h2 { font-size: 1.35rem; margin: 0 0 12px; }
.date { margin:0; color:#dcf0e4; font-size:.9rem; }
section { margin-block: 28px; }
.cards { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:12px; }
.cards article, .editorial, .links a { background:#fff; border:1px solid #dce6df; border-radius:14px; padding:18px; }
.cards strong { display:block; font-size:1.55rem; font-variant-numeric:tabular-nums; }
.scroll { overflow:auto; background:#fff; border:1px solid #dce6df; border-radius:14px; }
table { width:100%; border-collapse:collapse; font-size:.9rem; font-variant-numeric:tabular-nums; }
th,td { padding:11px 14px; border-bottom:1px solid #e4ebe6; text-align:left; }
th { background:#e7f0ea; }
td { white-space:nowrap; }
tr:last-child td { border-bottom:0; }
.note, footer { color:#465e54; font-size:.86rem; }
.editorial { padding:24px; }
.editorial p:last-child { margin-bottom:0; }
.links { display:flex; flex-wrap:wrap; gap:10px; }
footer { padding:20px 0 32px; border-top:1px solid #dce6df; }
@media(max-width:620px) {
  .cards { grid-template-columns:1fr; gap:8px; }
  .cards article { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; }
  table { min-width:560px; }
  .links a { width:100%; }
}
.highlights { grid-template-columns: repeat(2,minmax(0,1fr)); }
.highlights p { margin: 0; }
.highlights small, .count, .area { color:#465e54; }
.district { margin-block: 20px; }
.district h3 { margin: 0 0 8px; font-size:1rem; color:#246957; }
.market-table th[scope="col"] { white-space:nowrap; }
.market-table th[scope="row"] { background:#fff; word-break:keep-all; overflow-wrap:anywhere; }
.market-table th[scope="row"] .area { display:block; white-space:nowrap; }
.market-table .count, .market-card .count { display:block; font-size:.82rem; }
.market-cards { display:none; }
@media(max-width:680px) {
  .highlights { grid-template-columns:1fr; }
  .highlights article { display:block; }
  .market-table { display:none; }
  .market-cards { display:grid; gap:8px; }
  .market-card { background:#fff; border:1px solid #dce6df; border-radius:14px; padding:12px; }
  .market-card h4, .market-card dl, .market-card dd { margin:0; }
  .market-card dl { display:grid; margin-top:8px; }
  .market-card dl > div { display:grid; grid-template-columns:3.2rem minmax(0,1fr); gap:8px; padding:8px 0; border-top:1px solid #e4ebe6; }
  .market-card dt { font-weight:700; font-size:.85rem; }
}
.peak-delta { display:block; color:#465e54; font-size:.78rem; }
.market-card .card-peak { margin:10px 0 0; padding-top:8px; border-top:1px solid #e4ebe6; font-size:.84rem; }
.no-trades { display:block; color:#465e54; font-size:.78rem; font-weight:400; }
.market-fallback { display:block; margin-top:4px; color:#465e54; font-size:.75rem; white-space:normal; }
.market-fallback span { display:block; }
.market-fallback strong { color:#152b2a; }
.market-table td { vertical-align:top; }
.market-gap strong { white-space:nowrap; }
.gap-basis { display:block; color:#465e54; font-size:.78rem; }
.market-card .card-gap { margin:4px 0 0; font-size:.84rem; }
.card-gap .gap-basis { display:inline-block; margin-left:.35rem; }
.market-table td > small, .market-card dd > small { display:block; color:#465e54; font-size:.82rem; }
.reference-count { white-space:normal; }
.reference-monthly { display:block; white-space:nowrap; }
.market-table td:nth-child(2) .reference-count,
.market-card dl > div:first-child .reference-count { white-space:nowrap; }
.reference-count strong { color:#152b2a; }
.card-gap small, .card-peak small { margin-left:.35rem; color:#465e54; }
.price-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 6px; }
.lease-price { white-space:nowrap; }
.lease-price small { color:#465e54; }
.mom { display:inline-block; padding:0 5px; border-radius:4px; background:#edf1ee; color:#465e54; font-size:.73rem; white-space:nowrap; }
.mom-up { background:#fbeee8; color:#8e3727; }
.mom-down { background:#eaf1f9; color:#234f80; }
.market-table .complex-start > * { border-top:2px solid #b9cec2; }
.market-table tbody tr:first-child > * { border-top:0; }
.market-table .complex-follow > * { border-top:1px solid #edf2ee; }
.market-table th[scope="row"] { vertical-align:top; }
.flat-section { margin:12px 0 0; padding-top:12px; border-top:1px solid #dce6df; }
.flat-section h4 { color:#246957; }
@media(max-width:680px) {
  .market-card .flat-section dl { margin-top:4px; }
  .market-card .flat-section dl > div:first-child { border-top:0; }
}
