/* Имоти24 – "ledger" design: hairline grids, big tabular numerals, brick + teal on concrete. Tokens in docs/DESIGN.md. */
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-tight-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/inter-tight-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-tight-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/inter-tight-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-tight-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/inter-tight-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/pt-serif-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/pt-serif-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/pt-serif-cyrillic-400-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --bg:#f5f6f4;--surface:#fff;--ink:#121417;--ink2:#2c3138;--muted:#555c66;--rule:#d5d9d6;--rule2:#e7eae7;
  --brick:#b0402a;--teal:#0d6b6a;--ochre:#94690a;--slate:#3f5470;--plum:#7a3e6b;--olive:#5b6a1f;
  --up:#b0402a;--down:#0d6b6a;--hi:#fff3d6;--mark-in:#fff;--focus:#0d6b6a;
  --sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"PT Serif",Georgia,"Times New Roman",serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0e1012;--surface:#15181b;--ink:#eceeee;--ink2:#d2d6d9;--muted:#9aa2ab;--rule:#2b3036;--rule2:#1f2327;
  --brick:#ff8a68;--teal:#4cc6b8;--ochre:#e3b553;--slate:#a4b8d6;--plum:#dd9fcb;--olive:#b9c86a;
  --up:#ff8a68;--down:#4cc6b8;--hi:#2c2617;--mark-in:#0e1012;--focus:#4cc6b8;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e1012;--surface:#15181b;--ink:#eceeee;--ink2:#d2d6d9;--muted:#9aa2ab;--rule:#2b3036;--rule2:#1f2327;
  --brick:#ff8a68;--teal:#4cc6b8;--ochre:#e3b553;--slate:#a4b8d6;--plum:#dd9fcb;--olive:#b9c86a;
  --up:#ff8a68;--down:#4cc6b8;--hi:#2c2617;--mark-in:#0e1012;--focus:#4cc6b8;color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--sans);font-feature-settings:"tnum" 1,"ss01" 1}
a{color:var(--ink);text-decoration-color:var(--brick);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--brick)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:8px;background:var(--surface);padding:8px 12px;z-index:9}
h1,h2,h3{font-family:var(--sans);line-height:1.12;letter-spacing:-.015em;color:var(--ink)}
h1{font-size:clamp(30px,5vw,50px);font-weight:800;margin:.2em 0 .25em;max-width:22ch}
h2{font-size:clamp(21px,2.6vw,27px);font-weight:800;margin:1.6em 0 .5em}
h3{font-size:18px;font-weight:700;margin:1.2em 0 .4em}
p{margin:.5em 0 1em}
.lede{font:400 clamp(17px,2vw,20px)/1.5 var(--serif);color:var(--ink2);max-width:64ch;margin:.2em 0 1.4em}
.meta,.note{color:var(--muted);font-size:14px}
.num{text-align:right;white-space:nowrap}

/* header */
header.site{background:var(--ink);color:#fff;border-bottom:4px solid var(--brick)}
:root[data-theme="dark"] header.site{background:#05070a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) header.site{background:#05070a}}
header.site .wrap{display:flex;align-items:center;gap:20px;min-height:62px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand svg{width:30px;height:30px;color:var(--brick);--mark-in:#fff}
.brand b{font-size:21px;font-weight:800;letter-spacing:-.02em;display:block;line-height:1}
.brand small{display:block;font-size:12px;color:#c3c8cf;letter-spacing:.02em;margin-top:2px}
nav.main{margin-left:auto}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}
nav.main a{color:#e8ebee;text-decoration:none;font-weight:600;font-size:15px;padding:8px 10px;display:block;border-bottom:2px solid transparent}
nav.main a:hover{color:#fff;border-bottom-color:#fff}
nav.main a[aria-current="page"]{color:#fff;border-bottom-color:var(--brick)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid #6b737d;color:#fff;font:600 15px var(--sans);padding:7px 12px}
@media (max-width:980px){.menu-btn{display:block}nav.main{display:none;width:100%;margin:0 0 10px}nav.main.open{display:block}nav.main ul{flex-direction:column}nav.main a{border-bottom:1px solid #2b3036}}

/* data-date strip */
.fresh{background:var(--surface);border-bottom:1px solid var(--rule);font-size:13px;color:var(--muted)}
.fresh .wrap{display:flex;flex-wrap:wrap;gap:4px 18px;padding-top:7px;padding-bottom:7px;align-items:baseline}
.fresh-l{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:11px}
.fresh a{color:var(--ink2);text-decoration:none}.fresh a b{color:var(--ink);font-weight:700}
.fresh a:hover{color:var(--brick)}

main{padding:10px 0 50px}
.crumbs ol{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--rule)}
.crumbs a{color:var(--muted)}

/* section heads with a running number */
.sec{border-top:2px solid var(--ink);margin-top:44px;padding-top:12px}
.sec>.k{font:800 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brick);display:block}
.sec>h2{margin-top:.25em}
.kicker{font:800 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brick);margin:26px 0 0}

/* KPI ledger: hairline grid of stat cells */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule);background:var(--surface);margin:18px 0 8px}
.kpis.k3{grid-template-columns:repeat(3,1fr)}
.kpi{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 16px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi .l{font:700 12px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.kpi .v{font:800 clamp(30px,4.2vw,44px)/1 var(--sans);letter-spacing:-.03em;color:var(--ink)}
.kpi .v small{font-size:.45em;font-weight:700;letter-spacing:0;margin-left:3px;color:var(--ink2)}
.kpi .d{font-size:14px;color:var(--ink2)}
.kpi .s{font-size:12px;color:var(--muted);margin-top:auto;padding-top:6px}
.kpi .spark{margin-top:4px}
.kpi a{text-decoration:none}.kpi a:hover .l{color:var(--brick)}
@media (max-width:900px){.kpis,.kpis.k3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.kpi{padding:12px}.kpi .v{font-size:28px}}
.dl{font-weight:700;white-space:nowrap}.dl.up{color:var(--up)}.dl.down{color:var(--down)}.dl.flat{color:var(--muted)}

/* reading box: what the numbers mean */
.reading{background:var(--surface);border-left:4px solid var(--teal);padding:14px 18px;margin:18px 0;font:400 17px/1.6 var(--serif);max-width:76ch}
.reading h2,.reading h3{font-family:var(--sans);margin:.2em 0 .4em;font-size:18px}
.reading ul{margin:.3em 0 .3em 1.1em;padding:0}.reading li{margin:.3em 0}
.reading p:last-child{margin-bottom:.2em}

/* two-column bands */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media (max-width:860px){.cols2{grid-template-columns:1fr}}

/* charts */
.chart{margin:16px 0 22px;background:var(--surface);border:1px solid var(--rule);padding:12px 12px 8px}
.chart figcaption{font:700 15px/1.3 var(--sans);margin:0 0 6px}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart .grid{stroke:var(--rule2);stroke-width:1}.chart .zero{stroke:var(--muted);stroke-width:1}
.chart .axis{stroke:var(--muted);stroke-width:1}.chart .tick{stroke:var(--muted)}
.chart .ref{stroke:var(--muted);stroke-dasharray:3 3}
.chart .ax{fill:var(--muted);font:500 11px var(--sans)}
.chart .unit{font-weight:700}
.ln{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.ln.dash{stroke-dasharray:5 4;stroke-width:1.8}
.lab{font:700 12px var(--sans)}
.s1{stroke:var(--brick);fill:var(--brick)}.s2{stroke:var(--teal);fill:var(--teal)}.s3{stroke:var(--ochre);fill:var(--ochre)}
.s4{stroke:var(--slate);fill:var(--slate)}.s5{stroke:var(--plum);fill:var(--plum)}.s6{stroke:var(--olive);fill:var(--olive)}.s0{stroke:var(--muted);fill:var(--muted)}
.ln.s1,.ln.s2,.ln.s3,.ln.s4,.ln.s5,.ln.s6,.ln.s0{fill:none}
.lab.s1,.lab.s2,.lab.s3,.lab.s4,.lab.s5,.lab.s6,.lab.s0{stroke:none}
.bar{stroke:none}.bar.s1{fill:var(--slate)}.bar.s2{fill:var(--teal)}.bar.hi{fill:var(--brick)}
.hb.pos{fill:var(--slate)}.hb.neg{fill:var(--teal)}.hb.hi{fill:var(--brick)}
.rl{fill:var(--ink2);font:500 12px var(--sans)}.rv{fill:var(--ink);font:700 12px var(--sans)}.rl.hi,.rv.hi{fill:var(--brick);font-weight:800}
.src{font-size:12px;color:var(--muted);margin:6px 0 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.csv{font-weight:700;font-size:12px;color:var(--teal);text-decoration:none;border:1px solid var(--teal);padding:0 6px;letter-spacing:.04em}
.csv:hover{background:var(--teal);color:var(--surface)}
.spark{display:block}.spark .ln{stroke-width:1.8}

/* tables */
.tbl-wrap{overflow-x:auto;margin:12px 0 22px;border:1px solid var(--rule);background:var(--surface)}
table.tbl{border-collapse:collapse;width:100%;font-size:14.5px}
.tbl caption{text-align:left;font:700 15px var(--sans);padding:10px 12px 4px}
.tbl th,.tbl td{padding:8px 12px;border-bottom:1px solid var(--rule2);text-align:left;vertical-align:middle}
.tbl thead th{font:700 12px var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--rule);background:var(--surface);position:sticky;top:0}
.tbl td.num,.tbl th.num{text-align:right}
.tbl tbody tr:hover{background:var(--rule2)}
.tbl tr.me td{background:var(--hi);font-weight:700}
.tbl .spark{display:inline-block;vertical-align:middle}
.tblnote{font-size:12px;color:var(--muted);margin:-14px 0 20px}

/* city strip: small multiples */
.multi{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule);background:var(--surface);margin:14px 0}
.multi>a{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 14px;text-decoration:none;display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 10px}
.multi>a:hover{background:var(--rule2)}
.multi b{font-size:17px;font-weight:800;grid-column:1/-1}
.multi .v{font:800 26px/1 var(--sans);letter-spacing:-.02em}
.multi .s{font-size:12px;color:var(--muted);grid-column:1/-1}
@media (max-width:760px){.multi{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.multi{grid-template-columns:1fr}}
.citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin:12px 0 24px;background:var(--surface)}
.citygrid a{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 12px;text-decoration:none;font-weight:700}
.citygrid a span{display:block;font-weight:400;font-size:13px;color:var(--muted)}
.citygrid a:hover{background:var(--rule2)}

/* lists of links */
.links{list-style:none;padding:0;margin:8px 0 20px;border-top:1px solid var(--rule)}
.links li{border-bottom:1px solid var(--rule);padding:9px 0}
.links a{font-weight:600}
.links .meta{display:block}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule);background:var(--surface);margin:12px 0 26px}
.card{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px}
.card h2,.card h3{font-size:18px;margin:0 0 6px}.card p{margin:0 0 6px;color:var(--ink2);font-size:15px}
.card a{text-decoration:none}.card a:hover{text-decoration:underline}

/* calculators */
.calc{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:0;border:1px solid var(--rule);background:var(--surface);margin:18px 0}
.calc form{padding:18px;border-right:1px solid var(--rule)}
.calc .out{padding:18px}
@media (max-width:760px){.calc{grid-template-columns:1fr}.calc form{border-right:0;border-bottom:1px solid var(--rule)}}
.calc label{display:block;font:700 13px var(--sans);margin:0 0 12px;color:var(--ink2)}
.calc label span{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}
.calc input,.calc select{display:block;width:100%;margin-top:5px;font:600 17px var(--sans);padding:9px 10px;border:1px solid var(--muted);background:var(--bg);color:var(--ink);border-radius:0}
.calc input:focus,.calc select:focus{outline:2px solid var(--focus);outline-offset:0}
.big{font:800 clamp(34px,5vw,52px)/1 var(--sans);letter-spacing:-.03em;margin:4px 0 6px}
.out dl{display:grid;grid-template-columns:1fr auto;gap:0;margin:12px 0;border-top:1px solid var(--rule2)}
.out dt,.out dd{padding:7px 0;border-bottom:1px solid var(--rule2);margin:0}
.out dd{text-align:right;font-weight:700}
.out .warn{color:var(--brick);font-weight:700}

/* articles */
.post{max-width:760px}
.post .read{font:400 18px/1.68 var(--serif)}
.post .read h2{font-size:24px}
.post .read ul,.post .read ol{padding-left:1.2em}
.post .read li{margin:.35em 0}
.summary{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--brick);padding:12px 18px;margin:18px 0}
.summary h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;margin:.2em 0}
.summary ul{margin:.3em 0;padding-left:1.1em}
.toc{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0;margin:16px 0;font-size:15px}
.toc ol{margin:.4em 0 0;padding-left:1.3em}
.sources{font-size:14px;padding-left:1.3em}.sources li{margin:.3em 0}
.sponsored{display:inline-block;background:var(--ochre);color:var(--surface);font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px}
.related{border-top:2px solid var(--ink);margin:28px 0 10px;padding-top:6px}
.related h2{font-size:16px;text-transform:uppercase;letter-spacing:.08em;margin:.4em 0}
.related ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.related a{font-weight:600}
.prose{max-width:760px;font:400 17px/1.65 var(--serif)}
.prose h2,.prose h3{font-family:var(--sans)}
.glossary dt{font:800 17px var(--sans);margin-top:16px}.glossary dd{margin:4px 0 0;font:400 16px/1.6 var(--serif);max-width:72ch}

/* footer */
footer.site{background:var(--surface);border-top:1px solid var(--rule);padding:30px 0 22px;font-size:14px;color:var(--ink2)}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
@media (max-width:820px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:460px){footer .cols{grid-template-columns:1fr}}
footer h2{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 8px}
footer ul{list-style:none;margin:0;padding:0}footer li{margin:5px 0}
footer a{color:var(--ink2);text-decoration:none}footer a:hover{color:var(--brick);text-decoration:underline}
.f-brand{display:flex;align-items:center;gap:8px;font-size:18px;margin:0 0 8px}.f-brand svg{width:24px;height:24px;color:var(--brick)}
.fine{border-top:1px solid var(--rule);margin-top:20px;padding-top:14px;font-size:12.5px;color:var(--muted)}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}

/* consent */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--ink);color:#fff;border-top:3px solid var(--brick)}
.ck[hidden]{display:none}
.ck-in{max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.ck p{margin:0;font-size:14px;max-width:70ch}.ck a{color:#fff}
.ck-b{display:flex;gap:8px}
.ck button{font:700 15px var(--sans);padding:9px 16px;border:1px solid #fff;background:#fff;color:#121417;cursor:pointer}
.ck button+button{background:transparent;color:#fff}
:root[data-theme="dark"] .ck{background:#05070a}

/* home hero: the market in one screen */
.now{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:start;margin-top:8px}
@media (max-width:900px){.now{grid-template-columns:1fr}}
.verdict{font:800 clamp(24px,3.2vw,34px)/1.18 var(--sans);letter-spacing:-.02em;margin:.4em 0 .5em;max-width:24ch}
.verdict em{font-style:normal;color:var(--brick)}
.pill{display:inline-block;font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);padding:2px 8px;color:var(--muted);background:var(--surface)}
.btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.btn{display:inline-block;font:700 15px var(--sans);padding:9px 14px;border:1.5px solid var(--ink);text-decoration:none;background:var(--surface)}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.pri{background:var(--brick);border-color:var(--brick);color:#fff}
.btn.pri:hover{background:var(--ink);border-color:var(--ink)}
.kpis.k2{grid-template-columns:repeat(2,1fr)}
.calc .chk{display:flex;gap:8px;align-items:center;font-weight:600}.calc .chk input{width:auto;display:inline-block;margin:0}
