:root{
  --paper:#F2F1EC; --paper-2:#E8E7E0; --ink:#16303A; --ink-2:#42565F; --ink-3:#63737B;
  --line:#D2CFC6; --line-2:#BAB6AB; --accent:#B33A22; --accent-soft:#F0E2DD;
  --deep:#16303A; --deep-2:#1E3D48; --deep-line:#31505B; --deep-txt:#A9BAC1; --draw:#5F7480;
  --t1:11px; --t2:13px; --t3:15px; --t4:17px; --t5:20px;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px;
  --pad:24px; --col:112px;
  --mono:'IBM Plex Mono',ui-monospace,monospace; --sans:'IBM Plex Sans','Plex Fallback A','Plex Fallback R',system-ui,sans-serif;
  --wrap:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
a{color:inherit}
.mono{font-family:var(--mono)}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
h1,h2,h3{line-height:1.08;font-weight:600;letter-spacing:-.02em}
h2{font-size:clamp(28px,3.4vw,44px)}
h3{font-size:20px;letter-spacing:-.01em;line-height:1.25}
p{max-width:68ch}
section{border-top:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:var(--col) minmax(0,1fr);gap:var(--s3);padding:var(--s6) 0 var(--s4);align-items:start}
.sec-head .num{font-family:var(--mono);font-size:var(--t1);color:var(--accent);letter-spacing:.12em;padding-top:12px}
.sec-head h2{margin-left:-2px}
.sec-head .lead{color:var(--ink-2);margin-top:var(--s2);font-size:var(--t4);max-width:62ch}
.sec-head .lead{max-width:64ch}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(242,241,236,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.topbar{background:var(--deep);color:var(--deep-txt)}
.trow{display:flex;align-items:center;gap:14px;height:34px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.trow>*{min-width:0;overflow:hidden;text-overflow:ellipsis}
.trow a{color:#fff;text-decoration:none;border-bottom:1px solid var(--deep-line)}
.trow a:hover{color:var(--accent);border-color:var(--accent)}
.tb-sep{width:1px;height:12px;background:var(--deep-line);flex:0 0 auto}
.tb-right{margin-left:auto}
.htel{margin-left:8px;font-family:var(--mono);font-size:15px;letter-spacing:.02em;color:var(--ink);text-decoration:none;white-space:nowrap;font-weight:500}
.htel:hover{color:var(--accent)}
@media(max-width:1280px){.trow span:nth-child(3){display:none}.trow .tb-sep{display:none}}
@media(max-width:1080px){.htel{font-size:13px}}
@media(max-width:760px){.trow{font-size:11.5px;gap:8px;height:32px}.trow span:nth-child(1){display:none}.tb-right{margin-left:0}}
.hrow{display:flex;align-items:center;gap:20px;height:60px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.brand i{font-style:normal}
.brand img{display:block;width:40px;height:auto;flex:0 0 auto}
.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand b{color:var(--accent)}
header nav{margin-left:auto;display:flex;gap:20px;white-space:nowrap}
header nav a{font-size:13px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
header nav a:hover{color:var(--ink);border-color:var(--accent)}
.hbtn{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);padding:8px 14px;text-decoration:none}
.hbtn:hover{background:var(--ink);color:var(--paper)}
@media(max-width:1180px){header nav{gap:16px}header nav a{font-size:12.5px}}
@media(max-width:1500px){.brand i{display:none}}
@media(max-width:900px){header nav{display:none}.htel{margin-left:auto}}
@media(max-width:760px){
  .htel{margin-left:auto;font-size:14px;font-weight:600;border:1px solid var(--ink);padding:7px 11px;letter-spacing:0}
  .htel:hover{background:var(--ink);color:var(--paper)}
  .hbtn{display:none}
}
.hbtn{white-space:nowrap}
.hero figure{max-width:600px}
@media(max-width:900px){.hero figure{max-width:none}}


/* hero */
.hero{position:relative;overflow:hidden;border-top:0}
.hero .grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;opacity:.5;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 78%)}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;padding-top:72px;padding-bottom:64px;align-items:start}
.hero-in>*{min-width:0}
.hero h1{font-size:clamp(36px,5.2vw,66px);font-weight:600;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .sub{margin-top:26px;font-size:18px;color:var(--ink-2);max-width:52ch}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:14px 22px;text-decoration:none;border:1px solid var(--ink)}
.btn-p{background:var(--ink);color:var(--paper)}
.btn-p:hover{background:#0C1F27;border-color:#0C1F27}
.btn-s:hover{background:var(--ink);color:var(--paper)}
.quick{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}
.quick a{font-size:14px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:2px}
.quick a:hover{color:var(--accent);border-color:var(--accent)}
.vs{margin-top:36px;border-left:2px solid var(--accent);padding:2px 0 2px 18px}
.vs-h{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.vs p{font-size:15px;color:var(--ink-2);margin-bottom:10px;max-width:60ch}
.vs p:last-child{margin-bottom:0}
.vs b{color:var(--ink);font-weight:600}
.threat{margin-top:32px;border:1px solid var(--line-2);background:var(--paper-2)}
.threat .t-h{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;border-bottom:1px solid var(--line-2);color:var(--ink-3)}
.threat dl{display:grid;grid-template-columns:repeat(3,1fr)}
.threat dl div{padding:14px 16px;border-right:1px solid var(--line-2)}
@media(min-width:901px){.threat dl div{display:flex;flex-direction:column;justify-content:space-between;min-height:84px}.threat dt{min-height:2.4em}}
.threat dl div:last-child{border-right:0}
.threat dt{font-size:var(--t1);font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.threat dd{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:4px}
@media(max-width:900px){.hero-in{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:48px;padding-bottom:48px}}

/* threat facts */
.facts{display:block;border-top:1px solid var(--line-2)}
.facts>div{display:grid;grid-template-columns:var(--col) 220px 1fr;gap:var(--s3);padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
.facts .fnum{font-family:var(--mono);font-size:var(--t1);color:var(--accent);letter-spacing:.12em}
.facts .big{font-size:30px;font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.05}
.facts p{font-size:var(--t3);color:var(--ink-2);max-width:74ch}
@media(max-width:860px){.facts>div{grid-template-columns:1fr;gap:6px;border-right:0}
  .facts .fnum{margin-bottom:2px}.facts p{max-width:none}}

/* schemes */












/* objects */
.groups{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}
.grp{border-top:1px solid var(--line-2);padding:22px 0 26px}
.grp h3{font-size:14px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:14px}
.obj{padding:12px 0;border-top:1px dotted var(--line-2)}
.obj:first-of-type{border-top:0}
.obj .nm{font-weight:600;font-size:16px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.cls{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;border:1px solid var(--line-2);padding:1px 6px;color:var(--ink-3);white-space:nowrap}
.cls.c3{border-color:var(--accent);color:var(--accent)}
.obj p{font-size:14px;color:var(--ink-2);margin-top:5px}
.obj .узел{font-size:var(--t2);color:var(--ink-3);margin-top:6px;font-family:var(--mono);letter-spacing:.02em}
.obj .узел b{font-family:var(--sans);font-weight:400;letter-spacing:0;color:var(--ink-2)}
@media(max-width:900px){.groups{grid-template-columns:1fr}}

/* table */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line-2);background:#fff}
table{border-collapse:collapse;width:100%;min-width:820px;font-size:var(--t2)}
table.fab td.f-v{white-space:nowrap}
table.fab td.f-name{font-size:var(--t3);font-weight:600}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--paper-2);font-weight:500;white-space:nowrap}
td.n{font-family:var(--mono);white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#FBFAF7}
.yes{color:var(--accent);font-weight:600}
.no{color:var(--ink-3)}
.tnote{font-size:var(--t2);color:var(--ink-3);margin-top:var(--s2);max-width:none}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line-2)}
.steps>div{border-right:1px solid var(--line-2);padding:24px 20px 28px}
.steps .s-n{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}
.steps h3{font-size:17px;margin:10px 0 8px}
.steps p{font-size:14px;color:var(--ink-2)}
@media(max-width:900px){.steps{grid-template-columns:1fr;border-left:0}.steps>div{border-right:0;border-bottom:1px solid var(--line-2)}}

/* calc block */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.calc ul{list-style:none;font-size:15px}
.calc li{padding:12px 0 11px 26px;border-top:1px solid var(--line);position:relative;color:var(--ink-2)}
.calc li:before{content:"";position:absolute;left:0;top:19px;width:12px;height:1px;background:var(--accent)}
.calc li b{color:var(--ink);font-weight:600}
.panel{border:1px solid var(--line-2);background:#fff}
.panel,.est,.tbl-wrap,.threat{box-shadow:none}
.panel .p-h{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:12px 16px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between}
.prow{display:flex;justify-content:space-between;gap:16px;padding:11px 16px;border-bottom:1px solid var(--line);font-size:14px}
.prow span:first-child{color:var(--ink-2)}
.prow span:last-child{text-align:right}
.prow.total span:last-child{font-family:var(--mono)}
.prow.total{border-bottom:0;background:var(--accent-soft);font-weight:600}
.prow.total span:last-child{color:var(--accent);font-size:16px}
@media(max-width:900px){.calc{grid-template-columns:1fr;gap:28px}}



/* schemes table */
.sch{min-width:940px}
.sch th{vertical-align:bottom}
.sch thead th:nth-of-type(3),.sch thead th:nth-of-type(4){text-align:center}
.sch td{vertical-align:top;padding:14px}
.sch .c-fig{width:132px;padding-left:14px;white-space:nowrap}
.sch .c-fig figure{border:1px solid var(--line);width:120px}
.sch .c-fig figure svg{display:block;width:100%;height:auto}
.sch .fignum{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em;display:block;margin-bottom:6px}
.sch .c-name{width:190px}
.sch .c-name b{font-size:16px;font-weight:600;display:block;line-height:1.25}
.sch .m-what{display:none}
.sch .c-what{width:300px;color:var(--ink-2)}
.sch .c-when{color:var(--ink-2)}
.sch .c-yn{width:86px;text-align:center}
.yn{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-2);padding:3px 8px;display:inline-block}
.yn.y{color:var(--ink);border-color:var(--ink);font-weight:500}
.yn.n{color:var(--ink-3)}
.yn.u{color:var(--ink-2);font-size:11px;letter-spacing:.04em}
@media(max-width:860px){
  .sch-wrap{border:0}
  .sch{min-width:0;width:100%;display:block}
  .sch thead{display:none}
  .sch tbody,.sch tr,.sch td{display:block;width:auto}
  .sch tr{border:1px solid var(--line-2);margin-bottom:12px;background:#fff;padding:14px;display:grid;grid-template-columns:120px 1fr;gap:0 14px;align-items:start}
  .sch td{padding:0;border:0}
  .sch .c-fig{grid-row:1;grid-column:1;width:auto}
  .sch .c-name{grid-row:1;grid-column:2;width:auto}
  .sch .m-what{display:block;font-size:13px;color:var(--ink-2);margin-top:6px;font-weight:400}
  .sch .c-what{display:none}
  .sch .c-yn{grid-column:1/3;display:inline-block;width:auto;text-align:left;margin:12px 8px 0 0}
  .sch .c-yn:before{content:attr(data-l);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
  .sch .c-when{grid-column:1/3;margin-top:12px;padding-top:10px;border-top:1px dotted var(--line-2);font-size:14px}
}

.prod-name{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}

/* estimator */
.est{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-2);background:#fff}
.est .form{padding:28px 28px 32px;border-right:1px solid var(--line-2)}
.est .out{padding:28px 28px 32px;background:var(--paper-2)}
.fld{margin-bottom:20px}
.fld label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.fld select,.fld input{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line-2);padding:10px 12px;border-radius:0;appearance:none}
.fld select:focus,.fld input:focus{outline:none;border-color:var(--accent)}
.dims{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sub-l{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:5px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:13px;padding:9px 13px;border:1px solid var(--line-2);background:#fff;cursor:pointer;user-select:none;line-height:1.2}
.chip:hover{border-color:var(--ink-3)}
.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.hint{font-size:13px;color:var(--ink-3);margin-top:8px}
.range{margin:4px 0 20px}
/* Ближайшее решение, а не точная цена: полоса и цифры меняют цвет, чтобы это
   нельзя было принять за готовое предложение. */
.range.no-sol .bar{background:#fdf1e6;border-color:#e7c9a4}
.range.no-sol .bar:before,.range.no-sol .bar:after{background:#a4501a}
.range.no-sol .v,.range.no-sol .dash{color:#a4501a}
.range .r-l{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.range .bar{height:6px;background:var(--accent-soft);border:1px solid var(--line-2);position:relative}
.range .bar:before,.range .bar:after{content:"";position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--accent)}
.range .bar:before{left:0}.range .bar:after{right:0}
.range.single .bar{background:var(--accent-soft)}
.range.single .dash,.range.single #e-max{display:none}
.range .vals{display:flex;justify-content:space-between;align-items:baseline;margin-top:var(--s2);gap:var(--s2)}
.range .v{font-size:clamp(24px,3.2vw,36px);font-weight:600;letter-spacing:-.03em;line-height:1}
.range .v small{font-family:var(--mono);font-size:16px;font-weight:400;color:var(--ink-2);letter-spacing:0;margin-left:6px}
.range .dash{flex:0 0 auto;font-family:var(--mono);font-size:18px;color:var(--ink-3);align-self:center;padding:0 4px}
.orow{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.orow span:first-child{color:var(--ink-2)}
.orow span:last-child{text-align:right;max-width:62%}
.orow span:last-child.num{font-family:var(--mono)}
.notes{margin-top:16px}
.note{font-size:13px;color:var(--ink-2);padding:8px 0 8px 22px;position:relative;border-top:1px dotted var(--line-2)}
.note:before{content:"!";position:absolute;left:2px;top:8px;font-family:var(--mono);font-size:12px;color:var(--accent)}
.est .foot{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.est .foot .btn{padding:12px 18px}
.disclaim{font-size:13px;color:var(--ink-3);margin-top:14px;line-height:1.5}
@media(max-width:900px){.est{grid-template-columns:1fr}.est .form{border-right:0;border-bottom:1px solid var(--line-2);padding:22px 18px 26px}.est .out{padding:22px 18px 26px}}


/* final + form */
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contacts{margin-top:32px;border-top:1px solid var(--deep-line)}
.c-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--deep-line);font-size:15px}
.c-row span:first-child{color:var(--deep-txt);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding-top:4px}
.c-row a{color:#fff;text-decoration:none;border-bottom:1px solid var(--deep-line)}
.c-row a:hover{border-color:var(--accent);color:var(--accent)}
.req{background:#14343F;border:1px solid #3E6270;padding:28px}
.req .f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.req .fld{margin-bottom:16px}
.req label{color:#B9CBD2}
.req input,.req textarea{width:100%;background:#0A1D26;border:1px solid #5E808D;color:#fff;padding:12px 13px;font-family:var(--sans);font-size:15px;border-radius:0;resize:vertical;line-height:1.45}
.req input::placeholder,.req textarea::placeholder{color:#5A757F;font-style:italic}
.req input:hover,.req textarea:hover{border-color:#7B9BA7}
.req input:focus,.req textarea:focus{outline:none;border-color:var(--accent);background:#0D242E;box-shadow:inset 2px 0 0 var(--accent)}
.req .btn{width:100%;text-align:center;cursor:pointer;font-family:var(--mono)}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--deep-txt);margin:4px 0 16px;cursor:pointer;line-height:1.45}
.agree input{width:16px;height:16px;flex:0 0 auto;margin-top:1px;accent-color:var(--accent)}
.btn-wa{display:block;text-align:center;margin-top:10px;border-color:var(--deep-line);color:#fff;text-decoration:none}
.btn-wa:hover{background:#fff;color:var(--deep)}
.f-note{font-size:13px;color:var(--deep-txt);margin-top:14px;line-height:1.5}
.f-note a{color:#fff}
.f-note.err{color:#E08A76}
.f-note.ok{color:#8FD3B0}
@media(max-width:900px){.final-grid{grid-template-columns:1fr;gap:32px}.req .f2{grid-template-columns:1fr;gap:0}}


/* --- правки по ревью --- */
section{scroll-margin-top:92px;padding-bottom:56px}
td{vertical-align:top}
.mnav{display:none}
@media(max-width:900px){
  .mnav{display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--paper);
        border-bottom:1px solid var(--line);position:sticky;top:82px;z-index:40;scrollbar-width:none;
        background-image:
          linear-gradient(to right,var(--paper),var(--paper)),
          linear-gradient(to right,var(--paper),var(--paper)),
          linear-gradient(to right,rgba(22,48,58,.22),rgba(22,48,58,0)),
          linear-gradient(to left,rgba(22,48,58,.22),rgba(22,48,58,0));
        background-position:left center,right center,left center,right center;
        background-repeat:no-repeat;
        background-size:24px 100%,24px 100%,16px 100%,16px 100%;
        background-attachment:local,local,scroll,scroll}
  .mnav::-webkit-scrollbar{display:none}
  .mnav a{flex:0 0 auto;font-size:13px;color:var(--ink-2);text-decoration:none;
          padding:11px 14px;border-right:1px solid var(--line);white-space:nowrap}
  .mnav a:active{background:var(--paper-2)}
  section{scroll-margin-top:124px}
}
/* select как select */
.fld select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M0 0l4.5 6L9 0z' fill='%2363737B'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:34px;cursor:pointer}
/* чипы да/нет */
.yn{white-space:nowrap}
.sch .c-yn{width:112px}
@media(max-width:860px){
  .sch tr{grid-template-columns:96px 1fr}
  .sch .c-fig figure{width:96px}
  .sch .c-yn{grid-column:auto;width:auto;text-align:left;margin:14px 0 0}
}
/* заголовки без жёстких переносов на узком */
@media(max-width:640px){ h1 br,h2 br{display:none} }
h1,h2{text-wrap:balance}
/* список объектов: группы во всю ширину */
.groups{display:block}
.grp{border-top:1px solid var(--line-2);padding:24px 0 8px}
.grp h3{font-size:12px;letter-spacing:.14em;margin-bottom:16px}
.grp .items{columns:2;column-gap:48px}
.obj{break-inside:avoid;padding:10px 0 14px}
.obj .nm{font-size:15px}
@media(max-width:860px){ .grp .items{columns:1} }
/* таблица полотен — карточки на узком */
@media(max-width:860px){
  .fab-wrap{border:0}
  table.fab{min-width:0;width:100%;display:block}
  table.fab thead{display:none}
  table.fab tbody,table.fab tr,table.fab td{display:block;width:auto}
  table.fab tr{border:1px solid var(--line-2);background:#fff;margin-bottom:12px;padding:14px}
  table.fab td{border:0;padding:0}
  table.fab td.f-name{font-weight:600;font-size:15px;margin-bottom:10px}
  table.fab td.f-v{display:inline-block;margin:0 16px 8px 0;font-family:var(--mono);font-size:13px}
  table.fab td.f-v:before{content:attr(data-l) " ";color:var(--ink-3);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
  table.fab td.f-note{border-top:1px dotted var(--line-2);margin-top:6px;padding-top:10px;font-size:13px;color:var(--ink-2)}
}


/* faq */
.faq{border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 40px 16px 0;position:relative;font-size:17px;font-weight:600;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:8px;top:14px;font-family:var(--mono);font-size:18px;color:var(--ink-3);font-weight:400}
.faq summary:hover:after{color:var(--accent)}
.faq details[open] summary:after{content:"\2013"}
.faq summary:hover{color:var(--accent)}
.faq p{padding:0 40px 18px 0;margin:0;font-size:15px;color:var(--ink-2);max-width:80ch}

/* подвал */
.site-foot{background:#102530;color:var(--deep-txt);border-top:1px solid var(--deep-line)}
.f-top{display:grid;grid-template-columns:1.3fr .95fr .95fr 1.1fr 1fr;gap:var(--s5);padding:var(--s5) 24px var(--s4)}
.f-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.f-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:6px;padding-bottom:10px;border-bottom:1px solid var(--deep-line)}
.f-col a{color:var(--deep-txt);text-decoration:none;font-size:14px;line-height:1.4}
.f-col a:hover{color:#fff}
.f-col span{font-size:14px;line-height:1.5}
.f-brandcol img{opacity:.95;margin-bottom:6px}
.f-name{color:#fff;font-weight:600;font-size:var(--t3)}
.f-small{font-size:13px;line-height:1.55;max-width:34ch}
.f-cta{margin-top:10px;border:1px solid var(--accent);color:#fff !important;text-align:center;padding:10px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.f-cta:hover{background:var(--accent)}
.f-law{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;padding:16px 24px 28px;border-top:1px solid var(--deep-line);
  font-size:12.5px;color:#8598A0}
@media(max-width:1000px){.f-top{grid-template-columns:1fr 1fr;gap:var(--s4)}}
@media(max-width:640px){.f-top{grid-template-columns:1fr;padding:var(--s4) 16px var(--s3)}.f-law{padding:14px 16px 24px;font-size:11.5px}}

/* тёмная секция */
.dark{background:var(--deep);color:var(--paper)}
.dark h2{color:#fff}
.dark .lead{color:#C3CFD5}
.dark .sec-head .num{color:var(--accent)}
.dark .sec-head .aside{color:var(--deep-txt);border-top-color:var(--deep-line)}
.dark .limits{border-top:1px solid var(--deep-line)}
.dark .lim{border-top:1px solid var(--deep-line)}
.dark .lim h3{color:#fff}
.dark .lim p{color:#B9C6CC}

/* тёмные полосы */
.band{background:var(--deep);color:var(--paper);border-top:0}
.band-in{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);padding:var(--s5) 0}
.band-tag{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--deep-txt);margin-bottom:var(--s2)}
.band h3,.band-h{font-size:24px;line-height:1.2;color:#fff;font-weight:600;max-width:20ch}
.band-r p{color:#D7DFE3;font-size:var(--t3);margin-bottom:var(--s2);max-width:62ch}
.band-note{color:var(--deep-txt);font-family:var(--mono);font-size:11.5px;line-height:1.7;letter-spacing:.02em}
@media(max-width:900px){.band-in{grid-template-columns:1fr;gap:var(--s3);padding:var(--s4) 0}.band h3,.band-h{font-size:20px;max-width:none}}

/* limits */
.limits{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}
.lim{padding:18px 0;border-top:1px solid var(--line)}
.lim h3{font-size:16px;margin-bottom:6px}
.lim p{font-size:15px;color:var(--ink-2)}
@media(max-width:900px){.limits{grid-template-columns:1fr}}

/* cta */
.final{background:var(--deep);color:var(--paper);border-top:0;padding-bottom:0}
.final .wrap{padding:64px 24px 56px}
.final h2{color:#fff;max-width:20ch}
.final p{color:var(--deep-txt);margin-top:18px;font-size:17px}
.final .btn{border-color:#fff;color:#fff}
.final .btn-p{background:var(--accent);border-color:var(--accent);color:#fff}
.final .btn-p:hover{background:#fff;color:var(--ink)}
.final .btn-s:hover{background:#fff;color:var(--ink)}
.f-org{display:flex;gap:14px;align-items:flex-start}
.f-org img{width:46px;height:auto;opacity:.9}
footer{border-top:1px solid var(--line);padding:28px 0 48px;font-size:13px;color:var(--ink-3);display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}


.sch-link{text-decoration:none;color:inherit;display:block}
.sch-link:hover b{color:var(--accent)}
.sch-go{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}
.sch-link:hover .sch-go{color:var(--accent)}

/* ---------- внутренние страницы ---------- */
abbr{text-decoration:none;border-bottom:1px dotted var(--ink-3);cursor:help}
.dark abbr,.band abbr,.final abbr{border-bottom-color:var(--deep-line)}

.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:20px 0 4px;
  font-size:13px;color:var(--ink-3);max-width:700px}
.crumbs a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--accent);border-color:var(--accent)}
.crumb-sep{color:var(--line-2)}

.art{display:block}
.art-head{padding:36px 24px 0}
.art-num{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.art h1{font-size:clamp(30px,4vw,50px);font-weight:600;letter-spacing:-.03em;line-height:1.08;max-width:22ch}
.art-lead{margin-top:22px;font-size:19px;line-height:1.5;color:var(--ink-2);max-width:60ch}
.art-sum{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:32px;border:1px solid var(--line-2);background:#fff}
.art-sum>div{padding:18px 20px;border-right:1px solid var(--line-2)}
.art-sum>div:last-child{border-right:0}
.art-sum span{font-family:var(--mono);font-size:var(--t1);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:8px}
.art-sum p{font-size:15px;color:var(--ink-2);margin:0}

.art-body{padding:8px 24px 0;max-width:1240px}
.art-body h2{font-size:26px;font-weight:600;letter-spacing:-.02em;margin:44px 0 14px;max-width:26ch}
.art-body p{font-size:17px;line-height:1.62;color:var(--ink-2);margin-bottom:16px;max-width:74ch}
.art-body p b{color:var(--ink);font-weight:600}
.art-body a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent)}
.art-body a:hover{color:var(--accent)}
.art-body .ul,.art-body .ol{margin:0 0 18px 0;padding-left:0;list-style:none;counter-reset:li;max-width:74ch}
.art-body .ul li{position:relative;padding:9px 0 9px 26px;border-top:1px solid var(--line);font-size:16px;color:var(--ink-2)}
.art-body .ul li:before{content:"";position:absolute;left:0;top:19px;width:12px;height:1px;background:var(--accent)}
.art-body .ol li{position:relative;padding:9px 0 9px 34px;border-top:1px solid var(--line);font-size:16px;color:var(--ink-2);counter-increment:li}
.art-body .ol li:before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:10px;font-family:var(--mono);font-size:12px;color:var(--accent)}
.deflist{margin:0 0 20px;border-top:1px solid var(--line-2)}
.deflist>div{display:grid;grid-template-columns:230px 1fr;gap:var(--s3);padding:14px 0;border-bottom:1px solid var(--line)}
.deflist dt{font-weight:600;color:var(--ink);font-size:16px;line-height:1.3}
.deflist dd{margin:0;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:70ch}

.art-cta{margin:48px 0 8px;padding:24px;border:1px solid var(--line-2);background:var(--paper-2);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.art-cta p{margin:0 auto 0 0;max-width:52ch;font-size:15px;color:var(--ink-2)}

.sys-others{padding:48px 24px 8px}
.so-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-top:1px solid var(--line-2);padding-top:16px;margin-bottom:18px}
.so-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border-left:1px solid var(--line)}
.sys-mini{display:block;padding:16px 18px;border-right:1px solid var(--line);text-decoration:none;color:inherit}
.sys-mini:hover{background:#fff}
.sm-n{display:block;font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em;margin-bottom:6px}
.sm-t{font-size:15px;font-weight:600}

.sys-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line-2);border-left:1px solid var(--line)}
.sys-card{display:block;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.sys-card:hover{background:#fff}
.sc-n{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}
.sc-t{display:block;font-size:21px;font-weight:600;letter-spacing:-.01em;margin:8px 0 10px}
.sc-d{display:block;font-size:15px;color:var(--ink-2);margin-bottom:14px;max-width:52ch}
.sc-pro,.sc-con{display:block;font-size:13.5px;line-height:1.5;padding:6px 0;border-top:1px dotted var(--line-2)}
.sc-pro{color:var(--ink-2)}
.sc-con{color:var(--ink-3)}

.art-list{padding:8px 24px 0}
.art-group{margin-bottom:36px}
.ag-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border-top:1px solid var(--line-2);padding-top:14px;margin-bottom:6px}
.art-row{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:var(--s3);padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;align-items:baseline}
.art-row:hover .ar-t{color:var(--accent)}
.ar-t{font-size:18px;font-weight:600;line-height:1.25}
.ar-d{font-size:15px;color:var(--ink-2)}

.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line)}
.rel-card{display:block;padding:18px;border-right:1px solid var(--line);text-decoration:none;color:inherit}
.rel-card:hover{background:#fff}
.rc-t{display:block;font-size:16px;font-weight:600;line-height:1.3;margin-bottom:8px}
.rc-d{font-size:13px;color:var(--ink-3)}

.final-side{background:var(--deep-2);border:1px solid var(--deep-line);padding:26px}
.fs-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.final-side p{color:var(--deep-txt);font-size:15px;margin-bottom:18px}
.final-side .btn{width:100%;text-align:center;margin-bottom:10px}

@media(max-width:1000px){
  .sys-grid{grid-template-columns:1fr}
  .rel-grid{grid-template-columns:1fr}
  .art-row{grid-template-columns:1fr;gap:6px}
  .deflist>div{grid-template-columns:1fr;gap:4px}
  .art-sum{grid-template-columns:1fr}
  .art-sum>div{border-right:0;border-bottom:1px solid var(--line-2)}
}
@media(max-width:640px){
  .art-head{padding:20px 16px 0}
  .crumbs{padding:16px 0 2px}
  .art h1{font-size:28px}
  .art-body,.art-list,.sys-others{padding-left:16px;padding-right:16px}
  .art-body h2{font-size:22px;margin-top:34px}
  .art-body p{font-size:16px}
  .art-lead{font-size:17px}
  .art-cta{padding:18px}
}


/* колонки статьи */
.art-cols{display:grid;grid-template-columns:minmax(0,660px) 250px;gap:56px;padding:8px 24px 0;align-items:start}
.art-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:24px}
.art-side{grid-column:2;grid-row:1}
.art-cols .art-body{grid-column:1;grid-row:1}
.toc{border-top:1px solid var(--line-2);padding-top:14px}
.toc-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.toc a{display:block;font-size:14px;line-height:1.4;color:var(--ink-2);text-decoration:none;padding:7px 0;border-bottom:1px solid var(--line)}
.toc a:hover{color:var(--accent)}
.side-cta{border:1px solid var(--line-2);background:#fff;padding:18px}
.sc-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.side-cta p{font-size:13.5px;color:var(--ink-2);margin-bottom:14px;line-height:1.5}
.side-cta .btn{width:100%;text-align:center;padding:11px 12px;font-size:11px}
.art-cols .art-body{padding:0;max-width:660px}
.art-body p,.art-body .ul,.art-body .ol,.deflist dd{max-width:660px}
.art-head>*{max-width:700px}
.art-body h2{scroll-margin-top:110px;max-width:none}
.art-head{max-width:1240px;margin:0 auto}
.art h1{max-width:900px}
.art-lead{max-width:660px}
@media(max-width:1100px){
  /* minmax(0,1fr) вместо 1fr: иначе минимальный размер колонки берётся
     по содержимому и широкая таблица растягивает всю сетку */
  .art-cols{grid-template-columns:minmax(0,1fr);gap:24px}
  .art-cols>*{min-width:0}
  .art-side{position:static;flex-direction:row;flex-wrap:wrap;gap:20px;grid-column:1;grid-row:2}
  .art-cols .art-body{grid-column:1;grid-row:1}
  .toc{flex:1 1 340px}
  .side-cta{flex:1 1 260px}
  .toc a{display:inline-block;border-bottom:0;margin-right:18px;border-bottom:1px solid var(--line-2);padding:4px 0}
}
@media(max-width:640px){
  .art-cols{padding-left:16px;padding-right:16px}
  .art-side{flex-direction:column;gap:16px}
}


/* короткие блоки на главной */
.obj-short{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line-2);border-left:1px solid var(--line)}
.obj-short>div{padding:18px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2);line-height:1.5}
.obj-short span{display:block;font-family:var(--mono);font-size:var(--t1);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.fab-short{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border-top:1px solid var(--line-2);border-left:1px solid var(--line)}
.fab-short>div{padding:16px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.fab-short b{display:block;font-size:15px;font-weight:600;margin-bottom:8px;line-height:1.3}
.fab-short span{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);line-height:1.7}
.sec-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:20px}
.sec-links a{font-size:15px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:3px}
.sec-links a:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:860px){.obj-short{grid-template-columns:1fr}}


/* страница типов объектов */
.obj-group{margin:36px 0}
.og-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
  border-top:1px solid var(--line-2);padding-top:14px;margin-bottom:4px}
.obj-row{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:8px 32px;padding:18px 0;border-bottom:1px solid var(--line)}
.or-name{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.or-name b{font-size:17px;font-weight:600;line-height:1.25}
.or-about{grid-column:2;font-size:15.5px;color:var(--ink-2);line-height:1.55}
.or-meta{grid-column:2;font-size:14px;color:var(--ink-2);display:flex;gap:10px;flex-wrap:wrap}
.or-meta span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex:0 0 130px}
@media(max-width:860px){
  .obj-row{grid-template-columns:1fr;gap:8px}
  .or-name,.or-about,.or-meta{grid-column:1}
  .or-name{grid-row:auto}
  .or-meta span{flex:0 0 auto}
}

/* мобильные переопределения — в конце, чтобы не перебивались */
@media(max-width:640px){
  .wrap{padding:0 16px}
  .hrow{height:52px;gap:12px}
  .brand{font-size:11px;letter-spacing:.08em}
  .brand i{display:none}
  .hbtn{font-size:12px;padding:8px 12px;letter-spacing:.04em}
  .sec-head{grid-template-columns:1fr;gap:8px;padding:44px 0 24px}
  .sec-head .num{padding-top:0}
  .threat dl{grid-template-columns:1fr}
  .threat dl div{border-right:0;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:baseline;gap:16px}
  .threat dd{font-size:20px}
  .threat dl div:last-child{border-bottom:0}
  .btn{padding:13px 16px;font-size:11px}
  .cta{gap:8px}
  .cta .btn{flex:1 1 100%;text-align:center}
  .hero-in{padding-top:32px}
  .hero .tag{margin-bottom:4px}
}

/* ---------- правки по общему ревью ---------- */

/* акцент в заголовке — отметкой, а не цветом слова */
.hero h1 em{font-style:normal;color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:5px;text-underline-offset:8px}

/* живой вход в калькулятор в первом экране */
.hcalc{margin-top:30px;border:1px solid var(--line-2);background:#fff;padding:16px 18px 18px;max-width:520px}
.hc-h{display:block;font-family:var(--mono);font-size:var(--t1);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.hc-row{display:flex;gap:10px;align-items:stretch}
.hc-row select{flex:1 1 auto;min-width:0;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line-2);padding:10px 34px 10px 12px;border-radius:0;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M0 0l4.5 6L9 0z' fill='%2363737B'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.hc-row select:focus{outline:none;border-color:var(--accent)}
.hc-row .btn{flex:0 0 auto;padding:10px 14px;font-size:11px}
.hc-out{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.hc-l{font-family:var(--mono);font-size:var(--t1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.hc-out b{font-size:22px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
@media(max-width:520px){.hc-row{flex-wrap:wrap}.hc-row .btn{width:100%;text-align:center}.hc-out{flex-direction:column;gap:4px}}

/* таблица схем: кликается вся строка */
.sch-row{cursor:pointer}
.sch-row:hover{background:#FBFAF7}
.sch-link{text-decoration:none;color:inherit;display:block}
.sch-link:hover b{color:var(--accent)}

/* поля калькулятора: плейсхолдер не путать с введённым */
.fld input::placeholder{color:var(--ink-3);font-style:italic}

/* широкая схема-полоса: смена ритма длинной страницы */
.wide-fig{margin:0 0 var(--s4);border:1px solid var(--line-2);background:#fff}
.wide-fig svg{display:block;width:100%;height:auto}
@media(max-width:860px){.wide-fig{overflow-x:auto}.wide-fig svg{width:820px;max-width:none}}

/* тональная секция — смена ритма без инверсии */
.tone{background:var(--paper-2);border-top:1px solid var(--line-2)}
.tone .panel{border-color:var(--line-2)}
/* одна мера строки и в списках объектов */
.or-about{max-width:660px}

/* кнопки внутри текста статьи не должны наследовать стиль ссылки */
.art-body a.btn{border:1px solid var(--ink);text-decoration:none}
.art-body a.btn-p{background:var(--ink);color:var(--paper)}
.art-body a.btn-p:hover{background:#0C1F27;border-color:#0C1F27;color:var(--paper)}
.art-body a.btn-s{background:transparent;color:var(--ink)}
.art-body a.btn-s:hover{background:var(--ink);color:var(--paper)}
/* знак компании — вектор, цвет из темы */
.brand .mark{display:block;flex:0 0 auto;color:var(--ink)}
.f-brandcol .mark,.f-org .mark{color:#fff;opacity:.95}
@media(max-width:640px){.brand .mark{width:34px;height:34px}}

/* врезка в тексте юридических и обычных страниц */
.art-body .callout{max-width:660px;border-left:2px solid var(--accent);background:var(--paper-2);padding:14px 18px;margin:0 0 var(--s3);font-size:var(--t3);color:var(--ink)}
.f-legal a{color:#8598A0;text-decoration:none;border-bottom:1px solid var(--deep-line)}
.f-legal a:hover{color:#fff;border-color:var(--accent)}
.agree a{color:#fff;text-decoration:none;border-bottom:1px solid var(--deep-line)}
.agree a:hover{border-color:var(--accent)}

/* --- приём файлов в форме заявки --- */
.drop-fld input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.drop{display:block;border:1px dashed #5E808D;background:#0A1D26;padding:16px 14px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--accent);background:#0D242E}
.drop-t{display:block;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:#fff}
.drop-t i{color:#7B9BA7;font-style:normal}
.drop-s{display:block;margin-top:6px;font-size:12px;color:#5A757F;line-height:1.4}
.drop-list{list-style:none;margin:10px 0 0;padding:0;font-size:13px;color:#B9CBD2}
.drop-list li{padding:5px 0;border-bottom:1px solid #2A4A56;word-break:break-word}
.drop-list li:last-child{border-bottom:none}
.drop-list li.too-big{color:#E08C79}

/* --- «что пригодится для расчёта» в секции заявки --- */
.need{margin-top:var(--s4);border-top:1px solid var(--deep-line);padding-top:var(--s3)}
.need-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--deep-txt);margin-bottom:var(--s2)}
.need-list{margin:0;padding:0;list-style:none;counter-reset:need}
.need-list li{counter-increment:need;position:relative;padding:0 0 12px 34px;font-size:14px;line-height:1.5;color:var(--deep-txt);max-width:60ch}
.need-list li::before{content:counter(need,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:var(--mono);font-size:11px;color:var(--draw);letter-spacing:.06em}
.need-list b{color:#fff;font-weight:500}
.need-note{margin-top:6px;font-size:14px;line-height:1.5;color:var(--deep-txt);border-left:2px solid var(--accent);padding-left:14px;max-width:60ch}
@media(max-width:900px){.need-list li{font-size:13.5px}}

/* --- отраслевые страницы: справка, вопросы, карточки --- */
.obj-spec{border:1px solid var(--line);background:var(--paper-2);padding:16px 18px;margin-bottom:var(--s3)}
.os-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.os-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.4}
.os-row:first-of-type{border-top:none}
.os-row span{color:var(--ink-3);flex:0 0 auto;max-width:48%}
.os-row b{font-weight:500;text-align:right}
.oq-list{margin:0 0 var(--s3);border-top:1px solid var(--line)}
.oq{border-bottom:1px solid var(--line);padding:16px 0}
.oq-q{font-weight:600;margin-bottom:8px;letter-spacing:-.01em}
.oq-a{color:var(--ink-2);max-width:68ch}
.obj-sys{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 var(--s3)}
.obj-sys a{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-decoration:none;border:1px solid var(--line-2);padding:9px 14px;color:var(--ink)}
.obj-sys a:hover{border-color:var(--accent);color:var(--accent)}
.obj-lead{padding:var(--s5) 24px var(--s2)}
.obj-lead h2{margin-bottom:12px}
.obj-lead>p{color:var(--ink-2);margin-bottom:var(--s3)}
.obj-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.obj-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);background:#fff;padding:20px;text-decoration:none;transition:border-color .15s}
.obj-card:hover{border-color:var(--accent)}
.oc-t{font-size:var(--t4);font-weight:600;letter-spacing:-.01em;line-height:1.2}
.oc-d{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.oc-go{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:auto;padding-top:8px}
@media(max-width:700px){.obj-cards{grid-template-columns:1fr}.os-row{font-size:12.5px}}

/* --- выбор типа объекта на главной --- */
.obj-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px;margin-bottom:var(--s3)}
.obj-pick a{display:block;border:1px solid var(--line);background:#fff;padding:16px 18px;text-decoration:none;font-size:var(--t4);font-weight:500;letter-spacing:-.01em;line-height:1.25;transition:border-color .15s}
.obj-pick a:hover{border-color:var(--accent);color:var(--accent)}
.obj-pick span{display:block;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.obj-pick a:hover span{color:var(--ink-3)}
@media(max-width:700px){.obj-pick{grid-template-columns:1fr}}

/* --- страница контактов --- */
.kt-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-bottom:var(--s5)}
.kt-block{border:1px solid var(--line);background:#fff;padding:24px}
.kt-h{font-family:var(--mono);font-size:var(--t1);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.kt-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:var(--t3)}
.kt-row span{color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding-top:4px}
.kt-row a{text-decoration:none;border-bottom:1px solid var(--line-2);font-weight:500}
.kt-row a:hover{color:var(--accent);border-color:var(--accent)}
.kt-addr{font-size:var(--t5);line-height:1.35;letter-spacing:-.01em;padding-bottom:4px}
.kt-note{font-size:14px;color:var(--ink-2);line-height:1.55;margin:14px 0 0;max-width:52ch}
.kt-block .btn{margin-top:20px}
@media(max-width:820px){.kt-grid{grid-template-columns:1fr;gap:16px}}

/* Таблицы в тексте статей и опорных страниц. Без обёртки .tbl-wrap широкая
   таблица распирала колонку сетки и рвала мобильный макет. */
.art-body .tbl-wrap{margin:0 0 22px;max-width:660px}
/* сброс глобального table{min-width:820px} — он рассчитан на широкие таблицы
   главной, а в тексте таблица должна укладываться в колонку */
table.tbl{width:100%;min-width:0;border-collapse:collapse;font-size:15px;background:#fff}
table.tbl th,table.tbl td{border-bottom:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
table.tbl thead th{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;border-bottom:1px solid var(--line-2);white-space:nowrap}
table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl td:first-child{font-weight:500;color:var(--ink)}
.art-body p.cap{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--ink-3);margin:-14px 0 24px}
.side-cta{border-top:1px solid var(--line-2);margin-top:22px;padding-top:16px}
.side-cta .sc-h{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.side-cta p{font-size:14px;color:var(--ink-2);line-height:1.5;margin-bottom:12px}
.side-cta .btn{width:100%;justify-content:center}
@media(max-width:760px){
  .art-body .tbl-wrap{max-width:none}
  table.tbl{font-size:13px}
  table.tbl th,table.tbl td{padding:8px 7px}
  table.tbl thead th{white-space:normal;font-size:10.5px;letter-spacing:.04em}
  table.tbl thead th:not(:first-child){white-space:nowrap}
  table.tbl th:not(:first-child),table.tbl td:not(:first-child){text-align:center;width:1%}
}

/* --- чертежи схем на страницах систем ------------------------------------ */
/* Чертёж вынесен из текстовой колонки на всю ширину: в колонке 700 px подписи
   внутри SVG ужимаются до нечитаемых восьми пикселей. */
.sys-figwrap{margin:0 auto 40px}
.sys-fig{margin:0;background:#fff;border:1px solid var(--line-2)}
.sys-fig svg{display:block;width:100%;height:auto}
.sys-fig figcaption{padding:12px 16px;border-top:1px solid var(--line-2);
  font-size:13.5px;line-height:1.45;color:var(--ink)}
.sys-nums{margin-top:18px;border:1px solid var(--line-2);background:#fff}
.sys-nums .sn-h{padding:10px 16px;border-bottom:1px solid var(--line-2);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
/* у лесов и кольца мачт нет, и третья ячейка не выводится — сетка подстраивается */
.sys-nums .sn-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.sys-nums .sn-row>div{padding:16px;border-right:1px solid var(--line-2)}
.sys-nums .sn-row>div:last-child{border-right:0}
.sys-nums .sn-v{display:block;font-size:30px;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}
.sys-nums .sn-l{display:block;margin-top:4px;font-size:13px;color:var(--ink-2)}
/* мера строки для абзацев статьи задана глобально и обрезала рамку этого блока */
.sys-nums .sn-note{margin:0;max-width:none;padding:12px 16px;border-top:1px solid var(--line-2);
  font-size:13px;line-height:1.5;color:var(--ink-2)}
@media (max-width:720px){
  .sys-nums .sn-row{grid-template-columns:1fr}
  .sys-nums .sn-row>div{border-right:0;border-bottom:1px solid var(--line-2)}
  .sys-nums .sn-row>div:last-child{border-bottom:0}
  .sys-nums .sn-v{font-size:24px}
  .sys-fig figcaption{font-size:12.5px;padding:10px 12px}
}

/* --- таблица сравнения схем в разделе «Системы» --------------------------- */
.sch .c-num{width:130px;color:var(--ink-2);font-size:14px;vertical-align:top}
.sch .c-num b{display:block;font-size:16px;color:var(--ink);font-weight:600}
.sch .c-num .c-sub{display:block;margin-top:3px;font-size:11.5px;line-height:1.35;color:var(--ink-3)}
.tbl-note{max-width:none;margin:14px 0 0;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.sys-pick{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 8px}
@media (max-width:860px){
  .sch .c-num{grid-column:1/3;display:block;width:auto;margin-top:10px}
  .sch .c-num:before{content:attr(data-l);font-family:var(--mono);font-size:11.5px;
    letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
  .sch .c-num b{display:inline}
  .sch .c-num .c-sub{display:inline;margin-left:6px}
}

/* Пометка «пример» над ценой: калькулятор открывается с типовыми габаритами,
   и человек должен видеть, что цифра пока не про его объект. */
.ex-flag{margin:8px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--acc)}

/* Вторая кнопка расчёта: один тип объекта в калькуляторе, два разных размера задачи. */
.calc-alt{margin-top:12px;padding-top:12px;border-top:1px dotted var(--line-2)}
.calc-alt .ca-h{display:block;margin-bottom:7px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.calc-alt .ca-alt{display:block;margin-bottom:6px;font-size:13.5px;line-height:1.4;
  color:var(--ink);border-bottom:1px solid var(--line-2);padding-bottom:5px}
.calc-alt .ca-alt:last-child{margin-bottom:0}

/* --- применимые схемы: подсказка в боковой колонке ------------------------ */
/* Стоит над оглавлением, в одном стиле со справкой «Исходные параметры».
   Значок маленький — он метка схемы, а не иллюстрация. */
.obj-ap{margin-bottom:26px;border:1px solid var(--line-2);background:#fff}
/* Один и тот же блок: на широком экране он в правой колонке, на узком боковая
   колонка уезжает под текст, поэтому там показываем копию сразу под лидом. */
.obj-ap.ap-top{display:none;margin:24px 0 0}
@media(max-width:900px){
  .obj-ap.ap-top{display:block}
  .obj-ap.ap-side{display:none}
}
.obj-ap .as-h{padding:10px 14px;border-bottom:1px solid var(--line-2);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.obj-ap .as-row{display:flex;align-items:center;gap:10px;padding:8px 14px;
  border-bottom:1px solid var(--line);color:var(--ink-2);text-decoration:none;font-size:13.5px;line-height:1.3}
.obj-ap .as-row:last-of-type{border-bottom:0}
.obj-ap .as-row.on{color:var(--ink);font-weight:500}
.obj-ap .as-ic{flex:0 0 46px;height:29px;border:1px solid var(--line);background:#fff}
.obj-ap .as-ic svg{display:block;width:100%;height:100%}
.obj-ap .as-lim{padding:9px 14px;border-top:1px solid var(--line-2);
  font-size:12.5px;line-height:1.45;color:var(--ink-3)}

/* Опорная цена. Вилка отвечает на вопрос «от и до», но продаём и считаем одно
   конкретное решение — оно и должно быть главной цифрой, а все сведения ниже
   относятся к нему. Раньше цифры брались от дешёвого края, а предупреждения —
   от другого полотна, и понять, к чему относится оговорка, было нельзя. */
.range.has-pick .vals{margin-top:6px}
.range.has-pick .v{font-size:clamp(15px,1.6vw,19px);font-weight:500;color:var(--ink-2)}
.range.has-pick .v small{font-size:12px}
.range.has-pick .dash{font-size:13px}
.pickrow{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--line)}
.pickrow .pk{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pickrow .pk-l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-3)}
.pickrow .pk-v{font-size:clamp(24px,3.2vw,36px);font-weight:600;letter-spacing:-.03em;
  line-height:1}
.pickrow .pk-v small{font-family:var(--mono);font-size:16px;font-weight:400;
  color:var(--ink-2);letter-spacing:0;margin-left:6px}
.pickrow .pk-f{font-size:14px;color:var(--ink-2);flex:1 1 100%}
.pickrow .pk-note{margin-top:6px;font-size:13px;color:var(--ink-2)}
.note-addr{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}

.permflag{display:block;margin-top:4px;font-family:var(--mono);font-size:11px;
  letter-spacing:.04em;color:#a4501a}

/* --- подбор схемы перед таблицей ------------------------------------------ */
.pick{border:1px solid var(--line-2);background:#fff;margin-bottom:26px}
.pick-h{padding:11px 18px;border-bottom:1px solid var(--line-2);font-family:var(--mono);
  font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.pick-q{display:flex;align-items:baseline;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line)}
.pick-q>span{flex:0 0 170px;font-size:14px;color:var(--ink-2)}
.pick-opts{display:flex;flex-wrap:wrap;gap:8px}
.pick-opts button{font:inherit;font-size:14px;line-height:1.2;padding:6px 12px;cursor:pointer;
  border:1px solid var(--line-2);background:#fff;color:var(--ink-2);border-radius:0}
.pick-opts button:hover{border-color:var(--ink-3);color:var(--ink)}
.pick-opts button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.pick-out{padding:14px 18px}
.pk-res{display:flex;align-items:baseline;gap:14px}
.pk-res>span{flex:0 0 auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-3)}
.pk-res a{font-size:17px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line-2)}
.pk-plus{margin:0 10px;color:var(--ink-3)}
.pk-note{margin:8px 0 0;max-width:none;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
@media (max-width:720px){
  .pick-q{flex-direction:column;gap:8px;padding:12px 14px}
  .pick-q>span{flex:none}
  .pick-out{padding:14px}
  .pk-res{flex-direction:column;gap:4px}
  .pk-res a{font-size:16px}
}

/* --- пояснения терминов ---------------------------------------------------- */
/* Штатный title молчит на телефоне, поэтому у термина свой обработчик:
   мышкой — по наведению, пальцем — по нажатию. */
.term{border-bottom:1px dotted var(--ink-3);cursor:help}
.term:focus{outline:2px solid var(--line-2);outline-offset:2px}
.term.term-on{border-bottom-color:var(--accent);color:var(--ink)}
.tip{position:absolute;z-index:60;max-width:340px;padding:11px 13px;background:var(--ink);
  color:#fff;font-size:13.5px;line-height:1.5;box-shadow:0 6px 24px rgba(22,48,58,.18)}
@media (max-width:520px){ .tip{max-width:calc(100vw - 24px)} }

/* Ориентир под заголовком раздела: чем он отличается от соседних. */
.sec-hint{margin:14px 0 0;max-width:640px;font-size:14px;line-height:1.55;color:var(--ink-3)}
.sec-hint a{border-bottom:1px solid var(--line-2)}

/* Уточнение под названием схемы: что закрывает и откуда — одной строкой. */
.sch .c-tag{display:block;margin-top:4px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.sch .c-yn .yn{white-space:normal}

/* Базовая защита — первая строка калькулятора (политика цен витрины 29.09.2026) */
.basic{margin:4px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.basic .r-l{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.basic .bs-v{font-size:clamp(24px,3.2vw,36px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.basic .bs-v small{font-family:var(--mono);font-size:16px;font-weight:400;color:var(--ink-2);letter-spacing:0;margin-left:6px}
.basic .bs-n{margin-top:8px;font-size:13px;line-height:1.5;color:var(--ink-2)}
.range .full-why{margin-top:10px;font-size:13px;line-height:1.5;color:var(--ink-2)}
/* Малый объект: цифр нет, только пояснение и кнопка к заявке */
.out.is-small .range .bar,.out.is-small .range .vals,.out.is-small .range .pickrow,
.out.is-small .range .full-why,.out.is-small .range .ex-flag,.out.is-small .orow,
.out.is-small #e-spread,.out.is-small #e-crewnote,.out.is-small #e-live{display:none}
/* Отметка рекомендуемого варианта на шкале вилки (02.10.2026) */
.range .bar .mark{position:absolute;top:-7px;bottom:-7px;width:4px;margin-left:-2px;background:var(--ink);border-radius:1px}
.range .bar .mark[hidden]{display:none}
