/* Monthly survey prices: shared sidebar widget and regional comparison. */
.price-widget,.price-page{word-break:keep-all;overflow-wrap:anywhere}
.price-widget{background:#fff;border:1px solid var(--line);border-top:3px solid #45977e;border-radius:12px;padding:23px}
.price-widget-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.price-eyebrow{display:block;color:#30725b;font-size:0.875rem;font-weight:750;letter-spacing:1.5px}
.price-badge{display:inline-block;background:#eaf4ef;color:#30725b;border-radius:5px;font-size:0.875rem;font-weight:650;padding:4px 9px;white-space:nowrap}
.price-widget h2{font-size:1.25rem;letter-spacing:-.55px;line-height:1.5;margin:0 0 6px;text-wrap:balance}
.price-caption{font-size:0.9375rem;line-height:1.75;color:#5c6775;margin:0}
.price-mini{margin:18px 0 14px}
.price-mini>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f3}
.price-mini dt{font-size:1rem;color:#596477}
.price-mini dd{font-size:1.4375rem;font-weight:750;letter-spacing:-.5px;color:#2f5e50;font-variant-numeric:tabular-nums;margin:0;white-space:nowrap}
.price-mini small{font-size:0.875rem;color:#5d6a61;margin-left:5px;font-weight:450}
.price-source{font-size:0.875rem;color:#5b6a61;margin:0 0 17px}
.price-widget .side-more{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:0.9375rem;color:#30725b;text-decoration:none;border-top:0;padding-top:0;margin-top:0}
.price-shortcuts{display:flex;gap:6px;margin:0 0 17px;flex-wrap:wrap}
.price-shortcuts a{padding:5px 10px;border-radius:6px;background:#f0f5f2;font-size:0.875rem;color:#3b7057;text-decoration:none}
.price-stale{background:#fff4df;color:#785823;border-radius:6px;padding:10px 12px;font-size:0.9375rem;line-height:1.7;margin:12px 0}
nav.estate-subnav{display:flex;gap:6px;flex-wrap:wrap;align-self:auto;flex:none;margin:0 0 29px;padding:4px;background:#eef2f0;border-radius:9px;width:fit-content}
.section-breadcrumb+nav.estate-subnav{margin-top:-14px}
nav.estate-subnav a{font-size:0.9375rem;padding:8px 16px;color:#5a6a61;border:0;border-radius:6px;text-decoration:none}
nav.estate-subnav a[aria-current=page]{background:#fff;color:#2d7258;box-shadow:0 1px 4px #203a2510;font-weight:700}
nav.estate-subnav a:hover{background:#fff;color:#2d7258;border:0}
.price-intro{margin:0 0 24px}
.price-intro h1{font-size:2.3125rem;line-height:1.3;letter-spacing:-1.5px;margin:13px 0;text-wrap:balance}
.price-intro>p:last-child{font-size:1rem;line-height:1.78;color:#5c6775;text-wrap:pretty}
.price-dateline{display:flex;align-items:center;gap:12px;font-size:0.9375rem;color:#5c6872;margin-bottom:17px;flex-wrap:wrap}
.price-metros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.price-metro{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px;text-decoration:none}
.price-metro:hover{border-color:#9bc9b3;box-shadow:0 3px 12px #214f3810}
.price-metro:first-child{background:#edf5f0;border-color:#d5e6db}
.price-metro>span{font-size:1rem;font-weight:600;color:#586a62}
.price-metro>span small{float:right;font-size:0.875rem;font-weight:400;margin:0;letter-spacing:0}
.price-metro strong{display:block;font-size:2.0625rem;line-height:1.45;letter-spacing:-1px;color:#2d614c;margin:7px 0;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-metro small{font-size:1rem;margin-left:7px;color:#536c5e;font-weight:450}
.price-metro p{font-size:0.875rem;color:#5c6a63}
.price-metro-note{margin:13px 0 31px}
.price-comparison{min-width:0}
.price-comparison .section-heading h2{margin:0}
.price-comparison>.price-controls:not(.list-toolbar){display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 6px;flex-wrap:wrap}
.price-presets{display:flex;gap:5px;flex-wrap:wrap}
.price-presets button{cursor:pointer;border:1px solid #dce6df;border-radius:7px;background:#fff;padding:8px 14px;font-size:0.9375rem;color:#546c5c}
.price-presets button[aria-pressed=true]{background:#34765f;border-color:#34765f;color:#fff;font-weight:650}
.price-region-label{display:flex;align-items:center;gap:8px;font-size:0.875rem;color:#596a5f}
.price-region-label select{background:#fff;border:1px solid #dce6df;border-radius:7px;padding:9px 11px;font-size:0.9375rem;color:#405e4c;max-width:100%}
.price-coverage-note{font-size:0.875rem;line-height:1.75;color:#5c6a61;margin-top:9px;text-wrap:pretty}
.price-local-note{font-size:0.9375rem;line-height:1.75;color:#47634e;background:#eff5f0;border-left:3px solid #8eb49b;padding:12px 14px;margin-top:16px;text-wrap:pretty}
.price-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:1rem;font-variant-numeric:tabular-nums}
.price-table thead th{padding:12px 0;border-bottom:1px solid #dfe6e2;text-align:right;color:#5c6962;font-size:0.875rem;font-weight:500}
.price-table th:first-child{width:32%;text-align:left}
.price-table th:last-child{width:23%}
.price-table tbody th,.price-table tbody td{padding:14px 0;border-bottom:1px solid #edf1ee}
.price-table tbody th{font-weight:500;color:#445b4f}
.price-table tbody th small{display:block;font-size:0.875rem;color:#5b6a5f;margin-top:3px;font-weight:400}
.price-area-note{display:block;font-size:0.875rem;line-height:1.6;color:#427052;margin-top:4px}
.price-region-link{display:block;width:fit-content;max-width:100%;min-height:44px;padding:3px 10px 3px 0;color:#2d7258;text-decoration:none;border-radius:4px}
.price-region-name{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.price-region-name>span{display:inline-block;margin-left:5px;text-decoration:none}
.price-drill-label{display:block;font-size:0.875rem;color:#30725b;margin-top:4px;line-height:1.6}
.price-region-link:hover{background:#edf5f0}.price-region-link:focus-visible{outline:2px solid #34765f;outline-offset:3px}
.price-table td{text-align:right;color:#5c6961;position:relative}
.price-table td strong{position:relative;z-index:1;color:#2e644d;font-size:1rem;font-weight:700;display:inline-block;min-width:62px;background:#fff;padding-left:8px}
.price-bar{position:absolute;left:0;right:76px;top:50%;height:8px;transform:translateY(-50%);border-radius:8px;background:#f3f6f4;overflow:hidden}
.price-bar i{display:block;height:100%;background:#9bc9b3;border-radius:8px}
.price-table tr[hidden]{display:none}
.price-method{background:#edf5f0}
.price-method h2{margin-top:14px;text-wrap:balance}
.price-calculation{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:0.9375rem;color:#5d6a5f}
.price-calculation summary{cursor:pointer;font-weight:600;color:#526a5b}
.price-calculation p{line-height:1.78;margin-top:14px;text-wrap:pretty}
@media(max-width:760px){
 .price-intro h1{font-size:1.8125rem;letter-spacing:-1px}
 .price-metros{gap:8px}.price-metro{padding:16px 12px}.price-metro strong{font-size:1.5625rem}.price-metro small{display:block;font-size:0.875rem;margin:0}.price-metro p{font-size:0.875rem}.price-metro>span small{display:none}
 .price-comparison{padding:20px 17px}.price-comparison .section-heading{align-items:flex-start;gap:10px}.price-comparison .section-heading h2{font-size:1.1875rem}
 .price-comparison .tiny-pill{font-size:0.875rem}.price-table{font-size:0.9375rem}.price-table td strong{font-size:1rem}
 .price-bar{right:65px;height:6px}.price-table th:first-child{width:34%}.price-table th:last-child{width:24%}
 .price-comparison>.price-controls:not(.list-toolbar){gap:13px}.price-presets{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.price-presets button{padding:9px 3px;font-size:0.875rem;white-space:nowrap}
 .price-region-label{width:100%;justify-content:space-between}.price-region-label select{flex:1;margin-left:8px}
 nav.estate-subnav{margin-bottom:24px}nav.estate-subnav a{padding:8px 13px}
}

.price-caption,.price-intro>p:last-child{font-size:1rem}
.price-mini>div{flex-wrap:wrap}.price-widget-heading{flex-wrap:wrap}
.price-region-label{flex-wrap:wrap}.price-region-label select,.price-presets button{font-size:1rem}
.price-table{font-size:1rem}.price-table td strong{font-size:1rem}
.price-table th,.price-table td{overflow-wrap:normal}.price-table td strong{white-space:nowrap}
@media(max-width:760px){
 .price-metros{grid-template-columns:1fr}.price-metro{padding:20px}.price-metro small{display:inline;margin-left:6px;font-size:0.875rem}.price-metro>span small{display:none}
 .price-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.price-presets button{white-space:normal}
 .price-bar{display:none}.price-table th:first-child{width:36%}.price-table th:last-child{width:27%}.price-comparison{padding:20px 14px}
}
