:root{--primary:#2f7d3b;--accent:#e11d48;--ink:#121417;--muted:#6b7280;--line:#e5e7eb;--bg:#f7f8f7;--card:#fff;--shadow:0 18px 45px rgba(0,0,0,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.site-header.compact{height:72px}.brand{display:flex;align-items:center;gap:12px;font-size:22px}.brand img{max-height:42px}.brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--primary);color:white}.site-header nav{display:flex;gap:26px;color:var(--muted)}.hero{max-width:1200px;margin:42px auto;padding:0 22px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:32px;align-items:center}.hero-copy{background:#fff;border:1px solid var(--line);border-radius:34px;padding:clamp(28px,5vw,60px);box-shadow:var(--shadow)}.pill{display:inline-flex;align-items:center;border:1px solid rgba(47,125,59,.2);color:var(--primary);background:rgba(47,125,59,.08);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px}.hero h1{font-size:clamp(38px,6vw,68px);line-height:.98;margin:22px 0 18px;letter-spacing:-.055em}.hero p{font-size:20px;line-height:1.55;color:var(--muted);max-width:760px}.hero-search,.filter-bar{display:flex;gap:12px;align-items:center}.hero-search{margin-top:28px}.search-box{background:#fff;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;gap:12px;padding:0 18px;min-height:58px;position:relative;flex:1;box-shadow:inset 0 0 0 1px rgba(0,0,0,.01)}.search-box span{color:var(--primary);font-weight:900}.search-box input{border:0;outline:0;width:100%;background:transparent;font-size:17px}.hero-search select,.filter-bar select,.filter-bar button,.hero-search button,.popover summary{height:58px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:0 22px;cursor:pointer}.hero-search button,.filter-bar button:not(.ghost),dialog button:not(.ghost),.lead-card a,.load-more{background:var(--primary);color:#fff;border:0;font-weight:800}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.quick-links a{border:1px solid var(--line);border-radius:999px;background:#fafafa;padding:8px 12px;color:var(--muted)}.hero-card{min-height:440px;background:linear-gradient(135deg,#fff,#f6fbf7);border:1px solid var(--line);border-radius:34px;padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.mini-toolbar{display:flex;gap:8px}.mini-toolbar span{width:12px;height:12px;border-radius:50%;background:#d1d5db}.hero-card h2{color:var(--primary);margin:30px 0 0}.hero-card strong{font-size:52px;letter-spacing:-.04em}.bars{height:150px;border-bottom:1px solid var(--line);display:flex;align-items:end;gap:18px}.bars i{display:block;flex:1;background:var(--primary);border-radius:10px 10px 0 0}.stats-row{display:flex;justify-content:space-between;color:var(--muted)}.feature-grid{max-width:1200px;margin:0 auto 42px;padding:0 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid article,.cta-panel,.overview,.lead-card,.results{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px}.feature-grid span{font-size:34px}.feature-grid h3{font-size:22px;margin:.7rem 0 .35rem}.feature-grid p,.cta-panel p,.lead-card p,.muted{color:var(--muted);line-height:1.5}.cta-panel{max-width:1156px;margin:0 auto 44px}.cta-panel h2{font-size:34px;letter-spacing:-.03em}.filter-bar{position:sticky;top:72px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:14px 24px;z-index:19}.search-box.wide{max-width:620px}.ghost{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
/* Header/filter bar selects: match pill buttons/popovers on Safari and other browsers */
.filter-bar select{
  -webkit-appearance:none;
  appearance:none;
  height:58px;
  border-radius:999px;
  border:1px solid var(--line);
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#111827 50%),linear-gradient(135deg,#111827 50%,transparent 50%);
  background-position:calc(100% - 21px) 50%,calc(100% - 15px) 50%;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  box-shadow:none;
  color:var(--ink);
  padding:0 44px 0 20px;
  width:160px;
  min-width:160px;
  flex:0 0 160px;
}
.filter-bar select::-ms-expand{display:none}
.filter-bar select:focus{outline:2px solid rgba(47,125,59,.16);outline-offset:2px;border-color:rgba(47,125,59,.35)}
.popover{position:relative}.popover summary{display:flex;align-items:center;list-style:none}.popover-panel{position:absolute;right:0;top:66px;z-index:30;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:18px;width:320px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.popover-panel input,dialog input,dialog select{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;padding:0 12px}.results-layout{max-width:1480px;margin:24px auto;padding:0 22px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.overview{grid-column:1/2}.lead-card{grid-column:2/3;grid-row:1/2;position:sticky;top:160px;height:max-content}.lead-card a{display:inline-flex;border-radius:999px;padding:13px 18px;margin-top:10px}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0 20px}.summary-cards article{border:1px solid var(--line);border-radius:18px;padding:20px}.summary-cards small{display:block;color:var(--muted);margin-bottom:6px}.summary-cards strong{font-size:30px;letter-spacing:-.03em}.chart-card{border-top:1px solid var(--line);padding-top:20px}.type-chart{min-height:210px;display:flex;gap:18px;align-items:end}.bar-wrap{flex:1;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px}.bar-wrap i{width:100%;max-width:90px;background:var(--primary);border-radius:10px 10px 0 0;position:relative;overflow:visible}.bar-wrap span{position:absolute;top:8px;left:50%;transform:translateX(-50%);font-style:normal;color:#fff;font-size:12px;font-weight:900;white-space:nowrap;z-index:2}.bar-wrap i.label-outside span{top:-24px;color:var(--primary);background:#fff;padding:0 4px;border-radius:999px}.bar-wrap small{color:var(--muted)}.results{grid-column:1/-1}.results-list{display:grid;gap:12px}.result-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(480px,.9fr);gap:16px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff}.result-row strong{font-size:30px;color:var(--primary)}.result-row span{display:block;margin-top:4px}.result-row dl{display:grid;grid-template-columns:repeat(5,auto);gap:3px 16px;margin:0}.result-row dt{font-size:12px;color:var(--muted)}.result-row dd{margin:0;font-weight:700}.load-more{border-radius:999px;padding:14px 22px;margin:20px auto 0;display:block}dialog{border:0;border-radius:24px;padding:0;width:min(860px,calc(100vw - 30px));box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.45)}.advanced-grid{padding:26px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.advanced-grid header,.advanced-grid footer,fieldset{grid-column:1/-1}.advanced-grid header,.advanced-grid footer{display:flex;justify-content:space-between;align-items:center}.advanced-grid header button{font-size:34px;background:transparent!important;color:#999!important;border:0!important}.advanced-grid fieldset{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0}.advanced-grid fieldset label{border:1px solid var(--line);border-radius:999px;padding:10px 14px}.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;padding:18px;border-radius:18px}.suggestions{position:absolute;top:64px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:8px;z-index:50}.suggestions button{display:block;width:100%;text-align:left;border:0;background:#fff;border-radius:12px;padding:10px 12px}.suggestions button:hover{background:#f3f4f6}footer{text-align:center;color:var(--muted);padding:34px}@media(max-width:900px){.filter-bar select{width:auto;min-width:150px;flex:1 1 150px}.hero,.feature-grid,.results-layout{grid-template-columns:1fr}.hero-search,.filter-bar{flex-wrap:wrap}.lead-card{position:static;grid-column:1}.result-row{grid-template-columns:1fr}.result-row dl{grid-template-columns:repeat(2,auto)}.summary-cards{grid-template-columns:1fr}.site-header nav{display:none}}
.property-card{grid-template-columns:minmax(0,1fr) 250px;align-items:start;border-radius:0;border-left:0;border-right:0;border-top:0;padding:28px 34px}.property-main h3{font-size:20px;line-height:1.35;margin:0 0 10px}.property-main p{font-size:18px;color:var(--muted);margin:0 0 12px}.history-row{display:grid;grid-template-columns:180px 170px 120px;gap:22px;align-items:center;border-top:1px dashed var(--line);padding:10px 0}.history-row.latest{border-top:0;padding-top:0}.history-row strong{font-size:18px;color:var(--ink);letter-spacing:0}.history-row span:first-child{font-weight:700}.no-history{margin:6px 0 0;color:var(--ink)}.property-meta{font-size:14px;color:var(--muted)}.property-meta dt{color:var(--muted)}.property-meta dd{color:var(--ink)}@media(max-width:900px){.property-card{grid-template-columns:1fr;padding:22px}.history-row{grid-template-columns:1fr;gap:4px}.property-meta{display:none!important}}
.summary-cards.enhanced{grid-template-columns:repeat(6,1fr)}
.summary-cards.enhanced strong{font-size:24px}.insight-card{border:1px solid var(--line);border-radius:18px;padding:18px;margin:0 0 20px;background:linear-gradient(135deg,#fff,#fbfdfb)}.insight-card h2{margin:0 0 10px}.insight-card ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.55}.result-title-row{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.score-badge{min-width:110px;border:1px solid rgba(47,125,59,.22);background:rgba(47,125,59,.08);border-radius:16px;padding:10px;text-align:center;color:var(--primary)}.score-badge strong{display:block;font-size:26px;color:var(--primary)}.score-badge span{font-size:12px;font-weight:800;margin:0}.property-side{display:grid;gap:12px}.epc-panel{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.epc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.epc-head strong{display:inline-grid;place-items:center;min-width:66px;height:42px;border-radius:12px;background:var(--primary);color:#fff;font-size:18px}.epc-head span{font-size:13px;color:var(--muted);font-weight:700}.epc-panel dl{display:grid!important;grid-template-columns:auto 1fr!important;gap:6px 12px!important;margin:0!important}.epc-panel dt{font-size:12px;color:var(--muted)}.epc-panel dd{margin:0;font-weight:800;color:var(--ink)}.muted-panel{background:#fafafa;color:var(--muted)}.muted-panel strong{display:block;color:var(--ink);margin-bottom:4px}.muted-panel span,.muted-panel small{display:block}.lead-card.upgraded{border:1px solid rgba(47,125,59,.18);background:linear-gradient(180deg,#fff,#f7fcf8)}.lead-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--primary);color:#fff;font-size:32px;font-weight:900;margin-bottom:14px}.lead-card small{display:block;color:var(--muted);line-height:1.45;margin-top:14px}.property-card{grid-template-columns:minmax(0,1fr) 330px}@media(max-width:1200px){.summary-cards.enhanced{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.summary-cards.enhanced{grid-template-columns:1fr}.result-title-row{display:block}.score-badge{width:130px;margin:10px 0}.property-card{grid-template-columns:1fr}.property-side{display:block}.epc-panel{margin-bottom:12px}}

/* Property intelligence upgrades */
.intelligence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.mode-toggle,.quick-filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.mode-toggle button,.quick-filter-pills button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.mode-toggle button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.quick-filter-pills button:hover{border-color:rgba(47,125,59,.35);color:var(--primary)}.quick-filter-pills button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.analysis-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.analysis-strip div{border:1px solid var(--line);background:#fbfdfb;border-radius:14px;padding:12px}.analysis-strip b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.analysis-strip span{font-weight:800;color:var(--ink);line-height:1.35}.analysis-strip small{display:block;color:var(--muted);margin-top:4px}.mini-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0}.mini-list li{border:1px solid rgba(47,125,59,.16);background:rgba(47,125,59,.06);border-radius:999px;padding:6px 10px;font-size:13px;color:var(--primary);font-weight:700}.warning-panel{border:1px solid #fed7aa;background:#fff7ed;border-radius:14px;padding:12px;margin-top:12px}.warning-panel strong{display:block;color:#9a3412;font-size:15px;margin-bottom:4px}.warning-panel .mini-list li{background:#fffbeb;border-color:#fde68a;color:#92400e}.micro-note{color:var(--muted);font-size:13px;line-height:1.4;margin:10px 0 0}.epc-panel dd{word-break:break-word}@media(max-width:1100px){.intelligence-grid{grid-template-columns:1fr}.analysis-strip{grid-template-columns:1fr}}

/* Self-hosted MapLibre/PMTiles map upgrades */
.results-layout{grid-template-columns:minmax(0,1fr) minmax(380px,520px);align-items:start}.map-shell{grid-column:2;grid-row:1 / span 2;position:sticky;top:154px;display:grid;gap:18px}.map-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.map-toolbar strong{display:block;font-size:18px}.map-toolbar small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.view-toggle button{border:0;background:#fff;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer}.view-toggle button.active{background:var(--primary);color:#fff}.sold-price-map{height:620px;min-height:420px;background:#eef2f7}.boundary-toggles{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line)}.boundary-toggles:empty{display:none}.boundary-toggles button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}.boundary-toggles button.active{border-color:var(--accent);color:var(--accent);background:rgba(225,29,72,.06)}.map-note{margin:0;padding:0 14px 14px;color:var(--muted);font-size:12px;line-height:1.45}.map-lead{position:static!important;grid-column:auto!important;grid-row:auto!important}.results{grid-column:1}.overview{grid-column:1}.maplibregl-popup-content{border-radius:14px;padding:12px;box-shadow:var(--shadow);font-family:inherit}.maplibregl-ctrl-attrib{font-size:11px}
body[data-results-view="list"] .map-shell{display:none}body[data-results-view="list"] .results-layout{grid-template-columns:minmax(0,1fr)}body[data-results-view="map"] .overview,body[data-results-view="map"] .results{display:none}body[data-results-view="map"] .results-layout{grid-template-columns:1fr}body[data-results-view="map"] .map-shell{grid-column:1;grid-row:auto;position:static}body[data-results-view="map"] .sold-price-map{height:calc(100vh - 220px);min-height:620px}@media(max-width:1100px){.results-layout{grid-template-columns:1fr}.map-shell{grid-column:1;grid-row:auto;position:static}.sold-price-map{height:460px}.results{grid-column:1}.map-toolbar{align-items:flex-start;flex-direction:column}body[data-results-view="map"] .sold-price-map{height:70vh;min-height:460px}}
.boundary-toggles button[title]{white-space:nowrap}

/* Top-level list / split / map tabs and list-view mini map */
.page-view-toggle{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 28px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:18}.page-view-toggle span{font-size:13px;color:var(--muted);font-weight:800;margin-right:4px}.page-view-toggle button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:900;cursor:pointer}.page-view-toggle button.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-view-toggle button:hover{border-color:rgba(47,125,59,.35)}
.intelligence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-results-view="list"] .map-shell{display:block;grid-column:1;grid-row:auto;position:static;margin:0 0 18px}body[data-results-view="list"] .results-layout{grid-template-columns:minmax(0,1fr)}body[data-results-view="list"] .map-card{box-shadow:none}body[data-results-view="list"] .sold-price-map{height:300px;min-height:260px}body[data-results-view="list"] .map-lead{display:none}body[data-results-view="list"] .map-note{display:none}body[data-results-view="list"] .boundary-toggles{padding:10px 14px}
@media(max-width:900px){.page-view-toggle{padding:10px 16px;justify-content:flex-start;overflow-x:auto}.intelligence-grid{grid-template-columns:1fr}body[data-results-view="list"] .sold-price-map{height:260px;min-height:220px}}
.page-view-toggle{top:144px}
@media(max-width:900px){.page-view-toggle{position:static}}

/* Map clusters and selected-postcode panel */
.map-stage{position:relative}.hp-cluster-marker{display:grid;place-items:center;min-width:42px;height:42px;padding:0 9px;border:2px solid #fff;border-radius:999px;background:#facc15;color:#fff;font-weight:900;font-size:13px;box-shadow:0 0 0 7px rgba(250,204,21,.32),0 8px 18px rgba(0,0,0,.22);cursor:pointer}.hp-cluster-marker:hover{transform:scale(1.06)}.map-selection-panel{position:absolute;left:14px;top:14px;bottom:14px;width:min(390px,calc(100% - 28px));z-index:5;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.map-selection-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.map-selection-head b{display:block;font-size:17px}.map-selection-head span{display:block;color:var(--muted);font-size:13px;margin-top:2px}.map-selection-head button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:24px;line-height:1;cursor:pointer}.map-selection-list{height:calc(100% - 66px);overflow:auto}.map-sale-row{display:grid;width:100%;grid-template-columns:105px 92px minmax(0,1fr);gap:7px 10px;padding:12px 14px;text-align:left;border:0;border-bottom:1px solid #edf0f2;background:#fff;cursor:pointer}.map-sale-row:hover{background:#f8fafc}.map-sale-row strong{font-size:14px;color:var(--ink)}.map-sale-row span{font-size:13px;color:var(--muted)}.map-sale-row small{grid-column:1/-1;font-size:13px;color:var(--ink);line-height:1.35}.map-sale-row em{grid-column:1/-1;font-style:normal;font-size:12px;color:var(--muted)}body[data-results-view="list"] .map-selection-panel{display:none}@media(max-width:900px){.map-selection-panel{left:10px;right:10px;top:10px;bottom:10px;width:auto}.map-sale-row{grid-template-columns:1fr}}

/* Map render stability fix: ensure MapLibre fills the visible panel after list/split/map layout changes. */
.sold-price-map .maplibregl-canvas-container,
.sold-price-map .maplibregl-canvas {
  width: 100% !important;
  height: 100% !important;
}

/* Street-level value bands */
.map-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.street-band-toggle{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.street-band-toggle.active{background:var(--primary);border-color:var(--primary);color:#fff}.street-band-toggle:hover{border-color:rgba(47,125,59,.35)}@media(max-width:1100px){.map-toolbar-actions{justify-content:flex-start}}

/* Map insight controls, legend and guided summaries */
.map-switch{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.map-switch.active{border-color:rgba(47,125,59,.55);background:rgba(47,125,59,.08);box-shadow:0 0 0 3px rgba(47,125,59,.08)}.map-switch input{appearance:none;width:34px;height:20px;border-radius:999px;background:#d1d5db;position:relative;margin:0;transition:.18s ease}.map-switch input:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:.18s ease}.map-switch input:checked{background:var(--primary)}.map-switch input:checked:before{transform:translateX(14px)}.map-insight-toggle{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.map-insight-toggle button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.map-insight-toggle button.active{background:#111827;border-color:#111827;color:#fff}.map-legend{position:absolute;right:12px;top:12px;z-index:4;max-width:230px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px rgba(15,23,42,.16);padding:10px 12px}.legend-section+.legend-section{margin-top:10px;padding-top:10px;border-top:1px solid #e5e7eb}.legend-section b{display:block;font-size:12px;margin-bottom:3px}.legend-section small{display:block;color:var(--muted);font-size:11px;line-height:1.3;margin-bottom:7px}.legend-section span{display:flex;align-items:center;gap:7px;font-size:12px;color:#374151;margin-top:4px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.9)}.legend-dot.premium,.legend-dot.budget-b6{background:#7c3aed}.legend-dot.high{background:#2563eb}.legend-dot.typical{background:#16a34a}.legend-dot.lower,.legend-dot.budget-b4{background:#f97316}.legend-dot.limited{background:#94a3b8}.legend-dot.budget-b1{background:#22c55e}.legend-dot.budget-b2{background:#84cc16}.legend-dot.budget-b3{background:#eab308}.legend-dot.budget-b5{background:#ef4444}.legend-dot.monthly-m1{background:#22c55e}.legend-dot.monthly-m2{background:#84cc16}.legend-dot.monthly-m3{background:#eab308}.legend-dot.monthly-m4{background:#f97316}.legend-dot.monthly-m5{background:#ef4444}.legend-dot.monthly-m6{background:#7c3aed}.legend-dot.notable{background:#111827;box-shadow:0 0 0 2px #facc15}.map-insight-panel{position:absolute;left:12px;top:12px;z-index:4;width:min(390px,calc(100% - 280px));max-height:46%;overflow:auto;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 28px rgba(15,23,42,.16);padding:13px 14px}.map-insight-panel h3{margin:0 0 6px;font-size:15px}.map-insight-panel h4{margin:10px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.map-insight-panel p{margin:0 0 8px;color:#374151;font-size:13px;line-height:1.42}.map-insight-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.map-insight-panel li{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf0f2;padding-top:6px;font-size:12px}.map-insight-panel li b{color:#111827}.map-insight-panel li span{text-align:right;color:var(--muted)}@media(max-width:900px){.map-legend{left:10px;right:10px;top:auto;bottom:10px;max-width:none}.map-insight-panel{left:10px;right:10px;top:10px;width:auto;max-height:42%}.map-toolbar-actions{align-items:flex-start}.map-insight-toggle{width:100%}}

/* Area price guide */
.area-guide-page{background:#f6f8fb}.area-guide-shell{max-width:1220px;margin:0 auto;padding:26px}.area-guide-hero{background:linear-gradient(135deg,#ffffff 0%,#eef8f1 100%);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:30px}.area-guide-hero h1{max-width:850px;margin:12px 0 10px;font-size:clamp(32px,4vw,58px);line-height:1.02}.area-guide-hero p{max-width:780px;color:var(--muted);font-size:17px;line-height:1.55}.area-guide-form{display:grid;grid-template-columns:1.4fr repeat(3,minmax(140px,.65fr)) auto;gap:12px;margin-top:24px;align-items:end}.area-guide-form label{display:grid;gap:6px;font-weight:900;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.area-guide-form input,.area-guide-form select,.area-lead-form input,.area-lead-form select,.area-lead-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}.area-guide-form button,.area-lead-form button{border:0;border-radius:14px;background:var(--primary);color:#fff;font-weight:900;padding:14px 18px;cursor:pointer}.area-guide-status{margin:18px 0;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px;color:var(--muted);font-weight:800}.area-guide-status.error{border-color:#fecaca;background:#fff1f2;color:#be123c}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 28px rgba(15,23,42,.06);padding:20px}.guide-span{grid-column:1/-1}.guide-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.guide-card small,.guide-card-head small{display:block;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.guide-card h2{margin:4px 0 10px;font-size:24px}.guide-card h3{margin:0 0 8px;font-size:16px}.guide-card-head strong{background:rgba(47,125,59,.1);border:1px solid rgba(47,125,59,.18);color:var(--primary);border-radius:999px;padding:8px 12px;font-size:13px}.guide-link{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:900;color:var(--primary);text-decoration:none;background:#fff}.guide-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.guide-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-muted{color:var(--muted);line-height:1.5}.guide-table{overflow:auto}.guide-table table{width:100%;border-collapse:separate;border-spacing:0}.guide-table th{font-size:12px;text-align:left;color:var(--muted);padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.guide-table td{padding:11px 10px;border-bottom:1px solid #edf0f2;font-size:14px;vertical-align:top}.guide-table tr:last-child td{border-bottom:0}.guide-table.compact td,.guide-table.compact th{font-size:13px;padding:8px}.guide-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.guide-list li{border-left:4px solid var(--primary);background:#f8fafc;border-radius:12px;padding:12px 13px;color:#334155;line-height:1.45}.trend-badge{display:inline-flex;background:#111827;color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;margin-bottom:10px}.mini-bars{height:124px;display:flex;align-items:end;gap:5px;margin-top:16px;border-top:1px solid #eef2f7;padding-top:12px;overflow-x:auto}.mini-bars div{display:grid;gap:5px;justify-items:center;min-width:24px}.mini-bars span{display:block;width:14px;border-radius:6px 6px 0 0;background:var(--primary);opacity:.82}.mini-bars small{font-size:10px;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg)}.seasonality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.seasonality-grid div{display:grid;grid-template-columns:38px 1fr 34px;align-items:center;gap:8px;font-size:13px}.seasonality-grid span{display:block;height:9px;background:#eef2f7;border-radius:999px;overflow:hidden}.seasonality-grid i{display:block;height:100%;background:var(--primary);border-radius:999px}.seasonality-grid em{font-style:normal;color:var(--muted);text-align:right}.lead-capture-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:start;background:linear-gradient(135deg,#fff 0%,#fff7ed 100%)}.area-lead-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.area-lead-form textarea{grid-column:1/-1;min-height:92px;resize:vertical}.area-lead-form button{grid-column:1}.area-lead-form small{align-self:center;color:var(--muted);font-weight:800}@media(max-width:950px){.area-guide-shell{padding:16px}.area-guide-form{grid-template-columns:1fr}.guide-grid,.guide-two-col,.lead-capture-card{grid-template-columns:1fr}.guide-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.seasonality-grid{grid-template-columns:1fr}.area-lead-form{grid-template-columns:1fr}.area-lead-form button{grid-column:auto}}
.area-guide-home-cta{margin-top:12px;color:rgba(255,255,255,.88);font-weight:700}.area-guide-home-cta a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.map-why-btn{border:1px solid rgba(47,125,59,.24);background:rgba(47,125,59,.08);color:var(--primary);border-radius:999px;padding:10px 16px;font-weight:900;cursor:pointer;white-space:nowrap}.map-why-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.map-switch input:not(:checked)+span{background:#fff;color:var(--primary);border-color:rgba(47,125,59,.22)}.legend-filter-list{display:grid;gap:5px;margin-top:8px}.legend-filter{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 7px;font-size:11px;line-height:1.15;font-weight:800;color:var(--muted);cursor:pointer;text-align:left}.legend-filter .legend-dot{width:8px;height:8px;flex:0 0 8px}.legend-filter.active{color:var(--ink);border-color:rgba(47,125,59,.3);background:rgba(47,125,59,.06)}.area-insight-subtitle{color:var(--muted);font-size:13px;margin-top:-4px;margin-bottom:12px}.area-insight-pills{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.area-insight-pills span{border:1px solid rgba(47,125,59,.18);background:rgba(47,125,59,.08);color:var(--primary);border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px}.area-insight-stats{border:1px solid var(--line);border-radius:14px;background:#fbfdff;color:var(--muted);padding:10px 12px;margin:10px 0 14px;font-size:13px}.buyer-seller-card{border:1px solid rgba(47,125,59,.16);background:#fbfdfb;border-radius:16px;padding:12px;margin-top:14px;display:grid;gap:10px}.buyer-seller-card div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.buyer-seller-card b{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);font-size:12px}.buyer-seller-card span{line-height:1.45}.map-insight-panel h3+ .area-insight-subtitle{margin-top:-8px}@media(max-width:760px){.map-toolbar-actions{gap:8px}.map-why-btn{padding:9px 12px}.buyer-seller-card div{grid-template-columns:1fr}}
.map-evidence-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);background:#fbfdff}.map-period-filter,.map-ppm-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.map-period-filter span,.map-ppm-filter>span{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.map-period-filter button,.map-ppm-filter button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.map-period-filter button.active{background:var(--primary);border-color:var(--primary);color:#fff}.map-ppm-filter{margin-left:auto}.map-ppm-filter output{font-size:11px;color:#374151;font-weight:800}.map-ppm-sliders{display:grid;gap:2px;width:170px}.map-ppm-sliders input{width:170px;accent-color:var(--primary)}@media(max-width:900px){.map-evidence-controls{align-items:flex-start}.map-ppm-filter{margin-left:0;width:100%}.map-ppm-sliders,.map-ppm-sliders input{width:100%}}

/* Heat map page */
.heat-map-page{background:#f6f8fb}.heat-map-shell{max-width:1380px;margin:0 auto;padding:26px}.heat-map-hero{background:linear-gradient(135deg,#ffffff 0%,#eef8f1 100%);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:30px}.heat-map-hero h1{max-width:900px;margin:12px 0 10px;font-size:clamp(32px,4vw,58px);line-height:1.02}.heat-map-hero p{max-width:820px;color:var(--muted);font-size:17px;line-height:1.55}.heat-map-form{display:grid;grid-template-columns:1.4fr repeat(5,minmax(130px,.7fr)) auto;gap:12px;margin-top:24px;align-items:end}.heat-map-form label{display:grid;gap:6px;font-weight:900;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.heat-map-form input,.heat-map-form select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}.heat-map-form button{border:0;border-radius:14px;background:var(--primary);color:#fff;font-weight:900;padding:14px 18px;cursor:pointer}.heat-map-content{display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;align-items:stretch}.heat-insight-card,.heat-map-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 28px rgba(15,23,42,.06);padding:18px}.heat-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 16px}.heat-insight-card h3{margin:18px 0 8px;font-size:16px}.heat-map-stage{height:680px;min-height:520px;border-radius:18px;overflow:hidden;background:#eef2f7}.heat-map-canvas{height:100%;min-height:520px}.heat-swatch{display:inline-block;width:12px;height:12px;border-radius:4px}.heat-swatch.low{background:#86efac}.heat-swatch.mid{background:#facc15}.heat-swatch.high{background:#e11d48}.heat-popup-grid{display:grid;grid-template-columns:1fr auto;gap:9px 14px;padding-top:8px}.heat-popup-grid span{color:var(--muted);font-size:13px}.heat-popup-grid b{font-size:13px;text-align:right}.site-header nav a[aria-current="page"]{color:var(--primary);font-weight:900}@media(max-width:1050px){.heat-map-form{grid-template-columns:1fr}.heat-map-content{grid-template-columns:1fr}.heat-map-stage{height:560px}.heat-map-shell{padding:16px}}

.selected-mini{display:inline-block;margin-left:6px;border-radius:999px;background:#fef3c7;color:#92400e;padding:2px 6px;font-size:10px;font-weight:900;text-transform:uppercase}

/* Stage 2 heat-map controls */
.heat-map-form .budget-control{min-width:130px}
.heat-map-form .budget-control.is-muted{opacity:.55}
.heat-map-form .budget-control input{width:100%;border:0;background:rgba(255,255,255,.86);border-radius:10px;padding:10px 12px;font-weight:700;color:#111827;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.heat-swatch.suppressed{background:#d1d5db;border:1px solid #9ca3af}
.suppression-note{margin:.65rem 0 0;padding:.65rem .75rem;border-radius:12px;background:#f3f4f6;color:#4b5563;font-size:.9rem;line-height:1.35}
.heat-map-form .budget-control input[type=range]{width:100%;accent-color:var(--primary);padding:0;background:transparent;box-shadow:none}
.heat-map-form .budget-control small{display:block;margin-top:4px;color:#334155;font-weight:800;text-transform:none;letter-spacing:0;font-size:.75rem}

/* Heat map intelligence upgrades */
.heat-map-form{grid-template-columns:1.25fr repeat(4,minmax(145px,.75fr)) auto;align-items:end}.heat-map-form label:nth-of-type(n+6){grid-column:auto}.heat-map-form button{min-height:48px}.heat-map-notice{max-width:1380px;margin:12px auto 0;background:#fff7ed;border:1px solid #fed7aa;border-left:5px solid #f97316;color:#7c2d12;border-radius:16px;padding:13px 16px;display:flex;gap:10px;align-items:center;box-shadow:0 8px 18px rgba(15,23,42,.05)}.heat-map-notice[hidden]{display:none}.heat-map-notice b{font-weight:900}.heat-map-notice span{font-weight:700;font-size:14px}.heat-map-content{grid-template-columns:minmax(310px,360px) minmax(0,1fr);align-items:start}.heat-insight-card{position:sticky;top:84px;align-self:start}.heat-map-stage{height:min(72vh,760px);min-height:590px;position:relative}.heat-map-canvas.is-preparing{opacity:.45}.heat-map-loading{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(238,248,241,.74));backdrop-filter:blur(2px);font-weight:900;color:#14532d}.heat-map-loading[hidden]{display:none}.heat-meaning-card{margin:14px 0;padding:14px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:16px}.heat-meaning-card b{display:block;margin-bottom:4px;color:#166534}.heat-meaning-card p{margin:0;color:#334155;line-height:1.45;font-weight:700}.agent-cta-card{margin:14px 0;padding:14px;border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;display:grid;gap:7px}.agent-cta-card b{color:#1d4ed8}.agent-cta-card span{color:#334155;font-weight:700;font-size:14px;line-height:1.4}.agent-cta-card a{display:inline-flex;width:max-content;text-decoration:none;background:#1d4ed8;color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px}.map-legend-toggle{position:absolute;right:14px;top:14px;z-index:4;border:0;border-radius:999px;background:#fff;color:#111827;font-weight:900;padding:9px 13px;box-shadow:0 8px 20px rgba(15,23,42,.14);cursor:pointer}.map-legend{max-width:300px}.map-legend.is-collapsed{display:none}.heat-leading-section{margin-top:16px;border-top:1px solid var(--line);padding-top:15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.section-head small{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-weight:900;font-size:11px}.section-head h3{margin:2px 0 0}.section-head button{border:1px solid var(--line);border-radius:999px;background:#fff;color:#111827;font-weight:900;padding:8px 12px;cursor:pointer}.heat-leading-section .guide-table table{font-size:13px}.heat-leading-section .guide-table th,.heat-leading-section .guide-table td{padding:10px 9px}.heat-why-note,.heat-compare-note{margin:8px 0 10px;padding:10px;border-radius:12px;background:#f8fafc;color:#334155;font-size:13px;line-height:1.38}.heat-why-note b{color:#111827}.heat-swatch.suppressed{background:#d1d5db}.heat-map-card{padding:16px}.heat-insight-card .guide-list li{line-height:1.42}.heat-popup-grid{border-top:1px solid var(--line)}
@media(min-width:1051px){.heat-map-form{grid-template-areas:'q context geography metric action' 'period type min max action'}.heat-map-form label:nth-of-type(1){grid-area:q}.heat-map-form label:nth-of-type(2){grid-area:context}.heat-map-form label:nth-of-type(3){grid-area:geography}.heat-map-form label:nth-of-type(4){grid-area:metric}.heat-map-form label:nth-of-type(5){grid-area:period}.heat-map-form label:nth-of-type(6){grid-area:type}.heat-map-form label:nth-of-type(7){grid-area:min}.heat-map-form label:nth-of-type(8){grid-area:max}.heat-map-form button{grid-area:action;height:100%}}
@media(max-width:1050px){.heat-insight-card{position:static}.heat-map-notice{margin-left:16px;margin-right:16px;align-items:flex-start;flex-direction:column}.heat-map-stage{height:560px;min-height:480px}.section-head{align-items:flex-start;flex-direction:column}.heat-leading-section{overflow-x:auto}}

/* Phase 2 heat-map improvements */
.heat-metric-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}
.heat-metric-tabs button{border:1px solid rgba(47,125,59,.18);background:#fff;color:#334155;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.04)}
.heat-metric-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.heat-selected-evidence{display:grid;gap:8px;margin:14px 0;padding:14px;border:1px solid var(--line);background:#fbfdff;border-radius:16px}
.heat-selected-evidence:empty{display:none}
.heat-selected-evidence>b{color:#0f172a;margin-bottom:2px}
.heat-selected-evidence div{display:flex;justify-content:space-between;gap:12px;border-top:1px dashed #dbe3ea;padding-top:7px;font-size:13px}
.heat-selected-evidence span{color:var(--muted);font-weight:800}
.heat-selected-evidence strong{text-align:right;color:#111827}
.heat-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.heat-actions label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 10px;font-size:12px;font-weight:900;color:#334155;cursor:pointer}
.heat-actions input{accent-color:var(--primary)}
.heat-type-breakdown{margin:10px 0 0;padding:10px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);display:grid;gap:6px;font-size:13px}
.heat-type-breakdown>b{color:#111827;margin-bottom:2px}
.heat-type-breakdown span{display:grid;grid-template-columns:minmax(82px,1fr) auto auto;gap:8px;align-items:center;color:#475569}
.heat-type-breakdown strong{color:#111827}
.heat-type-breakdown em{font-style:normal;color:#64748b;font-weight:800;text-align:right}
.heat-sold-link{display:inline-flex;margin-top:10px;border-radius:999px;background:var(--primary);color:#fff!important;padding:8px 12px;font-weight:900;font-size:13px}
.agent-cta-card{display:none!important}
@media(max-width:700px){.heat-actions{justify-content:flex-start}.heat-type-breakdown span{grid-template-columns:1fr auto}.heat-type-breakdown em{grid-column:1/-1;text-align:left}}

/* Phase 3 heat-map improvements */
.heat-benchmark-card,.heat-data-quality-card{display:grid;gap:8px;margin:14px 0;padding:14px;border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.heat-benchmark-card:empty,.heat-data-quality-card:empty{display:none}
.heat-benchmark-card>b,.heat-data-quality-card>b{color:#0f172a;font-size:14px}
.heat-benchmark-card p{margin:0;color:#334155;line-height:1.45;font-weight:700;font-size:13px}
.heat-benchmark-card small{color:#64748b;font-weight:800;line-height:1.35}
.heat-data-quality-card div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px dashed #dbe3ea;padding-top:7px;font-size:13px}
.heat-data-quality-card span{color:#64748b;font-weight:800}.heat-data-quality-card strong{color:#111827;text-align:right}
.heat-actions button{white-space:nowrap}.heat-actions button:hover{border-color:rgba(47,125,59,.35);box-shadow:0 6px 14px rgba(15,23,42,.06)}
.heat-metric-tabs button[data-metric="trend36_ppm"],.heat-metric-tabs button[data-metric="activity_change"]{border-style:dashed}
@media print{body.heat-print-mode{background:#fff}.heat-print-mode .site-header,.heat-print-mode .heat-map-hero,.heat-print-mode footer,.heat-print-mode .heat-actions,.heat-print-mode .map-legend-toggle,.heat-print-mode .map-selection-panel{display:none!important}.heat-print-mode .heat-map-shell{max-width:none;padding:0}.heat-print-mode .heat-map-content{display:block}.heat-print-mode .heat-insight-card{position:static;box-shadow:none;border:0;padding:0;margin-bottom:14px}.heat-print-mode .heat-map-card{box-shadow:none;border:0;padding:0}.heat-print-mode .heat-map-stage{height:420px;min-height:420px;break-inside:avoid}.heat-print-mode .heat-leading-section{break-before:auto}.heat-print-mode .map-legend{display:block!important;position:static;margin-top:10px}.heat-print-mode .guide-table{overflow:visible}}

/* Phase 4 heat-map production refinements */
.heat-print-summary{max-width:1380px;margin:18px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.heat-print-summary[hidden]{display:none}
.print-report-head h2{margin:10px 0 6px;font-size:30px;letter-spacing:-.03em}.print-report-head p{margin:0;color:#475569;font-weight:800}.print-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.print-report-grid article{border:1px solid var(--line);border-radius:16px;padding:14px}.print-report-grid small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:11px;margin-bottom:5px}.print-report-grid strong{font-size:20px;color:#111827}.print-context{margin:12px 0 0;color:#334155;font-weight:800}.quality-footnote{margin:6px 0 0;color:#64748b;font-size:12px;line-height:1.35;font-weight:700}.heat-data-quality-card .quality-reasons{align-items:flex-start}.heat-data-quality-card .quality-reasons strong{font-size:12px;line-height:1.35;max-width:62%}
@media(max-width:760px){.heat-map-shell{padding:12px}.heat-map-hero{padding:18px;border-radius:22px}.heat-metric-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.heat-metric-tabs button{white-space:nowrap}.heat-map-form{gap:10px}.heat-map-stage{height:68vh;min-height:430px;border-radius:16px}.map-selection-panel{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;max-width:none!important;max-height:58vh;overflow:auto;z-index:60;border-radius:22px;box-shadow:0 24px 60px rgba(15,23,42,.30)}.map-selection-panel:before{content:'';display:block;width:46px;height:5px;border-radius:999px;background:#cbd5e1;margin:0 auto 10px}.heat-popup-grid{grid-template-columns:minmax(0,1fr) auto}.heat-insight-card{padding:16px}.heat-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.print-report-grid{grid-template-columns:1fr 1fr}.section-head button,.heat-actions label{font-size:12px;padding:8px 10px}}
@media(max-width:520px){.print-report-grid{grid-template-columns:1fr}.heat-summary{grid-template-columns:1fr}.heat-map-stage{height:62vh;min-height:380px}.heat-popup-grid b{max-width:150px;overflow-wrap:anywhere}.heat-map-form label,.heat-map-form button{border-radius:14px}}
@media print{.heat-print-summary{display:block!important;box-shadow:none;border:0;border-bottom:1px solid #ddd;border-radius:0;margin:0 0 16px;padding:0 0 12px}.print-report-grid{grid-template-columns:repeat(4,1fr)}.heat-print-mode .heatPrintSummary{display:block}.quality-footnote{display:none}}

/* Phase 5 heat-map speed/trust refinements */
.heat-benchmark-card small + small{margin-top:2px}
.heat-benchmark-card small:last-child{padding-top:4px;border-top:1px dashed #e2e8f0}
.suppression-note small{display:block;margin-top:4px;color:#64748b;font-weight:800;text-transform:capitalize}
.map-selection-panel[hidden]{display:none!important}
.map-selection-panel{touch-action:pan-y}
@media(max-width:760px){
  .heat-map-card{padding:10px;border-radius:18px}
  .heat-leading-section{max-height:52vh;overflow:auto;-webkit-overflow-scrolling:touch}
  .heat-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .heat-actions label,.heat-actions button{justify-content:center;text-align:center;width:100%}
  .map-legend-toggle{top:10px;right:10px}
  .map-legend{left:10px!important;right:10px!important;bottom:10px!important;max-width:none!important}
}

/* Phase 1 area market intelligence summary */
.market-pulse-card{background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 100%)}
.market-pulse-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:14px}
.market-pulse-top strong{display:inline-flex;align-items:center;border-radius:999px;background:#111827;color:#fff;padding:9px 14px;font-size:18px;line-height:1;font-weight:900;margin:4px 0 6px}
.market-pulse-top .guide-link{align-self:start;background:var(--primary);border-color:var(--primary);color:#fff}
.market-signals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.market-signals article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px;box-shadow:0 5px 14px rgba(15,23,42,.04)}
.market-signals small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:11px;margin-bottom:6px}
.market-signals strong{display:block;color:#0f172a;font-size:18px;line-height:1.12;overflow-wrap:anywhere}
.market-signals span{display:block;margin-top:6px;color:#64748b;font-size:12px;font-weight:800;line-height:1.3}
.market-pulse-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.market-pulse-notes p{margin:0;border:1px solid rgba(47,125,59,.16);background:rgba(255,255,255,.74);border-radius:16px;padding:13px;color:#334155;line-height:1.45}
.market-pulse-notes b{display:block;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;margin-bottom:5px}
@media(max-width:1050px){.market-signals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.market-pulse-top,.market-pulse-notes{grid-template-columns:1fr}.market-signals{grid-template-columns:repeat(2,minmax(0,1fr))}.market-pulse-top .guide-link{width:100%;justify-content:center}}
@media(max-width:480px){.market-signals{grid-template-columns:1fr}}
/* Phase 2: rolling market trends and price-per-square-metre intelligence */
.market-momentum-card,.ppm-intelligence-card{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}
.momentum-cards,.property-type-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.momentum-cards article,.property-type-cards article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;box-shadow:0 8px 20px rgba(15,23,42,.045)}
.momentum-cards small,.property-type-cards small,.ppm-intelligence-card .summary-cards span{display:block;color:var(--muted);font-weight:800;font-size:12px;line-height:1.35}
.momentum-cards strong,.property-type-cards strong{display:block;margin:5px 0;font-size:22px;color:var(--ink)}
.momentum-cards span{display:block;color:#475569;font-size:13px;line-height:1.35}
.momentum-panels{margin-top:14px}.momentum-panels h3{margin:4px 0 12px}.momentum-bars{display:grid;gap:10px}.momentum-bars div{display:grid;grid-template-columns:128px 1fr 150px;gap:10px;align-items:center;font-size:13px}.momentum-bars b{font-size:12px;color:#334155}.momentum-bars span{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden}.momentum-bars i{display:block;height:100%;background:var(--primary);border-radius:999px}.momentum-bars em{font-style:normal;color:var(--muted);text-align:right}.ppm-trend-bars{display:flex;align-items:end;gap:7px;min-height:150px;margin-top:18px;padding:12px 8px 4px;border-top:1px solid #eef2f7;overflow-x:auto}.ppm-trend-bars div{display:grid;gap:5px;justify-items:center;min-width:34px}.ppm-trend-bars span{display:block;width:18px;border-radius:8px 8px 0 0;background:var(--primary);opacity:.86}.ppm-trend-bars b{font-size:10px;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg)}.ppm-trend-bars em{display:none;position:absolute}.property-type-cards article p{margin:4px 0 12px;color:#475569;font-size:13px}.property-type-cards dl{display:grid;grid-template-columns:1fr auto;gap:7px 10px;margin:0}.property-type-cards dt{color:var(--muted);font-size:12px}.property-type-cards dd{margin:0;font-size:12px;font-weight:900;color:#334155}.property-type-cards dd.up{color:#15803d}.property-type-cards dd.down{color:#be123c}.property-type-cards dd.neutral{color:#334155}@media(max-width:950px){.momentum-cards,.property-type-cards{grid-template-columns:1fr}.momentum-bars div{grid-template-columns:90px 1fr;gap:8px}.momentum-bars em{grid-column:2;text-align:left}.ppm-trend-bars{min-height:120px}}
/* Phase 3 lead-generation intelligence */
.lead-tools-card{background:linear-gradient(135deg,#ffffff 0%,#fff7ed 100%)}
.lead-tool-grid{align-items:stretch}
.embedded-lead-tool{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.82);padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.embedded-lead-tool h3{margin:4px 0 8px;font-size:22px;color:var(--ink)}
.embedded-lead-tool>small{font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--primary)}
.compact-lead-form{margin-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.compact-lead-form button,.compact-lead-form textarea,.compact-lead-form small{grid-column:1/-1}
.lead-result{margin-top:12px;border:1px solid rgba(47,125,59,.18);background:#f0fdf4;border-radius:16px;padding:13px;color:#1f2937;line-height:1.45}
.lead-result b{display:block;color:var(--primary);margin-bottom:4px}.lead-result p{margin:6px 0 0}
.compact-list{margin-top:10px}.compact-list li{font-size:13px}
.budget-finder-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}
.budget-finder-buttons button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer;color:#334155}
.budget-finder-buttons button:hover{border-color:var(--primary);color:var(--primary)}
.agent-credibility-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}
.credibility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.credibility-grid article{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.credibility-grid b{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}.credibility-grid span{display:block;color:#475569;font-size:13px;line-height:1.4}
@media(max-width:950px){.compact-lead-form,.credibility-grid{grid-template-columns:1fr}.lead-tool-grid{grid-template-columns:1fr}}

/* Advanced no-cost map search tools */
.map-search-tools{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;padding:.7rem .8rem;border-top:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08);background:#fff}
.map-search-tools button,.map-search-tools select,.map-search-tools input{border:1px solid rgba(15,23,42,.14);border-radius:999px;background:#fff;padding:.55rem .8rem;font:inherit;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.map-search-tools button.active{background:#111827;color:#fff;border-color:#111827}
.map-search-tools button.ghost{background:#f8fafc;color:#334155}
.map-search-tools label{display:flex;align-items:center;gap:.4rem;color:#475569;font-size:.9rem}
.amenity-search-label{position:relative;min-width:min(100%,280px)}
.amenity-search-label input{width:260px;max-width:100%}
.amenity-suggestions{position:absolute;z-index:12;top:calc(100% + .35rem);left:0;right:0;background:#fff;border:1px solid rgba(15,23,42,.14);border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.18);padding:.35rem;max-height:280px;overflow:auto}
.amenity-suggestions button{display:block;width:100%;border:0;border-radius:10px;text-align:left;padding:.55rem .65rem;box-shadow:none;background:#fff;color:#111827}
.amenity-suggestions button:hover{background:#f1f5f9}
.amenity-suggestions b{display:block;font-size:.9rem}.amenity-suggestions span,.amenity-suggestions p{display:block;margin:.15rem .65rem;color:#64748b;font-size:.78rem}
.map-draw-help{position:absolute;z-index:4;left:50%;top:.8rem;transform:translateX(-50%);background:rgba(15,23,42,.88);color:#fff;border-radius:999px;padding:.55rem .9rem;font-size:.85rem;box-shadow:0 10px 30px rgba(15,23,42,.18)}
@media(max-width:760px){.map-search-tools{align-items:stretch}.map-search-tools label,.map-search-tools button{width:100%;justify-content:center}.amenity-search-label{display:block}.amenity-search-label input{width:100%;margin-top:.35rem}.amenity-suggestions{top:100%}}

/* Unified location / amenity search */
.combined-search-box{padding-right:18px}
.search-box .inline-gps-button{position:static;right:auto;top:auto;transform:none;flex:0 0 44px;width:44px;height:44px;border-radius:999px;border:0;background:var(--primary);color:#fff;font-weight:900;display:inline-grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.16);padding:0}
.search-box .inline-gps-button:hover{filter:brightness(.96)}
.search-box .inline-gps-button:disabled{opacity:.65;cursor:wait}
.combined-suggestions{max-height:360px;overflow:auto;text-align:left}
.combined-suggestions .suggestion-group{padding:.35rem .45rem .2rem;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.combined-suggestions button b{display:block;color:var(--ink);font-size:.94rem}.combined-suggestions button span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}.combined-suggestions p{margin:.5rem .75rem;color:var(--muted);font-size:.86rem}.combined-suggestions button[data-kind="amenity"] b:before{content:"★ ";color:var(--primary)}.combined-suggestions button[data-kind="location"] b:before{content:"⌕ ";color:var(--primary)}
.map-search-tools .amenity-search-label{display:none}
@media(max-width:900px){.combined-search-box{min-width:100%;max-width:none}.search-box .inline-gps-button{width:42px;height:42px;flex-basis:42px}}

/* Search box icon refinement */
.search-box .search-end-icon{margin-left:auto;color:var(--accent);font-size:1.25rem;line-height:1;flex:0 0 auto;font-weight:900}
.search-box input + .search-end-icon{padding-left:.35rem}


/* Autocomplete refinements: keep suggestions readable inside the sticky filter bar */
.filter-bar .suggestions,
.search-box .suggestions,
.combined-suggestions,
.amenity-suggestions{background:#fff;color:var(--ink)}
.filter-bar .suggestions button,
.search-box .suggestions button,
.combined-suggestions button,
.amenity-suggestions button{background:#fff!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;border-radius:12px;text-align:left}
.filter-bar .suggestions button:hover,
.search-box .suggestions button:hover,
.combined-suggestions button:hover,
.amenity-suggestions button:hover{background:#f3f4f6!important;color:var(--ink)!important}
.filter-bar .suggestions button b,
.search-box .suggestions button b,
.combined-suggestions button b{color:var(--ink)!important}
.filter-bar .suggestions button span,
.search-box .suggestions button span,
.combined-suggestions button span{color:var(--muted)!important}
.combined-suggestions .suggestion-group{background:#fff;color:var(--muted);padding:.55rem .75rem .25rem}
.combined-suggestions button[data-kind="school"] b:before{content:"★ ";color:var(--primary)}
.combined-suggestions button[data-kind="station"] b:before{content:"▣ ";color:var(--primary)}
.combined-suggestions button[data-kind="amenity"] b:before{content:""}

/* Autocomplete visual grouping refinements */
.combined-suggestions,
.amenity-suggestions{
  padding:.45rem!important;
}
.combined-suggestions .suggestion-section,
.amenity-suggestions .suggestion-section{
  margin:.2rem 0 .45rem;
  padding:.15rem 0 .35rem;
  border-top:1px solid rgba(15,23,42,.10);
}
.combined-suggestions .suggestion-section:first-child,
.amenity-suggestions .suggestion-section:first-child{
  border-top:0;
  margin-top:0;
}
.combined-suggestions .suggestion-group,
.amenity-suggestions .suggestion-group{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:.15rem .25rem .35rem;
  padding:.45rem .65rem!important;
  border-radius:10px;
  background:#f8fafc!important;
  color:#475569!important;
  font-size:.78rem!important;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:900;
}
.combined-suggestions .suggestion-section-school .suggestion-group:before,
.amenity-suggestions .suggestion-section-school .suggestion-group:before{content:"Schools";font-size:0;width:8px;height:8px;border-radius:999px;background:var(--primary);display:inline-block;flex:0 0 8px}
.combined-suggestions .suggestion-section-station .suggestion-group:before,
.amenity-suggestions .suggestion-section-station .suggestion-group:before{content:"Stations";font-size:0;width:8px;height:8px;border-radius:2px;background:var(--primary);display:inline-block;flex:0 0 8px}
.combined-suggestions .suggestion-section-location .suggestion-group:before,
.amenity-suggestions .suggestion-section-location .suggestion-group:before{content:"";width:8px;height:8px;border:2px solid var(--primary);border-radius:999px;display:inline-block;flex:0 0 8px}
.combined-suggestions button,
.amenity-suggestions button{
  display:grid!important;
  grid-template-columns:1.45rem minmax(0,1fr);
  gap:.15rem .45rem;
  align-items:center;
  padding:.58rem .65rem!important;
  margin:.05rem 0;
}
.combined-suggestions button:before,
.amenity-suggestions button:before{
  grid-row:1 / span 2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35rem;
  height:1.35rem;
  border-radius:999px;
  background:#eef7f0;
  color:var(--primary);
  font-size:.9rem;
  line-height:1;
  font-weight:900;
}
.combined-suggestions button[data-kind="location"]:before,
.amenity-suggestions button[data-kind="location"]:before{content:"⌕"}
.combined-suggestions button[data-kind="school"]:before,
.amenity-suggestions button[data-kind="school"]:before{content:"⌂"}
.combined-suggestions button[data-kind="station"]:before,
.amenity-suggestions button[data-kind="station"]:before{content:"▮";border-radius:6px}
.combined-suggestions button b,
.amenity-suggestions button b{
  grid-column:2;
  font-size:.95rem!important;
  line-height:1.18;
  font-weight:800;
}
.combined-suggestions button span,
.amenity-suggestions button span{
  grid-column:2;
  font-size:.82rem!important;
  line-height:1.18;
  margin:0!important;
}
.combined-suggestions button[data-kind="school"] b:before,
.combined-suggestions button[data-kind="station"] b:before,
.combined-suggestions button[data-kind="location"] b:before,
.combined-suggestions button[data-kind="amenity"] b:before{content:""!important}

/* Train/tube station map layer */
.legend-dot.station-rail{background:#0f766e}.legend-dot.station-tube{background:#7c3aed}.transport-insight-card{border:1px solid rgba(15,118,110,.18);background:#f0fdfa;border-radius:16px;padding:11px 12px;margin:10px 0 12px}.transport-insight-card>b{display:block;color:#0f766e;margin-bottom:6px}.transport-insight-card ul{display:grid;gap:5px;margin:0 0 7px;padding:0;list-style:none}.transport-insight-card li{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-top:1px solid rgba(15,118,110,.12);padding-top:5px}.transport-insight-card li:first-child{border-top:0;padding-top:0}.transport-insight-card span{font-weight:900;color:#111827}.transport-insight-card em{font-style:normal;color:#64748b;text-align:right;font-size:12px}.transport-insight-card small{display:block;color:#0f766e;font-weight:800;line-height:1.35}.popup-rule{border:0;border-top:1px solid #e5e7eb;margin:8px 0}

/* Transport insight refinements */
.legend-section .legend-filter-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.legend-filter{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:5px 9px;font-weight:800;color:#475569;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.legend-filter.active{border-color:rgba(40,126,55,.38);box-shadow:0 0 0 3px rgba(40,126,55,.08);color:#111827}.legend-filter:not(.active){opacity:.55}.station-popup ul{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.station-popup li{display:grid;grid-template-columns:74px 1fr;gap:8px;border-top:1px solid #eef2f7;padding-top:6px}.station-popup li:first-child{border-top:0;padding-top:0}.station-popup li b{font-size:12px;color:#0f172a}.station-popup li span{font-size:12px;color:#475569}.station-premium{display:inline-block;margin:4px 0 7px;padding:4px 8px;border-radius:999px;background:#ecfdf5;color:#0f766e;font-weight:900;font-size:12px}.transport-insight-card p{margin:0 0 8px;color:#475569;font-size:13px;line-height:1.4}.transport-insight-card p strong{color:#0f172a}.transport-insight-card li em{max-width:52%}
.station-context{margin:4px 0 7px;color:#475569;font-size:12px;line-height:1.35}.station-lead-hook{display:block;margin-top:7px;color:#0f766e;font-weight:800;line-height:1.35}
.transport-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 10px}.transport-summary-grid div{border:1px solid rgba(15,118,110,.14);background:rgba(255,255,255,.72);border-radius:12px;padding:8px;display:grid;gap:3px}.transport-summary-grid b{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#0f766e}.transport-summary-grid span{font-weight:900;color:#111827;line-height:1.25}.transport-summary-grid small{color:#64748b;font-weight:700;line-height:1.25}.transport-coverage{border:1px solid rgba(15,118,110,.14);background:rgba(15,118,110,.06);border-radius:12px;padding:8px;margin:8px 0!important;color:#0f172a!important}.transport-lead-cta{border:1px solid rgba(47,125,59,.22);background:#fff;border-radius:14px;padding:9px 10px;margin:8px 0 10px;display:grid;gap:3px}.transport-lead-cta b{color:var(--primary)}.transport-lead-cta span{color:#475569;font-size:12px;line-height:1.35}.station-popup li b{white-space:nowrap}@media(max-width:760px){.transport-summary-grid{grid-template-columns:1fr}}

.transport-value-card{position:absolute;left:14px;top:14px;z-index:5;width:min(420px,calc(100% - 28px));border:1px solid rgba(15,118,110,.18);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 16px 40px rgba(15,23,42,.16);border-radius:18px;padding:12px;display:grid;gap:8px}.transport-value-card[hidden]{display:none}.transport-value-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.transport-value-head span{font-weight:950;color:#0f766e}.transport-value-head button,.station-report-btn{border:0;border-radius:999px;background:var(--primary);color:#fff;padding:7px 11px;font-weight:900;cursor:pointer}.transport-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.transport-value-grid div{border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:8px}.transport-value-grid small{display:block;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:10px;font-weight:900;margin-bottom:3px}.transport-value-grid b{display:block;color:#111827;font-size:12px;line-height:1.25}.transport-value-card>small{font-weight:800;color:#0f766e}.station-service{margin:7px 0 0;font-size:12px;color:#475569}.station-plain-english{margin:8px 0;color:#0f172a;font-weight:850;line-height:1.35}.station-report-btn{width:100%;margin-top:10px}.station-premium-dialog{border:0;border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.28);max-width:560px;width:min(560px,calc(100% - 28px));padding:0}.station-premium-dialog::backdrop{background:rgba(15,23,42,.46)}.station-premium-form{padding:18px;display:grid;gap:12px}.station-premium-form header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.station-premium-form header small{font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.08em}.station-premium-form h2{margin:2px 0 0;font-size:24px}.station-premium-form header button{border:0;background:#f1f5f9;border-radius:999px;width:34px;height:34px;font-size:22px;cursor:pointer}.station-premium-form p{margin:0;color:#475569;line-height:1.45}.station-premium-form label{display:grid;gap:5px;font-weight:900;color:#0f172a}.station-premium-form input,.station-premium-form select,.station-premium-form textarea{border:1px solid #d1d5db;border-radius:12px;padding:10px 11px;font:inherit;background:#fff}.station-premium-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.station-premium-form footer span{color:#0f766e;font-weight:800;font-size:13px}.station-premium-form footer button{border:0;border-radius:999px;background:var(--primary);color:#fff;padding:10px 16px;font-weight:950;cursor:pointer}.station-premium-form footer button:disabled{opacity:.6;cursor:progress}@media(max-width:760px){.transport-value-card{position:static;width:auto;margin:8px}.transport-value-grid{grid-template-columns:1fr}.station-premium-form footer{align-items:stretch;flex-direction:column}.station-premium-form footer button{width:100%}}
.station-report-page{max-width:1120px;margin:0 auto;padding:28px 18px 46px;display:grid;gap:18px}.station-report-hero{border:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#ecfdf5);border-radius:28px;padding:30px}.station-report-hero small{font-weight:950;color:var(--primary);text-transform:uppercase;letter-spacing:.1em}.station-report-hero h1{font-size:clamp(32px,5vw,54px);line-height:1.02;margin:8px 0 12px;color:#0f172a}.station-report-hero p{max-width:760px;color:#475569;font-size:18px;line-height:1.5}.station-report-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.station-report-actions a,.station-report-actions button,.station-report-lead button{border:0;border-radius:999px;background:var(--primary);color:#fff;padding:11px 16px;font-weight:950;text-decoration:none;cursor:pointer}.station-report-actions button{background:#0f172a}.station-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.station-report-grid article{border:1px solid #e5e7eb;background:#fff;border-radius:22px;padding:20px}.station-report-grid h2{margin-top:0}.station-report-grid li,.station-report-grid p{color:#475569;line-height:1.55}.station-report-lead button{width:max-content}@media(max-width:760px){.station-report-grid{grid-template-columns:1fr}.station-report-hero{padding:22px}.station-report-actions a,.station-report-actions button{width:100%;text-align:center}}

.affordability-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:1px solid rgba(47,125,59,.18);background:linear-gradient(135deg,#f7fcf8,#fff);border-radius:18px;padding:14px;margin:14px 0 16px}.affordability-strip div{border-right:1px solid rgba(47,125,59,.14);padding-right:10px}.affordability-strip div:last-of-type{border-right:0}.affordability-strip small{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.affordability-strip strong{display:block;color:var(--ink);font-size:18px;margin:3px 0}.affordability-strip span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.affordability-strip p{grid-column:1/-1;margin:2px 0 0!important;color:var(--muted)!important;font-size:12px!important;line-height:1.35!important}@media(max-width:1100px){.affordability-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.affordability-strip div:nth-of-type(2){border-right:0}}@media(max-width:620px){.affordability-strip{grid-template-columns:1fr}.affordability-strip div{border-right:0;border-bottom:1px solid rgba(47,125,59,.12);padding:0 0 8px}.affordability-strip div:last-of-type{border-bottom:0;padding-bottom:0}}

/* Stage 2 affordability filters */
.monthly-popover summary{white-space:nowrap}
.monthly-panel{width:420px;grid-template-columns:1fr;gap:12px}
.monthly-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.monthly-panel p,.monthly-assumption-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.4;background:#f7fcf8;border:1px solid rgba(47,125,59,.14);border-radius:12px;padding:10px}
.affordability-assumptions{border:1px solid rgba(47,125,59,.16);background:rgba(255,255,255,.78);border-radius:16px;padding:12px;display:grid;gap:10px}.affordability-assumptions-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.affordability-assumptions-head strong{color:var(--ink);font-size:14px}.affordability-assumptions-head span{color:#64748b;font-weight:800;font-size:12px;text-align:right}.affordability-assumptions label{display:grid;grid-template-columns:105px 54px 1fr;gap:9px;align-items:center;color:#475569;font-weight:850;font-size:12px}.affordability-assumptions output{color:#0f172a;font-weight:950;text-align:right}.affordability-assumptions input[type="range"]{height:auto;padding:0;accent-color:var(--primary)}.affordability-assumptions select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit}.affordability-assumptions.compact select{grid-column:2/4}.affordability-assumptions.panel{margin:0 0 14px;grid-template-columns:repeat(2,minmax(0,1fr));background:rgba(255,255,255,.66)}.affordability-assumptions.panel .affordability-assumptions-head{grid-column:1/-1}.affordability-assumptions.panel label{grid-template-columns:112px 58px 1fr}
@media(max-width:900px){.affordability-assumptions.panel{grid-template-columns:1fr}}
@media(max-width:700px){.monthly-panel{width:min(420px,calc(100vw - 34px));right:auto;left:0}.filter-bar .monthly-popover{position:relative}.monthly-range-grid{grid-template-columns:1fr}.affordability-assumptions label,.affordability-assumptions.panel label{grid-template-columns:1fr 60px}.affordability-assumptions input[type="range"],.affordability-assumptions select{grid-column:1/-1}.affordability-assumptions.compact select{grid-column:1/-1}.affordability-assumptions-head{align-items:flex-start;flex-direction:column}.affordability-assumptions-head span{text-align:left}}

/* Stage 3: premium affordability insight panel */
.affordability-insight-card{margin:16px 0 18px;border:1px solid rgba(47,125,59,.18);background:linear-gradient(135deg,#f7fcf8 0%,#ffffff 54%,#fff7ed 100%);border-radius:24px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.07)}
.affordability-insight-copy{display:grid;gap:4px;margin-bottom:14px}.affordability-insight-copy small{font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}.affordability-insight-copy h2{margin:0;color:var(--ink);font-size:clamp(22px,3vw,30px);line-height:1.08}.affordability-insight-copy p{margin:2px 0 0;color:var(--muted);line-height:1.45}
.affordability-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.affordability-insight-grid article{border:1px solid rgba(47,125,59,.14);background:rgba(255,255,255,.82);border-radius:18px;padding:14px;box-shadow:0 8px 18px rgba(15,23,42,.045)}.affordability-insight-grid small{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;margin-bottom:5px}.affordability-insight-grid strong{display:block;color:var(--ink);font-size:22px;line-height:1.05;margin-bottom:5px}.affordability-insight-grid span{display:block;color:#64748b;font-size:12px;line-height:1.35;font-weight:750}.affordability-narrative{margin:14px 0 0;color:#334155;line-height:1.5;background:rgba(255,255,255,.62);border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:12px}
@media(max-width:1050px){.affordability-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.affordability-insight-card{padding:14px;border-radius:20px}.affordability-insight-grid{grid-template-columns:1fr}.affordability-insight-grid strong{font-size:20px}}

/* Stage 4: monthly affordability map layer */
.map-insight-toggle [data-map-insight="monthly"].active{background:#0f172a;border-color:#0f172a;color:#fff}

/* Stage 5: monthly-budget lead capture */
.affordability-lead-card{margin-top:16px;border:1px solid rgba(15,118,110,.18);background:rgba(255,255,255,.72);border-radius:20px;padding:16px;display:grid;grid-template-columns:minmax(260px,.9fr) 1.35fr;gap:16px;align-items:start}
.affordability-lead-card small{display:block;color:#0f766e;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:11px;margin-bottom:4px}.affordability-lead-card h3{margin:0 0 6px;color:var(--ink);font-size:21px;line-height:1.15}.affordability-lead-card p{margin:0;color:#475569;line-height:1.45}
.affordability-lead-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.affordability-lead-form label{display:grid;gap:5px;color:#475569;font-weight:850;font-size:12px}.affordability-lead-form input,.affordability-lead-form select{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit}.affordability-lead-form button{border:0;border-radius:999px;background:var(--primary);color:#fff;font-weight:950;padding:11px 14px;cursor:pointer;box-shadow:0 8px 18px rgba(47,125,59,.16)}.affordability-lead-form button:disabled{opacity:.65;cursor:wait}.affordability-lead-form span{grid-column:1/-1;color:#0f766e;font-weight:850;min-height:18px}.affordability-lead-form span:empty{display:none}
@media(max-width:1050px){.affordability-lead-card{grid-template-columns:1fr}.affordability-lead-form{grid-template-columns:repeat(2,minmax(0,1fr))}.affordability-lead-form button{grid-column:1/-1}}
@media(max-width:620px){.affordability-lead-card{padding:14px}.affordability-lead-form{grid-template-columns:1fr}.affordability-lead-form button{width:100%}}

/* Premium area report chart panels */
.premium-report-card{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}
.report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.report-chart-panel{border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.report-chart-wide{grid-column:1/-1}
.report-chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.report-chart-title h3{margin:0;font-size:18px;color:var(--ink)}
.report-chart-title span{display:inline-flex;align-items:center;border-radius:999px;background:#f1f5f9;color:#475569;padding:6px 10px;font-weight:900;font-size:12px;white-space:nowrap}
.report-chart-panel canvas{display:block;width:100%;max-width:100%;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.chart-insight{margin:10px 0 0;border-left:4px solid var(--primary);background:#f8fafc;border-radius:12px;padding:11px 12px;color:#334155;line-height:1.45;font-size:14px}
@media(max-width:950px){.report-chart-grid{grid-template-columns:1fr}.report-chart-wide{grid-column:auto}.report-chart-title{display:block}.report-chart-title span{margin-top:6px}}

/* Sold-price list refinement: compact insight, right sidebar map, lead-gated property detail */
.sold-results-list-page .page-view-toggle{display:none}
.sold-results-list-page .results-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}
.sold-results-list-page .overview{grid-column:1;grid-row:1}
.sold-results-list-page .map-shell{grid-column:2;grid-row:1 / span 2;position:sticky;top:150px;display:grid;gap:16px;height:max-content}
.sold-results-list-page .results{grid-column:1;grid-row:2;padding:0;border-radius:22px;overflow:hidden}
.sold-results-list-page .results>h2{padding:22px 26px;margin:0;border-bottom:1px solid var(--line)}
.sold-results-list-page .summary-cards.enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}
.sold-results-list-page .summary-cards.enhanced strong{font-size:24px}
.compact-affordability{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;align-items:center;padding:16px;margin:14px 0;background:#fff;box-shadow:none}
.compact-affordability .affordability-insight-copy{margin:0}.compact-affordability h2{font-size:22px}.compact-affordability h2 span{color:var(--primary)}
.affordability-insight-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.affordability-insight-grid.compact article{padding:12px}.affordability-insight-grid.compact strong{font-size:18px}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.055)}
.sidebar-card small{display:block;color:var(--primary);font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:11px;margin-bottom:5px}.sidebar-card h2{font-size:21px;line-height:1.15;margin:0 0 8px}.sidebar-card p{color:#475569;line-height:1.45;margin:0 0 12px}
.sidebar-form{display:grid;grid-template-columns:1fr;gap:10px}.sidebar-form label{display:grid;gap:5px;color:#475569;font-weight:850;font-size:12px}.sidebar-form input,.sidebar-form select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 11px;color:var(--ink)}.sidebar-form button{border:0;border-radius:999px;background:var(--primary);color:#fff;font-weight:950;padding:11px 14px;cursor:pointer}.sidebar-form span{color:#0f766e;font-weight:850;font-size:13px}.sidebar-form span:empty{display:none}
.compact-sidebar-map .map-card{padding:0;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.compact-sidebar-map .map-toolbar{padding:14px 16px;border-bottom:1px solid var(--line)}
body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-toolbar-actions,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-evidence-controls,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-search-tools,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .boundary-toggles,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-note,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .lead-card,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .transport-value-card,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-legend,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-insight-panel,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-selection-panel,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-draw-help{display:none!important}
body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .map-stage{height:265px;border-radius:0}body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .sold-price-map{min-height:265px}body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .maplibregl-ctrl-bottom-left,body.sold-results-list-page:not([data-results-view="map"]) .compact-sidebar-map .maplibregl-ctrl-bottom-right{display:none}
.locked-property-card{display:block;border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 26px;background:#fff}.locked-property-card:first-child{border-top:0}.locked-property-card .property-main h3{font-size:19px;margin:0}.result-title-row.simple{margin-bottom:14px}.sold-basic-grid{display:grid;grid-template-columns:1.2fr .9fr .85fr .75fr .75fr;gap:12px 18px;align-items:start;margin:0 0 14px}.sold-basic-grid div{min-width:0}.sold-basic-grid dt{font-size:12px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.035em}.sold-basic-grid dd{margin:3px 0 0;color:var(--ink);font-weight:850}.sold-basic-grid .sold-price{color:var(--primary);font-size:20px;font-weight:950}.property-unlock-button{display:inline-block;text-decoration:none;border:1px solid rgba(47,125,59,.22);background:rgba(47,125,59,.08);color:var(--primary);border-radius:999px;padding:10px 15px;font-weight:950;cursor:pointer}.property-unlock-button:hover{background:var(--primary);color:#fff}.property-premium-details{margin-top:16px;border-top:1px dashed var(--line);padding-top:16px}.property-details-disclaimer{border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.4;margin-bottom:12px}.property-premium-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:start}.premium-meta{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;display:grid!important;grid-template-columns:1fr;gap:4px}.premium-meta dt{font-size:12px;color:var(--muted)}.premium-meta dd{margin:0 0 7px;font-weight:850;color:var(--ink)}
.pagination-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:20px;border-top:1px solid var(--line);background:#fff}.pagination-controls button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 13px;font-weight:850;cursor:pointer}.pagination-controls button.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-controls button:disabled{opacity:.45;cursor:not-allowed}.pagination-controls .page-gap{color:var(--muted);padding:0 2px}.pagination-controls .page-status{color:var(--muted);font-size:13px;font-weight:850;margin-left:6px}
.property-unlock-dialog{width:min(560px,calc(100vw - 28px))}.property-unlock-form{padding:22px;display:grid;gap:14px}.property-unlock-form header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.property-unlock-form header small{color:var(--primary);font-weight:950;text-transform:uppercase;letter-spacing:.08em}.property-unlock-form h2{margin:4px 0 0}.property-unlock-form p{color:#475569;line-height:1.5;margin:0}.property-unlock-form label{display:grid;gap:6px;color:#475569;font-weight:850;font-size:13px}.property-unlock-form input,.property-unlock-form select{border:1px solid var(--line);border-radius:12px;padding:11px 12px}.property-unlock-form header button{background:transparent!important;border:0!important;color:#64748b!important;font-size:30px;line-height:1;cursor:pointer}.property-unlock-form footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0;text-align:left}.property-unlock-form footer button{border:0;border-radius:999px;background:var(--primary);color:#fff;padding:11px 16px;font-weight:950}.property-unlock-form footer span{color:#0f766e;font-weight:850;font-size:13px}
.site-footer{display:grid;gap:5px}.site-footer p{margin:0}.footer-disclaimer{max-width:980px;margin:6px auto 0!important;font-size:13px;line-height:1.45;color:#64748b}.back-to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:999px;border:0;background:var(--primary);color:#fff;font-size:22px;font-weight:950;box-shadow:0 12px 28px rgba(15,23,42,.18);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;z-index:40}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(max-width:1100px){.sold-results-list-page .results-layout{grid-template-columns:1fr}.sold-results-list-page .map-shell{grid-column:1;grid-row:auto;position:static}.sold-results-list-page .results{grid-column:1;grid-row:auto}.compact-affordability{grid-template-columns:1fr}.sold-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-premium-grid{grid-template-columns:1fr}}
@media(max-width:620px){.locked-property-card{padding:18px}.sold-basic-grid{grid-template-columns:1fr}.compact-sidebar-map .map-stage,.compact-sidebar-map .sold-price-map{height:220px;min-height:220px}.pagination-controls .page-status{width:100%;text-align:center;margin-left:0}}

/* Sold-price list: keep intelligence blocks in right sidebar even on list view */
body.sold-results-list-page[data-results-view="list"] .results-layout{
  grid-template-columns:minmax(0,1fr) 360px;
}
body.sold-results-list-page[data-results-view="list"] .overview{
  grid-column:1;
  grid-row:1;
}
body.sold-results-list-page[data-results-view="list"] .map-shell{
  display:grid;
  grid-column:2;
  grid-row:1 / span 2;
  position:sticky;
  top:150px;
  margin:0;
  gap:16px;
}
body.sold-results-list-page[data-results-view="list"] .results{
  grid-column:1;
  grid-row:2;
}
body.sold-results-list-page[data-results-view="list"] .map-card{
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}
body.sold-results-list-page[data-results-view="list"] .sold-price-map,
body.sold-results-list-page[data-results-view="list"] .compact-sidebar-map .map-stage{
  height:265px;
  min-height:265px;
}
.sold-results-list-page .compact-affordability.sidebar-card{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:0;
  padding:18px;
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}
.sold-results-list-page .compact-affordability h2{
  font-size:20px;
  line-height:1.15;
}
.sold-results-list-page .affordability-insight-grid.compact{
  grid-template-columns:1fr;
  gap:10px;
}
.sold-results-list-page .affordability-insight-grid.compact article{
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fafc;
}
.sold-results-list-page .sidebar-market-overview ul,
.sold-results-list-page .sidebar-buyer-insight ul{
  margin:8px 0 0;
  padding-left:18px;
  color:#475569;
  line-height:1.45;
}
.sold-results-list-page .sidebar-buyer-insight .mode-toggle{
  margin:0 0 12px;
}
.sold-results-list-page .sidebar-buyer-insight h2{
  margin-top:0;
}
@media(max-width:1100px){
  body.sold-results-list-page[data-results-view="list"] .results-layout{
    grid-template-columns:1fr;
  }
  body.sold-results-list-page[data-results-view="list"] .map-shell,
  body.sold-results-list-page[data-results-view="list"] .overview,
  body.sold-results-list-page[data-results-view="list"] .results{
    grid-column:1;
    grid-row:auto;
    position:static;
  }
}

/* Refinements requested 26 June: visible view switcher, growth metrics and compact right-column map text */
.sold-results-list-page .page-view-toggle{display:flex}
.sold-results-list-page .summary-cards.enhanced{grid-template-columns:repeat(4,minmax(0,1fr))}
.sold-results-list-page .summary-cards.enhanced strong.growth-positive,.type-growth.positive{color:#15803d}
.sold-results-list-page .summary-cards.enhanced strong.growth-negative,.type-growth.negative{color:#b91c1c}
.sold-results-list-page .summary-cards.enhanced strong.growth-neutral,.type-growth.neutral{color:#64748b}
.type-growth{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f8fafc;border:1px solid var(--line);padding:4px 7px;font-style:normal;font-weight:950;font-size:11px;line-height:1;margin-top:2px}
.type-growth.positive{background:#ecfdf5;border-color:#bbf7d0}.type-growth.negative{background:#fef2f2;border-color:#fecaca}.type-growth.neutral{background:#f8fafc;border-color:#e2e8f0}
.sold-results-list-page .compact-sidebar-map .map-toolbar small{text-transform:none}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .map-card{box-shadow:var(--shadow)}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .map-stage,body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sold-price-map{height:calc(100vh - 230px);min-height:620px}
@media(max-width:1200px){.sold-results-list-page .summary-cards.enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sold-results-list-page .summary-cards.enhanced{grid-template-columns:1fr}}

.data-freshness{margin-top:6px;color:#64748b;font-size:13px;font-weight:800}.summary-cards.enhanced article em{display:block;margin-top:4px;color:#64748b;font-style:normal;font-size:11px;font-weight:850}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map{grid-column:1/-1;position:relative;top:auto}body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .map-toolbar-actions,body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .map-evidence-controls,body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .map-search-tools{display:flex!important}body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .map-stage{height:calc(100vh - 230px);min-height:620px}body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sold-price-map{min-height:620px}

/* Right-column area guide promo on sold-price list pages */
.area-guide-sidebar-promo{
  display:grid;
  gap:7px;
  text-decoration:none;
  background:linear-gradient(135deg,#ffffff 0%,#eef8f1 100%);
  border-color:rgba(47,125,59,.18);
  position:relative;
  overflow:hidden;
}
.area-guide-sidebar-promo:after{
  content:"›";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--primary);
  color:#fff;
  font-size:24px;
  font-weight:900;
  line-height:1;
}
.area-guide-sidebar-promo span{
  color:var(--primary);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
}
.area-guide-sidebar-promo strong{
  max-width:calc(100% - 42px);
  color:var(--ink);
  font-size:20px;
  line-height:1.15;
}
.area-guide-sidebar-promo em{
  max-width:calc(100% - 42px);
  color:#475569;
  font-style:normal;
  line-height:1.4;
  font-weight:750;
}
.area-guide-sidebar-promo b{
  color:var(--primary);
  font-size:13px;
  font-weight:950;
}
.area-guide-sidebar-promo:hover{
  border-color:rgba(47,125,59,.34);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}


/* Results view refinement: remove split wording and keep map-only page focused */
.page-view-toggle{gap:10px}
.page-view-toggle span{display:none}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .compact-affordability,
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sidebar-market-overview,
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sidebar-buyer-insight{
  display:none!important;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map{
  display:grid;
  gap:16px;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .area-guide-sidebar-promo,
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sidebar-affordability{
  display:grid;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sidebar-affordability{
  max-width:520px;
}


/* Map-only search page: keep only the map, area-guide CTA and Buyer Alert under the map. */
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map > .sidebar-card:not(.area-guide-sidebar-promo):not(.sidebar-affordability){
  display:none!important;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map > .area-guide-sidebar-promo,
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map > .sidebar-affordability{
  display:grid!important;
}

/* Map-only page: show Area Guide and Buyer Alert as two equal cards below the map */
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .map-card{
  grid-column:1/-1;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .area-guide-sidebar-promo,
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sidebar-affordability{
  min-height:100%;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map .sidebar-affordability{
  max-width:none;
}
@media(max-width:900px){
  body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map{
    grid-template-columns:1fr;
  }
}

/* Map-only page: keep the map-only view focused on the map; no sections below the map. */
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map{
  grid-template-columns:1fr!important;
}
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map > .area-guide-sidebar-promo,
body.sold-results-list-page[data-results-view="map"] .compact-sidebar-map > .sidebar-affordability{
  display:none!important;
}

.price-size-panel{grid-template-columns:1fr;width:360px}.price-size-panel .filter-toggle{display:flex;gap:8px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:5px}.price-size-panel .filter-toggle button,.chart-metric-toggle button{border:0;background:transparent;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer;color:var(--muted)}.price-size-panel .filter-toggle button.active,.chart-metric-toggle button.active{background:var(--primary);color:#fff}.price-size-section{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-size-section .filter-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;font-weight:800}.quick-filter-pills button.quick-clear{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.quick-filter-pills button.quick-clear:hover,.quick-filter-pills button.quick-clear.active{background:#b91c1c;border-color:#b91c1c;color:#fff}.chart-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.chart-card-head h2{margin:0}.chart-metric-toggle{display:flex;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px;background:#fff}.chart-metric-toggle button{font-size:12px}.mini-trend{min-height:76px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:end;gap:2px 10px;color:var(--primary)}.mini-trend svg{grid-row:1/3;width:100%;height:58px;overflow:visible}.mini-trend strong{font-size:22px!important;text-align:right}.mini-trend em{display:block!important;margin:0!important;text-align:right;color:var(--muted);font-size:11px;font-style:normal;font-weight:850}.mini-trend>strong:first-child{grid-column:1/-1;text-align:left;color:var(--muted)}.bar-wrap i.empty{background:#cbd5e1}.bar-wrap i.empty span{color:#334155}.sold-results-list-page[data-results-view="map"] .trend-card{display:none}@media(max-width:760px){.chart-card-head{align-items:flex-start;flex-direction:column}.price-size-panel{width:min(360px,calc(100vw - 36px))}.price-size-section{grid-template-columns:1fr}.mini-trend{grid-template-columns:1fr}.mini-trend strong,.mini-trend em{text-align:left}}

/* Revert 3-year growth card height after removing the trend line. */
.mini-trend{min-height:0!important;display:block!important;color:var(--primary)}.mini-trend strong{font-size:24px!important;text-align:left!important;display:block}.mini-trend em,.mini-trend svg{display:none!important}

/* Property value today report */
.property-value-page{background:#f5f7fb;color:#111827}.property-value-shell{width:min(1180px,94vw);margin:26px auto 54px}.property-hero-card,.property-value-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 18px 45px rgba(15,23,42,.08)}.property-hero-card{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:22px;align-items:center;padding:28px;margin-bottom:22px}.property-hero-card h1{margin:.2rem 0 .55rem;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.02}.eyebrow{margin:0;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.hero-subtitle{margin:0;color:#4b5563;font-size:1.03rem}.hero-estimate-card{border-radius:18px;background:linear-gradient(135deg,#111827,#374151);color:#fff;padding:22px}.hero-estimate-card small,.hero-estimate-card span{display:block;color:#d1d5db}.hero-estimate-card strong{display:block;font-size:2rem;margin:.4rem 0}.property-value-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-bottom:22px}.property-value-card{padding:22px}.property-value-card h2{margin:0 0 16px}.estimate-band{height:18px;border-radius:999px;background:linear-gradient(90deg,#dbeafe,#2563eb,#dbeafe);position:relative;margin:8px 0 22px}.estimate-band b{position:absolute;left:50%;top:-6px;width:30px;height:30px;border-radius:999px;background:#fff;border:7px solid var(--primary);transform:translateX(-50%);box-shadow:0 8px 18px rgba(0,0,0,.18)}.insight-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.insight-metrics div,.property-facts-list div{border:1px solid #eef2f7;border-radius:14px;padding:12px;background:#f9fafb}.insight-metrics dt,.property-facts-list dt{font-size:.78rem;color:#6b7280;font-weight:700}.insight-metrics dd,.property-facts-list dd{margin:4px 0 0;font-size:1.05rem;font-weight:800}.method-note{margin:16px 0 0;color:#4b5563;line-height:1.5}.property-facts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}.section-head h2{margin:.2rem 0 0}.section-head span{color:#6b7280;font-weight:800}.property-value-map{height:430px;border-radius:18px;overflow:hidden;border:1px solid #e5e7eb;background:#e5e7eb}.map-empty-note{display:grid;place-items:center;height:100%;color:#4b5563;font-weight:700}.comparable-table-wrap{overflow:auto}.comparable-table{width:100%;border-collapse:separate;border-spacing:0}.comparable-table th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f9fafb}.comparable-table th,.comparable-table td{padding:13px;border-bottom:1px solid #e5e7eb;vertical-align:top}.comparable-table td:first-child{font-weight:750;min-width:260px}.sale-history-list{display:grid;gap:10px}.sale-history-list div{display:flex;justify-content:space-between;gap:14px;border:1px solid #eef2f7;border-radius:14px;padding:13px;background:#f9fafb}.sale-history-list span{color:#6b7280}.next-step-list{margin:0;padding-left:1.2rem;color:#374151;line-height:1.65}.next-step-list li+li{margin-top:.5rem}@media(max-width:850px){.property-hero-card,.property-value-grid{grid-template-columns:1fr}.property-facts-list,.insight-metrics{grid-template-columns:1fr}.property-value-map{height:340px}.section-head{align-items:flex-start;flex-direction:column}}

/* Property value premium report additions */
.print-report-btn{margin-top:.65rem;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:.55rem .85rem;font-weight:800;cursor:pointer}.property-analysis-grid{align-items:stretch}.valuation-timeline{min-height:270px}.valuation-timeline svg{width:100%;height:auto;display:block}.timeline-grid{stroke:#e5e7eb;stroke-width:1}.timeline-axis{font-size:12px;fill:#6b7280}.timeline-line{fill:none;stroke:#111827;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.timeline-point circle{fill:#fff;stroke:#111827;stroke-width:3}.timeline-label{font-size:12px;fill:#374151;font-weight:800}.timeline-value{font-size:12px;fill:#111827;font-weight:900}.timeline-key{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.35rem}.timeline-key span,.timeline-single{border:1px solid #e5e7eb;background:#f9fafb;border-radius:14px;padding:.55rem .7rem;font-size:.82rem;color:#4b5563}.timeline-key b,.timeline-single strong{display:block;color:#111827}.timeline-empty{padding:1rem;border-radius:16px;background:#f9fafb;color:#6b7280}.confidence-factor-list{display:grid;gap:.65rem}.confidence-factor{border:1px solid #e5e7eb;border-left-width:5px;border-radius:14px;padding:.75rem .85rem;background:#fff}.confidence-factor strong{display:block;color:#111827}.confidence-factor span{display:block;margin-top:.15rem;color:#4b5563;font-size:.9rem}.confidence-strong{border-left-color:#111827}.confidence-medium{border-left-color:#6b7280}.confidence-limited{border-left-color:#d1d5db}.property-intelligence-card{margin-top:1rem}.property-intelligence-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.property-intelligence-list div{background:#f9fafb;border:1px solid #e5e7eb;border-radius:18px;padding:1rem}.property-intelligence-list span{display:inline-flex;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-weight:900;margin-bottom:.4rem}.property-intelligence-list p{margin:0;color:#1f2937;line-height:1.5}.comparable-map-marker{width:30px;height:30px;border-radius:50%;border:2px solid #fff;background:#111827;color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 10px 22px rgba(17,24,39,.28);cursor:pointer}.property-cta-panel{margin:1rem 0 0;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1rem;padding:1.25rem;border-radius:26px;background:linear-gradient(135deg,#111827,#374151);color:#fff;box-shadow:0 20px 45px rgba(17,24,39,.22)}.property-cta-panel h2{margin:.1rem 0 .35rem;color:#fff}.property-cta-panel p{color:rgba(255,255,255,.82);line-height:1.55}.property-watch-form{display:grid;gap:.65rem;background:#fff;border-radius:20px;padding:1rem;color:#111827}.property-watch-form label span{display:block;font-size:.78rem;font-weight:800;color:#4b5563;margin-bottom:.25rem}.property-watch-form input{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:.7rem .75rem;font:inherit}.property-watch-actions{display:grid;gap:.5rem}.property-watch-actions button{border:0;border-radius:999px;padding:.75rem 1rem;font-weight:900;cursor:pointer}.property-watch-actions button:first-child{background:var(--primary,#111827);color:#fff}.property-watch-actions button:last-child{background:#f3f4f6;color:#111827}.form-status{min-height:1.2rem;margin:0;color:#374151;font-size:.88rem}.comparable-table tr[data-lat]{cursor:default}.property-value-page .maplibregl-popup-content{border-radius:14px;padding:.75rem;box-shadow:0 12px 30px rgba(17,24,39,.22)}
@media (max-width:800px){.property-cta-panel{grid-template-columns:1fr}.property-intelligence-list{grid-template-columns:1fr}.print-report-btn{width:100%}}
@media print{.site-header,.site-footer,.print-report-btn,.property-watch-form,.maplibregl-control-container{display:none!important}.property-value-page{background:#fff}.property-value-shell{max-width:none;padding:0}.property-hero-card,.property-value-card,.property-cta-panel{box-shadow:none!important;border:1px solid #d1d5db!important;break-inside:avoid}.property-cta-panel{background:#fff;color:#111827}.property-cta-panel h2,.property-cta-panel p{color:#111827}.property-value-map{height:320px}.property-value-grid,.property-analysis-grid{grid-template-columns:1fr 1fr}.comparable-table{font-size:11px}}

/* Results page refinements 2026-06-28 */
.search-box .inline-gps-button{width:48px;height:48px;flex-basis:48px;font-size:23px;line-height:1;transition:none}
.search-box .inline-gps-button:hover,.search-box .inline-gps-button:focus{filter:none;background:var(--primary);color:#fff}
.search-box .search-end-icon{font-size:1.6rem;min-width:28px;text-align:center}
.price-size-section .range-pair{grid-column:1/-1;display:grid;gap:6px;margin-top:2px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.range-pair span{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:850}
.range-pair input[type=range]{width:100%;accent-color:var(--primary)}
.property-unlock-button{padding:7px 12px;font-size:13px;line-height:1.1}
.property-unlock-button::after{content:' ›';font-weight:950}
.sidebar-form input,.sidebar-form select{height:42px;line-height:42px;font-size:14px;appearance:auto}
.load-more{margin:24px auto 2px;padding:12px 20px;min-width:150px}
.site-footer{font-size:11px;line-height:1.35;padding:24px 34px}.site-footer .footer-disclaimer{font-size:11px;max-width:900px}
@media(max-width:900px){.search-box .inline-gps-button{width:44px;height:44px;flex-basis:44px;font-size:21px}.search-box .search-end-icon{font-size:1.45rem}}

/* Price filter reset action */
.price-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:-2px}
.filter-reset-btn{border:1px solid #fecaca;background:#fff7f7;color:#b91c1c;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer;font:inherit;font-size:12px;line-height:1}
.filter-reset-btn:hover,.filter-reset-btn:focus-visible{background:#b91c1c;border-color:#b91c1c;color:#fff;outline:0}
@media(max-width:760px){.price-filter-actions{justify-content:stretch}.filter-reset-btn{width:100%;padding:10px 12px}}

/* Zero-result state for sold-price searches */
.no-results-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:22px;border:1px solid rgba(47,125,59,.18);border-radius:22px;background:linear-gradient(135deg,#fff,#f6fbf7);box-shadow:0 10px 28px rgba(15,23,42,.045)}
.no-results-panel[hidden]{display:none!important}.no-results-panel small{display:block;color:var(--primary);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.no-results-panel h2{margin:0 0 6px;font-size:25px;letter-spacing:-.03em}.no-results-panel p{margin:0;color:#475569;font-weight:750;line-height:1.45}.no-results-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.no-results-actions button{border-radius:999px;padding:10px 13px;font-size:13px}.no-results-actions button:first-child{background:var(--primary);color:#fff;border-color:var(--primary)}
.applied-filters-panel{margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff}.applied-filters-panel[hidden]{display:none!important}.applied-filters-panel strong{display:block;margin-bottom:8px}.applied-filters-panel div{display:flex;gap:8px;flex-wrap:wrap}.applied-filters-panel span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;color:#475569;font-size:13px;font-weight:800}.applied-filters-panel b{color:#0f172a}
.no-sales-message{padding:24px;border:1px dashed #cbd5e1;border-radius:18px;background:#fff;text-align:center;color:#475569}.no-sales-message strong{display:block;color:#0f172a;font-size:18px;margin-bottom:5px}.no-sales-message span{display:block;font-weight:750}.sidebar-card.empty-state-card{background:linear-gradient(135deg,#fff,#f8fafc)}
.no-results-active .sidebar-buyer-insight .mode-toggle{display:none}.no-results-active .results{margin-top:0}.no-results-active #loadMore{display:none!important}.no-results-active #pagination{display:none!important}
@media(max-width:760px){.no-results-panel{align-items:flex-start;flex-direction:column}.no-results-actions{justify-content:flex-start}.no-results-actions button{width:100%}}


/* Zero-result polish: hide normal metric UI and lift results panel */
.sold-results-list-page.no-results-active #summaryCards,
.sold-results-list-page.no-results-active #quickFilterPills,
.sold-results-list-page.no-results-active #typeChartCard{display:none!important}
.sold-results-list-page[data-results-view="list"] .results{grid-column:1/2}
.sold-results-list-page.no-results-active .results{margin-top:8px}
.sold-results-list-page.no-results-active .overview{align-self:start}
.sold-results-list-page.no-results-active .compact-affordability h2{font-size:18px;line-height:1.15;margin:2px 0 8px}
@media(max-width:900px){.sold-results-list-page[data-results-view="list"] .results{grid-column:1/-1}}


/* Zero-results column structure fix: preserve the existing results width and keep results under the zero-results panel */
.sold-results-list-page .results-main-column{grid-column:1;grid-row:1;display:grid;gap:18px;align-content:start;min-width:0;width:100%}
.sold-results-list-page .results-main-column .overview,.sold-results-list-page .results-main-column .results{grid-column:1;grid-row:auto;width:100%;min-width:0}
.sold-results-list-page .map-shell.compact-sidebar-map{grid-column:2;grid-row:1}
.sold-results-list-page.no-results-active .results-main-column{gap:14px}
.sold-results-list-page.no-results-active .results{margin-top:0}

/* Zero-results action buttons: match existing rounded filter-pill styling */
.no-results-actions button{height:auto;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px;font-size:13px;font-weight:900;line-height:1;box-shadow:none;cursor:pointer}
.no-results-actions button:hover,.no-results-actions button:focus-visible{border-color:rgba(47,125,59,.35);color:var(--primary);outline:0}
.no-results-actions button:first-child{background:var(--primary);color:#fff;border-color:var(--primary)}
.no-results-actions button:first-child:hover,.no-results-actions button:first-child:focus-visible{color:#fff;filter:brightness(.96)}
@media(max-width:1100px){.sold-results-list-page .results-main-column,.sold-results-list-page .map-shell.compact-sidebar-map{grid-column:1;grid-row:auto}}

/* Property value page expert valuation refinements */
.hero-estimate-card strong{font-size:2.45rem;line-height:1.05}.hero-estimate-card span+span{margin-top:.28rem}.valuation-card .featured-metric{grid-column:1/-1;background:linear-gradient(135deg,#f8fafc,#eef2ff);border-color:#dbeafe}.valuation-card .featured-metric dd{font-size:1.45rem}.method-note strong{color:#111827}.property-facts-list dd small{display:block;margin-top:.2rem;color:#6b7280;font-size:.78rem;font-weight:700}.timeline-market-line{stroke:#6b7280;stroke-width:2.5;stroke-dasharray:7 7}.timeline-market-point circle{fill:#fff;stroke:#6b7280;stroke-width:2}.timeline-key span{position:relative;padding-left:2.05rem}.timeline-key .key-line{position:absolute;left:.7rem;top:.95rem;width:1rem;height:0;border-top:3px solid #111827}.timeline-key .market-key{border-top-color:#6b7280;border-top-style:dashed}.expert-insight-list div{background:linear-gradient(135deg,#fff,#f8fafc)}.expert-insight-list span{color:var(--primary)}.evidence-badge{display:inline-flex;border:1px solid rgba(47,125,59,.18);background:rgba(47,125,59,.07);color:var(--primary);border-radius:999px;padding:.22rem .5rem;font-size:.75rem;font-weight:900;margin-right:.25rem}.sale-history-card{overflow:hidden}.sale-history-timeline{position:relative;padding-left:1.15rem}.sale-history-timeline:before{content:"";position:absolute;left:.32rem;top:.35rem;bottom:.35rem;width:2px;background:#e5e7eb}.sale-history-list .sale-history-event{position:relative;display:block;padding:1rem 1rem 1rem 1.25rem}.sale-history-event .sale-history-dot{position:absolute;left:-1.1rem;top:1.12rem;width:.72rem;height:.72rem;border-radius:999px;background:#fff;border:3px solid var(--primary);box-shadow:0 0 0 4px #fff}.sale-history-event strong{display:block;font-size:1.12rem}.sale-history-event span{display:block;margin-top:.15rem}.sale-history-event small{display:block;margin-top:.35rem;color:#111827;font-weight:800}.estimate-limits-box{margin-top:1rem;border:1px solid #e5e7eb;background:#f9fafb;border-radius:16px;padding:1rem}.estimate-limits-box strong{display:block;margin-bottom:.3rem}.estimate-limits-box span{display:block;color:#4b5563;line-height:1.5}.property-cta-panel h2{font-size:clamp(1.45rem,2.4vw,2.05rem)}
@media(max-width:850px){.hero-estimate-card strong{font-size:2rem}.valuation-card .featured-metric dd{font-size:1.25rem}}

/* Property value phase 2: market trends and richer evidence */
.market-mini-panel{margin-top:1rem;border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(135deg,#fff,#f8fafc);padding:1rem;display:grid;gap:.25rem}
.market-mini-panel strong{display:block;color:#111827}.market-mini-panel span{display:block;color:#4b5563;font-weight:750}.market-mini-panel a,.report-link-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-top:.4rem;border:1px solid rgba(47,125,59,.24);border-radius:999px;padding:.55rem .8rem;background:#fff;color:var(--primary);font-weight:900;text-decoration:none}.market-mini-panel a:after,.report-link-button:after{content:' ›';font-weight:950}.comparable-evidence-table td:nth-child(6){min-width:250px}.evidence-main{background:var(--primary);border-color:var(--primary);color:#fff}.evidence-soft{background:#f8fafc;border-color:#e5e7eb;color:#374151;margin-top:.25rem}.market-hero-card .hero-estimate-card strong{font-size:2.35rem}.market-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.market-kpi-grid h2{margin:.25rem 0 .35rem;font-size:clamp(1.55rem,2.7vw,2.25rem)}.market-trend-chart{min-height:330px}.property-trends-page .timeline-key{margin-top:.75rem}.timeline-confidence-band{fill:#111827;opacity:.08}.timeline-estimate-range{stroke:#111827;stroke-width:8;stroke-linecap:round;opacity:.16}@media(max-width:850px){.market-kpi-grid{grid-template-columns:1fr}.comparable-evidence-table td:nth-child(6){min-width:220px}.market-mini-panel a,.report-link-button{width:100%}}
.timeline-key .range-key{border-top-color:#111827;border-top-width:8px;opacity:.25}

/* Property value phase 3: expert verdict, evidence table and market robustness */
.expert-verdict-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:1rem;margin-bottom:22px;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}
.expert-verdict-main h2{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.15;margin:.25rem 0 .45rem;color:#111827}.expert-verdict-main p{margin:0;color:#374151;line-height:1.55;font-size:1rem}.valuation-check-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.valuation-check-strip article{border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:.85rem}.valuation-check-strip span{display:block;color:#6b7280;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.valuation-check-strip strong{display:block;color:#111827;font-size:1.25rem;margin:.25rem 0}.valuation-check-strip small{display:block;color:#4b5563;line-height:1.35}.market-kpi-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.market-trend-table-card{margin-bottom:22px}.market-trend-table td:first-child{min-width:120px}.market-trend-table td:nth-child(2),.market-trend-table td:nth-child(3),.market-trend-table td:nth-child(4){font-weight:800}.timeline-confidence-band{fill:#111827;opacity:.065}.timeline-estimate-range{stroke:#111827;stroke-width:7;stroke-linecap:round;opacity:.18}.range-key{border-top-color:#111827!important;opacity:.4}.property-value-card .report-link-button{font-size:.92rem}.property-trends-page .market-estimate-card .report-link-button{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}@media(max-width:950px){.expert-verdict-card{grid-template-columns:1fr}.market-kpi-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.valuation-check-strip,.market-kpi-grid-four{grid-template-columns:1fr}}
/* Phase 4 property valuation trend comparison */
.timeline-property-monthly-line{stroke:#111827;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.timeline-sale-point circle{fill:#fff;stroke:#111827;stroke-width:3}.timeline-date-axis{font-size:11px}.timeline-market-0{stroke:#6b7280}.timeline-market-1{stroke:#9ca3af;stroke-dasharray:3 6}.timeline-market-2{stroke:#4b5563;stroke-dasharray:10 6}.timeline-key .market-key-0{border-top-color:#6b7280;border-top-style:dashed}.timeline-key .market-key-1{border-top-color:#9ca3af;border-top-style:dotted}.timeline-key .market-key-2{border-top-color:#4b5563;border-top-style:dashed}.market-trend-chart .timeline-key span:first-child b:after,.valuation-timeline .timeline-key span:first-child b:after{content:' · modelled monthly';font-weight:700;color:#6b7280;font-size:.78em}.property-trends-page .market-trend-chart .timeline-key span:first-child b:after{content:' · monthly estimate'}

/* Property market trends: market diagnosis and attribution */
.market-diagnosis-card,.market-driver-card,.market-bridge-card,.market-events-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}
.diagnosis-headline{margin:.2rem 0 1rem;color:#111827;font-weight:850;line-height:1.48;font-size:1.05rem;max-width:980px}
.market-diagnosis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.market-diagnosis-grid article{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:1rem;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.market-diagnosis-grid small,.market-driver-list small,.market-bridge small{display:block;color:#64748b;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em;margin-bottom:.35rem}
.market-diagnosis-grid strong{display:block;color:#111827;font-size:1.55rem;line-height:1.1;margin-bottom:.35rem}
.market-diagnosis-grid span{display:block;color:#4b5563;font-weight:750;line-height:1.42;font-size:.9rem}
.formula-box{margin-top:1rem;border:1px solid rgba(47,125,59,.18);background:rgba(47,125,59,.06);border-radius:18px;padding:1rem}
.formula-box strong{display:block;color:var(--primary);margin-bottom:.35rem}.formula-box span{display:block;color:#334155;font-weight:800;line-height:1.45}
.market-driver-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.market-driver-list article{display:grid;grid-template-columns:150px minmax(0,1fr);gap:.8rem;align-items:start;border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:1rem;border-left-width:6px}
.market-driver-list article.driver-strong{border-left-color:#b91c1c}.market-driver-list article.driver-medium{border-left-color:#d97706}.market-driver-list article.driver-weak{border-left-color:#94a3b8}.market-driver-list article.driver-context{border-left-color:#2563eb}
.market-driver-list strong{display:block;color:#111827;font-size:1.35rem;line-height:1.1}.market-driver-list p{margin:0;color:#4b5563;line-height:1.45;font-weight:700}
.market-bridge{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}
.market-bridge article{position:relative;min-height:95px;border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:1rem;overflow:hidden}
.market-bridge article:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:#cbd5e1}.market-bridge .bridge-down:after{background:#ef4444}.market-bridge .bridge-up:after{background:#22c55e}.market-bridge .bridge-start:after,.market-bridge .bridge-end:after{background:#111827}
.market-bridge strong{display:block;color:#111827;font-size:1.12rem;line-height:1.18;word-break:break-word}
.market-two-col{grid-template-columns:1fr 1fr}.compact-head{margin-bottom:.8rem}
.mini-bar-table{display:grid;gap:.7rem}.mini-bar-row{display:grid;grid-template-columns:115px 1fr 1fr;gap:.65rem;align-items:center}.mini-bar-row>span{font-weight:900;color:#111827}.mini-bar-row div{position:relative;min-height:31px;border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc;overflow:hidden}.mini-bar-row i{display:block;height:100%;background:#dbeafe}.mini-bar-row div+div i{background:#e5e7eb}.mini-bar-row em{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);font-style:normal;color:#111827;font-weight:850;font-size:.78rem;white-space:nowrap}
.market-type-table td:nth-child(2),.market-type-table td:nth-child(3),.market-type-table td:nth-child(4){font-weight:850}
.market-event-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.market-event-list article{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:1rem}.market-event-list time{display:block;color:var(--primary);font-weight:950;font-size:.78rem;margin-bottom:.35rem}.market-event-list strong{display:block;color:#111827;margin-bottom:.3rem}.market-event-list span{display:block;color:#4b5563;font-weight:700;line-height:1.4;font-size:.9rem}
@media(max-width:1050px){.market-diagnosis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-bridge{grid-template-columns:repeat(3,minmax(0,1fr))}.market-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.market-two-col{grid-template-columns:1fr}}
@media(max-width:720px){.market-diagnosis-grid,.market-driver-list,.market-event-list{grid-template-columns:1fr}.market-driver-list article{grid-template-columns:1fr}.market-bridge{grid-template-columns:1fr}.mini-bar-row{grid-template-columns:1fr}.mini-bar-row div{min-height:34px}}

/* Property market trends: summary and diagnostic charts */
.market-summary-card,.market-charts-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}
.market-summary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.market-summary-list article{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:1rem;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.market-summary-list strong{display:block;color:#111827;font-size:1rem;margin-bottom:.35rem}.market-summary-list span{display:block;color:#4b5563;font-weight:750;line-height:1.48}
.market-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.market-chart-panel{border:1px solid #e5e7eb;background:#fff;border-radius:20px;padding:1rem;box-shadow:0 8px 22px rgba(15,23,42,.045)}.market-chart-panel h3{margin:.15rem 0 .55rem;color:#111827;font-size:1.08rem}.market-diagnostic-chart{min-height:260px;border:1px solid #eef2f7;border-radius:16px;background:#fff;overflow:hidden;padding:.45rem}.market-diagnostic-chart svg{display:block;width:100%;height:auto}.diag-axis,.diag-label{fill:#64748b;font-size:11px;font-weight:800}.diag-title{fill:#111827;font-size:12px;font-weight:900}.diag-grid{stroke:#e5e7eb;stroke-width:1}.diag-line{fill:none;stroke:#111827;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.diag-line.alt{stroke:#6b7280;stroke-dasharray:6 5}.diag-line.context{stroke:#2563eb;stroke-dasharray:3 5}.diag-bar{fill:#dbeafe}.diag-bar.alt{fill:#e5e7eb}.diag-zero{stroke:#94a3b8;stroke-width:1.2;stroke-dasharray:4 4}.diag-key{display:flex;flex-wrap:wrap;gap:.55rem .9rem;margin-top:.55rem;color:#4b5563;font-weight:800;font-size:.82rem}.diag-key span{display:inline-flex;align-items:center;gap:.35rem}.diag-key i{display:inline-block;width:18px;height:0;border-top:3px solid #111827}.diag-key i.bar{height:10px;border:0;background:#dbeafe;border-radius:3px}.diag-key i.alt{border-top-color:#6b7280;border-top-style:dashed}.diag-key i.context{border-top-color:#2563eb;border-top-style:dotted}.market-diagnostic-empty{display:grid;place-items:center;min-height:220px;color:#64748b;font-weight:800;text-align:center;padding:1rem}
@media(max-width:950px){.market-summary-list,.market-chart-grid{grid-template-columns:1fr}}

/* Market trends spacing and readability polish */
.property-trends-page .property-value-shell > .property-value-card,
.property-trends-page .property-value-shell > .property-value-grid{
  margin-bottom:24px;
}
.property-trends-page .property-value-shell > .property-value-card:last-child,
.property-trends-page .property-value-shell > .property-value-grid:last-child{
  margin-bottom:0;
}
.property-trends-page .market-kpi-grid,
.property-trends-page .market-two-col{
  gap:24px;
}
.market-summary-card,
.market-user-guide-card,
.market-diagnosis-card,
.market-driver-card,
.market-charts-card,
.market-bridge-card,
.market-events-card,
.market-trend-table-card{
  scroll-margin-top:96px;
}
.market-user-guide-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}
.market-user-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}
.market-user-guide-grid article{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:1rem;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.market-user-guide-grid strong{display:block;color:#111827;font-size:1rem;margin-bottom:.35rem}
.market-user-guide-grid span{display:block;color:#4b5563;font-weight:750;line-height:1.48;font-size:.92rem}
.market-chart-panel .method-note{min-height:3.8em}
@media(max-width:1050px){.market-user-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.property-trends-page .property-value-shell > .property-value-card,.property-trends-page .property-value-shell > .property-value-grid{margin-bottom:18px}.market-user-guide-grid{grid-template-columns:1fr}}

/* Long-term market activity section */
.market-long-term-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);scroll-margin-top:96px}
.market-long-term-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.75fr);gap:1rem;align-items:stretch;margin-top:1rem}
.market-chart-panel-wide{height:100%}
.market-long-term-chart{min-height:310px}
.market-long-term-side{display:grid;gap:.8rem}
.market-long-term-side article{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:1rem;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.market-long-term-side small{display:block;color:#64748b;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em;margin-bottom:.35rem}
.market-long-term-side strong{display:block;color:#111827;font-size:1.45rem;line-height:1.1;margin-bottom:.35rem}
.market-long-term-side span{display:block;color:#4b5563;font-weight:750;line-height:1.45;font-size:.92rem}
@media(max-width:950px){.market-long-term-layout{grid-template-columns:1fr}.market-long-term-side{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.market-long-term-side{grid-template-columns:1fr}.market-long-term-chart{min-height:260px}}

.market-summary-pills{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 .2rem}
.market-pill{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:.48rem .72rem;box-shadow:0 6px 16px rgba(15,23,42,.045);font-size:.88rem}
.market-pill b{color:#111827;font-weight:950}.market-pill em{font-style:normal;color:#64748b;font-weight:950}.market-pill-down{border-color:#fecaca;background:#fff7f7}.market-pill-down em{color:#b91c1c}.market-pill-up{border-color:#bbf7d0;background:#f7fff9}.market-pill-up em{color:#15803d}.market-pill-neutral{border-color:#dbeafe;background:#f8fbff}.market-pill-neutral em{color:#1d4ed8}
.market-long-term-main{display:grid;gap:1rem}.market-long-term-compare{margin-top:0}.market-long-term-comparison-chart{min-height:245px}
.diag-hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:crosshair}.diag-hit:hover{fill:rgba(17,24,39,.08);stroke:rgba(17,24,39,.16)}
@media(max-width:720px){.market-summary-pills{gap:.4rem}.market-pill{width:100%;justify-content:space-between}.market-long-term-comparison-chart{min-height:220px}}

/* Faster, cleaner market chart hovers */
.market-diagnostic-chart{position:relative}
.market-diagnostic-chart svg{overflow:visible}
.diag-hit{fill:rgba(255,255,255,0);stroke:rgba(17,24,39,0);stroke-width:2;pointer-events:all;cursor:pointer;transition:fill .12s ease,stroke .12s ease,r .12s ease}
.diag-hit:hover{fill:rgba(17,24,39,.10);stroke:rgba(17,24,39,.22)}
.diag-bar{transition:filter .12s ease,opacity .12s ease;cursor:pointer}
.diag-bar:hover{filter:brightness(.96);opacity:.9}
.market-chart-tooltip{position:fixed;z-index:9999;max-width:285px;padding:.65rem .75rem;border-radius:12px;background:#111827;color:#fff;box-shadow:0 16px 35px rgba(15,23,42,.28);font-size:.82rem;font-weight:800;line-height:1.35;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .08s ease,transform .08s ease;white-space:normal}
.market-chart-tooltip.is-visible{opacity:1;transform:translateY(0)}
.market-chart-panel .method-note{font-size:.92rem;line-height:1.45}
.market-long-term-side article{min-height:0}
@media(max-width:760px){.market-chart-tooltip{display:none}}

/* Market trends opportunity framing */
.market-opportunity-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}
.market-opportunity-intro{margin:.15rem 0 1rem;color:#374151;font-size:1.02rem;line-height:1.58;font-weight:750;max-width:980px}
.market-opportunity-grid article{position:relative;overflow:hidden}
.market-opportunity-grid article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--primary);opacity:.75}
.market-move-maths{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.45fr);gap:1rem;align-items:start;margin-top:1rem;border:1px solid #e5e7eb;background:#fff;border-radius:22px;padding:1rem;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.market-move-copy h3{margin:.15rem 0 .45rem;color:#111827;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.15}
.market-move-copy p:not(.eyebrow){margin:0;color:#4b5563;line-height:1.55;font-weight:750}
.market-move-table-wrap{overflow:auto;border:1px solid #eef2f7;border-radius:16px;background:#fff}
.market-move-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:620px}
.market-move-table th,.market-move-table td{padding:.75rem .85rem;border-bottom:1px solid #eef2f7;text-align:left;white-space:nowrap}
.market-move-table th{background:#f8fafc;color:#64748b;font-size:.74rem;text-transform:uppercase;letter-spacing:.055em;font-weight:950}
.market-move-table td{color:#374151;font-weight:800}
.market-move-table td:first-child{color:#111827;font-weight:950}
.market-move-table tr:last-child td{border-bottom:0}
.market-move-table strong{color:var(--primary);font-weight:950}
.market-cushion-strip{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr);gap:1rem;align-items:center;margin-top:1rem;border:1px solid rgba(47,125,59,.18);background:linear-gradient(135deg,rgba(47,125,59,.07),#fff);border-radius:22px;padding:1rem}
.market-cushion-strip article{border:1px solid rgba(47,125,59,.16);background:#fff;border-radius:18px;padding:1rem;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.market-cushion-strip small{display:block;color:#64748b;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em;margin-bottom:.3rem}
.market-cushion-strip strong{display:block;color:var(--primary);font-size:1.65rem;line-height:1.05;margin-bottom:.35rem}
.market-cushion-strip span,.market-cushion-strip p{display:block;margin:0;color:#4b5563;font-weight:750;line-height:1.5}
@media(max-width:900px){.market-move-maths,.market-cushion-strip{grid-template-columns:1fr}}
@media(max-width:620px){.market-move-maths,.market-cushion-strip{padding:.8rem;border-radius:18px}.market-opportunity-intro{font-size:.96rem}}
.market-true-cost-card{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}
.market-true-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
.market-true-cost-grid article{border:1px solid #e5e7eb;background:#fff;border-radius:20px;padding:1rem;box-shadow:0 10px 26px rgba(15,23,42,.045)}
.market-true-cost-grid small{display:block;color:#64748b;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em;margin-bottom:.35rem}
.market-true-cost-grid strong{display:block;color:#111827;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.05;margin-bottom:.4rem}
.market-true-cost-grid span{display:block;color:#4b5563;font-weight:750;line-height:1.45}
.market-true-cost-compare{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.5fr);gap:1rem;align-items:start;margin-top:1rem;border:1px solid #e5e7eb;background:#fff;border-radius:22px;padding:1rem;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.market-true-cost-table td:nth-child(2),.market-true-cost-table td:nth-child(3){font-variant-numeric:tabular-nums}
.market-true-cost-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.market-true-cost-notes article{border:1px solid #eef2f7;background:#fff;border-radius:18px;padding:1rem;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.market-true-cost-notes strong{display:block;color:#111827;margin-bottom:.3rem;font-size:1rem}
.market-true-cost-notes span{display:block;color:#4b5563;font-weight:750;line-height:1.5}
@media(max-width:900px){.market-true-cost-grid,.market-true-cost-compare,.market-true-cost-notes{grid-template-columns:1fr}}
@media(max-width:620px){.market-true-cost-grid,.market-true-cost-compare,.market-true-cost-notes{gap:.75rem}.market-true-cost-compare{padding:.8rem;border-radius:18px}}

/* Market trends sectioning / progressive disclosure */
.market-section-nav{
  position:sticky;
  top:72px;
  z-index:18;
  display:flex;
  gap:.45rem;
  overflow-x:auto;
  padding:.65rem;
  margin:-4px 0 18px;
  border:1px solid rgba(226,232,240,.9);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 28px rgba(15,23,42,.07);
  -webkit-overflow-scrolling:touch;
}
.market-section-nav a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:.5rem .78rem;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  color:#374151;
  font-weight:900;
  font-size:.86rem;
  text-decoration:none;
  white-space:nowrap;
}
.market-section-nav a:hover,
.market-section-nav a:focus{
  color:var(--primary);
  border-color:rgba(47,125,59,.35);
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}
.property-trends-page #market-overview,
.property-trends-page #market-moving,
.property-trends-page #market-trend,
.property-trends-page #market-affordability,
.property-trends-page #market-context,
.property-trends-page #market-diagnosis,
.property-trends-page #market-evidence{
  scroll-margin-top:150px;
}
.market-primary-chart-card{
  background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);
}
.market-detail-section{
  margin:0 0 22px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.06);
  overflow:hidden;
}
.market-detail-section > summary{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.15rem;
  list-style:none;
  background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);
}
.market-detail-section > summary::-webkit-details-marker{display:none}
.market-detail-section > summary:after{
  content:'+';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  font-weight:950;
  font-size:1.15rem;
}
.market-detail-section[open] > summary:after{content:'−'}
.market-detail-section > summary span{
  display:block;
  color:#111827;
  font-weight:950;
  font-size:1.08rem;
}
.market-detail-section > summary small{
  display:block;
  margin-top:.18rem;
  color:#64748b;
  font-weight:800;
  line-height:1.35;
}
.market-detail-body{
  padding:1rem;
  border-top:1px solid #e5e7eb;
  background:#f8fafc;
}
.market-detail-body > .property-value-card,
.market-detail-body > .property-value-grid{
  margin-bottom:1rem!important;
}
.market-detail-body > .property-value-card:last-child,
.market-detail-body > .property-value-grid:last-child{
  margin-bottom:0!important;
}
.market-method-note-grid{margin-top:0}
@media(max-width:820px){
  .market-section-nav{top:62px;border-radius:16px;margin-bottom:14px;padding:.5rem}
  .market-section-nav a{font-size:.8rem;min-height:34px;padding:.45rem .65rem}
  .market-detail-section{border-radius:20px}
  .market-detail-section > summary{align-items:flex-start;padding:.9rem}
  .market-detail-body{padding:.75rem}
}

/* Phase 2 market trends refinement */
.market-opportunity-intro-strong{
  padding:.85rem 1rem;
  border:1px solid rgba(47,125,59,.14);
  border-left:5px solid var(--primary);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.market-advice-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:1rem 0 0;
  padding:1rem;
  border:1px solid rgba(47,125,59,.18);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(47,125,59,.08),#fff);
}
.market-advice-cta strong{
  display:block;
  color:#111827;
  font-size:1.04rem;
  line-height:1.25;
  margin-bottom:.25rem;
}
.market-advice-cta span{
  display:block;
  color:#4b5563;
  font-weight:800;
  line-height:1.45;
}
.market-chart-takeaway{
  margin:.85rem 0 0;
  padding:.82rem .95rem;
  border:1px solid #dbeafe;
  border-radius:16px;
  background:#f8fbff;
  color:#374151;
  font-weight:800;
  line-height:1.5;
}
.market-chart-takeaway strong{color:#111827;font-weight:950}
.market-overview-takeaway{margin-top:1rem;border-color:rgba(47,125,59,.18);background:linear-gradient(135deg,rgba(47,125,59,.06),#fff)}
.market-detail-section > summary span{font-size:1.12rem}
.market-detail-section > summary small{max-width:780px}
@media(max-width:760px){
  .market-advice-cta{display:block}
  .market-advice-cta .report-link-button{margin-top:.8rem;width:100%;text-align:center}
  .market-chart-takeaway{font-size:.92rem}
}

/* Phase 2b overview tightening */
.market-overview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.85rem;
}
.market-overview-actions .report-link-button{
  margin-top:0;
}
.property-trends-page #market-overview{
  margin-bottom:18px;
}
.property-trends-page #market-trend{
  margin-bottom:22px;
}
.property-trends-page #market-moving .market-cushion-strip{
  display:none;
}
.property-trends-page #market-affordability .market-cushion-strip{
  margin:.75rem 0 1rem;
}
@media(max-width:760px){
  .market-overview-actions{display:grid;grid-template-columns:1fr;gap:.5rem}
  .market-overview-actions .report-link-button{width:100%}
}

/* Phase 1 national market report */
.market-report-page{background:#f4f7f5;color:#111827}
.market-report-shell{max-width:1180px;margin:0 auto;padding:24px 16px 46px}
.market-report-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:stretch;margin:6px 0 22px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f0f8f2 100%);box-shadow:0 18px 45px rgba(15,23,42,.08);border:1px solid rgba(47,125,59,.12)}
.market-report-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:.5rem 0 .7rem;letter-spacing:-.045em;color:#0f172a}
.market-report-hero p{max-width:760px;color:#475569;font-weight:800;font-size:1.08rem;line-height:1.55;margin:0}
.market-report-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.15rem}.report-link-button.secondary{background:#fff;color:#111827;border:1px solid #d1d5db}
.market-temperature-card{border-radius:24px;padding:1.2rem;background:#111827;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.18)}
.market-temperature-card small{display:block;color:#a7f3d0;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.market-temperature-card strong{display:block;margin:.45rem 0 .7rem;font-size:1.75rem;line-height:1.1}.market-temperature-card p{color:#cbd5e1;font-size:.92rem;font-weight:750;line-height:1.45}
.temperature-meter{height:12px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden}.temperature-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e)}
.market-report-section{margin:18px 0;padding:20px;border-radius:26px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 26px rgba(15,23,42,.045)}
.market-report-section .section-head{margin-bottom:14px}.market-report-section .section-head h2{margin:.15rem 0 0;font-size:1.45rem;letter-spacing:-.025em}.market-report-section .section-head small{color:#64748b;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.market-report-section .section-head > span,.market-report-section .section-head > a{font-weight:900;color:#475569;text-decoration:none}
.market-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.market-snapshot-grid article{padding:1rem;border-radius:20px;background:#f8fafc;border:1px solid #e5e7eb}.market-snapshot-grid small{display:block;color:#64748b;font-weight:900}.market-snapshot-grid strong{display:block;margin:.3rem 0;font-size:1.65rem;letter-spacing:-.035em;color:#111827}.market-snapshot-grid span{color:#64748b;font-weight:800;font-size:.9rem}.up{color:#15803d!important}.down{color:#b91c1c!important}
.market-report-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px}.market-report-wide{min-width:0}.market-chart-tabs{display:flex;gap:.4rem;padding:.25rem;border-radius:999px;background:#f1f5f9}.market-chart-tabs button{border:0;background:transparent;border-radius:999px;padding:.45rem .75rem;font-weight:950;color:#475569;cursor:pointer}.market-chart-tabs button.active{background:#fff;color:#111827;box-shadow:0 4px 12px rgba(15,23,42,.08)}
.market-svg-chart{width:100%;min-height:320px;border-radius:20px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #eef2f7;overflow:hidden}.market-svg-chart.compact{min-height:260px}.market-svg-chart svg{display:block;width:100%;height:auto}.grid-line{stroke:#e5e7eb;stroke-width:1}.chart-area{fill:rgba(47,125,59,.1)}.chart-line{fill:none;stroke:var(--primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:var(--primary);stroke-width:2}.axis-labels text{font-size:12px;fill:#64748b;font-weight:800}.market-empty-chart{display:flex;align-items:center;justify-content:center;min-height:180px;color:#64748b;font-weight:850}
.market-bars-list{display:grid;gap:.8rem}.market-bar-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1.1fr) 58px;gap:.65rem;align-items:center}.market-bar-label strong{display:block;color:#111827;font-size:.95rem}.market-bar-label small{display:block;color:#64748b;font-weight:800}.market-bar-track{height:11px;border-radius:999px;background:#eef2f7;overflow:hidden}.market-bar-track span{display:block;height:100%;border-radius:999px;background:#15803d}.market-bar-track span.down{background:#dc2626}.market-bar-row b{text-align:right;font-size:.9rem}
.heat-map-promo{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff}.heat-map-promo h2{color:#fff}.heat-map-promo p{margin:.35rem 0 0;color:#cbd5e1;font-weight:800;line-height:1.45}.heat-map-promo small{color:#a7f3d0;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.market-heat-links{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.market-heat-links a{display:inline-flex;border-radius:999px;background:#fff;color:#111827;text-decoration:none;font-weight:950;padding:.7rem .9rem}.market-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.market-method-grid article{border-radius:18px;border:1px solid #e5e7eb;background:#f8fafc;padding:.9rem}.market-method-grid strong{display:block;color:#111827}.market-method-grid p{margin:.35rem 0 0;color:#64748b;font-weight:800;line-height:1.45;font-size:.92rem}
@media(max-width:900px){.market-report-hero,.market-report-grid{grid-template-columns:1fr}.market-snapshot-grid,.market-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heat-map-promo{display:block}.market-heat-links{justify-content:flex-start;margin-top:1rem}}
@media(max-width:620px){.market-report-shell{padding:14px 10px 36px}.market-report-hero{padding:20px;border-radius:24px}.market-snapshot-grid,.market-method-grid{grid-template-columns:1fr}.market-bar-row{grid-template-columns:1fr;gap:.35rem}.market-bar-row b{text-align:left}.market-chart-tabs{width:100%;justify-content:space-between}.market-report-section{padding:15px;border-radius:22px}}

/* Phase 2 national market report additions */
.market-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.market-insight-grid article{padding:1rem;border-radius:20px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 6px 18px rgba(15,23,42,.035)}
.market-insight-grid small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.045em;font-size:.72rem}
.market-insight-grid strong{display:block;margin:.35rem 0 .25rem;color:#111827;font-size:1.05rem;line-height:1.2}
.market-insight-grid span{display:block;color:#64748b;font-weight:850;font-size:.88rem}
.local-market-tabs{display:inline-flex;margin:-.1rem 0 1rem}
.market-local-list{display:grid;gap:.75rem}
.market-local-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto minmax(150px,.35fr);gap:.8rem;align-items:center;padding:.85rem;border-radius:18px;background:#f8fafc;border:1px solid #e5e7eb}
.market-local-rank{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#111827;color:#fff;font-weight:950}
.market-local-card strong{display:block;color:#111827;font-size:.98rem;line-height:1.25}
.market-local-card span{display:block;color:#64748b;font-weight:800;font-size:.86rem;margin-top:.12rem}
.market-local-card>b{font-size:1rem;white-space:nowrap;text-align:right}
.mini-temperature small{display:block;color:#64748b;font-weight:900;font-size:.75rem;text-align:right;margin-bottom:.25rem}
.mini-temperature span{display:block;height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}
.mini-temperature i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e)}
@media(max-width:900px){.market-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-local-card{grid-template-columns:38px minmax(0,1fr) auto}.mini-temperature{grid-column:2 / -1}}
@media(max-width:620px){.market-insight-grid{grid-template-columns:1fr}.market-local-card{grid-template-columns:34px minmax(0,1fr)}.market-local-card>b{text-align:left;grid-column:2}.mini-temperature{grid-column:2}.local-market-tabs{display:flex;width:100%;overflow:auto}}

/* Phase 3 market report */
.market-print-button{font:inherit;cursor:pointer}
.market-commentary-panel{background:linear-gradient(135deg,#fff,#f7fbf8)}
.market-commentary-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:12px}
.market-commentary-grid article{padding:1rem;border-radius:20px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 6px 18px rgba(15,23,42,.035)}
.market-commentary-grid .market-commentary-main{background:#111827;color:#fff}.market-commentary-grid .market-commentary-main strong{display:block;font-size:1.05rem;line-height:1.45}.market-commentary-grid .market-commentary-main p{color:#cbd5e1}
.market-commentary-grid small{display:block;color:#64748b;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.market-commentary-grid p{margin:.35rem 0 0;color:#475569;font-weight:820;line-height:1.5}.market-commentary-main small{color:#a7f3d0}
.buyer-seller-grid{grid-template-columns:1fr 1fr}.decision-card ul{margin:.2rem 0 0;padding-left:1.1rem;color:#475569;font-weight:820;line-height:1.55}.decision-card li+li{margin-top:.45rem}.buyer-card{background:linear-gradient(135deg,#fff,#f0f9ff)}.seller-card{background:linear-gradient(135deg,#fff,#f7fee7)}
.local-lookup-panel{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%)}.market-local-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.market-local-search input{width:100%;border:1px solid #d1d5db;border-radius:16px;padding:.9rem 1rem;font-size:1rem;font-weight:800;background:#fff;color:#111827}.market-local-search button{border:0;border-radius:16px;background:var(--primary);color:#fff;font-weight:950;padding:.85rem 1rem;cursor:pointer}.market-local-search-result{display:grid;gap:.75rem;margin-top:1rem}.market-lookup-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:.75rem;align-items:center;padding:.85rem;border-radius:18px;background:#fff;border:1px solid #e5e7eb}.market-lookup-result strong{display:block;color:#111827}.market-lookup-result span{display:block;color:#64748b;font-weight:800;font-size:.88rem}.market-lookup-result>a{border-radius:999px;background:#111827;color:#fff;text-decoration:none;font-weight:950;padding:.55rem .75rem;white-space:nowrap}.market-lookup-result>b{font-size:1rem;white-space:nowrap}.market-lookup-result .mini-temperature{grid-column:1 / -1}
.confidence-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-style:normal;font-weight:950;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}.confidence-pill.strong{background:#dcfce7;color:#166534;border-color:#bbf7d0}.confidence-pill.medium{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.confidence-pill.thin{background:#fef3c7;color:#92400e;border-color:#fde68a}.confidence-pill.low{background:#fee2e2;color:#991b1b;border-color:#fecaca}.market-temperature-card .confidence-pill{margin-top:.8rem}
.mini-temperature{display:grid;gap:.25rem}.mini-temperature small{font-weight:900;color:#64748b}.mini-temperature span{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}.mini-temperature i{display:block;height:100%;border-radius:999px;background:var(--primary)}.mini-temperature .confidence-pill{justify-self:start;margin-top:.1rem}
.market-table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:18px}.market-ranking-table{width:100%;border-collapse:separate;border-spacing:0;min-width:820px;background:#fff}.market-ranking-table th,.market-ranking-table td{padding:.75rem .85rem;text-align:left;border-bottom:1px solid #e5e7eb;font-weight:850;color:#475569}.market-ranking-table th{position:sticky;top:0;background:#f8fafc;color:#111827;font-size:.82rem;text-transform:uppercase;letter-spacing:.045em;cursor:pointer}.market-ranking-table tbody tr:last-child td{border-bottom:0}.market-ranking-table td strong{display:block;color:#111827;font-size:.93rem}.market-ranking-table td a{display:inline-block;margin-top:.15rem;color:var(--primary);text-decoration:none;font-size:.78rem;font-weight:950}.market-ranking-table td:nth-child(n+2){white-space:nowrap}.market-ranking-table th[data-sort]::after{content:' ↕';color:#94a3b8}
.heat-map-promo-enhanced{align-items:flex-start}.confidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.confidence-grid article{padding:1rem;border-radius:18px;background:#f8fafc;border:1px solid #e5e7eb}.confidence-grid p{margin:.5rem 0 0;color:#64748b;font-weight:800;line-height:1.45}
@media(max-width:900px){.market-commentary-grid,.buyer-seller-grid,.confidence-grid{grid-template-columns:1fr}.market-local-search{grid-template-columns:1fr}.market-lookup-result{grid-template-columns:1fr auto}.market-lookup-result>a{justify-self:start}.market-lookup-result .confidence-pill{justify-self:start}}
@media(max-width:620px){.market-lookup-result{grid-template-columns:1fr}.market-local-search input,.market-local-search button{border-radius:14px}.market-ranking-panel{padding-left:10px;padding-right:10px}}
@media print{.site-header,.market-report-actions,.market-chart-tabs,.market-heat-links,.market-local-search,footer{display:none!important}.market-report-page{background:#fff}.market-report-shell{max-width:none;padding:0}.market-report-section,.market-report-hero{break-inside:avoid;box-shadow:none;border-color:#d1d5db}.market-svg-chart{min-height:auto}.market-ranking-table th{position:static}.market-temperature-card{background:#111827!important;color:#fff!important}}
.market-ranking-controls{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:0 0 1rem}.market-ranking-controls label{display:flex;align-items:center;gap:.45rem;font-weight:900;color:#334155;font-size:.9rem}.market-ranking-controls select{border:1px solid #d1d5db;border-radius:999px;padding:.45rem .75rem;background:#fff;font-weight:850;color:#111827}.market-ranking-controls input[type="checkbox"]{width:16px;height:16px;accent-color:var(--primary)}.market-ranking-table td small{display:block;margin-top:.18rem;color:#64748b;font-size:.72rem;font-weight:800}.mix-warning{display:inline-flex;border-radius:999px;padding:.18rem .45rem;background:#fef3c7;color:#92400e;font-weight:950}.market-ranking-table{min-width:1120px}.confidence-pill.thin{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
@media print{.market-ranking-controls{display:none!important}}
