/* Market snapshot on deals hubs and district pages (torquity ADR 0175). */
.ms { margin: 24px 0 32px; }
.ms-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 14px; }
.ms-title { margin: 0; font-size: clamp(22px, 2.4vw, 28px); color: var(--p-ink); }
.ms-updated { margin: 0; font-size: 14px; color: var(--p-muted-2); }
.ms-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.ms-kpi { background: var(--p-card); border-radius: var(--p-radius); box-shadow: var(--p-shadow-card); padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.ms-kpi--accent { background: var(--p-accent-tint); }
.ms-kpi-label { font-size: 14px; font-weight: 600; color: var(--p-muted); }
.ms-kpi-value { font-size: clamp(24px, 2.6vw, 30px); font-weight: 700; color: var(--p-ink); line-height: 1.1; }
.ms-kpi-value small { font-size: 14px; font-weight: 500; color: var(--p-muted); margin-left: 4px; }
.ms-kpi-sub { font-size: 14px; color: var(--p-muted-2); }
.ms-table-wrap { margin-top: 20px; overflow-x: auto; }
.ms-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ms-table caption { text-align: left; font-weight: 600; color: var(--p-ink); padding: 0 0 8px; }
.ms-table th, .ms-table td { padding: 10px 12px; border-bottom: 1px solid var(--p-border); text-align: left; }
.ms-table th { font-size: 14px; color: var(--p-muted); font-weight: 600; }
.ms-table td a { color: var(--p-accent-deep); }
.ms-note { margin: 18px 0 0; font-size: 14px; color: var(--p-muted-2); }
.ms-back { margin: 20px 0 0; font-size: 15px; }

/* City / district pages: a data page, wider than the 800px article column (blog posts keep it). */
.blog-post.ms-page { max-width: 1088px; padding-bottom: 32px; }

/* Summary first, deals next, the rest of the figures folded under "Full market data". */
.ms-district-links { margin-top: 16px; }
.ms-deals { padding: 0 24px 32px; }
.ms-deals .blog-grid, .ms-deals-title { max-width: 1040px; }
@media (min-width: 769px) { .ms-deals .blog-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); } }  /* three across in 1040px */
.ms-deals-title { margin: 0 auto 20px; font-size: clamp(20px, 2.2vw, 24px); color: var(--p-ink); }
.ms-details-wrap { max-width: 1088px; margin: 0 auto; padding: 0 24px 8px; }
.ms-deals .no-posts { max-width: none; margin: 0; padding: 28px 24px; text-align: left; }
.ms-details { margin: 0; }

/* "Full market data" and the FAQ share one disclosure style: hairline card, chevron on the right. */
.ms-more, .ms-faq-item { border: 1px solid var(--p-border); border-radius: var(--p-radius-sm); background: var(--p-card); padding: 0 16px; }
.ms-more > summary, .ms-faq-item > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 13px 0; cursor: pointer; list-style: none; font-size: 15px; font-weight: 600; color: var(--p-ink);
}
.ms-more > summary::-webkit-details-marker, .ms-faq-item > summary::-webkit-details-marker { display: none; }
.ms-more > summary::after, .ms-faq-item > summary::after { content: "▾"; color: var(--p-muted); font-size: 13px; }
.ms-more[open] > summary::after, .ms-faq-item[open] > summary::after { content: "▴"; }
.ms-more > summary { color: var(--p-accent-deep); }
.ms-more[open] { padding-bottom: 16px; }
.ms-more .ms-kpis { margin-top: 4px; }
.ms-faq { margin-top: 28px; display: grid; gap: 8px; }
.ms-faq-title { margin: 0 0 4px; font-size: 16px; color: var(--p-ink); }
.ms-faq-item p { margin: 0 0 14px; font-size: 15px; color: var(--p-text); }
