/* DXBPropIntel — main stylesheet
   Sections roughly follow this order:
     1. Tokens & resets    (vars, body, fonts)
     2. Layout primitives  (topbar, sidebar, panels, grid)
     3. Components         (buttons, cards, pills, dots)
     4. Map & overlays     (.map-*, .area-tip, .rl-*, .at-*)
     5. Negotiate tab      (.neg-*, rent-fairness)
     6. Buy Model tab      (.fisc-*, .fvh-*)
     7. Home page          (.explore-*)
   Search by class name to find what you need.
*/
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  /* User's original cream — lighter, more white, less warm — but with stronger border for card visibility */
  --cream:#F7F3EC;--cream2:#EDE8DF;--white:#FFFFFF;--panel-bg:#FFFFFF;
  --ink:#1A1714;--muted:rgba(26,23,20,.72);--muted2:#3A342D;
  --border:#D0C6AE;--gold:#B8934A;--gold2:#D4AC6B;--gold-soft:#F0E8D4;
  --teal:#2A7A6F;--red:#C0392B;--green:#3A8A56;--blue:#2E6EA6;--amber:#C87D2A;
  --shadow:0 2px 14px rgba(0,0,0,.06);--shadow-lg:0 12px 40px rgba(0,0,0,.10);
  /* Typography scale */
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  /* Standard font sizes for body text — bumped up for readability */
  --fs-body: 14px;
  --fs-body-sm: 13px;
  --fs-label: 11px;
  --fs-caption: 12px;
}
html,body{height:100%;overflow:hidden;font-family:var(--font-body);background:var(--cream);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;}
.topbar{height:52px;display:flex;align-items:center;padding:0 16px;gap:12px;background:var(--white);border-bottom:1px solid var(--border);z-index:600;flex-shrink:0;}
.logo{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;display:flex;align-items:center;gap:6px;}
.logo em{font-style:italic;color:var(--gold);}
.logo-badge{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--gold);background:rgba(184,147,74,.12);border:1px solid rgba(184,147,74,.3);border-radius:4px;padding:2px 6px;text-transform:uppercase;}
.ai-search{flex:1;max-width:460px;position:relative;}
.ai-input{width:100%;height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 12px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);background:var(--cream);outline:none;transition:all .2s;}
.ai-input::placeholder{color:var(--muted);}
.ai-input:focus{background:var(--white);border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,147,74,.1);}
.ai-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:700;overflow:hidden;display:none;}
.ai-dropdown.visible{display:block;}
.ai-drop-item{padding:10px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border);transition:background .12s;}
.ai-drop-item:last-child{border-bottom:none;}
.ai-drop-item:hover{background:var(--cream);}
.live-pill{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--teal);margin-left:auto;}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
@keyframes tickScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.layout{display:flex;height:calc(100vh - 82px);overflow:hidden;}
.layout.focus-mode .left-panel{display:none;}
.left-panel{width:320px;flex-shrink:0;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;z-index:300;}
.panel-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;}
.ptab{flex:1;padding:10px 3px 8px;font-size:10px;font-weight:600;text-align:center;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;transition:all .18s;line-height:1.3;}
.ptab:hover{color:var(--ink);}
.ptab.active{color:var(--ink);border-bottom-color:var(--gold);}
.ptab .ti{display:block;font-size:14px;margin-bottom:2px;}
.panel-body{flex:1;overflow-y:auto;}
.panel-body::-webkit-scrollbar{width:3px;}
.panel-body::-webkit-scrollbar-thumb{background:var(--border);}
.psection{display:none;}
.psection.active{display:block;}
/* Sidebar mode switcher: Communities | Schools */
.sidebar-mode-switch{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--cream);position:sticky;top:0;z-index:5;}
.smode-btn{flex:1;padding:8px 10px;background:var(--white);border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;}
.smode-btn:hover{border-color:var(--gold);color:var(--ink);}
.smode-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.smode-count{margin-left:6px;font-size:10px;font-weight:600;opacity:.7;background:rgba(255,255,255,.15);padding:1px 6px;border-radius:10px;}
.smode-btn:not(.active) .smode-count{background:var(--cream);color:var(--muted);}
.sidebar-mode-content{padding:0;}
.slabel{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 14px 5px;}
.filter-wrap{padding:8px 12px;display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--border);background:var(--cream);}
.fc{padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--white);color:var(--muted);transition:all .15s;}
.fc.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.fc:hover:not(.active){border-color:var(--gold);color:var(--ink);}
.comm-row{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border);}
.comm-row:hover{background:rgba(184,147,74,.05);}
.comm-row.active{background:rgba(184,147,74,.09);border-left:3px solid var(--gold);padding-left:9px;}
.comm-icon{width:36px;height:36px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;}
.comm-name{font-size:12.5px;font-weight:600;margin-bottom:1px;}
.comm-sub{font-size:10px;color:var(--muted);}
.comm-price{text-align:right;flex-shrink:0;}
.comm-aed{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;}
.comm-unit{font-size:9px;color:var(--muted);}
.sdots{display:flex;gap:2px;margin-top:3px;}
.sdot{width:5px;height:5px;border-radius:1.5px;background:var(--border);}
.sdot.on{background:var(--gold);}
.sf-row{padding:5px 10px;display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border);background:var(--cream);}
.sf{padding:3px 8px;border-radius:5px;font-size:10px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--white);color:var(--muted);font-family:'DM Sans',sans-serif;transition:all .15s;}
.sf.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.sf-search{flex:1;min-width:100px;height:26px;border:1px solid var(--border);border-radius:5px;padding:0 8px;font-size:12px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--white);outline:none;}
.sf-search:focus{border-color:var(--gold);}
.s-count{padding:5px 12px;font-size:10.5px;color:var(--muted);border-bottom:1px solid var(--border);background:var(--cream2);}
.school-item{padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;display:flex;align-items:flex-start;gap:8px;}
.school-item:hover{background:rgba(184,147,74,.04);}
.s-rat{width:22px;height:22px;border-radius:5px;flex-shrink:0;font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.s-O{background:rgba(30,122,82,.14);color:var(--green);}
.s-V{background:rgba(46,110,166,.14);color:var(--blue);}
.s-G{background:rgba(42,122,111,.14);color:var(--teal);}
.s-A{background:rgba(200,125,42,.14);color:var(--amber);}
.s-N{background:var(--cream2);color:var(--muted);}
.s-name{font-size:12px;font-weight:600;line-height:1.3;margin-bottom:1px;}
.s-meta{font-size:10px;color:var(--muted);}
.s-fee{font-size:10.5px;font-weight:600;color:var(--gold);margin-top:1px;}
.feed-sm{display:flex;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);}
.fdot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex-shrink:0;}
.ftext{font-size:11.5px;line-height:1.5;flex:1;}
.ftime{font-size:9.5px;color:var(--muted);margin-top:2px;}
.lp-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;}
.lp-val{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--gold);}
.lp-visa{margin:8px 10px;padding:10px;border:1px solid var(--border);border-radius:9px;}
.lp-vhead{display:flex;justify-content:space-between;margin-bottom:3px;}
.lp-vname{font-size:12px;font-weight:700;}
.lp-vdur{font-size:11px;font-weight:700;color:var(--gold);}
.lp-vreq{font-size:10.5px;color:var(--muted);}
.content-area{flex:1;position:relative;overflow:hidden;}
.map-panel{position:absolute;inset:0;display:flex;}
.map-panel.hidden{display:none;}
#map{flex:1;height:100%;}
.right-panel{width:360px;flex-shrink:0;background:var(--cream);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;position:absolute;right:0;top:0;bottom:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:200;}
.right-panel.open{transform:translateX(0);position:relative;}
.detail-hero{height:160px;position:relative;overflow:hidden;flex-shrink:0;}
.hero-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:68px;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,23,20,.75) 0%,transparent 55%);}
.hero-text{position:absolute;bottom:14px;left:16px;right:16px;color:var(--white);}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;line-height:1.1;margin-bottom:3px;}
.hero-sub{font-size:12px;opacity:.8;}
.close-btn{position:absolute;top:10px;right:10px;z-index:10;width:30px;height:30px;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--white);border:1px solid rgba(255,255,255,.3);z-index:10;}
.close-btn:hover{background:rgba(255,255,255,.4);}
.detail-body{flex:1;overflow-y:auto;padding:14px;}
.detail-body::-webkit-scrollbar{width:3px;}
.detail-body::-webkit-scrollbar-thumb{background:var(--border);}
.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px;}
.score-card{background:var(--white);border-radius:9px;padding:11px 12px;border:1px solid var(--border);}
.sc-lbl{font-size:9.5px;color:var(--muted);margin-bottom:3px;}
.sc-val{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;line-height:1;}
.sc-sub{font-size:9.5px;color:var(--muted);margin-top:2px;}
.dsec{background:var(--white);border-radius:9px;padding:12px;margin-bottom:9px;border:1px solid var(--border);}
.dsec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.dsec-title{font-size:12px;font-weight:700;}
.dsec-badge{font-size:9px;color:var(--muted);background:var(--cream2);padding:2px 6px;border-radius:4px;}
.bar-m{margin-bottom:7px;}
.bar-m:last-child{margin-bottom:0;}
.bar-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px;}
.bar-track{height:4px;background:var(--cream2);border-radius:2px;overflow:hidden;}
.bar-fill{height:100%;border-radius:2px;background:var(--gold);transition:width .8s ease;}
.bar-teal{background:var(--teal);}
.bar-blue{background:var(--blue);}
.d-sch{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);}
.d-sch:last-child{border-bottom:none;}
.d-sname{font-size:12px;font-weight:600;flex:1;}
.d-smeta{font-size:10px;color:var(--muted);}
.d-srat{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;flex-shrink:0;}
.am-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
.am-item{background:var(--cream);border-radius:7px;padding:9px 5px;text-align:center;font-size:10px;color:var(--muted);}
.am-icon{font-size:16px;margin-bottom:2px;}
.am-n{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:1px;}
.map-hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:400;background:rgba(26,23,20,.7);color:rgba(255,255,255,.9);font-size:11px;padding:6px 16px;border-radius:20px;pointer-events:none;white-space:nowrap;transition:opacity .3s;}
.full-panel{position:absolute;inset:0;overflow-y:auto;display:none;padding:26px 28px 60px;animation:fadeIn .25s ease;background:var(--cream);z-index:10;}
.full-panel.active{display:block;}
.fp-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;margin-bottom:4px;}
.fp-title em{font-style:italic;color:var(--gold);}
.fp-sub{font-size:12.5px;color:var(--muted);margin-bottom:20px;}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.kpi-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:15px;position:relative;overflow:hidden;}
.kpi-icon{position:absolute;top:12px;right:12px;font-size:18px;opacity:.2;}
.kpi-lbl{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
.kpi-val{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;line-height:1;margin-bottom:4px;}
.kpi-val.gold{color:var(--gold);}
.kpi-val.green{color:var(--green);}
.kpi-delta{display:inline-flex;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;}
.kd-up{background:rgba(30,122,82,.1);color:var(--green);}
.kd-flat{background:rgba(46,110,166,.1);color:var(--blue);}
.fp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.fp-card{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.fp-chead{padding:13px 15px 11px;display:flex;align-items:center;justify-content:space-between;}
.fp-ctitle{font-size:12.5px;font-weight:700;}
.fp-cbadge{font-size:9.5px;padding:2px 8px;border-radius:5px;font-weight:700;}
.badge-live{background:rgba(30,122,82,.1);color:var(--green);}
.badge-soon{background:rgba(184,147,74,.1);color:var(--gold);}
.badge-data{background:rgba(42,122,111,.1);color:var(--teal);}
.fp-cbody{padding:0 15px 14px;}
.rent-table{width:100%;border-collapse:collapse;font-size:12px;}
.rent-table th{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;padding:5px 0;border-bottom:1px solid var(--border);text-align:left;}
.rent-table td{padding:8px 0;border-bottom:1px solid rgba(226,221,214,.5);vertical-align:middle;}
.rent-table tr:last-child td{border-bottom:none;}
.ra{font-weight:600;}
.rbadge{padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;}
.rb-over{background:rgba(192,57,43,.1);color:var(--red);}
.rb-fair{background:rgba(30,122,82,.1);color:var(--green);}
.rb-val{background:rgba(184,147,74,.1);color:var(--gold);}
.decree-box{background:var(--cream);border-radius:7px;padding:9px 11px;margin-top:9px;}
.decree-box h5{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.dr{display:flex;justify-content:space-between;padding:2px 0;font-size:11px;}
.dpct{font-weight:700;color:var(--gold);}
.yield-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(226,221,214,.5);font-size:12px;}
.yield-row:last-child{border-bottom:none;}
.y-area{width:110px;flex-shrink:0;font-weight:600;font-size:11.5px;}
.y-bar{flex:1;height:5px;background:var(--cream2);border-radius:3px;overflow:hidden;}
.y-fill{height:100%;border-radius:3px;background:var(--teal);}
.y-pct{width:36px;text-align:right;font-weight:700;color:var(--teal);font-size:12px;}
.dev-card{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid rgba(226,221,214,.5);}
.dev-card:last-child{border-bottom:none;}
.dev-logo{width:32px;height:32px;border-radius:7px;background:var(--cream2);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.dev-name{font-size:12px;font-weight:700;}
.dev-stats{font-size:10px;color:var(--muted);}
.dev-score{margin-left:auto;text-align:center;flex-shrink:0;}
.dev-n{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;}
.dev-l{font-size:9px;color:var(--muted);}
.cost-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(226,221,214,.5);font-size:12.5px;}
.cost-row:last-child{border-bottom:none;}
.c-lbl{color:var(--muted);}
.c-val{font-family:'Cormorant Garamond',serif;font-size:17px;}
.cost-total{display:flex;justify-content:space-between;padding-top:10px;border-top:2px solid var(--border);font-weight:700;}
.cost-total .c-val{font-size:24px;color:var(--gold);}
.visa-card{border:1px solid var(--border);border-radius:9px;padding:11px 12px;margin-bottom:8px;transition:border-color .2s;}
.visa-card:hover{border-color:var(--gold);}
.visa-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;}
.visa-name{font-size:12.5px;font-weight:700;}
.visa-dur{font-size:11px;font-weight:700;color:var(--gold);}
.visa-req{font-size:11px;color:var(--muted);}
.visa-tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap;}
.vtag{font-size:9px;padding:2px 6px;border-radius:4px;background:var(--cream);border:1px solid var(--border);color:var(--muted);}
.gm-bundled-control{box-shadow:var(--shadow)!important;border-radius:8px!important;}
.gm-control-active{color:var(--ink)!important;}

.gm-style .gm-style-iw-d{padding:12px 16px!important;overflow:hidden!important;}
.gm-style .gm-style-iw-tc{display:none!important;}
.area-tip{background:var(--ink);border:none!important;border-radius:10px;padding:10px 14px;color:var(--white);font-family:'DM Sans',sans-serif;min-width:155px;pointer-events:none;box-shadow:var(--shadow-lg);}
.at-name{font-family:'Cormorant Garamond',serif;font-size:16px;margin-bottom:6px;}
.at-row{display:flex;align-items:center;gap:5px;margin-bottom:3px;}
.at-lbl{font-size:9.5px;color:rgba(255,255,255,.4);width:50px;}
.at-bar{flex:1;height:3px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden;}
.at-fill{height:100%;background:var(--gold);border-radius:2px;}
.at-v{font-size:9.5px;color:var(--gold2);font-weight:600;}
.at-rent{margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.1);font-size:10.5px;color:rgba(255,255,255,.4);}
.at-rent strong{color:var(--gold2);font-family:'Cormorant Garamond',serif;font-size:14px;}
.sp-popup h4{font-size:13px;font-weight:600;margin-bottom:4px;}
.sp-popup p{font-size:11.5px;color:var(--muted);margin-bottom:3px;}
.sp-popup .spf{color:var(--gold);font-weight:600;}
.ticker{height:30px;background:var(--ink);display:flex;align-items:center;overflow:hidden;flex-shrink:0;}
.tick-lbl{flex-shrink:0;padding:0 12px;font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;border-right:1px solid rgba(255,255,255,.1);white-space:nowrap;}
.tick-track{flex:1;overflow:hidden;}
.tick-inner{display:flex;white-space:nowrap;animation:tickScroll 70s linear infinite;}
.tick-item{display:inline-flex;align-items:center;gap:7px;padding:0 28px;font-size:11px;color:rgba(255,255,255,.7);}
.tick-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.tick-src{font-size:9px;color:rgba(255,255,255,.3);margin-left:4px;}
/* Property sub-tabs */
.prop-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid var(--border);}
.prop-tab{padding:9px 18px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap;}
.prop-tab:hover{color:var(--ink);}
.prop-tab.active{color:var(--ink);border-bottom-color:var(--gold);}
.prop-section{display:none;}
.prop-section.active{display:block;}
.rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
/* Rent checker */
.rc-search-wrap{position:relative;margin-bottom:8px;}
.rc-search{width:100%;height:36px;border:1.5px solid var(--border);border-radius:8px;padding:0 12px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--white);outline:none;transition:border-color .2s;}
.rc-search:focus{border-color:var(--gold);}
.rc-dropdown{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-lg);z-index:500;overflow:hidden;display:none;}
.rc-drop-item{padding:9px 12px;cursor:pointer;font-size:12px;border-bottom:1px solid var(--border);transition:background .12s;display:flex;justify-content:space-between;align-items:center;}
.rc-drop-item:last-child{border-bottom:none;}
.rc-drop-item:hover{background:var(--cream);}
.rc-drop-name{font-weight:600;}
.rc-drop-meta{font-size:10.5px;color:var(--muted);}
.rc-drop-tier{font-size:9.5px;padding:1px 6px;border-radius:4px;background:var(--cream2);color:var(--muted);}
.rc-selected{display:flex;align-items:center;justify-content:space-between;background:rgba(184,147,74,.08);border:1px solid rgba(184,147,74,.3);border-radius:8px;padding:8px 12px;margin-bottom:8px;}
.rc-sel-name{font-size:13px;font-weight:700;}
.rc-sel-meta{font-size:10.5px;color:var(--muted);}
.rc-clear{background:none;border:none;cursor:pointer;color:var(--muted);font-size:16px;padding:0;}
.rc-beds{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px;margin-bottom:0;}
.rc-bed{padding:5px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:11.5px;font-weight:600;cursor:pointer;color:var(--muted);transition:all .15s;background:var(--white);}
.rc-bed.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.rc-bed:hover:not(.active){border-color:var(--gold);color:var(--ink);}
.rc-rent-input{width:100%;height:34px;border:1.5px solid var(--border);border-radius:7px;padding:0 10px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--white);outline:none;}
.rc-rent-input:focus{border-color:var(--gold);}
.rc-btn{width:100%;margin-top:12px;height:38px;background:var(--ink);color:var(--white);border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s;}
.rc-btn:hover:not(:disabled){background:#2E2B28;}
.rc-btn:disabled{background:var(--border);color:var(--muted);cursor:not-allowed;}
.rc-verdict{padding:12px 14px;border-radius:9px;margin-bottom:12px;font-size:12.5px;line-height:1.5;}
.rc-verdict.safe{background:rgba(30,122,82,.1);border:1px solid rgba(30,122,82,.25);}
.rc-verdict.warning{background:rgba(200,125,42,.1);border:1px solid rgba(200,125,42,.25);}
.rc-verdict.danger{background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.25);}
.rc-v-title{font-weight:700;margin-bottom:4px;font-size:13px;}
.rc-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;}
.rc-metric{background:var(--cream);border-radius:8px;padding:10px;}
.rc-m-lbl{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.rc-m-val{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;}
.rc-m-val.safe{color:var(--green);}
.rc-m-val.danger{color:var(--red);}
.rc-m-val.gold{color:var(--gold);}
.rc-m-sub{font-size:9.5px;color:var(--muted);margin-top:2px;}
.rc-bar-row{margin-bottom:7px;}
.rc-bar-head{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px;}
.rc-bar-track{height:6px;background:var(--cream2);border-radius:3px;overflow:hidden;}
.rc-bar-fill{height:100%;border-radius:3px;transition:width .8s ease;background:var(--gold);}
.rc-bar-fill.teal{background:var(--teal);}
.rc-bar-fill.green{background:var(--green);}
.rc-how-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.5;}
.rc-how-row:last-child{border-bottom:none;}
.rc-how-n{width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--white);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
/* Off-plan */
.dev-score-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(226,221,214,.5);}
.dev-score-row:last-child{border-bottom:none;}
.dev-s-name{font-size:12px;font-weight:700;flex:1;}
.dev-s-sub{font-size:10px;color:var(--muted);}
.dev-s-bar{width:70px;height:5px;background:var(--cream2);border-radius:3px;overflow:hidden;flex-shrink:0;}
.dev-s-fill{height:100%;border-radius:3px;}
.dev-s-num{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;width:28px;text-align:right;flex-shrink:0;}
.proj-row{padding:8px 0;border-bottom:1px solid rgba(226,221,214,.5);font-size:12px;}
.proj-row:last-child{border-bottom:none;}
.proj-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
.proj-name{font-weight:600;flex:1;font-size:11.5px;}
.proj-risk{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.proj-meta{display:flex;gap:10px;color:var(--muted);font-size:10.5px;flex-wrap:wrap;}
.proj-bar-wrap{margin-top:5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.proj-bar-lbl{font-size:9.5px;color:var(--muted);margin-bottom:2px;}
.proj-bar-track{height:4px;background:var(--cream2);border-radius:2px;overflow:hidden;}
.proj-bar-fill{height:100%;border-radius:2px;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:var(--border);}

/* ── EDUCATION TABS ── */
.edu-type-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;}
.edu-tab{flex:1;padding:8px 4px;font-size:9.5px;font-weight:600;text-align:center;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;transition:all .15s;}
.edu-tab.active{color:var(--ink);border-bottom-color:var(--gold);}
.edu-count-pill{display:inline-block;background:var(--cream2);border-radius:8px;padding:1px 4px;font-size:8px;margin-left:2px;}
.edu-stats-row{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);background:var(--cream);}
.edu-stat-box{padding:6px 3px;text-align:center;border-right:1px solid var(--border);}
.edu-stat-box:last-child{border-right:none;}
.edu-stat-num{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;color:var(--gold);line-height:1;}
.edu-stat-lbl{font-size:8.5px;color:var(--muted);margin-top:1px;}

/* ── SCHOOL DETAIL SIDE PANEL ── */
.sch-detail-panel{width:300px;flex-shrink:0;background:var(--white);border-left:1px solid var(--border);
  display:flex;flex-direction:column;overflow:hidden;
  position:absolute;right:0;top:0;bottom:0;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:250;}
.sch-detail-panel.open{transform:translateX(0);position:relative;}
.sdp-head{padding:12px 14px;border-bottom:1px solid var(--border);position:relative;flex-shrink:0;}
.sdp-close{position:absolute;top:9px;right:9px;width:26px;height:26px;background:var(--cream2);border:none;border-radius:50%;cursor:pointer;font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:center;}
.sdp-close:hover{background:var(--cream);color:var(--ink);}
.sdp-dtype{font-size:9px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;}
.sdp-dname{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:400;line-height:1.2;padding-right:30px;}
.sdp-body{flex:1;overflow-y:auto;padding:11px 13px;}
.sdp-body::-webkit-scrollbar{width:3px;}
.sdp-body::-webkit-scrollbar-thumb{background:var(--border);}
.sdp-section{margin-bottom:10px;}
.sdp-sec-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px;padding-bottom:3px;border-bottom:1px solid var(--border);}
.sdp-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px;gap:8px;font-size:11px;}
.sdp-key{color:var(--muted);flex-shrink:0;}
.sdp-val{font-weight:500;text-align:right;word-break:break-word;}
.sdp-val a{color:var(--teal);text-decoration:none;font-size:10px;}
.sdp-fee-tbl{width:100%;border-collapse:collapse;font-size:10.5px;}
.sdp-fee-tbl th{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;padding:3px 0;border-bottom:1px solid var(--border);text-align:left;}
.sdp-fee-tbl td{padding:3px 0;border-bottom:1px solid rgba(226,221,214,.4);}
.sdp-fee-tbl tr:last-child td{border-bottom:none;}
.sdp-rh-item{display:inline-block;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;margin:2px 1px;}

/* ── v7 PROPERTY LAYOUT ── */
.two-col{display:grid;grid-template-columns:1fr 330px;gap:20px;align-items:start;}
.pcard{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(26,23,20,.04);}
.pcard-head{padding:18px 22px 14px;border-bottom:1px solid var(--border);}
.pcard-head.dark{background:var(--ink);}
.pcard-head h2{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--ink);}
.pcard-head.dark h2{color:var(--white);}
.pcard-head p{font-size:10.5px;color:var(--muted);margin-top:2px;}
.pcard-head.dark p{color:rgba(255,255,255,.4);}
.pcard-body{padding:20px 22px;}
.pfield{margin-bottom:18px;}
.pfield-lbl{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.pstep{width:19px;height:19px;background:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:700;color:var(--gold);flex-shrink:0;}
.pfield-title{font-size:10px;font-weight:700;color:var(--ink);letter-spacing:.07em;text-transform:uppercase;}
.pbed-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;}
.pbed-btn{padding:8px 3px;border:1.5px solid var(--border);border-radius:7px;text-align:center;cursor:pointer;transition:all .15s;background:var(--cream);}
.pbed-btn .bed-icon{font-size:13px;display:block;margin-bottom:2px;}
.pbed-btn .bed-lbl{font-size:9px;font-weight:600;letter-spacing:.04em;}
.pbed-btn:hover{border-color:var(--gold);}
.pbed-btn.sel{border-color:var(--ink);background:var(--ink);color:var(--white);}
.pinp-wrap{position:relative;}
.pinp{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);transition:all .2s;outline:none;}
.pinp.large{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;padding-left:52px;}
.pinp:focus{border-color:var(--gold);background:var(--white);}
.pinp-prefix{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;color:var(--muted);}
.pinp-hint{font-size:10px;color:var(--muted);margin-top:4px;}
.pbtn-gold{width:100%;padding:13px;border:none;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .22s;background:var(--gold);color:var(--white);}
.pbtn-gold:hover:not(:disabled){background:var(--ink);}
.pbtn-gold:disabled{background:var(--border);color:var(--muted);cursor:not-allowed;}
/* dropdown */
.pdd-wrap{position:relative;}
.pdropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1.5px solid var(--border);border-radius:9px;box-shadow:0 8px 28px rgba(26,23,20,.1);z-index:300;max-height:220px;overflow-y:auto;display:none;}
.pdd-item{padding:10px 13px;cursor:pointer;border-bottom:1px solid var(--cream);display:flex;align-items:center;justify-content:space-between;transition:background .12s;}
.pdd-item:last-child{border-bottom:none;}
.pdd-item:hover{background:var(--cream);}
.pdd-name{font-size:12.5px;font-weight:500;}
.pdd-meta{font-size:10px;color:var(--muted);}
.pdd-tag{font-size:9px;padding:2px 6px;background:var(--cream2);border-radius:4px;color:var(--muted);font-weight:600;}
.psel-tag{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--cream);border-radius:9px;border:1px solid var(--border);margin-top:8px;}
.psel-name{font-size:13px;font-weight:600;}
.psel-meta{font-size:10px;color:var(--muted);}
.psel-clear{background:none;border:none;cursor:pointer;font-size:14px;color:var(--muted);}
/* result */
.presult{display:none;margin-top:22px;border-top:1px solid var(--border);padding-top:22px;animation:fadeUp .4s ease;}
.presult.show{display:block;}
.pverdict{border-radius:11px;padding:14px 16px;margin-bottom:16px;display:flex;align-items:flex-start;gap:12px;}
.pverdict.safe{background:var(--green-bg);border:1.5px solid rgba(30,122,82,.2);}
.pverdict.warn{background:var(--amber-bg);border:1.5px solid rgba(200,125,42,.2);}
.pverdict.danger{background:var(--red-bg);border:1.5px solid rgba(192,57,43,.2);}
.pv-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.safe .pv-icon{background:rgba(30,122,82,.12);}
.warn .pv-icon{background:rgba(200,125,42,.12);}
.danger .pv-icon{background:rgba(192,57,43,.12);}
.pv-title{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;margin-bottom:2px;}
.safe .pv-title{color:var(--green);}
.warn .pv-title{color:var(--amber);}
.danger .pv-title{color:var(--red);}
.pv-desc{font-size:11px;line-height:1.6;color:var(--ink2);}
.pmetrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px;}
.pmetric{background:var(--cream);border:1px solid var(--border);border-radius:9px;padding:11px 13px;}
.pm-lbl{font-size:9px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;}
.pm-val{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--ink);line-height:1;}
.pm-val.gold{color:var(--gold);}
.pm-val.green{color:var(--green);}
.pm-val.red{color:var(--red);}
.pm-sub{font-size:10px;color:var(--muted);margin-top:2px;}
.pbars{background:var(--cream);border:1px solid var(--border);border-radius:9px;padding:13px 15px;margin-bottom:13px;}
.pbars-ttl{font-size:9px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:11px;}
.pbar-row{margin-bottom:9px;}
.pbar-row:last-child{margin-bottom:0;}
.pbar-header{display:flex;justify-content:space-between;margin-bottom:3px;}
.pbar-lbl{font-size:10px;color:var(--muted);}
.pbar-amt{font-size:12px;font-weight:600;font-family:'Cormorant Garamond',serif;}
.pbar-track{height:5px;background:var(--border);border-radius:3px;overflow:hidden;}
.pbar-fill{height:100%;border-radius:3px;transition:width 1s cubic-bezier(.22,1,.36,1);}
.pdecree-box{background:var(--ink);border-radius:9px;padding:13px 15px;margin-bottom:13px;}
.pdecree-lbl{font-size:9px;font-weight:600;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;}
.pdecree-row{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;}
.pd-tier{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:6px 3px;text-align:center;transition:all .3s;}
.pd-tier.active{background:var(--gold);border-color:var(--gold);}
.pd-tier-gap{font-size:7.5px;color:rgba(255,255,255,.45);line-height:1.3;margin-bottom:2px;}
.pd-tier.active .pd-tier-gap{color:rgba(0,0,0,.5);}
.pd-tier-pct{font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:600;color:var(--white);}
.pd-tier.active .pd-tier-pct{color:var(--ink);}
.pnotice-box{border-radius:8px;padding:9px 13px;font-size:11px;margin-bottom:13px;line-height:1.5;}
.presult-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px;}
.paction-btn{padding:9px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;border:1.5px solid;}
.pa-teal{background:var(--teal);border-color:var(--teal);color:var(--white);}
.pa-ghost{background:transparent;border-color:var(--border);color:var(--ink);}
.pa-ghost:hover{background:var(--cream2);}
.pfootnote{font-size:10px;color:var(--muted);padding:9px 13px;background:var(--cream);border-radius:7px;line-height:1.6;text-align:center;}
/* sidebar stack */
.psbar-stack{display:flex;flex-direction:column;gap:12px;}
.pic{background:var(--white);border:1px solid var(--border);border-radius:11px;overflow:hidden;}
.pic-head{padding:11px 14px 9px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px;}
.pic-icon{width:24px;height:24px;background:var(--cream);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;}
.pic-title{font-size:11px;font-weight:600;color:var(--ink);}
.pic-body{padding:12px 14px;}
.pd43-tbl{width:100%;border-collapse:collapse;}
.pd43-tbl tr{border-bottom:1px solid var(--cream2);}
.pd43-tbl tr:last-child{border-bottom:none;}
.pd43-tbl td{padding:6px 0;font-size:11px;}
.pd43-gap{color:var(--muted);font-size:10px;}
.pd43-pct{font-weight:700;text-align:right;font-family:'Cormorant Garamond',serif;font-size:14px;}
.pmkt-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--cream2);font-size:11px;}
.pmkt-row:last-child{border-bottom:none;}
.pmkt-rent{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--gold);}
.pmkt-chg{font-size:9px;padding:2px 5px;border-radius:4px;font-weight:600;background:var(--red-bg);color:var(--red);}
/* offplan */
.prisk-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;}
.pfilter-btn{padding:5px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;background:var(--white);font-family:'DM Sans',sans-serif;color:var(--muted);}
.pfilter-btn:hover{border-color:var(--gold);color:var(--ink);}
.pfilter-btn.active{background:var(--ink);border-color:var(--ink);color:var(--white);}
.pproject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:28px;}
.pproj-card{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s;}
.pproj-card:hover{transform:translateY(-2px);box-shadow:0 5px 20px rgba(26,23,20,.07);}
.ppc-head{padding:14px 16px 10px;display:flex;justify-content:space-between;align-items:flex-start;}
.ppc-dev{font-size:9px;font-weight:600;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px;}
.ppc-name{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:500;line-height:1.2;}
.prisk-badge{padding:3px 8px;border-radius:20px;font-size:9.5px;font-weight:700;flex-shrink:0;margin-left:6px;}
.prb-green{background:var(--green-bg);color:var(--green);}
.prb-amber{background:var(--amber-bg);color:var(--amber);}
.prb-red{background:var(--red-bg);color:var(--red);}
.ppc-body{padding:0 16px 14px;}
.ppc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;}
.ppc-stat{background:var(--cream);border-radius:6px;padding:8px;}
.pps-lbl{font-size:8px;font-weight:600;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px;}
.pps-val{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:500;}
.pps-val.green{color:var(--green);}.pps-val.amber{color:var(--amber);}.pps-val.red{color:var(--red);}
.pprog-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:3px;}
.pprog-fill{height:100%;border-radius:2px;}
.ppf-green{background:var(--green);}.ppf-amber{background:var(--amber);}.ppf-red{background:var(--red);}
.ppc-meta{display:flex;gap:9px;font-size:10px;color:var(--muted);}
.pdev-section h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;margin-bottom:12px;}
.pdev-section h3 em{font-style:italic;color:var(--gold);}
.pdt-wrap{background:var(--white);border:1px solid var(--border);border-radius:11px;overflow:hidden;}
.pdt-head{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;background:var(--ink);padding:9px 16px;}
.pdt-head span{font-size:9.5px;font-weight:600;color:rgba(255,255,255,.45);letter-spacing:.06em;text-transform:uppercase;}
.pdt-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:10px 16px;border-bottom:1px solid var(--cream2);align-items:center;transition:background .12s;}
.pdt-row:last-child{border-bottom:none;}
.pdt-row:hover{background:var(--cream);}
.pdt-dn{font-weight:600;font-size:12px;}
.pdt-ds{font-size:10px;color:var(--muted);}
.pdt-cell{font-size:11px;color:var(--ink2);}
.pdt-score{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;}

/* ╔═══════════════════════════════════╗
   ║  EDUCATION THEME (from education.html) ║
   ╚═══════════════════════════════════╝ */

/* Extra color vars matching education.html */
:root {
  --edu-cream: #FAF8F4;
  --edu-sand: #F2ECE0;
  --edu-faint: #E8E2D8;
  --edu-soft: #6B6570;
  --edu-gold: #B8934A;
  --edu-gold-light: #F7EDD8;
  --edu-teal: #2A7A6F;
  --edu-teal-light: #E8F4F2;
  --edu-blue: #1F5FA6;
  --edu-blue-light: #EBF1FA;
  --edu-green: #1E7A6A;
}

/* ── LEFT PANEL (Schools tab) ── */
.psection#ps-schools { background: var(--edu-cream); }

/* Type tabs */
.edu-type-tabs { background: var(--white) !important; border-bottom: 1px solid var(--edu-faint) !important; }
.edu-tab { font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 500; color: var(--edu-soft) !important; border-bottom: 2px solid transparent !important; }
.edu-tab:hover { color: var(--ink) !important; }
.edu-tab.active { color: var(--ink) !important; border-bottom-color: var(--edu-gold) !important; font-weight: 600; }
.edu-count-pill { background: var(--edu-faint) !important; color: var(--edu-soft); font-size: 9px; padding: 1px 5px; border-radius: 10px; }

/* Stats row */
.edu-stats-row { background: var(--edu-cream) !important; border-bottom: 1px solid var(--edu-faint) !important; }
.edu-stat-box { border-right: 1px solid var(--edu-faint) !important; padding: 8px 6px; }
.edu-stat-num { font-family: 'Playfair Display', serif !important; font-size: 18px !important; font-weight: 700 !important; color: var(--edu-gold) !important; }
.edu-stat-lbl { font-size: 10px; color: var(--edu-soft); }

/* Filter chips as education.html style */
.psection#ps-schools .sf-row { padding: 8px 12px; border-bottom: 1px solid var(--edu-faint); background: var(--white); }
.psection#ps-schools .sf { font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 500; border: 1.5px solid var(--edu-faint); color: var(--edu-soft); background: transparent; border-radius: 20px; padding: 3px 10px; cursor: pointer; transition: all .15s; }
.psection#ps-schools .sf:hover { border-color: var(--edu-gold); color: var(--edu-gold); }
.psection#ps-schools .sf.active { background: var(--edu-gold); border-color: var(--edu-gold); color: white; }

/* Search box */
.psection#ps-schools .sf-search { font-family: 'Outfit', sans-serif; font-size: 12px; border: 1.5px solid var(--edu-faint); border-radius: 8px; background: var(--edu-cream); color: var(--ink); padding: 7px 10px; }
.psection#ps-schools .sf-search:focus { border-color: var(--edu-gold); outline: none; }

/* Count label */
.psection#ps-schools .s-count { font-family: 'Outfit', sans-serif; font-size: 11px; color: var(--edu-soft); padding: 6px 14px; background: var(--edu-cream); border-bottom: 1px solid var(--edu-faint); }

/* ── ITEM CARDS (matches education.html exactly) ── */
.edu-item-card { padding: 12px 14px; border-bottom: 1px solid var(--edu-faint); cursor: pointer; transition: background .12s; }
.edu-item-card:hover { background: var(--edu-cream); }
.edu-item-card.selected { background: var(--edu-gold-light); border-left: 3px solid var(--edu-gold); }
.edu-item-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; margin-bottom: 4px; }
.edu-item-name { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.3; flex: 1; }
.edu-item-meta { font-size: 11px; color: var(--edu-soft); display: flex; gap: 8px; flex-wrap: wrap; font-family: 'Outfit', sans-serif; }
.edu-fee-range { font-size: 11px; font-weight: 600; color: var(--edu-teal); margin-top: 3px; font-family: 'Outfit', sans-serif; }

/* ── RATING BADGES (exact from education.html) ── */
.rbadge { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 4px; flex-shrink: 0; white-space: nowrap; }
.rbadge-outstanding { background: #E8F5E9; color: #1B5E20; }
.rbadge-verygood    { background: #E3F2FD; color: #0D47A1; }
.rbadge-good        { background: #F3E5F5; color: #4A148C; }
.rbadge-acceptable  { background: #FFF8E1; color: #F57F17; }
.rbadge-weak        { background: #FFEBEE; color: #B71C1C; }
.rbadge-none        { background: var(--edu-faint); color: var(--edu-soft); }
.rbadge-nursery     { background: #E3F2FD; color: #1565C0; }
.rbadge-uni         { background: #E8F5E9; color: #1B5E20; }

/* ── RIGHT DETAIL PANEL (exact education.html style) ── */
.sch-detail-panel {
  background: var(--white) !important;
  border-left: 1px solid var(--edu-faint) !important;
}
.sdp-head {
  padding: 16px !important;
  border-bottom: 1px solid var(--edu-faint) !important;
}
.sdp-close {
  background: var(--edu-faint) !important;
  color: var(--edu-soft) !important;
  width: 28px !important; height: 28px !important;
}
.sdp-close:hover { background: var(--edu-sand) !important; }
.sdp-dtype {
  font-family: 'Outfit', sans-serif;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--edu-gold) !important;
  text-transform: uppercase;
  letter-spacing: .8px;
  margin-bottom: 4px !important;
}
.sdp-dname {
  font-family: 'Playfair Display', serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  color: var(--ink);
}
.sdp-body { padding: 14px 16px !important; background: var(--white); }
.sdp-section { margin-bottom: 14px !important; }
.sdp-sec-title {
  font-family: 'Outfit', sans-serif;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--edu-soft) !important;
  margin-bottom: 8px !important;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--edu-faint) !important;
}
.sdp-row { margin-bottom: 6px !important; }
.sdp-key { font-family: 'Outfit', sans-serif; font-size: 11px !important; color: var(--edu-soft) !important; }
.sdp-val { font-family: 'Outfit', sans-serif; font-size: 12px !important; font-weight: 500 !important; }
.sdp-val a { color: var(--edu-teal) !important; }
.sdp-fee-tbl th { background: var(--edu-cream); padding: 4px 8px; color: var(--edu-soft); border-bottom: 1px solid var(--edu-faint); font-family: 'Outfit', sans-serif; font-size: 11px; }
.sdp-fee-tbl td { padding: 4px 8px; border-bottom: 1px solid var(--edu-faint); font-family: 'Outfit', sans-serif; font-size: 11px; }
.sdp-rh-item { padding: 2px 8px !important; border-radius: 4px !important; font-size: 10px !important; font-weight: 600 !important; }

/* Enrolment bar */
.edu-enroll-bar { background: var(--edu-faint); border-radius: 4px; height: 6px; margin-top: 4px; overflow: hidden; }
.edu-enroll-fill { height: 100%; background: var(--edu-teal); border-radius: 4px; transition: width .3s; }

/* ══════════════════════════════════════
   HOMEPAGE / LANDING
══════════════════════════════════════ */
.home-screen{position:fixed;inset:0;z-index:999;background:var(--cream);overflow-y:auto;display:flex;flex-direction:column;}
.home-screen.hidden{display:none!important;}

/* Hero section */
.hero{background:var(--white);border-bottom:1px solid var(--border);padding:32px 40px 24px;text-align:center;flex-shrink:0;}
.hero-eyebrow{font-size:10px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:400;color:var(--ink);line-height:1.25;margin-bottom:8px;}
.hero-h1 em{font-style:italic;color:var(--gold);}
.hero-tagline{font-size:13px;color:var(--muted);max-width:460px;margin:0 auto 20px;line-height:1.7;}
.hero-tagline strong{color:var(--ink);font-weight:600;}

/* Hero search bar */
.hero-search{display:flex;align-items:center;max-width:540px;margin:0 auto 16px;background:var(--white);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(26,23,20,.06);transition:border-color .2s,box-shadow .2s;}
.hero-search:focus-within{border-color:var(--gold);box-shadow:0 4px 24px rgba(184,147,74,.12);}
.hero-search-icon{padding:0 12px 0 16px;color:var(--gold);font-size:14px;flex-shrink:0;}
.hero-search-input{flex:1;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;padding:13px 0;background:transparent;color:var(--ink);}
.hero-search-input::placeholder{color:var(--muted);}
.hero-search-btn{background:var(--ink);color:var(--white);border:none;padding:9px 18px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;cursor:pointer;margin:5px;border-radius:8px;transition:background .2s;}
.hero-search-btn:hover{background:var(--gold);}

/* Persona chips */
.persona-row{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;}
.persona-chip{padding:5px 13px;border-radius:20px;font-size:11px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);color:var(--muted);background:transparent;transition:all .15s;}
.persona-chip:hover{border-color:var(--gold);color:var(--gold);}
.persona-chip.active{background:var(--ink);border-color:var(--ink);color:var(--white);}

/* Module cards grid */
.module-grid{display:grid;grid-template-columns:1fr 1fr;flex-shrink:0;}
.module-card{padding:22px 24px 18px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;background:var(--white);position:relative;}
.module-card:hover{background:var(--cream);}
.module-card:nth-child(even){border-right:none;}
.module-card:nth-last-child(-n+2){border-bottom:none;}
.mc-badge{position:absolute;top:14px;right:14px;font-size:9px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.03em;}
.mc-badge-live{background:rgba(30,122,82,.1);color:var(--green);}
.mc-badge-hot{background:rgba(184,147,74,.12);color:var(--gold);}
.mc-badge-new{background:rgba(46,110,166,.1);color:var(--blue);}
.mc-icon{font-size:22px;margin-bottom:8px;}
.mc-title{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;color:var(--ink);margin-bottom:4px;}
.mc-desc{font-size:11.5px;color:var(--muted);line-height:1.6;margin-bottom:10px;}
.mc-stats{display:flex;gap:12px;flex-wrap:wrap;}
.mc-stat{font-size:10.5px;color:var(--muted);}
.mc-stat strong{color:var(--ink);font-weight:600;}
.module-card::after{content:"→";position:absolute;bottom:16px;right:18px;font-size:14px;color:var(--border);transition:all .18s;}
.module-card:hover::after{color:var(--gold);transform:translateX(3px);}

/* Pulse strip */
.pulse-strip{background:var(--cream);border-top:1px solid var(--border);padding:14px 20px;flex-shrink:0;}
.pulse-title{font-size:9.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;}
.pulse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.pulse-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 12px;}
.pulse-lbl{font-size:9.5px;color:var(--muted);margin-bottom:3px;}
.pulse-val{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;color:var(--ink);line-height:1;}
.pulse-sub{font-size:10px;color:var(--green);margin-top:2px;}

/* ══════════════════════════════════════
   MAP OVERLAY TOOLBAR
══════════════════════════════════════ */
.map-overlay-bar{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:500;display:flex;gap:6px;background:var(--white);border:1px solid var(--border);border-radius:30px;padding:5px 8px;box-shadow:0 3px 16px rgba(26,23,20,.12);}
.mob-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;cursor:pointer;transition:all .18s;color:var(--muted);border:1.5px solid transparent;background:transparent;white-space:nowrap;}
.mob-btn:hover{color:var(--ink);background:var(--cream);}
.mob-btn.active{color:var(--white);border-color:transparent;}
.mob-btn.active.mob-schools{background:#7B1FA2;}
.mob-btn.active.mob-air{background:#0277BD;}
.mob-btn.active.mob-metro{background:#C62828;}
.mob-btn.active.mob-areas{background:var(--gold);}
.mob-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.mob-dot-schools{background:#7B1FA2;}
.mob-dot-air{background:#0277BD;}
.mob-dot-metro{background:#C62828;}
.mob-dot-areas{background:var(--gold);}

/* Air quality overlay legend */
.aq-legend{position:absolute;bottom:48px;left:12px;z-index:500;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 13px;box-shadow:0 2px 12px rgba(26,23,20,.1);display:none;}
.aq-legend.show{display:block;}
.aq-legend-title{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.aq-row{display:flex;align-items:center;gap:7px;margin-bottom:4px;font-size:10.5px;color:var(--ink);}
.aq-row:last-child{margin-bottom:0;}
.aq-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}

.mob-btn.active.mob-ev{background:#2E7D32;}
.mob-dot-ev{background:#2E7D32;}
/* POI overlay buttons */
.mob-btn.active.mob-restaurant{background:#E65100;}
.mob-btn.active.mob-gym{background:#6A1B9A;}
.mob-btn.active.mob-pharmacy{background:#0277BD;}
.mob-btn.active.mob-hospital{background:#B71C1C;}
.mob-btn.active.mob-park{background:#1B5E20;}
.mob-btn.active.mob-bus{background:#1565C0;}
.mob-dot-restaurant{background:#E65100;}
.mob-dot-gym{background:#6A1B9A;}
.mob-dot-pharmacy{background:#0277BD;}
.mob-dot-hospital{background:#B71C1C;}
.mob-dot-park{background:#1B5E20;}
.mob-dot-bus{background:#1565C0;}
/* POI legend */
.poi-legend{position:absolute;bottom:48px;left:12px;z-index:500;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 13px;box-shadow:0 2px 12px rgba(26,23,20,.1);display:none;max-width:200px;}
.poi-legend.show{display:block;}
.poi-legend-title{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.poi-row{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-size:10.5px;color:var(--ink);}
.poi-row:last-child{margin-bottom:0;}
.poi-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
/* EV Legend */
.ev-legend{position:absolute;bottom:170px;right:12px;z-index:500;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 13px;box-shadow:0 2px 12px rgba(26,23,20,.1);display:none;max-width:220px;}
.ev-legend.show{display:block;}
.ev-legend-title{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.ev-row{display:flex;align-items:center;gap:7px;margin-bottom:4px;font-size:10.5px;color:var(--ink);}
.ev-row:last-child{margin-bottom:0;}
.ev-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.metro-legend{position:absolute;bottom:48px;right:12px;z-index:500;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 13px;box-shadow:0 2px 12px rgba(26,23,20,.1);display:none;max-width:180px;}
.metro-legend.show{display:block;}
.metro-legend-title{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.metro-line-row{display:flex;align-items:center;gap:7px;margin-bottom:4px;font-size:10.5px;color:var(--ink);}
.metro-line-bar{width:20px;height:4px;border-radius:2px;flex-shrink:0;}

/* Home ticker label */
.home-ticker .tick-label{font-size:9px;font-weight:700;color:var(--gold);letter-spacing:.1em;padding:0 10px 0 14px;flex-shrink:0;}
/* Module card hover arrow */
.module-card::after{content:"→";position:absolute;bottom:16px;right:18px;font-size:14px;color:var(--border);transition:all .18s;}
.module-card:hover::after{color:var(--gold);transform:translateX(3px);}
/* Map overlay bar hidden by default on non-hood tabs */
#mapOverlayBar{display:flex;}
.home-back-btn{margin-left:4px;padding:6px 13px;background:transparent;border:1.5px solid var(--border);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0;}
.home-back-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ── Rent overlay ────────────────────────────────────────────── */
.mob-dot-rent{background:#B8934A;}
.mob-btn.mob-rent.active{background:rgba(184,147,74,.2);}
.rl-pill{padding:3px 10px;border-radius:12px;border:1.5px solid rgba(255,255,255,.3);
  background:none;font-size:10px;font-weight:700;color:rgba(255,255,255,.65);cursor:pointer;}
.rl-pill.active,.rl-pill:hover{background:var(--gold);color:white;border-color:var(--gold);}
/* ── Rent Property Panel ─────────────────────────────────────── */
.rc-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.rc-hd-title{font-size:16px;font-weight:800;color:var(--ink);}
.rc-hd-sub{font-size:10px;color:var(--muted);margin-top:2px;}
.rc-hd-hint{font-size:10px;color:var(--gold);font-style:italic;line-height:1.4;}
.rc-bed-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.rc-bed-lbl{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;}
#rcBedPills{display:flex;gap:5px;flex-wrap:wrap;}
.rc-bed{padding:5px 14px;border-radius:16px;border:1.5px solid var(--border);
  background:var(--white);font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s;}
.rc-bed.active,.rc-bed:hover{background:var(--gold);color:white;border-color:var(--gold);}
.rc-comm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px;}
.rc-comm-btn{border:1.5px solid var(--border);border-radius:9px;padding:8px 10px;
  background:var(--white);cursor:pointer;text-align:left;transition:all .15s;min-width:0;}
.rc-comm-btn:hover:not([disabled]){border-color:var(--gold);background:var(--cream);}
.rc-comm-btn.sel{border-color:var(--gold);background:#FDF6E9;}
.rc-comm-btn[disabled]{opacity:.38;cursor:default;}
.rc-cname{display:block;font-size:10px;font-weight:700;color:var(--ink);margin-bottom:2px;
  line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rc-cval{display:block;font-size:14px;font-weight:800;line-height:1.1;}
.rc-cn{display:block;font-size:8px;color:var(--muted);margin-top:1px;}
.rc-detail-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.rc-detail-name{font-size:15px;font-weight:800;color:var(--ink);}
.rc-detail-back{background:none;border:1px solid var(--border);border-radius:6px;
  padding:4px 10px;font-size:10px;color:var(--muted);cursor:pointer;}
.rc-detail-back:hover{background:var(--cream);}
.rc-stat-card{background:var(--cream);border-radius:12px;padding:14px 16px;
  display:flex;align-items:center;gap:16px;margin-bottom:12px;}
.rc-stat-main{flex:1;}
.rc-stat-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
.rc-stat-val{font-size:26px;font-weight:800;color:var(--gold);line-height:1.1;margin:3px 0;}
.rc-stat-rng{font-size:11px;color:var(--muted);}
.rc-stat-aside{display:flex;flex-direction:column;gap:6px;text-align:right;border-left:1px solid var(--border);padding-left:14px;}
.rc-ai{display:flex;flex-direction:column;}
.rc-al{font-size:8px;color:var(--muted);text-transform:uppercase;}
.rc-av{font-size:12px;font-weight:700;color:var(--ink);}
.rc-range-wrap{margin-bottom:16px;}
.rc-range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:5px;}
.rc-range-mid{color:var(--gold);font-weight:700;}
.rc-range-track{position:relative;height:8px;border-radius:4px;
  background:linear-gradient(90deg,rgba(0,200,83,.25),rgba(249,168,37,.5),rgba(229,57,53,.25));}
.rc-range-dot{position:absolute;top:50%;transform:translate(-50%,-50%);
  width:16px;height:16px;background:var(--gold);border:3px solid white;
  border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.rc-bld-hd{display:flex;align-items:center;justify-content:space-between;
  padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px;}
.rc-bld-title{font-size:12px;font-weight:700;color:var(--ink);}
.rc-bld-ct{font-size:10px;color:var(--muted);}
.rc-bld-row{display:flex;align-items:flex-start;justify-content:space-between;
  padding:8px 0;border-bottom:.5px solid #f5f2ee;}
.rc-bld-row:last-child{border:none;}
.rc-bld-name{flex:1;font-size:11px;font-weight:600;color:var(--ink);padding-right:12px;line-height:1.3;}
.rc-bld-right{text-align:right;flex-shrink:0;}
.rc-bld-med{font-size:13px;font-weight:700;color:var(--ink);}
.rc-bld-rng{font-size:9px;color:var(--muted);}
.rc-bld-n{font-size:8px;color:var(--muted);}
.rc-foot{font-size:9px;color:var(--muted);text-align:center;
  padding-top:12px;border-top:1px solid var(--border);margin-top:8px;}

/* ── Rent: bedroom chip (floats on the map below the overlay bar) ── */
#rentBedBar{
  position:absolute;
  top:64px;
  left:50%;
  transform:translateX(-50%);
  z-index:490;
  background:rgba(26,23,20,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:6px 12px !important;
  border-radius:24px;
  box-shadow:0 6px 24px rgba(26,23,20,.22);
  display:none;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  max-width:calc(100% - 28px);
  overflow-x:auto;
}
#rentBedBar .rent-bar-lbl{
  font-size:9px;font-weight:700;color:rgba(255,255,255,.55);
  text-transform:uppercase;letter-spacing:.1em;flex-shrink:0;
}
#rentBedBar #rentBedPills{display:flex;gap:4px;flex-shrink:0;}
#rentBedBar .rl-pill{
  padding:4px 11px;border-radius:14px;
  border:1.5px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.78);
  font-size:10.5px;font-weight:600;letter-spacing:.01em;
  font-family:'DM Sans',sans-serif;
  cursor:pointer;transition:all .15s ease;
  white-space:nowrap;
}
#rentBedBar .rl-pill:hover{background:rgba(184,147,74,.2);border-color:rgba(184,147,74,.5);color:#fff;}
#rentBedBar .rl-pill.active{
  background:var(--gold);border-color:var(--gold);color:#fff;
  box-shadow:0 1px 4px rgba(184,147,74,.4);
}
#rentBedBar .rent-bar-legend{
  display:flex;align-items:center;gap:8px;
  padding-left:10px;border-left:1px solid rgba(255,255,255,.14);
  font-size:9px;color:rgba(255,255,255,.55);flex-shrink:0;
}
#rentBedBar .rent-bar-legend-item{display:flex;align-items:center;gap:4px;}
#rentBedBar .rent-bar-legend-dot{width:7px;height:7px;border-radius:50%;}

/* ── Rent: floating panel anchored over map (drill-down) ────── */
.rent-float{
  position:absolute;
  top:64px;left:14px;
  width:320px;max-width:calc(100% - 28px);
  max-height:480px;
  background:var(--white);
  border-radius:14px;
  border:1px solid var(--border);
  box-shadow:0 16px 40px rgba(26,23,20,.18), 0 3px 10px rgba(26,23,20,.06);
  z-index:520;
  display:none;
  overflow:hidden;
  flex-direction:column;
  animation:rentFloatIn .22s cubic-bezier(.16,1,.3,1);
}
.rent-float.open{display:flex;}
@keyframes rentFloatIn{
  from{opacity:0;transform:translateY(-6px) scale(.985);}
  to  {opacity:1;transform:translateY(0) scale(1);}
}

/* Header — compact, light */
.rf-head{
  position:relative;
  padding:11px 38px 11px 14px;
  background:var(--white);
  color:#fff;
  flex-shrink:0;
}
.rf-eyebrow{
  font-size:8.5px;font-weight:700;color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.12em;margin-bottom:1px;
}
.rf-title{
  font-family:'Cormorant Garamond',serif;
  font-size:18px;font-weight:500;color:#fff;line-height:1.15;
}
.rf-sub{font-size:10px;color:rgba(255,255,255,.55);margin-top:1px;}
.rf-close{
  position:absolute;top:8px;right:8px;
  width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.08);border:none;
  color:rgba(255,255,255,.7);font-size:11px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.rf-close:hover{background:rgba(255,255,255,.18);color:#fff;}

/* Bedroom switcher inside panel — tighter */
.rf-bedrow{
  display:flex;gap:4px;
  padding:7px 10px;
  background:var(--cream);
  border-bottom:1px solid var(--border);
  overflow-x:auto;
  flex-shrink:0;
}
.rf-bed{
  flex:1;min-width:auto;
  padding:4px 6px;border-radius:6px;
  border:1.5px solid var(--border);
  background:var(--white);
  font-family:'DM Sans',sans-serif;
  font-size:10.5px;font-weight:600;color:var(--muted);
  cursor:pointer;transition:all .15s;
  white-space:nowrap;
}
.rf-bed:hover:not(.active){border-color:var(--gold);color:var(--ink);}
.rf-bed.active{background:var(--ink);color:#fff;border-color:var(--ink);}

/* Body — scrolls */
.rf-body{
  flex:1;overflow-y:auto;
  padding:0;
}
.rf-body::-webkit-scrollbar{width:4px;}
.rf-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

/* Hero stat — slimmer */
.rf-hero-stat{
  padding:12px 14px 10px;
  border-bottom:1px solid var(--border);
}
.rf-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;}
.rf-hero-main{flex:1;}
.rf-hero-lbl{
  font-size:9px;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:1px;
}
.rf-hero-val{
  font-family:'Cormorant Garamond',serif;
  font-size:30px;font-weight:600;color:var(--gold);
  line-height:1;letter-spacing:-.01em;
}
.rf-hero-sub{font-size:10.5px;color:var(--muted);margin-top:3px;}
.rf-rank{
  text-align:right;flex-shrink:0;
  padding:5px 9px;border-radius:7px;
  background:var(--cream);
  border:1px solid var(--border);
}
.rf-rank-num{
  font-family:'Cormorant Garamond',serif;
  font-size:17px;font-weight:600;color:var(--ink);
  line-height:1;
}
.rf-rank-lbl{
  font-size:8.5px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.08em;margin-top:1px;
}

/* Quick stat trio — slimmer */
.rf-quick{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;border-bottom:1px solid var(--border);
}
.rf-quick-cell{
  padding:8px 8px;
  text-align:center;
  border-right:1px solid var(--border);
}
.rf-quick-cell:last-child{border-right:none;}
.rf-quick-val{
  font-size:12.5px;font-weight:700;color:var(--ink);line-height:1;
}
.rf-quick-lbl{
  font-size:8.5px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.08em;margin-top:3px;
}

/* Section header — compact */
.rf-sec{padding:10px 14px 4px;}
.rf-sec-hd{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:7px;
}
.rf-sec-title{
  font-size:9.5px;font-weight:700;color:var(--ink);
  text-transform:uppercase;letter-spacing:.08em;
}
.rf-sec-meta{font-size:9px;color:var(--muted);}

/* Distribution histogram */
.rf-dist{
  padding:0 14px 10px;
  border-bottom:1px solid var(--border);
}
.rf-dist-bars{
  display:flex;align-items:flex-end;gap:2px;
  height:42px;padding:0 2px;
}
.rf-dist-bar{
  flex:1;background:var(--gold);
  border-radius:2px 2px 0 0;
  min-height:3px;opacity:.85;
  transition:opacity .2s, transform .2s;
}
.rf-dist-bar.in-iqr{background:var(--ink);opacity:1;}
.rf-dist-bar.is-median{background:var(--gold);opacity:1;}
.rf-dist-bar:hover{transform:scaleY(1.08);transform-origin:bottom;}
.rf-dist-axis{
  display:flex;justify-content:space-between;
  font-size:8.5px;color:var(--muted);
  margin-top:4px;padding:0 2px;
}
.rf-dist-legend{
  display:flex;align-items:center;gap:9px;
  margin-top:6px;font-size:9px;color:var(--muted);
}
.rf-dist-legend-sw{width:7px;height:7px;border-radius:2px;}

/* Range bar */
.rf-range{padding:0 14px 10px;border-bottom:1px solid var(--border);}
.rf-range-track{
  position:relative;height:7px;border-radius:5px;
  background:linear-gradient(90deg,
    rgba(0,200,83,.18) 0%,
    rgba(184,147,74,.25) 50%,
    rgba(229,57,53,.18) 100%);
  margin:5px 0 3px;
}
.rf-range-iqr{
  position:absolute;top:0;height:100%;
  background:rgba(184,147,74,.45);border-radius:5px;
}
.rf-range-dot{
  position:absolute;top:50%;width:12px;height:12px;
  border-radius:50%;background:var(--gold);
  border:2.5px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  transform:translate(-50%,-50%);
}
.rf-range-labels{
  display:flex;justify-content:space-between;
  font-size:9px;color:var(--muted);margin-top:3px;
}
.rf-range-labels strong{color:var(--ink);}

/* Comparison rows */
.rf-cmp{padding:4px 14px 10px;border-bottom:1px solid var(--border);}
.rf-cmp-row{
  display:flex;align-items:center;gap:7px;
  padding:5px 0;
  border-bottom:1px dashed var(--border);
  cursor:pointer;
  transition:background .12s;
}
.rf-cmp-row:last-child{border-bottom:none;}
.rf-cmp-row:hover{background:rgba(184,147,74,.05);}
.rf-cmp-row.is-self{background:rgba(184,147,74,.1);padding:5px 4px;border-radius:5px;border-bottom-style:solid;}
.rf-cmp-name{
  flex:1;font-size:11px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.rf-cmp-row.is-self .rf-cmp-name::after{
  content:' · this';font-weight:400;color:var(--gold);
  font-size:9px;
}
.rf-cmp-bar-wrap{
  flex:1.2;height:5px;border-radius:3px;
  background:var(--cream2);overflow:hidden;
}
.rf-cmp-bar{height:100%;background:var(--ink);border-radius:3px;}
.rf-cmp-row.is-self .rf-cmp-bar{background:var(--gold);}
.rf-cmp-val{
  width:54px;text-align:right;
  font-size:10.5px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;
}

/* Buildings list */
.rf-bld{padding:4px 14px 10px;}
.rf-bld-row{
  display:flex;align-items:center;
  padding:6px 8px;margin-bottom:4px;
  border-radius:7px;
  background:var(--cream);
  border:1px solid transparent;
  transition:border-color .15s;
}
.rf-bld-row:last-child{margin-bottom:0;}
.rf-bld-row:hover{border-color:var(--gold);}
.rf-bld-rank{
  width:16px;height:16px;border-radius:50%;
  background:var(--white);border:1px solid var(--border);
  font-size:9px;font-weight:700;color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-right:8px;
}
.rf-bld-name{
  flex:1;font-size:10.5px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-right:6px;
}
.rf-bld-stat{text-align:right;flex-shrink:0;}
.rf-bld-med{
  font-size:11px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.rf-bld-n{font-size:8.5px;color:var(--muted);margin-top:1px;}

/* CTA + footer — slim */
.rf-cta{
  padding:9px 12px;
  background:var(--cream);
  border-top:1px solid var(--border);
  display:flex;gap:6px;
  flex-shrink:0;
}
.rf-cta-btn{
  flex:1;padding:7px 10px;
  border-radius:7px;
  font-family:'DM Sans',sans-serif;
  font-size:10.5px;font-weight:600;
  cursor:pointer;
  transition:all .15s;
  border:1.5px solid var(--ink);
  background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;gap:4px;
}
.rf-cta-btn:hover{background:var(--gold);border-color:var(--gold);}
.rf-cta-btn.ghost{background:transparent;color:var(--ink);}
.rf-cta-btn.ghost:hover{background:var(--ink);color:#fff;}
.rf-foot{
  padding:6px 14px;
  font-size:8.5px;color:var(--muted);
  background:var(--white);border-top:1px solid var(--border);
  text-align:center;
}

/* No data state */
.rf-empty{
  padding:24px 16px;text-align:center;color:var(--muted);
}
.rf-empty-icon{font-size:24px;margin-bottom:6px;opacity:.5;}
.rf-empty-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.rf-empty-sub{font-size:10.5px;line-height:1.45;}

/* Bubble pulse for click */
@keyframes bubblePulse{
  0%  {transform:scale(1);   opacity:1;}
  50% {transform:scale(1.18);opacity:.85;}
  100%{transform:scale(1);   opacity:1;}
}

/* ── Amenity Accordions ─────────────────────────────────────── */
.acc-wrap{display:flex;flex-direction:column;gap:7px;}
.acc-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--white);}
.acc-header{display:flex;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;user-select:none;transition:background .15s;}
.acc-header:hover{background:var(--cream);}
.acc-icon{font-size:18px;flex-shrink:0;width:22px;text-align:center;}
.acc-title-wrap{flex:1;min-width:0;}
.acc-label{font-size:12px;font-weight:700;color:var(--ink);}
.acc-preview{font-size:9px;color:var(--muted);display:block;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-right{display:flex;align-items:center;gap:7px;flex-shrink:0;}
.acc-score{font-size:18px;font-weight:800;color:var(--ink);line-height:1;}
.acc-chevron{font-size:11px;color:var(--muted);}
.dim-tag{font-size:9px;padding:1px 6px;border-radius:4px;font-weight:700;white-space:nowrap;}
.tag-ex{background:rgba(0,200,83,.15);color:var(--green);}
.tag-good{background:rgba(184,147,74,.18);color:var(--gold);}
.tag-fair{background:rgba(230,81,0,.12);color:#E65100;}
.tag-lim{background:rgba(221,44,0,.12);color:#DD2C00;}
.dim-bar-track{height:5px;background:rgba(0,0,0,.08);border-radius:3px;overflow:hidden;margin-bottom:2px;}
.dim-bar-fill{height:100%;border-radius:3px;transition:width .5s ease;}
.acc-body{background:var(--cream);}
.acc-items{padding:4px 8px 10px;}
.acc-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:7px;}
.acc-row:hover{background:rgba(0,0,0,.04);}
.acc-row-zero{opacity:.4;}
.acc-row-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0;}
.acc-row-label{flex:1;font-size:11px;color:var(--ink);}
.acc-row-count{font-size:13px;font-weight:700;color:var(--muted);}
.acc-count-live{color:var(--ink);}

/* ── Area Narrative ─────────────────────────────────────── */
.narr-wrap{padding:16px 20px;border-bottom:1px solid var(--border);}
.narr-text{font-size:12.5px;line-height:1.75;color:#374151;margin-bottom:14px;}
.narr-pc{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.narr-box{border-radius:10px;padding:11px 13px;}
.narr-pros{background:rgba(0,200,83,.07);border:1px solid rgba(0,200,83,.18);}
.narr-cons{background:rgba(229,57,53,.05);border:1px solid rgba(229,57,53,.15);}
.narr-head{font-size:10px;font-weight:800;text-transform:uppercase;
  letter-spacing:.6px;margin-bottom:7px;}
.narr-pros .narr-head{color:#065f46;}
.narr-cons .narr-head{color:#991b1b;}
.narr-li{display:flex;align-items:flex-start;gap:6px;
  font-size:11px;color:var(--ink);margin-bottom:5px;line-height:1.4;}
.narr-li:last-child{margin-bottom:0;}
.narr-li .dot{flex-shrink:0;margin-top:3px;font-size:9px;}
.narr-pros .dot{color:#00C853;}
.narr-cons .dot{color:#E53935;}

/* ── Two-paths homepage (decision tool framing) ─────────────────── */
.paths-section{padding:0 40px 24px;max-width:1100px;margin:0 auto;width:100%;}
.paths-eyebrow{font-size:10.5px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;margin-bottom:14px;text-align:center;}
.paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.path-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:16px;padding:28px 28px;
  transition:all .2s;cursor:pointer;display:flex;flex-direction:column;
  position:relative;overflow:hidden;min-height:240px;
}
.path-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(26,23,20,.1);border-color:var(--gold);}
.path-card.featured{
  background:var(--white);
  color:var(--ink);border:1px solid var(--border);
}
.path-card.featured::before{
  content:'';position:absolute;top:0;right:0;width:240px;height:240px;
  background:radial-gradient(circle,rgba(184,147,74,.16) 0%,transparent 70%);pointer-events:none;
}
.path-eyebrow{
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:8px;position:relative;z-index:1;
}
.path-eyebrow .pe-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulseDot 2s infinite;}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:.4}}
.path-card.featured .path-eyebrow{color:var(--gold);}
.path-h{
  font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:500;
  line-height:1.15;margin-bottom:8px;position:relative;z-index:1;
}
.path-card.featured .path-h em{color:var(--gold);font-style:italic;}
.path-h em{font-style:italic;color:var(--gold);}
.path-desc{font-size:13.5px;color:var(--muted);line-height:1.55;margin-bottom:16px;position:relative;z-index:1;}
.path-card.featured .path-desc{color:var(--muted2);}
.path-features{margin-bottom:18px;flex:1;position:relative;z-index:1;}
.path-feat{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--ink2);line-height:1.5;padding:4px 0;}
.path-card.featured .path-feat{color:var(--ink);}
.path-feat-ico{flex-shrink:0;width:16px;height:16px;border-radius:50%;background:var(--cream);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:700;margin-top:2px;}
.path-card.featured .path-feat-ico{background:rgba(184,147,74,.2);}
.path-cta{
  padding:11px 20px;background:var(--gold);color:var(--white);border-radius:9px;
  font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px;
  align-self:flex-start;transition:all .15s;border:none;cursor:pointer;font-family:inherit;
  position:relative;z-index:1;
}
.path-cta:hover{background:#a07e3e;}
.path-cta.outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.path-cta.outline:hover{background:var(--ink);color:var(--white);}
.path-card.featured .path-cta{background:var(--gold);}
.path-card.featured .path-cta:hover{background:#d1a85a;}
.path-badge-soon{position:absolute;top:14px;right:14px;background:rgba(184,147,74,.15);color:var(--gold);font-size:9px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase;z-index:2;}

/* Secondary "Still exploring" row */
.explore-row{padding:0 40px 60px;max-width:1100px;margin:0 auto;width:100%;}
.explore-eyebrow{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;text-align:center;}
.explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.explore-grid.explore-grid-3{grid-template-columns:repeat(3,1fr);}
.explore-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:12px;padding:16px 18px;cursor:pointer;
  transition:all .15s;display:flex;flex-direction:column;
}
.explore-card:hover{border-color:var(--gold);transform:translateY(-1px);}
.explore-card-ico{font-size:20px;margin-bottom:10px;}
.explore-card-t{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.explore-card-d{font-size:11.5px;color:var(--muted);line-height:1.45;}

/* ── Negotiation engine UI ──────────────────────────────── */
.neg-section{display:none;height:100%;flex-direction:column;overflow-y:auto;background:var(--cream);}
.neg-section.active{display:flex;}
.neg-section::-webkit-scrollbar{width:7px;}
.neg-section::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

.neg-header{
  background:var(--white);
  color:var(--ink);padding:30px 40px;flex-shrink:0;position:relative;
  border-bottom:1px solid var(--border);
}
.neg-header::before{
  content:'';position:absolute;top:0;right:0;width:300px;height:100%;
  background:radial-gradient(circle at top right,rgba(184,147,74,.15) 0%,transparent 60%);pointer-events:none;
}
.neg-header-eyebrow{font-size:10px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;margin-bottom:8px;}
.neg-header-h{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:500;line-height:1.15;color:var(--ink);}
.neg-header-h em{font-style:italic;color:var(--gold);}
.neg-header-sub{font-size:13px;color:var(--muted2);max-width:640px;line-height:1.55;margin-top:8px;}

.neg-body{padding:24px 40px 40px;max-width:1180px;margin:0 auto;width:100%;}

.neg-step-row{display:grid;grid-template-columns:380px 1fr;gap:24px;}
.neg-step-row.single-col{grid-template-columns:1fr;}

/* Input panel */
.neg-input-panel{
  background:var(--white);border:1px solid var(--border);border-radius:14px;padding:24px;
  position:sticky;top:24px;align-self:flex-start;
}
.neg-input-h{font-size:11.5px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.neg-input-h::before{content:'';width:5px;height:14px;background:var(--gold);border-radius:2px;}
.neg-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.neg-field-lbl{font-size:11px;font-weight:600;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px;}
.neg-field-lbl .neg-step-num{
  width:18px;height:18px;border-radius:50%;background:var(--cream);color:var(--gold);
  font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.neg-field-input,.neg-field-select{
  border:1.5px solid var(--border);background:var(--white);
  border-radius:9px;padding:10px 12px;font-size:13px;font-family:inherit;
  outline:none;transition:border-color .15s;color:var(--ink);width:100%;
}
.neg-field-input:focus,.neg-field-select:focus{border-color:var(--gold);}
.neg-field-input:disabled,.neg-field-select:disabled{background:var(--cream);color:var(--muted);cursor:not-allowed;}
.neg-bedrow{display:flex;gap:5px;flex-wrap:wrap;}
.neg-bed{padding:6px 12px;background:var(--cream);border:1.5px solid var(--border);border-radius:16px;font-size:11px;font-weight:600;color:var(--ink2);transition:all .12s;cursor:pointer;}
.neg-bed:hover:not(.active){border-color:var(--gold);}
.neg-bed.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.neg-analyze-btn{
  width:100%;background:var(--ink);color:#fff;border:none;
  padding:13px;border-radius:10px;font-family:inherit;font-size:13.5px;
  font-weight:600;cursor:pointer;transition:all .15s;margin-top:8px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.neg-analyze-btn:hover{background:var(--gold);}
.neg-analyze-btn:disabled{background:var(--cream);color:var(--muted);cursor:not-allowed;}

/* Output panel */
.neg-output{display:flex;flex-direction:column;gap:18px;}
.neg-empty{
  background:var(--white);border:1px dashed var(--border);border-radius:14px;
  padding:60px 30px;text-align:center;color:var(--muted);
}
.neg-empty-ico{font-size:42px;margin-bottom:14px;opacity:.5;}
.neg-empty-t{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.neg-empty-d{font-size:13px;line-height:1.55;max-width:380px;margin:0 auto;}

.neg-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.neg-card-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.neg-card-t{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);display:flex;align-items:center;gap:8px;}
.neg-card-t::before{content:'';width:4px;height:12px;background:var(--gold);border-radius:2px;}
.neg-card-badge{font-size:9.5px;font-weight:600;color:var(--muted);background:var(--cream);padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;}
.neg-card-body{padding:18px 20px;}

/* Verdict big stat */
.neg-verdict{
  display:grid;grid-template-columns:1fr 1.4fr;gap:18px;align-items:center;
}
.neg-verdict-num{
  font-family:'Cormorant Garamond',serif;font-size:54px;font-weight:600;
  line-height:1;color:var(--ink);
}
.neg-verdict-num.over{color:var(--red,#C16060);}
.neg-verdict-num.under{color:var(--green,#5C8B5C);}
.neg-verdict-num.fair{color:var(--gold);}
.neg-verdict-num .v-unit{font-size:18px;color:var(--muted);font-weight:500;font-family:'DM Sans',sans-serif;margin-left:4px;}
.neg-verdict-lbl{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.neg-verdict-msg{font-size:13.5px;line-height:1.55;color:var(--ink);}
.neg-verdict-msg strong{color:var(--ink);font-weight:700;}

/* Stats row */
.neg-stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;}
.neg-stat{background:var(--cream);border-radius:9px;padding:11px 12px;text-align:center;}
.neg-stat-l{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700;}
.neg-stat-v{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;line-height:1;margin-top:3px;color:var(--ink);}
.neg-stat-v.gold{color:var(--gold);}
.neg-stat-s{font-size:10px;color:var(--muted);margin-top:2px;}

/* Distribution viz */
.neg-dist{margin-top:6px;}
.neg-dist-bars{display:flex;align-items:flex-end;gap:2px;height:60px;background:var(--cream);border-radius:8px;padding:9px 10px;position:relative;}
.neg-dist-bar{flex:1;background:rgba(184,147,74,.3);border-radius:2px 2px 0 0;min-height:4px;transition:background .15s;}
.neg-dist-bar.iqr{background:var(--ink);}
.neg-dist-bar.median{background:var(--gold);}
.neg-dist-marker{
  position:absolute;top:0;bottom:0;width:2px;background:var(--red,#C16060);
  pointer-events:none;
}
.neg-dist-marker-lbl{
  position:absolute;top:-4px;font-size:9.5px;font-weight:700;color:var(--red,#C16060);
  background:var(--white);padding:1px 5px;border-radius:3px;border:1px solid var(--red,#C16060);
  transform:translateX(-50%);white-space:nowrap;
}
.neg-dist-axis{display:flex;justify-content:space-between;font-size:9.5px;color:var(--muted);margin-top:6px;padding:0 4px;}

/* Decree 43 panel */
.decree-rows{display:flex;flex-direction:column;gap:6px;}
.decree-row{
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  padding:8px 12px;background:var(--cream);border-radius:7px;font-size:12px;
}
.decree-row.active{background:rgba(184,147,74,.15);border:1px solid var(--gold);}
.decree-row-pct{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:var(--muted);min-width:55px;}
.decree-row.active .decree-row-pct{color:var(--gold);}
.decree-row-desc{font-size:11.5px;color:var(--ink2);line-height:1.4;}
.decree-row.active .decree-row-desc{color:var(--ink);font-weight:600;}
.decree-row-cap{font-size:11px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.decree-callout{
  background:rgba(92,139,92,.1);border:1px solid var(--green,#5C8B5C);border-radius:9px;
  padding:12px 14px;margin-top:14px;font-size:12.5px;line-height:1.55;color:var(--ink);
}
.decree-callout strong{color:var(--green,#5C8B5C);}

/* Letter preview */
.letter-preview{
  background:#fdfcfa;border:1px solid var(--border);border-radius:10px;
  padding:30px 36px;font-family:'Cormorant Garamond',serif;
  font-size:14px;line-height:1.7;color:var(--ink);
  max-height:560px;overflow-y:auto;
}
.letter-preview::-webkit-scrollbar{width:5px;}
.letter-preview::-webkit-scrollbar-thumb{background:var(--border);}
.letter-preview p{margin-bottom:14px;}
.letter-date{text-align:right;color:var(--muted);font-size:13px;margin-bottom:18px;}
.letter-greeting{margin-bottom:14px;}
.letter-subject{font-weight:600;margin-bottom:14px;text-decoration:underline;}
.letter-cite{
  font-family:'DM Sans',sans-serif;font-size:11px;color:var(--muted);
  font-style:italic;display:block;margin-top:4px;
}
.letter-data-block{
  background:var(--cream);border-left:3px solid var(--gold);padding:12px 16px;
  margin:14px 0;font-family:'DM Sans',sans-serif;font-size:12px;line-height:1.6;
}
.letter-data-block strong{font-weight:600;}
.letter-disclaimer{
  font-family:'DM Sans',sans-serif;font-size:10.5px;color:var(--muted);
  border-top:1px dashed var(--border);padding-top:14px;margin-top:18px;
  font-style:italic;line-height:1.5;
}
.letter-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.letter-btn{
  padding:10px 18px;border-radius:9px;font-family:inherit;font-size:12.5px;font-weight:600;
  cursor:pointer;transition:all .15s;border:1.5px solid var(--ink);background:var(--ink);color:#fff;
  display:inline-flex;align-items:center;gap:7px;
}
.letter-btn:hover{background:var(--gold);border-color:var(--gold);}
.letter-btn.ghost{background:transparent;color:var(--ink);}
.letter-btn.ghost:hover{background:var(--ink);color:#fff;}

/* Print-only styles for the letter */
@media print {
  body * {visibility:hidden;}
  .letter-preview, .letter-preview *{visibility:visible;}
  .letter-preview{position:absolute;left:0;top:0;width:100%;border:none;padding:48px;max-height:none;background:#fff;font-size:13px;}
  .letter-actions, .letter-disclaimer{display:none;}
}

/* Coming soon page (fiscal waterfall) */
/* ── Fiscal model UI ─────────────────────────────── */
.fisc-section{display:none;height:100%;flex-direction:column;overflow-y:auto;background:var(--cream);}
.fisc-section.active{display:flex;}
.fisc-section::-webkit-scrollbar{width:7px;}
.fisc-section::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

.fisc-header{
  background:var(--white);
  color:var(--ink);padding:30px 40px;flex-shrink:0;position:relative;
  border-bottom:1px solid var(--border);
}
.fisc-header::before{
  content:'';position:absolute;top:0;right:0;width:300px;height:100%;
  background:radial-gradient(circle at top right,rgba(184,147,74,.15) 0%,transparent 60%);pointer-events:none;
}

.fisc-section-h{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 6px;display:flex;align-items:center;gap:7px;}
.fisc-section-h::before{content:'';height:1px;flex:1;background:var(--border);}
.fisc-section-h::after{content:'';height:1px;flex:1;background:var(--border);}

.fisc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.fisc-grid2 .neg-field{margin-bottom:10px;}
.fisc-hint{font-size:11px;color:rgba(26,23,20,.78);margin-top:4px;line-height:1.45;font-style:normal;}

.fisc-verdict{background:linear-gradient(135deg,var(--white) 0%,#fdfbf7 100%);border:2px solid var(--border);border-radius:14px;padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;}
.fisc-verdict.win{border-color:var(--green,#5C8B5C);background:linear-gradient(135deg,#fff 0%,#f5faf5 100%);}
.fisc-verdict.lose{border-color:var(--red,#C16060);background:linear-gradient(135deg,#fff 0%,#faf5f5 100%);}
.fisc-verdict-num{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:600;line-height:1;color:var(--ink);}
.fisc-verdict.win .fisc-verdict-num{color:var(--green,#5C8B5C);}
.fisc-verdict.lose .fisc-verdict-num{color:var(--red,#C16060);}
.fisc-verdict-eb{font-size:9.5px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;}
.fisc-verdict-h{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;line-height:1.25;color:var(--ink);margin-bottom:4px;}
.fisc-verdict-h em{font-style:italic;color:var(--gold);}
.fisc-verdict-d{font-size:12.5px;color:var(--muted);line-height:1.5;}

.fisc-table-wrap{overflow-x:auto;border-radius:9px;border:1px solid var(--border);background:var(--white);}
.fisc-mini-map-wrap{margin-bottom:14px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;}
.fisc-mini-map-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:#faf7f1;gap:12px;}
.fisc-mini-map-explore{font-size:10.5px;padding:4px 10px;border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:12px;cursor:pointer;font-weight:600;letter-spacing:.03em;transition:all .15s;white-space:nowrap;}
.fisc-mini-map-explore:hover{background:var(--gold);color:#fff;}
.fisc-mini-map-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.fisc-mini-map-sub{font-size:11px;color:var(--muted);}
.fisc-mini-map{height:280px;width:100%;}
.fisc-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums;}
.nbs-main-szbar{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:11.5px;}
.nbs-main-sztxt{color:var(--muted);font-weight:500;margin-right:2px;}
.nbs-main-szbtn{font-size:11px;padding:4px 11px;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:13px;cursor:pointer;font-weight:500;}
.nbs-main-szbtn.active{background:var(--gold);color:#fff;}
.nbs-main-szbtn:hover:not(.active){background:rgba(180,140,40,.1);}
.nbs-pager{display:flex;align-items:center;gap:4px;margin-top:10px;justify-content:center;}
.nbs-pg-btn,.nbs-pg-num{font-size:10.5px;padding:4px 10px;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:12px;cursor:pointer;font-weight:500;}
.nbs-pg-btn:disabled{opacity:.35;cursor:not-allowed;}
.nbs-pg-num.active{background:var(--gold);color:#fff;}
.nbs-pg-btn:not(:disabled):hover,.nbs-pg-num:not(.active):hover{background:rgba(180,140,40,.1);}
.nbs-mc-filter-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px;}

.fisc-table thead th{background:var(--cream);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:9.5px;padding:9px 8px;text-align:right;border-bottom:1.5px solid var(--border);position:sticky;top:0;}
.fisc-table thead th:first-child{text-align:center;}
.fisc-table tbody td{padding:7px 8px;text-align:right;border-bottom:1px solid var(--border);color:var(--ink);font-size:11px;}
.fisc-table tbody td:first-child{text-align:center;font-weight:700;color:var(--gold);background:#fdfbf7;}
.fisc-table tbody tr:hover td{background:var(--cream);}
.fisc-table tbody tr.breakeven td{background:rgba(92,139,92,.12);font-weight:600;}
.fisc-table tbody tr.breakeven td:first-child{background:rgba(92,139,92,.25);}
.fisc-table tbody tr.exit td{background:#fdfbf7;font-weight:700;border-top:2px solid var(--gold);}
.fisc-table .pos{color:var(--green,#5C8B5C);}
.fisc-table .neg{color:var(--red,#C16060);}

.fisc-chart{position:relative;height:280px;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:14px;}
.fisc-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.fisc-stress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.fisc-stress{background:var(--cream);border:1px solid var(--border);border-radius:9px;padding:11px 13px;}
.fisc-stress-l{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.fisc-stress-v{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;line-height:1;color:var(--ink);margin-bottom:3px;}
.fisc-stress-v.warn{color:var(--red,#C16060);}
.fisc-stress-v.ok{color:var(--green,#5C8B5C);}
.fisc-stress-d{font-size:10.5px;color:var(--muted);line-height:1.4;}

/* Mode toggle */
.fisc-mode-toggle{margin-bottom:18px;}
.fisc-mode-eb{font-size:10.5px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;}
.fisc-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fisc-mode-btn{
  background:var(--white);border:1.5px solid var(--border);border-radius:12px;
  padding:14px 16px;cursor:pointer;font-family:inherit;text-align:left;
  transition:all .15s;display:flex;flex-direction:column;align-items:flex-start;
}
.fisc-mode-btn:hover{border-color:var(--gold);}
.fisc-mode-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.fisc-mode-btn.active .fisc-mode-d{color:rgba(255,255,255,.7);}
.fisc-mode-ico{font-size:22px;margin-bottom:5px;}
.fisc-mode-t{font-size:13.5px;font-weight:700;color:inherit;margin-bottom:2px;}
.fisc-mode-d{font-size:11px;color:var(--muted);line-height:1.4;}

/* Total cost summary card (v4) */
/* fisc-totals-grid overridden below */
/* fisc-totals-col overridden below */
.fisc-totals-h{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.fisc-totals-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:11.5px;color:var(--ink);line-height:1.4;}
.fisc-totals-row span{color:var(--muted);}
.fisc-totals-row strong{font-variant-numeric:tabular-nums;font-weight:600;}
.fisc-totals-row.total{margin-top:5px;padding-top:7px;border-top:1px solid var(--border);font-size:12px;}
.fisc-totals-row.total span{color:var(--ink);font-weight:600;}
.fisc-totals-row.total strong{color:var(--ink);font-weight:700;}

/* v5: Cost Summary headline row — 3 big numbers up top */
.fisc-headline-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-bottom:1px solid var(--border);}
.fisc-headline-cell{padding:18px 22px;text-align:center;}
.fisc-headline-cell.mid{border-left:1px solid var(--border);border-right:1px solid var(--border);background:linear-gradient(180deg,#fdfbf7 0%,#fff 100%);}
.fisc-headline-cell.win{background:linear-gradient(180deg,rgba(92,139,92,.06) 0%,#fff 100%);}
.fisc-headline-cell.lose{background:linear-gradient(180deg,rgba(193,96,96,.06) 0%,#fff 100%);}
.fisc-headline-l{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;}
.fisc-headline-v{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;line-height:1;color:var(--ink);margin-bottom:4px;}
.fisc-headline-v.gold{color:var(--gold);}
.fisc-headline-cell.win .fisc-headline-v{color:var(--green,#5C8B5C);}
.fisc-headline-cell.lose .fisc-headline-v{color:var(--red,#C16060);}
.fisc-headline-d{font-size:10.5px;color:var(--muted);line-height:1.4;}

/* v6: 4-step waterfall */
.fisc-waterfall{display:flex;flex-direction:column;gap:0;margin:8px 0 18px;position:relative;}
.fisc-step{
  background:var(--white);border:1px solid var(--border);border-radius:14px;
  padding:20px 22px;display:grid;grid-template-columns:48px 1fr;gap:18px;
  position:relative;margin-bottom:10px;
  transition:all .18s;
}
.fisc-step:hover{border-color:var(--gold);box-shadow:0 6px 20px rgba(26,23,20,.05);}
.fisc-step:not(:last-child)::after{
  content:'';position:absolute;bottom:-8px;left:34px;width:1px;height:18px;
  background:linear-gradient(180deg,var(--border) 0%,transparent 100%);z-index:0;
}
.fisc-step.exit-step{
  background:linear-gradient(135deg,#fdfbf7 0%,#fff 100%);
  border-color:var(--gold);box-shadow:0 4px 14px rgba(184,147,74,.12);
}
.fisc-step-num{
  width:36px;height:36px;border-radius:50%;background:var(--cream);
  color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;
  display:flex;align-items:center;justify-content:center;border:1.5px solid var(--gold);
  flex-shrink:0;
}
.fisc-step.exit-step .fisc-step-num.exit-num{
  background:var(--gold);color:#fff;border-color:var(--gold);
}
.fisc-step-body{min-width:0;}
.fisc-step-eb{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;}
.fisc-step-headline{font-size:14px;color:var(--ink);margin-bottom:14px;font-weight:500;}
.fisc-step-big{
  font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;line-height:1;
  color:var(--ink);margin:0 4px;
}
.fisc-step.exit-step .fisc-step-big{color:var(--gold);}
.fisc-step-sub{font-size:12px;color:var(--muted);font-weight:400;}
.fisc-step-detail{display:flex;flex-direction:column;gap:0;margin-bottom:10px;}
.fisc-detail-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 0;font-size:12px;color:var(--ink);
  border-bottom:1px dashed rgba(26,23,20,.08);
}
.fisc-detail-row:last-child{border-bottom:none;}
.fisc-detail-row span{color:var(--muted);}
.fisc-detail-row strong{font-variant-numeric:tabular-nums;font-weight:600;}
.fisc-step-insight{
  background:var(--cream);border-radius:8px;padding:9px 12px;
  font-size:11.5px;color:var(--ink2);line-height:1.5;font-style:italic;
  border-left:3px solid var(--gold);
}

/* P/I split bar inline */
.fisc-pi-bar{
  display:flex;height:36px;border-radius:8px;overflow:hidden;
  margin-bottom:14px;font-size:10.5px;color:#fff;font-weight:600;
  border:1px solid rgba(0,0,0,.05);
}
.fisc-pi-principal{background:linear-gradient(90deg,#5C8B5C 0%,#7BA67B 100%);display:flex;align-items:center;padding:0 12px;min-width:0;}
.fisc-pi-interest{background:linear-gradient(90deg,#C16060 0%,#a04d4d 100%);display:flex;align-items:center;padding:0 12px;min-width:0;}
.fisc-pi-principal span,.fisc-pi-interest span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* "At Exit" accountant ledger */
.fisc-exit-ledger{padding:6px 0;}
.fisc-ledger-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 14px;font-size:13.5px;color:var(--ink);
  border-radius:6px;
}
.fisc-ledger-row span{color:var(--ink2);}
.fisc-ledger-row strong{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;}
.fisc-ledger-row.pos strong{color:var(--ink);}
.fisc-ledger-row.neg strong{color:var(--red,#C16060);}
.fisc-ledger-divider{height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 20%,var(--border) 80%,transparent 100%);margin:4px 14px;}
.fisc-ledger-row.equals{font-weight:600;padding:10px 14px;}
.fisc-ledger-row.equals strong{font-size:18px;font-family:'Cormorant Garamond',serif;font-weight:600;}
.fisc-ledger-row.equals-final{
  font-weight:700;padding:14px 18px;border-radius:8px;margin:6px 0;
}
.fisc-ledger-row.equals-final strong{
  font-size:24px;font-family:'Cormorant Garamond',serif;font-weight:700;
}
.fisc-ledger-row.equals-final span{color:var(--ink);font-weight:600;}
.fisc-ledger-row.pos-bg{background:rgba(92,139,92,.08);}
.fisc-ledger-row.neg-bg{background:rgba(193,96,96,.08);}
.fisc-ledger-row.pos-bg.equals-final strong{color:var(--green,#5C8B5C);}
.fisc-ledger-row.neg-bg.equals-final strong{color:var(--red,#C16060);}

/* Cash Out of Pocket card */
.fisc-cash-card{border:2px solid var(--gold)!important;background:linear-gradient(135deg,#fff 0%,#fdfbf7 100%);}
.fisc-cash-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:18px;}
.fisc-cash-side{display:flex;flex-direction:column;gap:0;}
.fisc-cash-side-h{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.fisc-cash-side.out .fisc-cash-side-h{color:var(--red,#C16060);}
.fisc-cash-side.in .fisc-cash-side-h{color:var(--green,#5C8B5C);}
.fisc-cash-detail-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:12px;color:var(--ink);}
.fisc-cash-detail-row span{color:var(--muted);}
.fisc-cash-detail-row strong{font-variant-numeric:tabular-nums;font-weight:600;}
.fisc-cash-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0 4px;border-top:1.5px solid var(--ink);margin-top:6px;font-weight:700;}
.fisc-cash-total span{color:var(--ink);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;}
.fisc-cash-total strong{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--ink);}
.fisc-cash-result{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:10px;border-top:1px solid var(--border);padding-top:18px;}
.fisc-cash-result-cell{text-align:center;padding:10px 12px;background:var(--cream);border-radius:9px;}
.fisc-cash-result-l{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.fisc-cash-result-v{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;line-height:1;}
.fisc-cash-result-v.pos{color:var(--green,#5C8B5C);}
.fisc-cash-result-v.neg{color:var(--red,#C16060);}
.fisc-cash-result-v.fair{color:var(--gold);}

/* Inline chart between waterfall steps */
.fisc-chart-inline{
  background:var(--white);border:1px solid var(--border);border-radius:12px;
  padding:14px;margin-bottom:10px;height:220px;position:relative;
}

/* Sensitivity sliders */
.fisc-sens-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px;}
.fisc-sens-block{background:var(--cream);border-radius:10px;padding:14px 16px;}
.fisc-sens-h{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;}
.fisc-slider{width:100%;-webkit-appearance:none;appearance:none;height:5px;background:var(--border);border-radius:3px;outline:none;margin-bottom:10px;}
.fisc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gold);cursor:pointer;border:2px solid var(--white);box-shadow:0 2px 6px rgba(184,147,74,.3);}
.fisc-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold);cursor:pointer;border:2px solid var(--white);}
.fisc-sens-val{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--ink);text-align:center;}
.fisc-sens-table{width:100%;border-collapse:collapse;font-size:12px;}
.fisc-sens-table thead th{background:var(--cream);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);}
.fisc-sens-table thead th:nth-child(n+2){text-align:right;}
.fisc-sens-table tbody td{padding:8px 10px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;}
.fisc-sens-table tbody td:first-child{font-weight:600;color:var(--ink);}
.fisc-sens-table tbody td:nth-child(n+2){text-align:right;}
.fisc-sens-up{color:var(--red,#C16060);font-weight:600;}
.fisc-sens-down{color:var(--green,#5C8B5C);font-weight:600;}
.fisc-sens-eq{color:var(--muted);}

@media (max-width:900px){
  .fisc-cash-grid{grid-template-columns:1fr;gap:14px;}
  .fisc-sens-row{grid-template-columns:1fr;}
  .fisc-step{grid-template-columns:1fr;}
  .fisc-step-num{margin-bottom:10px;}
}
@media (max-width:900px){
  .fisc-headline-row{grid-template-columns:1fr;}
  .fisc-headline-cell{border-left:none!important;border-right:none!important;border-bottom:1px solid var(--border);}
  .fisc-headline-cell:last-child{border-bottom:none;}
}

/* v5: Polish the P&L table — alternating rows, gold-text class */
.fisc-table tbody tr:nth-child(even):not(.breakeven):not(.exit) td{background:#fdfcfa;}
.fisc-table tbody tr:nth-child(even):not(.breakeven):not(.exit) td:first-child{background:#fbf7ed;}
.fisc-table .gold-text{color:var(--gold);font-weight:600;}
.fisc-table thead th{font-size:9px;letter-spacing:.05em;}
.fisc-table tbody td{font-size:10.5px;padding:6px 7px;}
.fisc-table tbody td:first-child{padding:6px 4px;font-size:11px;}

/* v5: Section header (full-card) styling for emphasis */
.fisc-card-emphasis{border-color:var(--gold)!important;}
@media (max-width: 1100px){
  .fisc-totals-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
}
@media (max-width: 700px){
  .fisc-totals-grid{grid-template-columns:1fr;gap:18px;}
}

@media (max-width:900px){
  .paths-grid{grid-template-columns:1fr;}
  .explore-grid{grid-template-columns:repeat(2,1fr);}
  .neg-step-row{grid-template-columns:1fr;}
  .neg-input-panel{position:relative;top:0;}
  .fisc-grid2{grid-template-columns:1fr;}
  .fisc-charts-row{grid-template-columns:1fr;}
  .fisc-stress-grid{grid-template-columns:1fr;}
}


/* ── fvh verdict hero full suite ──────────────────────────── */
.fisc-verdict-hero {
  border-radius:16px;padding:28px 28px 20px;margin-bottom:14px;
  background:linear-gradient(135deg,#fdf9f3 0%,#f7f1e8 100%);
  border:1.5px solid rgba(184,147,74,.35);
}
.fisc-verdict-hero.win  { border-color:rgba(30,122,82,.45); background:linear-gradient(135deg,#f5fbf6 0%,#edf7ee 100%); }
.fisc-verdict-hero.lose { border-color:rgba(192,57,43,.35); background:linear-gradient(135deg,#fdf5f5 0%,#f7ecec 100%); }
.fisc-verdict-hero.fair { border-color:rgba(184,147,74,.45); }
.fvh-eyebrow {
  font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--muted);margin-bottom:10px;
}
.fvh-number {
  font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,52px);
  font-weight:600;color:#B8934A;line-height:1;margin-bottom:8px;
}
.fisc-verdict-hero.win  .fvh-number { color:#3a8a56; }
.fisc-verdict-hero.lose .fvh-number { color:#C16060; }
.fvh-subtitle {
  font-size:13px;color:var(--ink);opacity:.75;line-height:1.6;margin-bottom:18px;
}
.fvh-subtitle strong { color:var(--ink);opacity:1; }
.fvh-stress-strip {
  display:flex;align-items:center;
  background:rgba(26,23,20,.05);border-radius:10px;
  padding:12px 16px;
}
.fvh-stress-item { display:flex;flex-direction:column;align-items:center;flex:1;padding:0 12px; }
.fvh-si-l { font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px; }
.fvh-si-v { font-size:13px;font-weight:700;color:var(--ink); }
.fvh-si-v.ok   { color:#3a8a56; }
.fvh-si-v.warn { color:#C16060; }
.fvh-stress-div { width:1px;height:30px;background:rgba(26,23,20,.12);flex-shrink:0; }
/* ── KPI row ───────────────────────────────────────────────── */
.fvh-kpi-row {
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;
}
.fvh-kpi {
  background:var(--white);border:1px solid var(--border);border-radius:12px;
  padding:14px 16px;
}
.fvh-kpi-l { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px; }
.fvh-kpi-v { font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;line-height:1;margin-bottom:4px;color:var(--ink); }
.fvh-kpi-v.gold { color:var(--gold); }
.fvh-kpi-v.c-red { color:#C16060; }
.fvh-kpi-s { font-size:10px;color:var(--muted); }
/* ── Headline 3-col strip ──────────────────────────────────── */
.fisc-summary-card { margin-bottom:14px; }
.fisc-summary-top  { padding:20px 20px 14px; }
.fisc-summary-num-row {
  display:flex;align-items:stretch;gap:0;
  background:var(--cream);border-radius:12px;overflow:hidden;margin-bottom:14px;
}
.fisc-snum { flex:1;padding:16px 20px; }
.fisc-snum-div { width:1px;background:var(--border);flex-shrink:0; }
.fisc-snum-l { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px; }
.fisc-snum-v { font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--ink);margin-bottom:3px;line-height:1; }
.fisc-snum-v.gold { color:var(--gold); }
.fisc-snum-d { font-size:10px;color:var(--muted);line-height:1.4; }
.fisc-snum.fisc-win .fisc-snum-v { color:#5C8B5C; }
.fisc-snum.fisc-lose .fisc-snum-v { color:#C16060; }
/* ── Cost breakdown 2×2 grid ───────────────────────────────── */
.fisc-totals-grid {
  display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 20px 20px;
}
.fisc-totals-col {
  background:var(--cream);border-radius:12px;padding:14px 16px;
  display:flex;flex-direction:column;
}
.fisc-totals-h {
  font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:9px;padding-bottom:6px;
  border-bottom:1px solid var(--border);
}
.fisc-totals-row {
  display:flex;justify-content:space-between;align-items:center;
  padding:5px 0;font-size:11.5px;color:var(--ink);line-height:1.4;
  border-bottom:1px dashed rgba(26,23,20,.06);
}
.fisc-totals-row:last-child { border-bottom:none; }
.fisc-totals-row span { color:var(--muted); }
.fisc-totals-row strong { font-variant-numeric:tabular-nums;font-weight:600; }
.fisc-totals-row.total {
  border-top:1.5px solid var(--ink);border-bottom:none;
  margin-top:4px;padding-top:7px;font-weight:700;
}
.fisc-totals-row.total span { color:var(--ink); }
.fisc-totals-row.sub {
  padding-left:18px;font-size:11px;
  background:rgba(26,23,20,.02);border-radius:4px;
}
.fisc-totals-row.sub span { color:var(--muted);font-size:11px; }
.fisc-detail-wrap { }
/* ── Table expandable rows ─────────────────────────────────── */
.fisc-expand-trigger {
  display:flex;justify-content:space-between;align-items:center;
  padding:5px 0;font-size:11.5px;cursor:pointer;color:var(--ink);
  border-bottom:1px dashed rgba(26,23,20,.06);
  user-select:none;
}
.fisc-expand-trigger:hover { color:var(--gold); }
.fisc-expand-trigger .fisc-exp-ico { 
  font-size:9px;color:var(--muted);margin-left:4px;transition:transform .2s;
}
.fisc-expand-trigger.open .fisc-exp-ico { transform:rotate(90deg); }
.fisc-expand-rows { display:none; }
.fisc-expand-rows.open { display:table-row-group; }
.fisc-sub-row td { font-size:10.5px;color:var(--muted);padding-left:24px !important;background:rgba(26,23,20,.018); }
/* ── Wealth final row ──────────────────────────────────────── */
.fisc-wealth-final {
  background:linear-gradient(90deg,rgba(184,147,74,.12) 0%,rgba(184,147,74,.04) 100%);
  border-radius:6px;margin-top:4px;padding:8px 8px !important;border-bottom:none !important;
}
.fisc-wealth-final.pos strong { color:#5C8B5C !important;font-size:14px; }
.fisc-wealth-final.neg strong { color:#C16060 !important;font-size:14px; }
.fisc-wealth-final span { font-weight:700;color:var(--ink) !important; }
/* ── Toggle button ─────────────────────────────────────────── */
.fisc-toggle-btn {
  font-size:11px;font-weight:600;color:var(--muted);
  background:none;border:1px solid var(--border);
  border-radius:6px;padding:4px 10px;cursor:pointer;
  transition:all .15s;
}
.fisc-toggle-btn:hover { color:var(--ink);border-color:var(--gold); }


/* ── Buy vs Rent 3-chapter layout ──────────────────────── */
.bvr-chapter {
  background:var(--white);border:1.5px solid var(--border);border-radius:14px;
  padding:20px;margin-bottom:14px;
}
.bvr-chapter.verdict-ch.win  { border-color:rgba(30,122,82,.4);background:linear-gradient(135deg,#f5fbf6 0%,#edf7ee 100%); }
.bvr-chapter.verdict-ch.lose { border-color:rgba(192,57,43,.3);background:linear-gradient(135deg,#fdf5f5 0%,#f7ecec 100%); }
.bvr-ch-head { display:flex;align-items:flex-start;gap:14px;margin-bottom:16px; }
.bvr-ch-icon { font-size:26px;line-height:1;flex-shrink:0; }
.bvr-ch-title { font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--ink);margin-bottom:2px; }
.bvr-ch-sub { font-size:11px;color:var(--muted);line-height:1.5; }
/* Chapter 1 flow */
.bvr-flow { display:flex;align-items:stretch;gap:0;margin-bottom:14px; }
.bvr-flow-item { flex:1;padding:14px 16px;border-radius:10px;border:1px solid var(--border); }
.bvr-flow-item.out { background:#fdf5f5; }
.bvr-flow-item.in  { background:#f5fbf6; }
.bvr-flow-item.net-pos { background:linear-gradient(135deg,#f5fbf6,#edf7ee);border-color:rgba(30,122,82,.3); }
.bvr-flow-item.net-neg { background:#fdf5f5;border-color:rgba(192,57,43,.3); }
.bvr-flow-arrow { display:flex;align-items:center;padding:0 10px;font-size:18px;font-weight:700;color:var(--muted);flex-shrink:0; }
.bvr-fi-label { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px; }
.bvr-fi-val { font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:4px; }
.bvr-fi-note { font-size:10px;color:var(--muted);line-height:1.4; }
/* Chapter 2 ledger */
.bvr-ledger { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px; }
.bvr-ledger-hd { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-bottom:8px;margin-bottom:6px;border-bottom:2px solid currentColor; }
.bvr-ledger-hd.out { color:#C16060; }
.bvr-ledger-hd.in  { color:#3a8a56; }
.bvr-li { display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:11.5px;border-bottom:1px dashed rgba(26,23,20,.06); }
.bvr-li span { color:var(--muted); }
.bvr-li strong { font-weight:600;color:var(--ink); }
.bvr-li.out strong { color:#C16060; }
.bvr-li.in  strong { color:#3a8a56; }
.bvr-li.sub { padding-left:14px;font-size:10.5px; }
.bvr-li.total { border-top:1.5px solid var(--ink);border-bottom:none;padding-top:7px;font-weight:700; }
.bvr-li.total span { color:var(--ink); }
.bvr-li.total.final.pos strong { color:#3a8a56;font-size:15px; }
.bvr-li.total.final.neg strong { color:#C16060;font-size:15px; }
/* Verdict strip */
.bvr-verdict-strip { display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;background:var(--cream);border-radius:8px;padding:10px 14px;font-size:11px;color:var(--muted); }
.bvr-vs-label { font-weight:700;color:var(--ink);font-size:11px; }
.bvr-vs-div { color:var(--border);font-size:14px; }
.bvr-verdict-strip strong { color:var(--ink); }
/* Chapter 3 comparison */
.bvr-comparison { display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:start;margin-bottom:16px; }
.bvr-comp-col { padding:14px;border-radius:10px;border:1.5px solid var(--border);background:var(--white); }
.bvr-comp-col.winner { border-color:var(--gold);background:linear-gradient(135deg,#fdfaf3,#f9f4e8); }
.bvr-comp-hd { font-size:12px;font-weight:700;color:var(--ink);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border); }
.bvr-comp-row { display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:11px;border-bottom:1px dashed rgba(26,23,20,.06); }
.bvr-comp-row span { color:var(--muted); }
.bvr-comp-row strong { font-weight:600; }
.bvr-comp-row strong.in  { color:#3a8a56; }
.bvr-comp-row strong.out { color:#C16060; }
.bvr-comp-row.total { font-weight:700;border-top:1.5px solid var(--ink);border-bottom:none;padding-top:6px;margin-top:4px; }
.bvr-comp-row.total span { color:var(--ink); }
.bvr-comp-vs { display:flex;align-items:center;justify-content:center;padding:0 14px;font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.05em;align-self:center; }
/* Summary box */
.bvr-summary-box { border-radius:12px;padding:20px;text-align:center; }
.bvr-summary-box.win  { background:linear-gradient(135deg,rgba(58,138,86,.1),rgba(58,138,86,.05));border:1.5px solid rgba(58,138,86,.3); }
.bvr-summary-box.lose { background:linear-gradient(135deg,rgba(193,96,96,.08),rgba(193,96,96,.03));border:1.5px solid rgba(193,96,96,.25); }
.bvr-sum-big { font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--ink);margin-bottom:6px;line-height:1.3; }
.bvr-sum-detail { font-size:12px;color:var(--muted);margin-bottom:10px; }
.bvr-sum-cross { font-size:11.5px;color:var(--muted);background:rgba(26,23,20,.04);border-radius:8px;padding:8px 12px;margin-top:8px; }

/* ── Buy vs Rent 3-chapter layout ────────────────────────── */
.bvr-chapter {
  background:var(--white);border:1px solid var(--border);border-radius:14px;
  padding:20px;margin-bottom:14px;
}
.bvr-ch-label {
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  margin-bottom:6px;
}
.rent-label  { color:#5C8B5C; }
.buy-label   { color:#B8934A; }
.verdict-label { color:var(--ink); }
.bvr-ch-title { font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;margin-bottom:6px; }
.bvr-ch-sub   { font-size:11.5px;color:var(--muted);line-height:1.6;margin-bottom:16px; }
.bvr-cards-row { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px; }
.bvr-card {
  background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:14px;
}
.bvr-card-win  { border-color:rgba(92,139,92,.5);background:#f5faf6; }
.bvr-card-lose { border-color:rgba(192,57,43,.3);background:#fdf5f5; }
.bvr-card-ico  { font-size:20px;margin-bottom:8px; }
.bvr-card-lbl  { font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px; }
.bvr-card-val  { font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;line-height:1;margin-bottom:4px; }
.bvr-card-val.pos { color:#2d7a4f; }
.bvr-card-val.neg { color:#b94040; }
.bvr-card-sub  { font-size:10px;color:var(--muted);line-height:1.5; }
.bvr-ledger { background:var(--cream);border-radius:10px;padding:12px 14px; }
.bvr-ledger-row {
  display:flex;justify-content:space-between;align-items:center;
  padding:5px 0;font-size:11.5px;border-bottom:1px dashed rgba(26,23,20,.07);
}
.bvr-ledger-row:last-child { border-bottom:none; }
.bvr-ledger-row span { color:var(--muted); }
.bvr-ledger-row strong { font-weight:600;font-variant-numeric:tabular-nums; }
.bvr-ledger-row.neg strong { color:#b94040; }
.bvr-ledger-row.pos strong { color:#2d7a4f; }
.bvr-ledger-row.total { border-top:1.5px solid var(--ink);border-bottom:none;padding-top:8px;margin-top:2px; }
.bvr-ledger-row.total span { color:var(--ink);font-weight:700; }
.bvr-ledger-row.total strong { font-size:14px; }
/* verdict box */
.bvr-verdict-ch { background:var(--cream); }
.bvr-verdict-box {
  border-radius:12px;border:1.5px solid var(--border);overflow:hidden;margin-bottom:12px;
}
.bvr-vb-row { display:flex;align-items:stretch; }
.bvr-vb-side { flex:1;padding:20px;text-align:center; }
.rent-side { background:#f5faf6; }
.buy-side  { background:#fdfaf5; }
.bvr-vb-vs { display:flex;align-items:center;padding:0 16px;font-size:20px;color:var(--muted);font-weight:300; }
.bvr-vb-label { font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px; }
.bvr-vb-num { font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;line-height:1;margin-bottom:6px; }
.bvr-vb-num.pos { color:#2d7a4f; }
.bvr-vb-num.neg { color:#b94040; }
.bvr-vb-desc { font-size:10px;color:var(--muted);line-height:1.5; }
.bvr-vb-winner {
  background:var(--ink);color:#fff;text-align:center;
  padding:12px;font-size:14px;font-weight:700;letter-spacing:.03em;
}
.bvr-verdict-box.win  .bvr-vb-winner { background:#2d7a4f; }
.bvr-verdict-box.lose .bvr-vb-winner { background:#b94040; }
.bvr-vb-note { font-size:11.5px;color:var(--muted);line-height:1.6;padding:12px 0 0; }
.bvr-vb-note strong { color:var(--ink); }
/* sensitivity strip */
.bvr-sens-row { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px; }
.bvr-sens-card {
  background:var(--white);border:1px solid var(--border);border-radius:8px;
  padding:10px 12px;text-align:center;
}
.bvr-sens-card.ok   { border-color:rgba(92,139,92,.4);background:#f5faf6; }
.bvr-sens-card.warn { border-color:rgba(184,147,74,.4);background:#fdfaf5; }
.bvr-sens-ret    { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px; }
.bvr-sens-winner { font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px; }
.bvr-sens-diff   { font-size:10px;color:var(--muted); }


/* ── Buy & Live unified layout ─────────────────────────────── */
.bvl-two-col {
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
/* Waterfall bars */
.bvl-wf { display:flex;flex-direction:column;gap:6px; }
.bvl-wf-row { display:grid;grid-template-columns:140px 1fr 90px;align-items:center;gap:8px; }
.bvl-wf-lbl { font-size:10.5px;color:var(--muted);white-space:nowrap; }
.bvl-wf-bar-wrap { height:10px;background:var(--cream);border-radius:5px;overflow:hidden; }
.bvl-wf-bar { height:100%;border-radius:5px;transition:width .5s; }
.bvl-wf-val { font-size:11px;font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums; }
.bvl-wf-total { display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1.5px solid var(--ink);font-size:12px;font-weight:700; }
/* What you get section */
.bvl-get-section {}
.bvl-get-h { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px; }
.bvl-ledger-row { display:flex;justify-content:space-between;padding:5px 0;font-size:11.5px;border-bottom:1px dashed rgba(26,23,20,.06); }
.bvl-ledger-row:last-child { border-bottom:none; }
.bvl-ledger-row span { color:var(--muted); }
.bvl-ledger-row strong { font-weight:600;font-variant-numeric:tabular-nums; }
.bvl-ledger-row.total { border-top:1.5px solid var(--ink);border-bottom:none;padding-top:7px;margin-top:2px;font-weight:700; }
.bvl-ledger-row.total span { color:var(--ink); }
.bvl-net-cost {
  background:rgba(192,57,43,.07);border-radius:8px;padding:10px 12px;margin-top:10px;
}
.bvl-net-cost.pos { background:rgba(92,139,92,.08); }
.bvl-nc-l { font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px; }
.bvl-nc-v { font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin-bottom:3px; }
.bvl-nc-sub { font-size:10px;color:var(--muted);line-height:1.5; }
/* Head-to-head */
.bvl-hth { display:flex;align-items:stretch;gap:0; }
.bvl-hth-col { flex:1;padding:14px; }
.buy-col  { background:#fdfaf5;border-radius:10px 0 0 10px;border:1px solid rgba(184,147,74,.2); }
.rent-col { background:#f5fdf7;border-radius:0 10px 10px 0;border:1px solid rgba(92,139,92,.2);border-left:none; }
.bvl-hth-h { font-size:11px;font-weight:700;margin-bottom:10px;color:var(--ink); }
.bvl-hth-row { display:flex;justify-content:space-between;font-size:11px;padding:4px 0;border-bottom:1px dashed rgba(26,23,20,.06); }
.bvl-hth-row span { color:var(--muted); }
.bvl-hth-row strong { font-weight:600;font-size:11px;font-variant-numeric:tabular-nums; }
.bvl-hth-div { display:flex;align-items:center;padding:0 10px;flex-shrink:0; }
.bvl-hth-vs { font-size:16px;color:var(--muted);font-weight:300; }
.bvl-hth-net { border-radius:8px;padding:8px 10px;margin-top:8px;text-align:center; }
.bvl-hth-net.pos { background:rgba(92,139,92,.12); }
.bvl-hth-net.neg { background:rgba(192,57,43,.08); }
.bvl-hth-net-l { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px; }
.bvl-hth-net-v { font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600; }
.bvl-hth-net.pos .bvl-hth-net-v { color:#2d7a4f; }
.bvl-hth-net.neg .bvl-hth-net-v { color:#b94040; }
.bvl-winner-banner {
  margin-top:12px;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:600;
  text-align:center;
}
.bvl-winner-banner.win  { background:rgba(92,139,92,.12);color:#2d7a4f;border:1px solid rgba(92,139,92,.3); }
.bvl-winner-banner.lose { background:rgba(184,147,74,.1);color:#8a6820;border:1px solid rgba(184,147,74,.3); }
.bvl-winner-banner strong { color:inherit; }
/* Breakeven pressure */
.bvl-pressure-stmt {
  font-size:12.5px;line-height:1.8;color:var(--ink);background:var(--cream);
  border-radius:10px;padding:14px 16px;border-left:3px solid var(--gold);
}
.bvl-pressure-stmt strong { color:var(--ink); }
/* Key takeaway */
.bvl-takeaway {
  background:var(--white);border:1.5px solid var(--border);border-radius:14px;
  padding:20px;margin-bottom:14px;
}
.bvl-ta-h { font-size:13px;font-weight:700;margin-bottom:14px;color:var(--ink); }
.bvl-ta-body { display:flex;flex-direction:column;gap:10px; }
.bvl-ta-row { display:flex;align-items:flex-start;gap:12px;background:var(--cream);border-radius:10px;padding:14px; }
.rent-ta { border-left:3px solid #5C8B5C; }
.buy-ta  { border-left:3px solid #B8934A; }
.bvl-ta-icon { font-size:20px;flex-shrink:0; }
.bvl-ta-content { font-size:12px;color:var(--muted);line-height:1.7; }
.bvl-ta-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:4px; }
.bvl-ta-content strong { color:var(--ink); }
.bvl-ta-verdict {
  text-align:center;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:700;margin-top:4px;
}
.bvl-ta-verdict.win  { background:rgba(92,139,92,.12);color:#2d7a4f;border:1px solid rgba(92,139,92,.3); }
.bvl-ta-verdict.lose { background:rgba(184,147,74,.1);color:#8a6820;border:1px solid rgba(184,147,74,.3); }


/* ── Building Search (rcbs) ─────────────────────────────────── */
.rcbs-wrap { position:relative;margin-bottom:12px; }
.rcbs-search-row { display:flex;align-items:center;gap:8px; }
.rcbs-input {
  flex:1;height:44px;border:2px solid var(--border);border-radius:12px;
  padding:0 44px 0 16px;font-size:13.5px;font-family:inherit;
  color:var(--ink);background:var(--white);outline:none;
  transition:border-color .2s;
}
.rcbs-input:focus { border-color:var(--gold); }
.rcbs-clear-btn {
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;color:var(--muted);
  font-size:16px;padding:4px;line-height:1;
}
.rcbs-drop {
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:var(--white);border:1.5px solid var(--border);
  border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);
  z-index:200;overflow:hidden;max-height:320px;overflow-y:auto;
}
.rcbs-drop-item {
  padding:11px 16px;cursor:pointer;border-bottom:1px solid var(--border);
  transition:background .12s;
}

/* Nest Search v2 — pocket chips */
.rcbs-pockets{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.rcbs-pk-hd{width:100%;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:1px;}
.rcbs-pk{padding:4px 11px;border:1.2px solid var(--border);background:var(--white);border-radius:16px;font-size:11.5px;cursor:pointer;color:var(--ink);transition:all .15s;font-family:inherit;}
.rcbs-pk:hover{border-color:var(--gold);}
.rcbs-pk.on{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600;}
.rcbs-pk .pkn{opacity:.6;font-size:10px;margin-left:3px;}
.rcbs-pk.on .pkn{opacity:.85;}
.rcbs-di-comm{display:inline-block;background:var(--gold);color:#fff;font-weight:600;padding:0 6px;border-radius:8px;font-size:9px;margin-right:5px;vertical-align:middle;}
.rcbs-di-pocket{display:inline-block;background:#fbf3df;color:#7a5e23;font-weight:600;padding:0 6px;border-radius:8px;font-size:9.5px;margin-left:4px;}
.rcbs-group-hd{padding:7px 16px 4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;background:#faf7f1;border-bottom:1px solid var(--border);}

/* Nest Search v2 — mode toggle + browse grid */
.rcbs-modes{display:flex;gap:0;background:#efe9dc;border-radius:11px;padding:3px;width:fit-content;margin:0 0 12px;}
.rcbs-mode{padding:7px 16px;border:none;background:transparent;border-radius:9px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted);transition:all .15s;font-family:inherit;}
.rcbs-mode.on{background:var(--white);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08);}
.rcbs-browse{margin-top:6px;}
.rcbs-br-hd{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:4px 2px 10px;}
.rcbs-br-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;}
.rcbs-br-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:13px;cursor:pointer;transition:all .15s;}
.rcbs-br-card:hover{border-color:var(--gold);background:#fbf3df;transform:translateY(-1px);}
.rcbs-br-cn{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:3px;line-height:1.25;}
.rcbs-br-cm{font-size:10.5px;color:var(--muted);}
.rcbs-br-cp{font-size:10px;color:var(--gold);font-weight:600;margin-top:5px;}


.rcbs-drop-item:last-child { border-bottom:none; }
.rcbs-drop-item:hover { background:var(--cream); }
.rcbs-di-name { font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:2px; }
.rcbs-di-meta { font-size:10.5px;color:var(--muted); }
.rcbs-no-result { padding:14px 16px;font-size:12px;color:var(--muted);text-align:center; }
/* Building result card */
.rcbs-card-hd {
  display:flex;align-items:flex-start;justify-content:space-between;
  margin-bottom:12px;
}
.rcbs-card-name { font-size:16px;font-weight:800;color:var(--ink);margin-bottom:2px; }
.rcbs-card-area { font-size:11px;color:var(--muted); }
/* Stats card */
.rcbs-stat-card {
  display:flex;align-items:stretch;background:var(--cream);
  border-radius:12px;padding:14px 16px;gap:16px;margin-bottom:10px;
}
.rcbs-sc-main { flex:1; }
.rcbs-sc-lbl { font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px; }
.rcbs-sc-val { font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;color:var(--gold);line-height:1;margin-bottom:4px; }
.rcbs-sc-mo  { font-size:11px;color:var(--muted); }
.rcbs-sc-aside {
  display:flex;flex-direction:column;gap:6px;text-align:right;
  border-left:1px solid var(--border);padding-left:16px;justify-content:center;
}
.rcbs-sc-ai { display:flex;flex-direction:column; }
.rcbs-sc-al { font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px; }
.rcbs-sc-av { font-size:12px;font-weight:700;color:var(--ink); }
.rcbs-sc-av.gold { color:var(--gold); }
/* Range bar */
.rcbs-range-wrap { margin-bottom:10px; }
.rcbs-range-labels {
  display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:5px;
}
.rcbs-range-mid { color:var(--gold);font-weight:700; }
.rcbs-range-track {
  position:relative;height:8px;border-radius:4px;
  background:linear-gradient(90deg,rgba(92,139,92,.2),rgba(184,147,74,.3),rgba(192,57,43,.2));
}
.rcbs-range-fill {
  position:absolute;height:100%;background:rgba(184,147,74,.25);border-radius:4px;
}
.rcbs-range-dot {
  position:absolute;width:13px;height:13px;
  background:var(--gold);border:2.5px solid #fff;border-radius:50%;
  top:-2.5px;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:left .3s;
}
/* Confidence note */
.rcbs-conf { font-size:10.5px;margin-bottom:10px;line-height:1.5; }
/* Model launch button */
.rcbs-model-btn {
  width:100%;height:40px;background:var(--ink);color:#fff;border:none;
  border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;
  font-family:inherit;letter-spacing:.04em;transition:opacity .15s;
}
.rcbs-model-btn:hover { opacity:.85; }
/* Divider */
.rcbs-divider {
  display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted);font-size:10.5px;
}
.rcbs-divider::before,.rcbs-divider::after { content:'';flex:1;height:1px;background:var(--border); }


/* ── Panel building search (nbs) ───────────────────────────── */
.nbs-input { width:100%;box-sizing:border-box; }
.nbs-drop {
  position:absolute;top:calc(100% + 3px);left:0;right:0;
  background:var(--white);border:1.5px solid var(--border);
  border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.1);
  z-index:300;max-height:260px;overflow-y:auto;
}
.nbs-drop-item {
  padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border);
  transition:background .1s;
}
.nbs-drop-item:last-child { border-bottom:none; }
.nbs-drop-item:hover { background:var(--cream); }
.nbs-di-name { font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px; }
.nbs-di-meta { font-size:10px;color:var(--muted); }
.nbs-no-result { padding:12px 14px;font-size:11px;color:var(--muted);text-align:center; }
.nbs-selected {
  display:flex;align-items:center;gap:6px;margin-top:6px;
  background:var(--cream);border-radius:8px;padding:7px 10px;
  border:1px solid rgba(184,147,74,.3);
}


/* ── Building Explorer last5 + activity ────────────────────── */
.rcbs-last5 { margin-bottom:10px; }
.rcbs-l5-hd {
  font-size:9.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:var(--muted);margin-bottom:7px;
}
.rcbs-l5-table {
  width:100%;border-collapse:collapse;font-size:11.5px;
}
.rcbs-l5-table thead th {
  font-size:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted);padding:4px 8px;
  border-bottom:1.5px solid var(--border);text-align:left;
}
.rcbs-l5-table tbody tr {
  border-bottom:1px dashed rgba(26,23,20,.07);
}
.rcbs-l5-table tbody tr:last-child { border-bottom:none; }
.rcbs-l5-table tbody td {
  padding:6px 8px;color:var(--ink);font-variant-numeric:tabular-nums;
}
.rcbs-l5-table tbody td:first-child { color:var(--muted);font-size:10.5px; }
.rcbs-l5-table tbody strong { color:var(--gold); }
/* Activity bars */
.rcbs-activity { margin-bottom:10px; }
.rcbs-act-hd {
  font-size:9.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:var(--muted);margin-bottom:8px;
}
.rcbs-act-bars {
  display:flex;align-items:flex-end;gap:6px;height:50px;
}
.rcbs-act-col {
  display:flex;flex-direction:column;align-items:center;
  flex:1;height:100%;justify-content:flex-end;gap:2px;
}
.rcbs-act-bar {
  width:100%;background:var(--gold);border-radius:3px 3px 0 0;
  opacity:.75;min-height:4px;transition:height .3s;
}
.rcbs-act-lbl { font-size:8px;color:var(--muted); }
.rcbs-act-n   { font-size:8px;font-weight:700;color:var(--ink); }


/* ── nbs mini card (Buy/Negotiate tabs) ─────────────────────── */
.nbs-mini-card {
  background:var(--cream);border:1px solid var(--border);
  border-radius:10px;padding:12px 14px;
}
.nbs-mc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px;}
.nbs-mc-pills .rc-bed{font-size:10.5px;padding:4px 11px;}
.nbs-yr-trend{margin-top:8px;}
.nbs-yr-bars{display:flex;align-items:flex-end;gap:6px;height:70px;}
.nbs-yr-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;}
.nbs-yr-cnt{font-size:10.5px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.nbs-yr-bar{width:100%;max-width:32px;background:#ddd;border-radius:3px 3px 0 0;}
.nbs-yr-bar.cur{background:var(--gold);}
.nbs-yr-lbl{font-size:9.5px;color:var(--muted);margin-top:3px;}
.nbs-mc-macro{font-size:11px;color:var(--muted);margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);}
.nbs-mc-macro b{color:var(--ink);}
.nbs-mc-txns{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);}
.nbs-mc-txnhead{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.nbs-mc-txnbtns{display:flex;gap:4px;}
.nbs-mc-szbtn{font-size:10px;padding:3px 9px;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:11px;cursor:pointer;font-weight:500;}
.nbs-mc-szbtn.active{background:var(--gold);color:#fff;}
.nbs-mc-szbtn:hover:not(.active){background:rgba(180,140,40,.1);}
.nbs-mc-txnlist{max-height:300px;overflow-y:auto;background:rgba(250,247,241,.5);padding:6px 10px;border-radius:6px;font-size:11px;}
.nbs-mc-txnrow{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dotted rgba(180,140,40,.18);gap:8px;}
.nbs-mc-txnrow:last-child{border-bottom:none;}
.nbs-mc-txnrow .d{color:var(--muted);font-size:10.5px;}
.nbs-mc-txnrow .p{font-weight:600;white-space:nowrap;}
.nbs-mc-pager{display:flex;align-items:center;gap:4px;margin-top:8px;justify-content:center;}
.nbs-pg-btn,.nbs-pg-num{font-size:10px;padding:3px 9px;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:11px;cursor:pointer;font-weight:500;}
.nbs-pg-btn:disabled{opacity:.35;cursor:not-allowed;}
.nbs-pg-num.active{background:var(--gold);color:#fff;}
.nbs-pg-btn:not(:disabled):hover,.nbs-pg-num:not(.active):hover{background:rgba(180,140,40,.1);}

.nbs-mini-stats {
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
}
.nbs-ms-item {
  background:var(--white);border-radius:7px;padding:6px 8px;text-align:center;
  border:1px solid var(--border);
}
.nbs-ms-hl { border-color:var(--gold);background:#fdfaf5; }
.nbs-ms-l { font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px; }
.nbs-ms-v { font-size:11px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums; }
.nbs-ms-hl .nbs-ms-v { color:var(--gold); }


/* ── Building Intelligence panel ───────────────────────────── */
.nbi-tab-bar {
  display:flex;gap:0;margin-bottom:14px;
  border-bottom:2px solid var(--border);
}
.nbi-tab {
  padding:9px 18px;font-size:12px;font-weight:700;cursor:pointer;
  color:var(--muted);border-bottom:2.5px solid transparent;margin-bottom:-2px;
  transition:all .15s;
}
.nbi-tab:hover { color:var(--ink); }
.nbi-tab.active { color:var(--gold);border-bottom-color:var(--gold); }
.nbi-hd {
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:14px;flex-wrap:wrap;
}
.nbi-title { font-size:17px;font-weight:800;color:var(--ink);margin-bottom:3px; }
.nbi-meta  { font-size:10.5px;color:var(--muted); }
.nbi-stats-row {
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;
}
.nbs-insights-grid{display:flex;flex-direction:column;gap:0;margin:14px 0;border:1px solid var(--border);border-radius:10px;background:rgba(250,247,241,.5);overflow:hidden;}
.nbs-insight{display:flex;align-items:baseline;gap:12px;padding:10px 14px;border-top:1px solid var(--border);font-size:12.5px;}
.nbs-insight:first-child{border-top:none;}
.nbs-insight-k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;min-width:130px;flex-shrink:0;}
.nbs-insight-v{color:var(--ink);font-weight:600;}

.nbi-stat {
  background:var(--cream);border-radius:9px;padding:10px 8px;text-align:center;
  border:1px solid var(--border);
}
.nbi-stat-hl { border-color:var(--gold);background:#fdfaf5; }
.nbi-stat-l { font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px; }
.nbi-stat-v { font-size:12px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums; }
.nbi-stat-hl .nbi-stat-v { color:var(--gold); }
/* Year bars */
.nbi-yr-bars {
  display:flex;align-items:flex-end;gap:10px;height:130px;padding:6px 4px 0;
}
.nbi-yr-col {
  display:flex;flex-direction:column;align-items:center;
  flex:1;height:100%;justify-content:flex-end;gap:4px;
}
.nbi-yr-bar { width:100%;border-radius:4px 4px 0 0;min-height:6px;transition:height .3s; }
.nbi-yr-lbl { font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.02em; }
.nbi-yr-n   { font-size:12px;font-weight:700;color:var(--ink); }


/* ── Price trend chart ──────────────────────────────────────── */
.rcbs-trend { margin-bottom:10px; }


/* ── Property type filter pills ────────────────────────── */
.rcbs-type-row {
  display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;
}
.rcbs-type-btn {
  font-size:11px;font-weight:600;padding:5px 12px;border-radius:20px;
  border:1.5px solid var(--border);background:var(--white);
  color:var(--muted);cursor:pointer;transition:all .15s;white-space:nowrap;
  font-family:inherit;
}
.rcbs-type-btn:hover { border-color:var(--gold);color:var(--ink); }
.rcbs-type-btn.active { background:var(--ink);color:#fff;border-color:var(--ink); }


/* ── Year price trend bars ──────────────────────────────── */
.rcbs-yr-trend { margin-bottom:10px; }
.rcbs-yr-bars {
  display:flex;align-items:flex-end;gap:4px;height:90px;padding-top:4px;
}
.rcbs-yr-col {
  display:flex;flex-direction:column;align-items:center;
  flex:1;height:100%;justify-content:flex-end;gap:2px;
}
.rcbs-yr-bar {
  width:100%;border-radius:3px 3px 0 0;min-height:4px;transition:height .3s;
}
.rcbs-yr-val {
  font-size:9px;font-weight:600;color:var(--ink);text-align:center;
  white-space:nowrap;overflow:visible;width:120%;
  margin-left:-10%;margin-bottom:3px;
}
.rcbs-yr-lbl { font-size:9px;color:var(--muted);font-weight:700; }


/* ============================================================
   NEST SEARCH v4 — Buy Model full-page search styling
   ============================================================ */
.bm-shell{ display:flex; flex-direction:column; gap:14px; padding:8px 4px 24px; }
.bm-shell.bm-mode-search .bm-chip{ display:none; }
.bm-shell.bm-mode-search .bm-search-panel{ display:flex; }
.bm-shell.bm-mode-search .bm-form-host{ display:none; }
.bm-shell.bm-mode-model  .bm-chip{ display:flex; }
.bm-shell.bm-mode-model  .bm-search-panel{ display:none; }
.bm-shell.bm-mode-model  .bm-form-host{ display:block; }

/* Collapsed chip */
.bm-chip{
  display:flex; align-items:center; gap:14px; padding:13px 18px;
  background:var(--white); border:1px solid var(--border);
  color:var(--ink); border-radius:14px; box-shadow:0 2px 10px rgba(0,0,0,.05);
  position:sticky; top:0; z-index:30;
}
.bm-chip-ico{ font-size:22px; flex-shrink:0; }
.bm-chip-meta{ flex:1; min-width:0; }
.bm-chip-name{ font-family:system-ui,sans-serif; font-size:14px; font-weight:700;
  color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bm-chip-sub{ font-family:system-ui,sans-serif; font-size:11px; color:var(--muted); margin-top:1px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bm-chip-change{
  background:var(--ink); border:1px solid var(--ink);
  color:var(--white); font-family:system-ui,sans-serif; font-size:11px; font-weight:600;
  padding:7px 16px; border-radius:18px; cursor:pointer; flex-shrink:0;
  transition:background .15s, border-color .15s;
}
.bm-chip-change:hover{ background:var(--gold); border-color:var(--gold); }

/* Full-page search panel */
.bm-search-panel{
  flex-direction:column; gap:14px; padding:20px;
  background:#faf7f1; border:1px solid var(--border); border-radius:14px;
  min-height:520px;
}
.bm-search-head{ text-align:center; padding:8px 0 4px; }
.bm-search-kicker{ font-family:system-ui,sans-serif; font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold); font-weight:700; }
.bm-search-title{ font-family:Georgia,'Times New Roman',serif; font-size:22px; font-weight:400;
  margin:6px 0 4px; color:var(--ink); letter-spacing:-.01em; }
.bm-search-sub{ font-family:system-ui,sans-serif; font-size:12px; color:var(--muted);
  max-width:520px; margin:0 auto; line-height:1.55; }

/* Mode toggle (popular / search / browse) */
.bm-modes{ display:flex; gap:0; padding:3px; background:#efe9dc; border-radius:11px;
  margin:0 auto; width:fit-content; font-family:system-ui,sans-serif; }
.bm-mode{ padding:8px 18px; border:none; background:transparent; border-radius:9px;
  font-size:12.5px; font-weight:600; cursor:pointer; color:var(--muted); transition:all .15s;
  font-family:inherit; }
.bm-mode.on{ background:#fff; color:var(--ink); box-shadow:0 1px 4px rgba(0,0,0,.08); }

/* Search input */
.bm-search-row{ position:relative; max-width:560px; margin:0 auto; width:100%; }
.bm-search-input{ width:100%; padding:14px 44px 14px 18px; font-size:15px;
  border:1.5px solid var(--border); border-radius:14px; background:#fff;
  font-family:system-ui,sans-serif; color:var(--ink); outline:none;
  transition:border-color .2s, box-shadow .2s; }
.bm-search-input:focus{ border-color:var(--gold); box-shadow:0 4px 20px rgba(184,147,74,.16); }
.bm-search-input::placeholder{ color:#b3aa97; }
.bm-search-clear{ position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:24px; height:24px; border-radius:50%; border:none; background:#efe9dc;
  color:var(--muted); cursor:pointer; font-size:13px; line-height:1; }

/* Type row */
/* Iteration 2: trend strip styling */
.bm-spark{display:flex;align-items:flex-end;gap:2px;height:24px;width:46px;margin-right:10px;flex-shrink:0;}
.bm-sb{width:9px;background:var(--gold);opacity:.7;border-radius:1.5px 1.5px 0 0;}
.bm-sb:last-child{opacity:1;}
.bm-range{font-size:9.5px;color:var(--muted);margin-top:1px;}
.fisc-trend{margin:0 0 20px;padding:18px 20px;background:linear-gradient(135deg,#faf7f1 0%,#f4ecd9 100%);border:1px solid var(--gold);border-radius:14px;font-family:system-ui,sans-serif;box-shadow:0 2px 12px rgba(180,140,40,.08);}
.fisc-trend-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:8px;}
.fisc-trend-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.fisc-trend-headline{font-size:15px;color:var(--ink);font-weight:600;line-height:1.5;}
.fisc-trend-headline .up{color:#0f7a3e;}
.fisc-trend-headline .down{color:#b94040;}
.fisc-trend-spark{display:flex;align-items:flex-end;gap:5px;height:48px;}
.fisc-trend-bar{width:20px;background:var(--gold);border-radius:3px 3px 0 0;position:relative;opacity:.6;}
.fisc-trend-bar.cur{opacity:1;}
.fisc-trend-bar-lbl{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted);font-weight:500;}
.fisc-trend-meta{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);line-height:1.5;flex:1;min-width:240px;}
.fisc-trend-meta b{color:var(--ink);font-weight:600;}
.fisc-trend-macro{font-size:12.5px;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px dashed rgba(180,140,40,.4);}
.fisc-trend-macro b{color:var(--ink);}
.fisc-trend-txnbar{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(180,140,40,.4);font-size:12px;color:var(--muted);}
.fisc-trend-txnbtn{font-size:11px;padding:5px 12px;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:14px;cursor:pointer;font-weight:500;}
.fisc-trend-txnbtn.active{background:var(--gold);color:#fff;}
.fisc-trend-txnbtn:hover{background:rgba(180,140,40,.1);}
.fisc-trend-txnbtn.active:hover{background:var(--gold);}
.fisc-trend-txnlist{margin-top:12px;border-radius:8px;background:rgba(255,255,255,.5);padding:8px 12px;font-size:11.5px;color:var(--ink);max-height:280px;overflow-y:auto;}
.fisc-trend-txnrow{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dotted rgba(180,140,40,.15);}
.fisc-trend-txnrow:last-child{border-bottom:none;}
.fisc-trend-txnrow .d{color:var(--muted);font-size:10.5px;}
.fisc-trend-txnrow .p{font-weight:600;}
.fisc-trend-pager{display:flex;align-items:center;gap:4px;margin-top:10px;justify-content:center;}
.fisc-pg-btn,.fisc-pg-num{font-size:11px;padding:4px 10px;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:14px;cursor:pointer;font-weight:500;}
.fisc-pg-btn:disabled{opacity:.35;cursor:not-allowed;}
.fisc-pg-num.active{background:var(--gold);color:#fff;}
.fisc-pg-btn:not(:disabled):hover,.fisc-pg-num:not(.active):hover{background:rgba(180,140,40,.1);}
.bm-budget{margin:14px auto 0;max-width:560px;padding:0 4px;font-family:system-ui,sans-serif;}
.bm-budget-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.bm-budget-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.bm-budget-range{font-size:13px;font-weight:600;color:var(--ink);}
.bm-budget-track{position:relative;height:36px;}
.bm-budget-track input[type=range]{position:absolute;left:0;right:0;width:100%;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;height:36px;margin:0;}
.bm-budget-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--gold);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.15);cursor:pointer;}
.bm-budget-track input[type=range]::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--gold);border:2px solid #fff;cursor:pointer;}
.bm-budget-track::before{content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:4px;border-radius:2px;background:#efe9dc;}
.bm-budget-ticks{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:-4px;}
.bm-typerow{ display:flex; gap:7px; justify-content:center; flex-wrap:wrap;
  font-family:system-ui,sans-serif; }
.bm-type{ padding:6px 14px; border:1.3px solid var(--border); background:#fff;
  border-radius:20px; font-size:12px; cursor:pointer; color:var(--muted); font-weight:600;
  transition:all .15s; font-family:inherit; }
.bm-type.on{ border-color:var(--gold); background:#fbf3df; color:#7a5e23; }

/* Pocket chips */
.bm-pockets{ display:flex; flex-wrap:wrap; gap:7px; justify-content:center;
  max-width:720px; margin:0 auto; font-family:system-ui,sans-serif; }
.bm-pk-hd{ width:100%; text-align:center; font-size:10px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:2px; }
.bm-pk{ padding:5px 13px; border:1.2px solid var(--border); background:#fff;
  border-radius:18px; font-size:12px; cursor:pointer; transition:all .15s;
  font-family:inherit; color:var(--ink); }
.bm-pk:hover{ border-color:var(--gold); }
.bm-pk.on{ background:var(--gold); border-color:var(--gold); color:#fff; font-weight:600; }
.bm-pk-n{ opacity:.6; font-size:10.5px; margin-left:4px; }
.bm-pk.on .bm-pk-n{ opacity:.85; }

/* Results / popular grid / browse grid */
.bm-results{ min-height:200px; }
.bm-section-hd{ font-family:system-ui,sans-serif; font-size:10.5px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--gold); font-weight:700;
  margin:14px 0 10px; text-align:left; padding-left:4px; }
.bm-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; }
.bm-card{ background:#fff; border:1px solid var(--border); border-radius:12px;
  padding:14px 15px; cursor:pointer; transition:all .15s; }
.bm-card:hover{ border-color:var(--gold); background:#fbf3df; transform:translateY(-1px);
  box-shadow:0 3px 12px rgba(184,147,74,.12); }
.bm-card-cn{ font-family:system-ui,sans-serif; font-size:13.5px; font-weight:700;
  color:var(--ink); line-height:1.3; }
.bm-card-sub{ font-family:system-ui,sans-serif; font-size:10.5px; color:var(--muted); margin-top:3px; }
.bm-card-cta{ font-family:system-ui,sans-serif; font-size:10px; color:var(--gold);
  font-weight:600; margin-top:7px; letter-spacing:.05em; }

/* Group header (for grouped search results) */
.bm-group-hd{ font-family:system-ui,sans-serif; display:flex; align-items:baseline; gap:8px;
  margin:18px 0 8px 4px; padding-bottom:5px; border-bottom:1px solid var(--border); }
.bm-group-hd .gn{ font-size:14px; font-weight:700; color:var(--ink); }
.bm-group-hd .gc{ font-size:11px; color:var(--muted); }
.bm-group-hd .crumb{ font-size:11px; color:var(--gold); cursor:pointer; margin-left:auto;
  font-weight:600; background:none; border:none; padding:0; }

/* Result row */
.bm-row{ display:flex; align-items:center; gap:12px; background:#fff;
  border:1px solid var(--border); border-radius:10px; padding:11px 14px; margin-bottom:7px;
  cursor:pointer; transition:all .15s; }
.bm-row:hover{ border-color:var(--gold); background:#fbf3df; }
.bm-row .ic{ font-size:20px; flex-shrink:0; width:30px; text-align:center; }
.bm-row .body{ flex:1; min-width:0; }
.bm-row .nm{ font-family:system-ui,sans-serif; font-size:13.5px; font-weight:600; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bm-row .mt{ font-family:system-ui,sans-serif; font-size:11px; color:var(--muted); margin-top:2px; }
.bm-row .sub-tag{ display:inline-block; background:#fbf3df; color:#7a5e23; font-weight:600;
  padding:1px 7px; border-radius:9px; font-size:10px; margin-right:5px; }
.bm-row .px{ text-align:right; flex-shrink:0; font-family:system-ui,sans-serif; }
.bm-row .v{ font-size:13.5px; font-weight:700; color:var(--ink); }
.bm-row .l{ font-size:9.5px; color:var(--muted); }

.bm-empty{ text-align:center; color:var(--muted); font-family:system-ui,sans-serif;
  font-size:13px; padding:40px 20px; }
.bm-empty-ico{ font-size:32px; display:block; margin-bottom:10px; opacity:.4; }

/* ============================================================
   Buy vs Live — simplified output (v2, one-glance layout)
   ============================================================ */

.bvr-hero {
  text-align:center; padding:24px 20px 20px;
  background:linear-gradient(135deg,#faf7f1 0%,#f3ede0 100%);
  border-radius:16px; margin-bottom:20px;
  border:1px solid var(--border);
}
.bvr-hero-kicker {
  font-size:10px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--muted); margin-bottom:16px;
}
.bvr-hero-line {
  display:flex; align-items:center; justify-content:center; gap:24px;
  flex-wrap:wrap; margin-bottom:18px;
}
.bvr-hero-side { display:flex; flex-direction:column; align-items:center; gap:2px; }
.bvr-hero-l {
  font-size:11px; font-weight:600; color:var(--muted);
  text-transform:uppercase; letter-spacing:.6px;
}
.bvr-hero-v {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(30px,4.2vw,44px); font-weight:600; line-height:1.05;
  color:var(--ink);
}
.bvr-hero-v.win { color:#3a8a56; }
.bvr-hero-u { font-size:11px; color:var(--muted); }
.bvr-hero-vs {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:22px; color:var(--gold); font-style:italic; padding:0 4px;
}
.bvr-hero-verdict {
  font-size:14px; font-weight:600; padding:10px 16px; border-radius:8px;
  display:inline-block; margin-top:4px;
}
.bvr-hero-verdict.win { background:rgba(58,138,86,.12); color:#3a8a56; }
.bvr-hero-verdict.lose { background:rgba(193,96,96,.12); color:#C16060; }
.bvr-hero-note {
  font-size:12px; color:var(--muted); margin-top:10px;
}

.bvr-cards {
  display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;
}
@media (max-width:820px) {
  .bvr-cards { grid-template-columns:1fr; }
}

.bvr-card.rent, .bvr-card.buy {
  background:#fff; border:1px solid var(--border); border-radius:14px;
  padding:0; overflow:hidden;
  display:flex; flex-direction:column;
}
.bvr-card.buy.win {
  border-color:rgba(58,138,86,.35);
  box-shadow:0 2px 10px rgba(58,138,86,.06);
}

.bvr-card-h {
  padding:14px 18px; font-family:'Cormorant Garamond',Georgia,serif;
  font-size:20px; font-weight:600; color:var(--ink);
  display:flex; align-items:center; gap:10px;
  background:#faf7f1; border-bottom:1px solid var(--border);
}
.bvr-card-ico { font-size:22px; }

.bvr-card-body {
  padding:14px 18px; flex:1; display:flex; flex-direction:column;
}

.bvr-line {
  display:flex; justify-content:space-between; align-items:baseline;
  padding:6px 0; gap:14px; font-size:13px;
}
.bvr-line span {
  color:var(--ink); flex:1; line-height:1.4;
}
.bvr-line span em {
  font-style:normal; color:var(--muted); font-size:11px;
  display:block; margin-top:1px;
}
.bvr-line strong {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:16px; font-weight:600; color:var(--ink); white-space:nowrap;
}
.bvr-line.sep {
  border-top:1px dashed var(--border); margin-top:4px; padding-top:10px;
  font-weight:600;
}
.bvr-line.refund strong { color:#3a8a56; }
.bvr-line.total {
  border-top:2px solid var(--ink); margin-top:8px; padding-top:12px;
}
.bvr-line.total span { font-weight:700; }
.bvr-line.total strong {
  font-size:22px;
}
.bvr-card.buy.win .bvr-line.total strong { color:#3a8a56; }

.bvr-card-foot {
  margin-top:12px; padding-top:10px; border-top:1px solid var(--border);
  font-size:11.5px; color:var(--muted); line-height:1.5;
}

.bvr-explain {
  background:#fff8ec; border-left:3px solid var(--gold);
  padding:12px 16px; border-radius:0 8px 8px 0;
  font-size:12.5px; color:#5d5344; line-height:1.6;
  margin-top:6px;
}

/* ── Stacked sales-per-year chart (bed distribution) ───────────────── */
.nbi-stack-legend {
  display:flex; gap:12px; flex-wrap:wrap; margin-bottom:10px;
  font-size:10px; color:var(--muted);
}
.nbi-stack-lg { display:inline-flex; align-items:center; gap:5px; }
.nbi-stack-swatch {
  display:inline-block; width:9px; height:9px; border-radius:2px;
}
.nbi-stack-bars .nbi-stack-col {
  width:20px; margin:0 auto; border-radius:3px 3px 0 0; overflow:hidden;
  display:flex; flex-direction:column-reverse;   /* fill from bottom */
  align-items:stretch;
}
.nbi-stack-bars .nbi-stack-slice {
  min-height:1px;
}

/* ── Bed-mix stacked bar: per-bed count labels inside slices ──── */
.nbi-stack-bars .nbi-stack-col {
  width: 42px;
  position: relative;
  margin: 0 auto;
}
.nbi-stack-bars .nbi-stack-slice {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid rgba(255,255,255,.35);  /* subtle divider between stacked beds */
}
.nbi-stack-bars .nbi-stack-slice:first-child {
  border-top: none;
}
.nbi-stack-slice-lbl {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.4);
  line-height: 1;
  letter-spacing: .02em;
}

/* ═══════════════════════════════════════════════════════════════════
   REFINED CREAM — sitewide typography + spacing pass
   ═══════════════════════════════════════════════════════════════════
   Applied as a final overlay so existing rules elsewhere in this file
   still work; this block just raises the bar on the parts users see most.
*/

/* Stat labels: sentence case, softer weight, more breathing room */
.nbi-stat-lbl,
.kpi-lbl,
.neg-stat-lbl,
.fisc-stat-lbl {
  font-size: var(--fs-label) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  color: var(--muted) !important;
  margin-bottom: 8px !important;
}

/* Stat values: serif, larger, less aggressive weight */
.nbi-stat-v,
.kpi-val,
.neg-stat-v,
.fisc-stat-v {
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  color: var(--ink);
}

/* Stat cards: more padding, softer background, 0.5px borders */
.nbi-stat,
.kpi-card {
  background: var(--white) !important;
  border-radius: 10px !important;
  padding: 16px 12px !important;
  border: 1px solid var(--border) !important;
  transition: border-color .15s, box-shadow .15s;
}
.nbi-stat.nbi-stat-hl,
.kpi-card.kpi-card-hl {
  border-color: var(--gold) !important;
  border-width: 1.5px !important;
}

/* Card headers: serif, larger, sentence case */
.neg-card-t {
  font-family: var(--font-serif) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: var(--ink) !important;
}

/* Card badges (like DLD, 2 BR pill): softer look */
.neg-card-badge {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: var(--gold-soft) !important;
  color: var(--muted) !important;
  border: 0.5px solid var(--border) !important;
}

/* Building name in intel panel header */
.nbi-hdr-t,
.rcbs-hdr-t {
  font-family: var(--font-serif) !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  color: var(--ink) !important;
  text-transform: none !important;
}
.nbi-hdr-sub,
.rcbs-hdr-sub {
  font-size: 13px !important;
  color: var(--muted) !important;
  margin-top: 4px !important;
}

/* Transaction table — better typography */
.fisc-table {
  font-size: 13px !important;
}
.fisc-table th {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: var(--muted) !important;
  padding: 8px 8px 6px !important;
  border-bottom: 0.5px solid var(--border) !important;
}
.fisc-table td {
  padding: 7px 8px !important;
  border-bottom: 0.5px solid var(--border) !important;
  font-size: 13px !important;
}
.fisc-table tr:hover td {
  background: var(--cream) !important;
}

/* Property / step section labels in left form */
.neg-field-lbl,
.fisc-field-lbl {
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  color: var(--muted) !important;
  margin-bottom: 8px !important;
}
.neg-step-num,
.fisc-step-num {
  color: var(--gold) !important;
  font-weight: 500 !important;
}

/* Homepage hero — bigger, more editorial */
.hero-eyebrow {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  color: var(--muted) !important;
  text-transform: none !important;
}
.hero-h1 {
  font-family: var(--font-serif) !important;
  font-size: 52px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.015em !important;
}
.hero-h1 em {
  font-style: italic !important;
  color: var(--gold) !important;
  font-weight: 400 !important;
}

/* Homepage path cards */
.path-eyebrow {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
  color: var(--gold) !important;
}
.path-h {
  font-family: var(--font-serif) !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}
.path-h em {
  font-style: italic !important;
  color: var(--gold) !important;
  font-weight: 400 !important;
}
.path-desc {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--muted2) !important;
}
.path-features {
  margin-top: 16px !important;
}
.path-feat {
  font-size: 13.5px !important;
  padding: 5px 0 !important;
}
.path-cta {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  padding: 12px 22px !important;
  border-radius: 8px !important;
}

/* Section eyebrow "Two decisions" */
.paths-eyebrow {
  font-family: var(--font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Tab header on Buy / Negotiate pages */
.neg-header-eyebrow {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
  color: var(--gold) !important;
}
.neg-header-h {
  font-family: var(--font-serif) !important;
  font-size: 40px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.015em !important;
}
.neg-header-h em {
  font-style: italic !important;
  color: var(--gold) !important;
  font-weight: 400 !important;
}
.neg-header-sub {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--muted2) !important;
  margin-top: 8px !important;
}

/* Row-based info blocks (Negotiation Room, Liquidity, PSF Trend) */
.rcbs-summary-row,
.nbi-summary-row {
  font-size: 13.5px !important;
  padding: 12px 14px !important;
  border-bottom: 0.5px solid var(--border) !important;
}
.rcbs-summary-row:last-child,
.nbi-summary-row:last-child {
  border-bottom: none !important;
}
.rcbs-summary-lbl,
.nbi-summary-lbl {
  font-weight: 500 !important;
  color: var(--muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13.5px !important;
}
.rcbs-summary-v,
.nbi-summary-v {
  color: var(--ink) !important;
  font-weight: 500 !important;
}

/* Neg-card containers: softer border, slightly larger radius */
.neg-card {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  overflow: hidden;
}
.neg-card-head {
  padding: 14px 18px !important;
  border-bottom: 0.5px solid var(--border) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: transparent !important;
}
.neg-card-body {
  padding: 18px !important;
}

/* Chart labels: bigger, cleaner */
.nbi-yr-n {
  font-size: 12px !important;
  font-weight: 500 !important;
}
.nbi-yr-lbl {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--muted) !important;
  letter-spacing: 0.02em !important;
}

/* Buttons — primary CTAs and mode toggles */
.bm-mode.on,
.fisc-mode-btn.active {
  background: var(--gold) !important;
  color: var(--white) !important;
}
.bm-mode,
.fisc-mode-btn {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  border-radius: 10px !important;
  border: 1px solid var(--border) !important;
  background: var(--white) !important;
}
.fisc-mode-btn:not(.active) {
  background: var(--white) !important;
  border-color: var(--border) !important;
}

/* Bed pills (Studio / 1BR / 2BR / ...) */
.rc-bed,
.nbi-bedpill,
.neg-bed {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
}
.rc-bed.active,
.nbi-bedpill.active,
.neg-bed.active {
  background: var(--ink) !important;
  color: var(--white) !important;
}

/* Numeric input fields — better line height */
.neg-field-input,
.fisc-field-input,
.nbs-input,
input[type="number"],
input[type="text"] {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
}

/* Sentence-case any remaining upper-case eyebrow labels */
.slabel,
.rent-table th {
  text-transform: none !important;
  letter-spacing: 0.03em !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: var(--muted) !important;
}

/* Modernise the "Run Buy & Rent Out Model" main CTA and other big buttons */
.rcbs-cta,
.fisc-cta,
.neg-cta {
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  padding: 14px 32px !important;
  border-radius: 10px !important;
  background: var(--gold) !important;
  color: var(--white) !important;
}
.rcbs-cta:hover,
.fisc-cta:hover,
.neg-cta:hover {
  background: #A88338 !important;
}

/* END REFINED CREAM OVERRIDE */

/* ── Download Report button (Buy tab results) ───────────────── */
.fisc-report-bar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 14px;
}
.fisc-report-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--white);
  color: var(--ink);
  border: 1px solid var(--border);
  padding: 10px 18px;
  border-radius: 10px;
  font-family: var(--font-body, 'DM Sans', sans-serif);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: all .15s;
}
.fisc-report-btn:hover:not(:disabled) {
  background: var(--gold);
  color: var(--white);
  border-color: var(--gold);
}
.fisc-report-btn:disabled {
  opacity: 0.6;
  cursor: default;
}
.fisc-report-ico {
  font-size: 15px;
  line-height: 1;
  color: var(--gold);
}
.fisc-report-btn:hover .fisc-report-ico {
  color: var(--white);
}

/* ── Darker label on the highlighted stat card + slightly stronger info-row labels ─ */
.nbi-stat.nbi-stat-hl .nbi-stat-lbl,
.kpi-card.kpi-card-hl .kpi-lbl,
.nbi-stat.nbi-stat-hl .kpi-lbl,
.kpi-card.kpi-card-hl .nbi-stat-lbl {
  color: var(--ink) !important;
  font-weight: 600 !important;
}
/* Row-based info panel labels ("Negotiation room", "Liquidity", etc.) —
   one notch darker than default muted, so they read as real labels not disclaimers. */
.rcbs-summary-lbl,
.nbi-summary-lbl {
  color: rgba(26,23,20,.75) !important;
  font-weight: 600 !important;
}

/* ── Stronger footnotes/captions across the app ────────────── */
.fisc-hint,
.neg-hint,
.fisc-field-hint,
.neg-field-hint,
.fisc-caveat {
  color: rgba(26,23,20,.78) !important;
  font-size: 11px !important;
  font-style: normal !important;
}

/* ── Loading banner (shown at top of intel panel during /building fetch) ── */
.rcbs-loading-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 10px;
  color: rgba(26,23,20,.85);
  font-size: 12.5px;
  font-weight: 500;
  margin-bottom: 12px;
}
.rcbs-loading-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: rcbsSpin 0.8s linear infinite;
  flex-shrink: 0;
}
@keyframes rcbsSpin {
  to { transform: rotate(360deg); }
}

/* ═════════════════════════════════════════════════════════
   AREA HIGHLIGHTS — compact panel below transactions
   ═════════════════════════════════════════════════════════ */
.amen-section {
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 18px;
  margin-top: 14px;
}
.amen-head {
  margin-bottom: 14px;
}
.amen-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}
.amen-sub {
  font-size: 12px;
  color: rgba(26,23,20,.72);
}

.amen-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.amen-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
}
.amen-card-t {
  font-size: 9.5px;
  font-weight: 600;
  color: rgba(26,23,20,.72);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* Score card */
.amen-score-top {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}
.amen-score-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 30px;
  font-weight: 500;
  color: var(--gold);
  line-height: 1;
}
.amen-score-out {
  font-size: 12px;
  color: rgba(26,23,20,.72);
}
.amen-score-tag {
  font-size: 11px;
  color: var(--ink);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 0.5px solid var(--cream2);
}
.amen-score-bar {
  display: grid;
  grid-template-columns: 80px 1fr 22px;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  margin: 5px 0;
}
.amen-score-name {
  color: var(--ink);
}
.amen-score-track {
  height: 5px;
  background: var(--cream2);
  border-radius: 3px;
  overflow: hidden;
}
.amen-score-fill {
  height: 100%;
  background: var(--gold);
  border-radius: 3px;
}
.amen-score-num-sm {
  text-align: right;
  color: var(--ink);
  font-weight: 500;
}

/* Density grid — 3x3 */
.amen-dens-hd {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}
.amen-dens-sub {
  font-size: 10px;
  color: rgba(26,23,20,.72);
  font-weight: 500;
}
.amen-dens-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px 10px;
}
.amen-dens-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 6px 4px;
  text-align: center;
}
.amen-dens-ico {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: var(--cream);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  font-size: 14px;
}
.amen-dens-n {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1;
}
.amen-dens-lbl {
  font-size: 10px;
  color: rgba(26,23,20,.72);
  line-height: 1.2;
}
.amen-dens-r {
  font-size: 8.5px;
  color: rgba(26,23,20,.55);
  letter-spacing: 0.02em;
}

/* Inline bottom strip — nearest metro / school / mall */
.amen-inline {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 12px;
}
.amen-inline-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
}
.amen-inline-cell + .amen-inline-cell {
  border-left: 0.5px solid var(--cream2);
  padding-left: 10px;
}
.amen-inline-ico {
  color: var(--gold);
  font-size: 16px;
  flex-shrink: 0;
}
.amen-inline-name {
  color: var(--ink);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.amen-inline-d {
  color: rgba(26,23,20,.72);
  font-size: 10.5px;
}

.amen-foot {
  margin-top: 10px;
  font-size: 10.5px;
  color: rgba(26,23,20,.72);
  text-align: center;
}

/* ═════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — pragmatic fixes for testers on phones
   Not a full responsive redesign; targets the paths most-used:
   home, search, intel panel, area highlights.
   ═════════════════════════════════════════════════════════ */

/* ── AREA HIGHLIGHTS ── */
@media (max-width: 700px) {
  .amen-section { padding: 14px; margin-top: 12px; }
  .amen-title { font-size: 16px; }
  /* Stack the two cards vertically */
  .amen-grid { grid-template-columns: 1fr; gap: 10px; }
  /* Score card: narrower dimension label column */
  .amen-score-bar { grid-template-columns: 76px 1fr 24px; font-size: 10.5px; }
  .amen-score-num { font-size: 26px; }
  /* Density stays 3x3 but tighter spacing */
  .amen-dens-grid { gap: 6px 8px; }
  .amen-dens-cell { padding: 4px 2px; }
  .amen-dens-n { font-size: 15px; }
  .amen-dens-lbl { font-size: 9.5px; }
  .amen-dens-ico { width: 24px; height: 24px; font-size: 13px; }
}

/* ── INTEL PANEL STAT ROW ── */
@media (max-width: 700px) {
  /* Stat cards: 4 cols → 2 cols */
  .nbs-stats-row,
  .nbs-stat-row,
  .stats-row { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .stat-card,
  .nbs-stat { padding: 10px 8px !important; }
  .stat-card .val,
  .stat-val { font-size: 18px !important; }
  .stat-card .lbl,
  .stat-lbl { font-size: 9.5px !important; }
}

/* ── HOMEPAGE / SEARCH ── */
@media (max-width: 700px) {
  /* Container padding: reduce so content fits */
  body { font-size: 14px; }
  .container,
  .main-container { padding-left: 14px !important; padding-right: 14px !important; }
  /* Hero: shrink title */
  .hero-title, h1 { font-size: 24px !important; line-height: 1.2 !important; }
  .hero-sub, .hero-subtitle { font-size: 13px !important; }
  /* Search bar: full width, larger touch target */
  .search-box, .search-input, input[type="search"], input[type="text"] {
    font-size: 15px !important;
    padding: 12px 14px !important;
  }
  /* Nav: hide secondary items to prevent overflow */
  .top-nav { flex-wrap: wrap; }
}

/* ── CHARTS ── */
@media (max-width: 700px) {
  /* Chart containers need to shrink and allow horizontal scroll if needed */
  canvas { max-width: 100% !important; height: auto !important; }
  .chart-container,
  .chart-wrap { max-width: 100%; overflow-x: auto; padding: 10px !important; }
}

/* ── TABLES ── */
@media (max-width: 700px) {
  /* Transactions table: allow horizontal scroll rather than break layout */
  .txn-table-wrap,
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .txn-table, table { font-size: 11px; }
  .txn-table th, .txn-table td, table th, table td { padding: 6px 8px !important; white-space: nowrap; }
}

/* ── BUTTONS / TAB BAR ── */
@media (max-width: 700px) {
  button, .btn { min-height: 40px; font-size: 13px; }
  /* Tab bars: allow horizontal scroll if too wide */
  .tab-bar, .tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
  .tab-bar > *, .tabs > * { flex-shrink: 0; }
}

/* ── VIEWPORT-SENSITIVE MODALS ── */
@media (max-width: 700px) {
  .modal, .rcbs-modal, .bm-modal {
    width: 96vw !important;
    max-width: 96vw !important;
    max-height: 92vh !important;
    margin: 4vh 2vw !important;
    padding: 16px !important;
  }
}

/* ═════════════════════════════════════════════════════════
   MODEL RESULTS — font weight, contrast, darker gold
   Overrides earlier rules so numbers read confidently on cream.
   ═════════════════════════════════════════════════════════ */

/* Darker gold across the board — the current #B8934A reads faint
   against cream. #8F6E2E is the same hue, deeper for legibility. */
.fvh-number,
.fvh-kpi-v.gold,
.fisc-snum-v.gold,
.fisc-cash-result-v.fair { color: #8F6E2E !important; }

/* Verdict hero — big headline number heavier */
.fvh-number { font-weight: 700; letter-spacing: -0.01em; }

/* Verdict subtitle — remove opacity fade, use solid muted2 */
.fvh-subtitle { color: #3A342D; opacity: 1; font-size: 13.5px; }
.fvh-subtitle strong { color: var(--ink); font-weight: 600; }

/* KPI cards (Annual return / Rental yield / Net rental yield) */
.fvh-kpi { padding: 16px 18px; }
.fvh-kpi-l {
  font-size: 10px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.fvh-kpi-v {
  font-size: 28px; font-weight: 600; margin-bottom: 6px;
  color: var(--ink);
}
.fvh-kpi-s { font-size: 11.5px; color: #3A342D; line-height: 1.35; }

/* Headline strip (Total cash out / Net sale proceeds / Rent / Net wealth) */
.fisc-snum { padding: 18px 22px; }
.fisc-snum-l {
  font-size: 10px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.fisc-snum-v {
  font-size: 26px; font-weight: 600; margin-bottom: 5px;
}
.fisc-snum-d { font-size: 11px; color: #3A342D; line-height: 1.4; }

/* Cost breakdown headers (UPFRONT · DAY 1, MORTGAGE · 20 YRS) */
.fisc-totals-h {
  font-size: 11px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.08em;
  margin-bottom: 11px; padding-bottom: 8px;
}

/* Cost breakdown line items (Purchase price, Deposit, DLD transfer fee...) */
.fisc-totals-row {
  font-size: 12.5px; color: var(--ink);
  padding: 6px 0; line-height: 1.5;
}
.fisc-totals-row span { color: #3A342D; }
.fisc-totals-row strong { font-weight: 700; color: var(--ink); }
.fisc-totals-row.total {
  font-size: 13.5px; margin-top: 7px; padding-top: 9px;
  border-top: 1.5px solid var(--border);
}
.fisc-totals-row.total span { color: var(--ink); font-weight: 700; }
.fisc-totals-row.total strong { color: var(--ink); font-weight: 800; }

/* Investor cash-result cell (used in results tables) */
.fisc-cash-result-l {
  font-size: 10.5px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.06em;
  margin-bottom: 7px;
}
.fisc-cash-result-v {
  font-size: 27px; font-weight: 700; letter-spacing: -0.01em;
}

/* Toggle button — heavier, more visible */
.fisc-toggle-btn {
  font-weight: 600; font-size: 12.5px; color: var(--ink);
  padding: 8px 14px;
}

/* ═════════════════════════════════════════════════════════
   HOMEPAGE · DXBPropIntel three-pillar layout + dark footer
   ═════════════════════════════════════════════════════════ */

/* Pillar section */
.pillars-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 8px 24px 44px;
}
.pillars-eyebrow {
  text-align: center;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 15px;
  font-style: italic;
  color: #8F6E2E;
  margin-bottom: 20px;
  letter-spacing: 0.02em;
}
.pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.pillar-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px 24px 22px;
  cursor: pointer;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
  display: flex;
  flex-direction: column;
}
.pillar-card:hover {
  border-color: #8F6E2E;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(26, 23, 20, 0.06);
}
.pillar-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 12px;
  font-weight: 600;
  color: #8F6E2E;
  letter-spacing: 0.14em;
  margin-bottom: 10px;
}
.pillar-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 26px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
}
.pillar-h em {
  font-style: italic;
  color: #8F6E2E;
}
.pillar-desc {
  font-size: 15px;
  color: #3A342D;
  line-height: 1.6;
  margin-bottom: 18px;
}
.pillar-feats {
  margin-bottom: 22px;
  flex: 1;
}
.pillar-feat {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: #3A342D;
  line-height: 1.55;
  margin-bottom: 9px;
}
.pillar-feat-ico {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background: #EDE3CE;
  color: #8F6E2E;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  margin-top: 1px;
}
.pillar-cta {
  background: var(--ink);
  color: #F7F3EC;
  border: 0;
  padding: 11px 18px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  align-self: flex-start;
  transition: background 0.15s ease;
}
.pillar-cta:hover { background: #3A342D; }

/* Dark footer */
.site-footer {
  background: #1A1714;
  color: #EDE8DF;
  padding: 40px 32px 32px;
  margin-top: 32px;
  font-size: 13px;
  line-height: 1.6;
}
.sf-top {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  margin-bottom: 20px;
}
.sf-brand {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
  color: #F7F3EC;
}
.sf-brand em {
  font-style: italic;
  color: #B89557;
  font-weight: 600;
}
.sf-desc {
  font-size: 12.5px;
  color: #B8B0A0;
  line-height: 1.6;
  max-width: 380px;
}
.sf-h {
  font-size: 10.5px;
  font-weight: 700;
  color: #B89557;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.sf-l {
  color: #EDE8DF;
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
  font-size: 12.5px;
  cursor: pointer;
  transition: color 0.15s ease;
}
.sf-l:hover { color: #fff; }
.sf-attrib {
  max-width: 1180px;
  margin: 0 auto 14px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  font-size: 11.5px;
  color: #B8B0A0;
  line-height: 1.6;
}
.sf-attrib strong { color: #EDE8DF; font-weight: 600; }
.sf-disclaimer {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 11px;
  color: #8B8578;
  line-height: 1.55;
}
.sf-disclaimer strong { color: #B8B0A0; font-weight: 600; }

/* Mobile: stack pillars + footer sections */
@media (max-width: 900px) {
  .pillars-grid { grid-template-columns: 1fr; gap: 14px; }
  .pillar-card { padding: 20px; }
  .pillar-h { font-size: 22px; }
  .sf-top { grid-template-columns: 1fr; gap: 24px; }
  .site-footer { padding: 28px 20px 24px; }
}

/* ═════════════════════════════════════════════════════════
   MODEL RESULTS · Persistent "not investment advice" strip
   ═════════════════════════════════════════════════════════ */
.mr-disclaimer-strip {
  background: rgba(184, 147, 74, 0.08);
  border: 1px solid rgba(184, 147, 74, 0.28);
  border-radius: 10px;
  padding: 11px 16px;
  margin-bottom: 14px;
  font-size: 11.5px;
  color: #3A342D;
  line-height: 1.55;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.mr-disclaimer-strip .mr-dis-ico {
  color: #8F6E2E;
  font-size: 14px;
  margin-top: 1px;
  flex-shrink: 0;
}
.mr-disclaimer-strip strong { color: #1A1714; font-weight: 600; }

/* ═════════════════════════════════════════════════════════
   BUILDING INTEL PANEL · "See community profile" link
   ═════════════════════════════════════════════════════════ */
.amen-comm-link {
  margin-top: 10px;
  text-align: center;
  font-size: 12px;
  color: #8F6E2E;
  cursor: pointer;
  font-weight: 600;
  padding: 8px;
  border-radius: 6px;
  transition: background 0.15s ease;
}
.amen-comm-link:hover {
  background: rgba(184, 147, 74, 0.08);
}

/* ═════════════════════════════════════════════════════════
   BUY & LIVE · Rebuilt view — answers "how much does it cost me?"
   Blocks: core question · what you own · yearly chart · breakdown
   ═════════════════════════════════════════════════════════ */

/* Block 1 — the core question */
.bl-core {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px 24px 24px;
  margin-bottom: 14px;
  text-align: center;
}
.bl-core-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #8F6E2E;
  margin-bottom: 10px;
}
.bl-core-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 24px; font-weight: 600; line-height: 1.2;
  color: var(--ink); letter-spacing: -0.01em;
  margin-bottom: 22px;
}
.bl-core-h em { font-style: italic; color: #8F6E2E; }
.bl-core-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 16px;
}
.bl-core-side { text-align: center; }
.bl-core-l {
  font-size: 10.5px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 8px;
}
.bl-core-v {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 38px; font-weight: 700;
  color: var(--ink); letter-spacing: -0.01em;
  line-height: 1; margin-bottom: 6px;
}
.bl-core-v.gold { color: #8F6E2E; }
.bl-core-u {
  font-size: 11.5px; color: #3A342D;
}
.bl-core-vs {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-style: italic; color: #8F6E2E;
}
.bl-core-verdict {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 13px;
  color: var(--ink);
  margin-top: 6px;
}
.bl-core-verdict.win {
  background: rgba(63, 122, 63, 0.08);
  border: 1px solid rgba(63, 122, 63, 0.24);
}
.bl-core-verdict.lose {
  background: rgba(184, 147, 74, 0.08);
  border: 1px solid rgba(184, 147, 74, 0.28);
}
.bl-core-verdict strong { color: var(--ink); font-weight: 700; }

/* Block 2 — what you own at year N */
.bl-equity {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px 24px;
  margin-bottom: 14px;
}
.bl-equity-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-weight: 600; color: var(--ink);
  margin-bottom: 4px;
}
.bl-equity-sub {
  font-size: 12.5px; color: #3A342D; margin-bottom: 16px;
}
.bl-equity-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.bl-equity-cell {
  background: #F7F3EC;
  border-radius: 10px;
  padding: 16px 18px;
  text-align: center;
}
.bl-equity-cell.own {
  background: rgba(63, 122, 63, 0.08);
}
.bl-equity-l {
  font-size: 10.5px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.06em; text-transform: uppercase;
  margin-bottom: 8px;
}
.bl-equity-v {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 30px; font-weight: 700;
  color: var(--ink); line-height: 1; margin-bottom: 6px;
}
.bl-equity-v.pos { color: #3F7A3F; }
.bl-equity-s { font-size: 11.5px; color: #3A342D; }
.bl-equity-assumption {
  font-size: 11.5px;
  color: #3A342D;
  text-align: center;
  padding: 10px 16px;
  background: #F7F3EC;
  border-radius: 8px;
  line-height: 1.5;
}
.bl-equity-assumption strong { color: var(--ink); font-weight: 600; }
.bl-equity-assumption .ti { color: #8F6E2E; margin-right: 6px; }

/* Block 3 — yearly cost chart */
.bl-chart {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px 24px 18px;
  margin-bottom: 14px;
}
.bl-chart-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-weight: 600; color: var(--ink);
  margin-bottom: 4px;
}
.bl-chart-sub {
  font-size: 12.5px; color: #3A342D; margin-bottom: 14px; line-height: 1.5;
}
.bl-chart-wrap {
  position: relative;
  height: 240px;
  margin-bottom: 10px;
}
.bl-chart-legend {
  display: flex; gap: 18px;
  font-size: 11.5px; color: #3A342D;
  justify-content: center;
  flex-wrap: wrap;
}
.bl-chart-legend span {
  display: flex; align-items: center; gap: 6px;
}
.bl-chart-legend i {
  width: 11px; height: 11px; border-radius: 2px;
  display: inline-block;
}

/* Block 4 — detailed breakdown */
.bl-breakdown {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px 24px;
}
.bl-breakdown-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-weight: 600; color: var(--ink);
  margin-bottom: 16px;
}
.bl-breakdown-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.bl-bd-col-h {
  font-size: 10.5px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 12px;
  padding-bottom: 7px;
  border-bottom: 1px solid #E5DCC5;
}
.bl-bd-row {
  display: flex; justify-content: space-between;
  font-size: 13px; color: var(--ink);
  padding: 6px 0; line-height: 1.5;
}
.bl-bd-row span { color: #3A342D; }
.bl-bd-row strong { font-weight: 700; color: var(--ink); }
.bl-bd-row.total {
  margin-top: 9px; padding-top: 10px;
  border-top: 1.5px solid var(--border);
  font-size: 14px;
}
.bl-bd-row.total span { color: var(--ink); font-weight: 700; }
.bl-bd-row.total strong { color: var(--ink); font-weight: 800; }

/* Mobile — stack everything */
@media (max-width: 700px) {
  .bl-core { padding: 18px 16px; }
  .bl-core-h { font-size: 20px; }
  .bl-core-row { grid-template-columns: 1fr; gap: 14px; }
  .bl-core-vs { display: none; }
  .bl-core-v { font-size: 30px; }
  .bl-equity-row { grid-template-columns: 1fr; }
  .bl-breakdown-grid { grid-template-columns: 1fr; gap: 18px; }
}

/* ═════════════════════════════════════════════════════════
   BUY & LIVE · Per-year comparison (Year 1 vs Year N)
   ═════════════════════════════════════════════════════════ */
.bl-peryear {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px 24px;
  margin-bottom: 14px;
}
.bl-peryear-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-weight: 600; color: var(--ink);
  margin-bottom: 4px;
}
.bl-peryear-sub {
  font-size: 12.5px; color: #3A342D; margin-bottom: 16px;
}
.bl-peryear-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.bl-peryear-cell {
  background: #F7F3EC;
  border-radius: 10px;
  padding: 14px 18px;
}
.bl-peryear-l {
  font-size: 10.5px; font-weight: 700;
  color: #3A342D; letter-spacing: 0.06em; text-transform: uppercase;
  margin-bottom: 10px;
}
.bl-peryear-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: var(--ink);
  padding: 5px 0;
}
.bl-peryear-row span { color: #3A342D; }
.bl-peryear-row span em { color: #6B6660; font-style: normal; font-size: 11px; }
.bl-peryear-row strong { font-weight: 700; color: var(--ink); font-family: Georgia, serif; }

@media (max-width: 700px) {
  .bl-peryear-grid { grid-template-columns: 1fr; }
}

/* ═════════════════════════════════════════════════════════
   ONBOARDING NUDGE · corner toast (Option A)
   Floats fixed to the top-right of the viewport, non-blocking,
   dismisses via × or by clicking Run. Persisted in localStorage.
   ═════════════════════════════════════════════════════════ */
.dxb-nudge {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  width: 300px;
  background: #ffffff;
  border: 1px solid #D0C6AE;
  border-radius: 12px;
  padding: 14px 16px 12px;
  box-shadow: 0 8px 24px rgba(26,23,20,0.10), 0 2px 6px rgba(26,23,20,0.06);
  font-family: 'DM Sans','Inter',sans-serif;
  animation: dxbNudgeSlideIn 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes dxbNudgeSlideIn {
  from { opacity: 0; transform: translateX(28px); }
  to   { opacity: 1; transform: translateX(0); }
}
.dxb-nudge-h {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 15px;
  font-weight: 600;
  color: #1A1714;
  margin-bottom: 6px;
  letter-spacing: -0.005em;
}
.dxb-nudge-h-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
  background: #EDE3CE;
  color: #8F6E2E;
  border-radius: 50%;
  font-family: 'DM Sans',sans-serif;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.dxb-nudge-s {
  font-size: 12px;
  color: #3A342D;
  line-height: 1.5;
  margin-bottom: 10px;
}
.dxb-nudge-s strong {
  color: #8F6E2E;
  font-weight: 700;
}
.dxb-nudge-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}
.dxb-nudge-cta {
  flex: 1;
  background: #8F6E2E;
  color: #ffffff;
  border: 0;
  border-radius: 6px;
  padding: 7px 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}
.dxb-nudge-cta:hover { background: #7A5C24; }
.dxb-nudge-x {
  background: transparent;
  border: 0;
  font-size: 20px;
  color: #8B8578;
  cursor: pointer;
  padding: 0 6px;
  line-height: 1;
  font-family: inherit;
  transition: color 0.15s ease;
}
.dxb-nudge-x:hover { color: #1A1714; }

/* Pulse ring on the Run button — signals "click me" to first-time users.
   Removed after the user clicks Run (dismissed via dxbDismissNudge). */
.fisc-run-pulse {
  position: relative;
  animation: dxbBtnPulse 1.8s ease-in-out infinite;
}
@keyframes dxbBtnPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(184,147,74,0.55), 0 2px 8px rgba(26,23,20,0.10);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(184,147,74,0), 0 2px 8px rgba(26,23,20,0.10);
  }
}

/* Mobile: smaller toast, closer to edges */
@media (max-width: 700px) {
  .dxb-nudge {
    top: auto;
    bottom: 16px;
    left: 12px;
    right: 12px;
    width: auto;
    padding: 12px 14px 10px;
  }
  @keyframes dxbNudgeSlideIn {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .dxb-nudge-h { font-size: 14px; }
  .dxb-nudge-s { font-size: 12px; }
}
