/* ЭКОТЕХ · сайт · OWNER REVIEW CANDIDATE
   Все значения — из токенов DS 2.2.3 (tokens.css). Новых токенов нет; см. отчёт о токенах. */




@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --surface:#0D1A2A;--surface-subtle:#122236;--surface-raised:#14263A;--surface-inverse:#E6EDF3;--ink:#E6EDF3;--ink-muted:#A7B3C2;--ink-subtle:#8D9AAB;--ink-inverse:#0D1A2A;--line:#2A3B50;--line-strong:#6A7B90;--focus:#6BD4E0;
  --cyan-600:#6BD4E0;--cyan-soft:#11323D;--emerald-600:#34C08A;--emerald-soft:#0F3228;--brand-ecotech:#5CA8E6;--brand-ecotech-soft:#16304F;--brand-ecomodule:#C4803A;--brand-ecomodule-soft:#2B1E12;
  --on-accent:#0D1A2A;--brand-ecotech-hover:#7DBBEE;--brand-ecotech-active:#9CCDF3;--status-warning:#F5B83C;--status-warning-soft:#33280F;--status-danger:#FF8A80;
  --flow-heat:#FF8A5C;--flow-data:#5CA8E6;--flow-waste:#C9A27A;--flow-energy:#F5B83C;--flow-material:#A7B3C2;color-scheme:dark}}
:root[data-theme="dark"]{color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:89px;background:var(--surface)}
body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/24px var(--font-sans);text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;color:var(--ink);text-wrap:balance}
p{margin:0}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* сетка */
.wrap{width:100%;max-width:calc(var(--layout-container) + 2*var(--layout-margin));margin:0 auto;padding-inline:var(--layout-margin)}
@media (min-width:1440px){.wrap{max-width:calc(var(--layout-container-xl) + 2*var(--layout-margin-xl));padding-inline:var(--layout-margin-xl)}}
@media (max-width:1023px){.wrap{padding-inline:var(--layout-margin-tablet)}}
@media (max-width:599px){.wrap{padding-inline:var(--layout-margin-mobile)}}

/* типографика — стили DS */
.t-display-xl{font:700 68px/72px var(--font-display);letter-spacing:-.02em}
.t-display{font:700 54px/56px var(--font-display);letter-spacing:-.02em}
.t-h1{font:700 42px/48px var(--font-display);letter-spacing:-.015em}
.t-h2{font:600 33px/40px var(--font-display);letter-spacing:-.01em}
.t-h3{font:600 26px/32px var(--font-display)}
.t-h4{font:600 20px/28px var(--font-display)}
.t-lead{font:400 20px/32px var(--font-sans);color:var(--ink-muted)}
.t-body{font:400 16px/24px var(--font-sans);color:var(--ink-muted)}
.t-small{font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.t-caption{font:500 13px/20px var(--font-sans);color:var(--ink-subtle)}
.t-overline{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle)}
.t-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
@media (max-width:1023px){.t-display-xl{font-size:54px;line-height:56px}.t-display{font-size:42px;line-height:48px}}
@media (max-width:599px){.t-display-xl{font-size:42px;line-height:48px;letter-spacing:-.015em}.t-display{font-size:33px;line-height:40px}.t-h1{font-size:33px;line-height:40px}.t-h2{font-size:26px;line-height:32px}.t-lead{font-size:18px;line-height:28px}}

/* пропуск к содержанию */
.skip{position:absolute;left:var(--space-13);top:-100px;z-index:100;background:var(--ink);color:var(--surface);padding:var(--space-8) var(--space-13);font:600 14px/20px var(--font-sans);text-decoration:none}
.skip:focus{top:var(--space-13)}

/* кнопки — DS Button; текст кнопки без прописных (правило DS) */
.btn{display:inline-flex;align-items:center;gap:var(--space-8);height:var(--size-control-lg);padding:0 var(--space-21);border:var(--stroke-control) solid transparent;border-radius:var(--radius-md);font:600 15px/20px var(--font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-color),border-color var(--motion-color),color var(--motion-color)}
.btn--primary{background:var(--accent);color:var(--on-accent)}
.btn--primary:hover{background:var(--accent-hover)}
.btn--secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn--secondary:hover{border-color:var(--ink)}
.btn--sm{height:var(--size-control);padding:0 var(--space-13);font-size:14px}
.btn svg{width:18px;height:18px}
.link{display:inline-flex;align-items:center;gap:var(--space-5);font:600 15px/24px var(--font-sans);color:var(--accent);text-decoration:none;min-height:var(--size-touch)}
.link:hover span{text-decoration:underline;text-underline-offset:3px}
.link svg{width:16px;height:16px;transition:transform var(--motion-color)}
.link:hover svg{transform:translateX(3px)}

/* шапка */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--surface);border-bottom:1px solid transparent;transition:border-color var(--motion-color)}
.hdr.is-scrolled{border-bottom-color:var(--line)}
.hdr__in{display:flex;align-items:center;gap:var(--space-34);height:80px;transition:height var(--motion-layout)}
.hdr.is-scrolled .hdr__in{height:64px}
.logo{display:block;flex:none;line-height:0}
.logo img{height:40px;width:auto}
.logo .l-d{display:none}
:root[data-theme="dark"] .logo .l-l{display:none}:root[data-theme="dark"] .logo .l-d{display:block}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo .l-l{display:none}:root:not([data-theme="light"]) .logo .l-d{display:block}}
.nav{display:flex;gap:var(--space-21);list-style:none;margin:0 0 0 auto;padding:0}
.nav a{display:flex;align-items:center;min-height:var(--size-touch);font:500 15px/20px var(--font-sans);color:var(--ink-muted);text-decoration:none;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.hdr__act{display:flex;align-items:center;gap:var(--space-8)}
.icon-btn{display:inline-grid;place-items:center;width:var(--size-touch);height:var(--size-touch);border:0;background:transparent;color:var(--ink-muted);border-radius:var(--radius-md);cursor:pointer}
.icon-btn:hover{color:var(--ink);background:var(--surface-subtle)}
.icon-btn svg{width:20px;height:20px}
.menu-btn{display:none}
@media (max-width:1180px){.nav{display:none}.menu-btn{display:inline-grid}.hdr__act{margin-left:auto}}
@media (max-width:599px){.hdr__in{height:64px;gap:var(--space-13)}.logo img{height:32px}.hdr__cta{display:none}}

/* секции */
.sec{padding-block:var(--space-144)}
.sec--tight{padding-block:var(--space-89)}
.sec + .sec{border-top:1px solid var(--line)}
.sec--dark{background:#0D1A2A;border-top:0!important}
@media (max-width:599px){.sec{padding-block:var(--space-89)}.sec--tight{padding-block:var(--space-55)}}
.sh{display:grid;grid-template-columns:minmax(0,var(--layout-phi-3)) minmax(0,1fr);gap:var(--space-34);margin-bottom:var(--space-89)}
.sh__n{font:500 14px/24px var(--font-mono);color:var(--ink-subtle);padding-top:var(--space-8);border-top:1px solid var(--ink)}
.sh__t{max-width:28ch}
.sh__lead{margin-top:var(--space-21);max-width:62ch}
@media (max-width:1023px){.sh{grid-template-columns:1fr;gap:var(--space-21);margin-bottom:var(--space-55)}.sh__n{border-top:0;padding-top:0}}

/* статусы доказательности — DS EvidenceBadge, независимы от бренда */
.ev{display:inline-flex;align-items:center;gap:var(--space-3);height:21px;padding:0 var(--space-5);border-radius:var(--radius-sm);font:600 11px/1 var(--font-sans);letter-spacing:.04em;border:1px solid transparent;white-space:nowrap;color:var(--ink);vertical-align:middle}
.ev svg{width:12px;height:12px}
.ev--measured{background:var(--ink);color:var(--surface)}
.ev--calculated{background:var(--surface);border:1.5px solid var(--ink)}
.ev--estimated{background:var(--surface-subtle);border-color:var(--ink-muted);color:var(--ink-muted)}
.ev--target{background:transparent;border:1px dashed var(--ink-muted)}
.ev--assumption{background:transparent;border:1.5px dotted var(--ink-subtle);color:var(--ink-muted);font-style:italic}
.ev--requires{background:var(--status-warning-soft);border-color:var(--status-warning);color:var(--status-warning)}
.ev--historic{background:var(--surface-subtle);color:var(--ink-subtle)}
.ev--excluded{color:var(--status-danger);border-color:var(--status-danger)}
.ev--excluded span{text-decoration:line-through}

/* подвал */
.ftr{background:#0D1A2A;color:#E6EDF3;padding-block:var(--space-89) var(--space-34)}
.ftr a{color:#E6EDF3;text-decoration:none}
.ftr a:hover{text-decoration:underline;text-underline-offset:3px}
.ftr__top{display:grid;grid-template-columns:minmax(0,var(--layout-phi-minor)) minmax(0,1fr);gap:var(--space-55);padding-bottom:var(--space-55);border-bottom:1px solid #2A3B50}
.ftr__logo img{height:56px;width:auto}
.ftr__claim{margin-top:var(--space-21);font:400 16px/24px var(--font-sans);color:#A7B3C2;max-width:36ch}
.ftr__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-34)}
.ftr__h{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:#8D9AAB;margin-bottom:var(--space-13)}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li a{display:inline-flex;min-height:36px;align-items:center;font:400 15px/20px var(--font-sans)}
.ftr__bot{display:flex;justify-content:space-between;gap:var(--space-21);flex-wrap:wrap;padding-top:var(--space-21);font:400 13px/20px var(--font-sans);color:#8D9AAB}
@media (max-width:1023px){.ftr__top{grid-template-columns:1fr}.ftr__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Схема потоков главной: вход → преобразование → выход. Цвета потоков — токены flow-*, бренд — только у продуктов */
.flow{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1.35fr) 34px minmax(0,1fr);align-items:stretch;gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);padding:var(--space-34)}
.flow__col{display:flex;flex-direction:column;gap:var(--space-13)}
.flow__h{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);margin-bottom:var(--space-5)}
.flow__item{display:flex;align-items:flex-start;gap:var(--space-8);font:500 15px/20px var(--font-sans);color:var(--ink)}
.flow__item small{display:block;font:400 13px/18px var(--font-sans);color:var(--ink-subtle);margin-top:2px}
.flow__dot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--c,var(--flow-material))}
.flow__item .ev{margin-left:auto;flex:none}
.flow__arrow{display:flex;align-items:center;justify-content:center;color:var(--line-strong)}
.flow__arrow svg{width:22px;height:22px}
.flow__core{position:relative;display:flex;flex-direction:column;gap:var(--space-13);border:1.5px dashed var(--brand-ecocycle);border-radius:var(--radius-lg);padding:var(--space-21) var(--space-21) var(--space-13)}
.flow__core-lbl{position:absolute;top:-11px;left:var(--space-13);background:var(--surface-raised);padding:0 var(--space-5);font:600 12px/20px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ecocycle)}
.flow__node{border:1px solid var(--line);border-top:3px solid var(--b);border-radius:var(--radius-md);padding:var(--space-13) var(--space-13);background:var(--surface)}
.flow__node b{display:block;font:700 18px/24px var(--font-display);color:var(--ink)}
.flow__node span{display:block;font:400 14px/20px var(--font-sans);color:var(--ink-muted);margin-top:2px}
.flow__ctl{font:500 13px/18px var(--font-sans);color:var(--ink-subtle);display:flex;gap:var(--space-8);align-items:center}
.flow__sep{height:1px;background:var(--line);margin:var(--space-5) 0}
@media (max-width:1023px){.flow{grid-template-columns:1fr;padding:var(--space-21)}.flow__arrow{height:34px}.flow__arrow svg{transform:rotate(90deg)}}
/* ЭКОТЕХ RC3 · компоненты страниц. Только токены DS 2.2.3; новых цветов нет */
.review{background:var(--status-warning-soft);color:var(--ink);font:500 13px/20px var(--font-sans);text-align:center;padding:var(--space-5) var(--space-13);border-bottom:1px solid var(--line)}
.review b{color:var(--status-warning);font-weight:700}
main{display:block}
.eyebrow{display:flex;gap:var(--space-8);align-items:center;flex-wrap:wrap}
.accent{color:var(--accent)}
.stack>*+*{margin-top:var(--space-21)}
.muted{color:var(--ink-muted)}
.subtle{color:var(--ink-subtle)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}

/* герой */
.hero{padding:var(--space-89) 0 var(--space-89)}
.hero__top{display:grid;grid-template-columns:minmax(0,61.8%) minmax(0,1fr);gap:var(--space-55);align-items:end;margin-bottom:var(--space-55)}
.hero h1{margin-top:var(--space-21)}
.hero__acts{display:flex;gap:var(--space-13);margin-top:var(--space-34);flex-wrap:wrap}
.hero--page{padding:var(--space-89) 0 var(--space-55)}
.hero--page .t-lead{margin-top:var(--space-21);max-width:62ch}
@media (max-width:1023px){.hero__top{grid-template-columns:1fr;gap:var(--space-21)}.hero{padding:var(--space-55) 0}}
@media (max-width:599px){.hero__acts .btn{width:100%;justify-content:center}.hero--page{padding:var(--space-55) 0 var(--space-34)}}

/* фото */
.photo{margin:0}
.photo img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius-lg);background:var(--surface-subtle)}
.photo figcaption{margin-top:var(--space-8);font:400 13px/20px var(--font-sans);color:var(--ink-subtle)}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-21)}
.gallery .g-a{grid-column:span 8}.gallery .g-b{grid-column:span 4}
.gallery .g-c{grid-column:span 4}.gallery .g-d{grid-column:span 4}.gallery .g-e{grid-column:span 4}
.gallery .g-a img,.gallery .g-b img{height:clamp(260px,33vw,500px)}
.gallery .g-c img,.gallery .g-d img,.gallery .g-e img{aspect-ratio:4/3}
@media (max-width:1023px){.gallery .g-a,.gallery .g-b{grid-column:span 12}.gallery .g-a img,.gallery .g-b img{height:auto;aspect-ratio:16/10}.gallery .g-c,.gallery .g-d,.gallery .g-e{grid-column:span 6}}
@media (max-width:599px){.gallery .g-c,.gallery .g-d,.gallery .g-e{grid-column:span 12}}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-55);align-items:start}
.split--phi{grid-template-columns:minmax(0,61.8%) minmax(0,1fr)}
@media (max-width:1023px){.split,.split--phi{grid-template-columns:1fr;gap:var(--space-34)}}

/* карточки продуктов */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-21)}
.pcard{display:flex;flex-direction:column;gap:var(--space-13);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-21) var(--space-21) var(--space-13);background:var(--surface-raised);text-decoration:none;color:inherit;transition:border-color var(--motion-color)}
a.pcard:hover{border-color:var(--accent)}
.pcard h3{font:700 26px/32px var(--font-display)}
.pcard p{color:var(--ink-muted);font:400 15px/22px var(--font-sans)}
.pcard .link{margin-top:auto}
@media (max-width:1023px){.cards{grid-template-columns:1fr}}

/* шкала стадий */
.stages{display:flex;gap:3px;align-items:center}
.stages i{display:block;width:14px;height:6px;border-radius:1px;background:var(--line)}
.stages i.on{background:var(--accent)}
.stages i.cur{background:var(--accent);outline:2px solid var(--accent-soft);outline-offset:1px}
.stages span{margin-left:var(--space-8);font:500 13px/16px var(--font-sans);color:var(--ink-muted)}
.ladder{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;margin-top:var(--space-21)}
.ladder li{list-style:none;border-top:3px solid var(--line);padding-top:var(--space-8);font:500 13px/18px var(--font-sans);color:var(--ink-subtle)}
.ladder li.on{border-color:var(--accent);color:var(--ink-muted)}
.ladder li.cur{border-color:var(--accent);color:var(--ink);font-weight:700}
.ladder li small{display:block;font:400 12px/16px var(--font-mono);color:var(--ink-subtle)}
.ladder{padding:0;margin-bottom:0}
@media (max-width:1023px){.ladder{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:var(--space-13)}}

/* таблица точек данных */
.dt-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-raised)}
.dt-cap{padding:var(--space-13) var(--space-21);font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--space-13);flex-wrap:wrap}
table.dt{width:100%;border-collapse:collapse;font:400 14px/20px var(--font-sans)}
.dt th{text-align:left;font:600 12px/16px var(--font-sans);letter-spacing:.04em;color:var(--ink-subtle);padding:var(--space-8) var(--space-13);border-bottom:1px solid var(--line);background:var(--surface-subtle);white-space:nowrap}
.dt td{padding:var(--space-13);border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-muted)}
.dt tr:last-child td{border-bottom:0}
.dt td.p{color:var(--ink);font-weight:600;min-width:220px}
.dt td.p small{display:block;font-weight:400;color:var(--ink-subtle);margin-top:2px}
.dt td.v{font:600 15px/20px var(--font-mono);color:var(--ink);white-space:nowrap}
.dt td.v small{display:block;font:400 12px/16px var(--font-sans);color:var(--status-warning);white-space:normal;max-width:18ch}
.dt td.s{white-space:nowrap}
.dt tr.new td.p::after{content:"новое";margin-left:var(--space-8);font:600 10px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:2px 4px;vertical-align:2px}
.dt tr[hidden]{display:none}
@media (max-width:899px){
  table.dt,.dt tbody,.dt tr,.dt td{display:block;width:100%}
  .dt thead{display:none}
  .dt tr{padding:var(--space-13) var(--space-13);border-bottom:1px solid var(--line)}
  .dt tr:last-child{border-bottom:0}
  .dt td{border:0;padding:2px 0;display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-8)}
  .dt td::before{content:attr(data-l);font:500 12px/20px var(--font-sans);color:var(--ink-subtle)}
  .dt td.p{display:block;min-width:0;padding-bottom:var(--space-5)}.dt td.p::before{content:none}
  .dt td.v{white-space:normal}
}

/* метрика */
.metric{border-top:1px solid var(--ink);padding-top:var(--space-13)}
.metric__head{display:flex;justify-content:space-between;gap:var(--space-13);align-items:flex-start;font:600 14px/20px var(--font-sans);color:var(--ink)}
.metric__v{display:flex;align-items:baseline;gap:var(--space-8);margin-top:var(--space-13)}
.metric__v b{font:700 54px/56px var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}
.metric__v span{font:500 15px/20px var(--font-sans);color:var(--ink-muted)}
.metric__src{margin-top:var(--space-8);font:400 12px/18px var(--font-sans);color:var(--ink-subtle)}
.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-34)}
@media (max-width:599px){.metrics{grid-template-columns:1fr}.metric__v b{font-size:42px;line-height:48px}}

/* вывод */
.concl{margin-top:var(--space-34);background:var(--surface-subtle);border-radius:var(--radius-lg);padding:var(--space-21) var(--space-21)}
.concl .t-overline{margin-bottom:var(--space-5)}
.concl p{font:600 18px/26px var(--font-display);color:var(--ink)}

/* список «не заявляем» */
.noclaim{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);padding:var(--space-21)}
.noclaim ul{margin:var(--space-8) 0 0;padding:0;list-style:none}
.noclaim li{display:flex;gap:var(--space-8);padding:var(--space-5) 0;color:var(--ink-muted)}
.noclaim li svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--status-danger)}

/* шаги пилота */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-21);counter-reset:s;padding:0;margin:0}
.steps li{list-style:none;border-top:1px solid var(--ink);padding-top:var(--space-13)}
.steps li::before{counter-increment:s;content:"0" counter(s);display:block;font:500 13px/20px var(--font-mono);color:var(--ink-subtle);margin-bottom:var(--space-8)}
.steps b{display:block;font:600 17px/24px var(--font-display);color:var(--ink)}
.steps p{margin-top:var(--space-5);font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
@media (max-width:1023px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.steps{grid-template-columns:1fr}}

/* функциональные блоки */
.feat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-21)}
.feat>div{border-top:1px solid var(--line-strong);padding-top:var(--space-13)}
.feat h3{font:600 17px/24px var(--font-display)}
.feat p{margin-top:var(--space-5);font:400 14px/21px var(--font-sans);color:var(--ink-muted)}
.feat--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1023px){.feat,.feat--3{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.feat,.feat--3{grid-template-columns:1fr}}

/* чипы */
.chips{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-13)}
.chip{display:inline-flex;align-items:center;height:32px;padding:0 var(--space-13);border:1px solid var(--line);border-radius:var(--radius-full);font:500 14px/1 var(--font-sans);color:var(--ink-muted);background:var(--surface)}
button.chip{cursor:pointer}
button.chip[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.filters{display:flex;flex-direction:column;gap:var(--space-13);margin-bottom:var(--space-21)}
.filters .t-caption{margin-right:var(--space-8)}
.filters .row{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:center}
.count{font:500 13px/20px var(--font-sans);color:var(--ink-subtle)}

/* статусы — легенда */
.evdefs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-21) var(--space-21)}
.evdefs div{display:flex;flex-direction:column;gap:var(--space-8);align-items:flex-start}
.evdefs p{font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
@media (max-width:1023px){.evdefs{grid-template-columns:1fr 1fr}}

/* проекты */
.proj{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-34);background:var(--surface-raised)}
.proj+.proj{margin-top:var(--space-21)}
.proj__h{display:flex;justify-content:space-between;gap:var(--space-13);flex-wrap:wrap;align-items:center}
.proj h3{margin-top:var(--space-8);font:600 22px/30px var(--font-display);max-width:48ch}
.kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-21);margin-top:var(--space-21)}
.kv dt{font:600 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}
.kv dd{margin:var(--space-5) 0 0;font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.proj__ev{margin-top:var(--space-21);border-top:1px solid var(--line);padding-top:var(--space-13);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-13)}
.proj__ev div{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start;font:500 14px/20px var(--font-sans);color:var(--ink)}
.proj__ev .mono{color:var(--ink-muted);font-size:14px}
.proj__next{margin-top:var(--space-21);font:500 15px/22px var(--font-sans);color:var(--ink)}
.proj__next span{color:var(--ink-subtle);font-weight:400}
@media (max-width:1023px){.kv{grid-template-columns:1fr 1fr}.proj__ev{grid-template-columns:1fr}.proj{padding:var(--space-21)}}

/* FAQ */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--space-13);padding:var(--space-21) 0;font:600 18px/26px var(--font-display);color:var(--ink);min-height:var(--size-touch)}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;width:20px;height:20px;transition:transform var(--motion-color);color:var(--ink-subtle);margin-top:3px}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 0 var(--space-21);max-width:72ch;color:var(--ink-muted)}

/* CTA */
.cta{background:var(--surface-subtle);border-radius:var(--radius-lg);padding:var(--space-55);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-34);align-items:center}
.cta h2{font:600 33px/40px var(--font-display)}
.cta p{margin-top:var(--space-13);color:var(--ink-muted);max-width:60ch}
.cta .hero__acts{margin-top:0}
@media (max-width:1023px){.cta{grid-template-columns:1fr;padding:var(--space-34) var(--space-21)}.cta h2{font-size:26px;line-height:32px}}

/* форма */
.form{display:grid;gap:var(--space-21)}
.field label,.field legend{display:block;font:600 14px/20px var(--font-sans);color:var(--ink);margin-bottom:var(--space-5)}
.field .hint{font:400 13px/18px var(--font-sans);color:var(--ink-subtle);margin-top:var(--space-5)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{width:100%;min-height:var(--size-control-lg);padding:var(--space-8) var(--space-13);border:var(--stroke-control) solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:400 16px/24px var(--font-sans)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}
.field[data-err] input,.field[data-err] textarea{border-color:var(--status-danger)}
.field .err{display:none;font:500 13px/18px var(--font-sans);color:var(--status-danger);margin-top:var(--space-5)}
.field[data-err] .err{display:block}
fieldset.field{border:0;padding:0;margin:0}
.radios{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.radios label{display:inline-flex;align-items:center;gap:var(--space-8);min-height:var(--size-touch);padding:0 var(--space-13);border:1px solid var(--line);border-radius:var(--radius-md);font:500 14px/20px var(--font-sans);color:var(--ink);margin:0;cursor:pointer}
.radios input{accent-color:var(--accent);width:18px;height:18px}
.consent{display:flex;gap:var(--space-8);align-items:flex-start;font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.consent input{width:20px;height:20px;margin-top:0;accent-color:var(--accent);flex:none}
.form__ok{display:none;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-13);font:500 14px/20px var(--font-sans)}
.form__ok.on{display:block}
.contact-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-34);background:var(--surface-raised)}
.contact-card .name{font:700 22px/30px var(--font-display)}
.contact-card .role{color:var(--ink-subtle);margin-top:2px}
.contact-card dl{margin:var(--space-21) 0 0}
.contact-card dt{font:600 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle);margin-top:var(--space-13)}
.contact-card dd{margin:var(--space-3) 0 0;font:500 17px/24px var(--font-sans)}
.contact-card dd a{color:var(--accent);text-decoration:none}
.contact-card dd a:hover{text-decoration:underline}

/* мобильное меню */
.mnav{position:fixed;inset:0;z-index:60;background:var(--surface);display:none;flex-direction:column;padding:var(--space-13) var(--layout-margin-mobile) var(--space-34);overflow:auto}
.mnav.on{display:flex}
.mnav__top{display:flex;justify-content:space-between;align-items:center;height:64px}
.mnav ul{list-style:none;margin:var(--space-21) 0 0;padding:0}
.mnav li a{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--line);font:600 20px/28px var(--font-display);color:var(--ink);text-decoration:none}
.mnav li a[aria-current="page"]{color:var(--accent)}
.mnav .btn{margin-top:var(--space-34);justify-content:center}
.mnav__meta{margin-top:var(--space-21);font:400 14px/22px var(--font-sans);color:var(--ink-muted)}
body.lock{overflow:hidden}

/* хлебные крошки */
.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-5);font:500 13px/20px var(--font-sans);color:var(--ink-subtle);padding-top:var(--space-21)}
.crumbs a{color:var(--ink-muted);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

.pill{display:inline-flex;align-items:center;gap:var(--space-5);font:600 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.anchor-nav{display:flex;gap:var(--space-8);flex-wrap:wrap;margin-top:var(--space-34)}

/* тёмная полоса секции (фото) */
.sec--photo{background:var(--surface-subtle)}
.ftr .ftr__meta{color:#A7B3C2}
.ftr__contact{margin-top:var(--space-21);font:400 15px/24px var(--font-sans);color:#E6EDF3}
.ftr__contact a{color:#E6EDF3}
@media print{.hdr,.review,.ftr,.cta,.mnav{display:none!important}}
/* переключатель темы */
.i-sun{display:none}
:root[data-theme="dark"] .i-sun{display:block}:root[data-theme="dark"] .i-moon{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .i-sun{display:block}:root:not([data-theme="light"]) .i-moon{display:none}}
.mnav .l-d{display:none}
:root[data-theme="dark"] .mnav .l-l{display:none}:root[data-theme="dark"] .mnav .l-d{display:block}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .mnav .l-l{display:none}:root:not([data-theme="light"]) .mnav .l-d{display:block}}

.kv--stage{grid-template-columns:1fr 2fr 1fr 2fr}
.kv--1{grid-template-columns:1fr;gap:var(--space-13);margin-top:var(--space-8)}
.feat--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.feat--1{grid-template-columns:1fr}
@media (max-width:1023px){.kv--stage{grid-template-columns:1fr 1fr}.feat--5{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.kv,.kv--stage,.feat--5{grid-template-columns:1fr}}
.ladder li{min-width:0;hyphens:auto;overflow-wrap:break-word}
@media (max-width:599px){.ladder{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.gallery--home .g-d,.gallery--home .g-e{display:none}}
.dt td>.ev{justify-self:start}
.field label.consent{font-weight:400;color:var(--ink-muted)}
@media (min-width:600px){.gallery--two .g-c,.gallery--two .g-d{grid-column:span 6}}

/* логотипы направлений (Logo Master v1.1) */
.plogo{display:inline-block;line-height:0}
.plogo img{height:100%;width:auto}
.plogo .l-d{display:none}
:root[data-theme="dark"] .plogo .l-l{display:none}:root[data-theme="dark"] .plogo .l-d{display:block}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .plogo .l-l{display:none}:root:not([data-theme="light"]) .plogo .l-d{display:block}}
.pcard__top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-13)}
.pcard .plogo{height:112px}
.plogo--sm{height:55px}
.proj__id{display:flex;align-items:center;gap:var(--space-13)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-55);align-items:center}
.plogo--hero{height:233px}
@media (max-width:1023px){.hero__grid{grid-template-columns:1fr}.plogo--hero{height:144px;order:-1}}
@media (max-width:599px){.plogo--hero{height:110px}.pcard .plogo{height:96px}}

/* реквизиты и юридические страницы */
.ftr__req{margin:var(--space-21) 0 0;padding-top:var(--space-21);border-top:1px solid #2A3B50;font:400 13px/20px var(--font-sans);color:#A7B3C2;max-width:120ch}
.ftr__bot a{color:#A7B3C2;text-decoration:underline;text-underline-offset:3px}
.dt--req td.p{width:34%}
.consent a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.legal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:var(--space-55);align-items:start}
.legal__toc{position:sticky;top:96px}
.legal__toc ol{margin:var(--space-8) 0 0;padding:0;list-style:none}
.legal__toc li a{display:block;padding:var(--space-5) 0;font:500 14px/20px var(--font-sans);color:var(--ink-muted);text-decoration:none}
.legal__toc li a:hover{color:var(--ink);text-decoration:underline}
.legal__body{max-width:72ch}
.legal__sec+.legal__sec{margin-top:var(--space-34);padding-top:var(--space-34);border-top:1px solid var(--line)}
.legal__sec p,.legal__sec li{font:400 16px/26px var(--font-sans);color:var(--ink-muted)}
.legal__sec p+p,.legal__sec p+ul,.legal__sec ul+p{margin-top:var(--space-13)}
.legal__sec h2{margin-bottom:var(--space-13)}
.legal__sec ul{margin:var(--space-8) 0 0;padding-left:var(--space-21)}
.legal__sec a{color:var(--accent)}
@media (max-width:1023px){.legal{grid-template-columns:1fr;gap:var(--space-21)}.legal__toc{position:static}}
@media (max-width:899px){.dt--req td{display:block}.dt--req td::before{content:none}.dt--req td.p{color:var(--ink-subtle);font-weight:500;padding-bottom:0}}
.hero__acts:empty{display:none}
/* RC4 */
.sec{padding-block:var(--space-89)}
.sec--tight{padding-block:var(--space-55)}
@media (max-width:599px){.sec{padding-block:var(--space-55)}.sec--tight{padding-block:var(--space-34)}}
.sh__n:empty{display:none}
.hero__grid--photo{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.hero__photo{margin:0;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-subtle)}
.hero__photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media (max-width:1023px){.hero__grid--photo{grid-template-columns:1fr}.hero__photo img{aspect-ratio:16/10}}
.hero--home h1{max-width:18ch}
.metrics--1{grid-template-columns:minmax(0,1fr);max-width:720px}
.dt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.split--form{gap:var(--space-21)}
@media (max-width:1023px){.split--form{grid-template-columns:1fr}}
.doccard{padding:var(--space-21);border:1px solid var(--line);border-radius:var(--radius-md)}
.doccard .t-overline{margin:0 0 var(--space-13)}
.filters fieldset.row{border:0;padding:0;margin:0;min-width:0}
.filters fieldset.row legend{float:left;padding:0;margin-right:var(--space-8);font:500 13px/32px var(--font-sans);color:var(--ink-muted)}
@media (max-width:599px){.ev{font-size:12px;height:22px}}
@media (max-width:1280px){.nav{display:none}.menu-btn{display:inline-grid}.hdr__act{margin-left:auto}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sh--plain{grid-template-columns:minmax(0,1fr);margin-bottom:var(--space-55)}
.sh--plain>div{max-width:880px}
.sh--plain .sh__lead{max-width:68ch}
/* RC5 */
.hero__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-13)}
.hero__pair .hero__photo img{aspect-ratio:3/4}
.hero__pair figcaption{font-size:12px;line-height:16px}
@media (max-width:1023px){.hero__pair .hero__photo img{aspect-ratio:4/3}}
@media (max-width:599px){.hero__pair{grid-template-columns:1fr 1fr;gap:var(--space-8)}.hero__pair figcaption{display:none}.hero__pair .hero__photo img{aspect-ratio:1/1}}
.dt--collapsed tr[data-extra]{display:none}
.dt-more{padding:var(--space-13) var(--space-21);border-top:1px solid var(--line)}
.dt-more[hidden]{display:none}
.cgroup{margin:0}
.cgroup legend{font:600 14px/20px var(--font-sans);color:var(--ink);padding:0;margin-bottom:var(--space-5)}
.cgroup .hint{margin:0 0 var(--space-8)}
.cgroup .split--form .field{margin:0}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:880px}
.tl li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-21);padding:var(--space-21) 0;border-top:1px solid var(--line)}
.tl li:last-child{border-bottom:1px solid var(--line)}
.tl .mono{font:600 15px/24px var(--font-mono);color:var(--ink)}
.tl p{margin:0;color:var(--ink-muted)}
@media (max-width:599px){.tl li{grid-template-columns:1fr;gap:var(--space-5)}}
.mnav__meta a{color:inherit}
.req-more{margin-top:var(--space-13)}
.req-more summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-13);min-height:var(--size-touch);padding:0 var(--space-21);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;list-style:none;font:600 15px/22px var(--font-sans);color:var(--ink)}
.req-more summary::-webkit-details-marker{display:none}
.req-more summary svg{width:18px;height:18px;transition:transform .2s}
.req-more[open] summary svg{transform:rotate(45deg)}
.req-more[open] .dt-wrap{margin-top:var(--space-8)}
@media (prefers-reduced-motion:reduce){.req-more summary svg{transition:none}}
/* RC7 */
.cgroup{border:0;padding:var(--space-13);margin:0 calc(-1*var(--space-13));border-radius:var(--radius-md);outline:2px solid transparent}
.cgroup[data-err]{outline-color:var(--status-danger)}
.cgroup__err{display:none;font:500 13px/18px var(--font-sans);color:var(--status-danger);margin-top:var(--space-8)}
.cgroup[data-err] .cgroup__err{display:block}
.cgroup .hint{font:400 13px/18px var(--font-sans);color:var(--ink-subtle);margin:0 0 var(--space-8)}

html{scroll-padding-top:89px}body{background:var(--surface)}

/* Бывшие встроенные атрибуты style (CSP запрещает style="…"). Сгенерировано при переносе 27.09.2026. */
.u1{height:32px !important;width:auto !important}
.u2{margin-top:21px !important}
.u3{margin-top:8px !important}
.u4{margin-top:34px !important}
.u5{margin-top:13px !important;max-width:22ch !important}
.u6{--c:var(--flow-water) !important}
.u7{--c:var(--flow-waste) !important}
.u8{--c:var(--flow-electric) !important}
.u9{--b:var(--brand-ecofilter) !important}
.u10{--b:var(--brand-ecomodule) !important}
.u11{--c:var(--flow-data) !important;margin:0 !important}
.u12{--c:var(--flow-heat) !important}
.u13{--c:var(--flow-data) !important}
.u14{color:var(--ink-muted) !important}
.u15{--c:var(--flow-gas) !important}
.u16{margin-top:13px !important}
.u17{margin-top:21px !important;max-width:80ch !important}
.u18{margin-top:55px !important}
.u19{margin-top:21px !important;max-width:72ch !important}
.u20{grid-column:1/-1 !important}
.u21{aspect-ratio:16/7 !important;width:100% !important;height:auto !important;object-fit:cover !important}
.u22{align-items:center !important}
.u23{background:var(--ink) !important;color:var(--surface) !important;border-color:var(--ink) !important}
.u24{margin-top:8px !important;max-width:72ch !important}
.u25{margin-top:8px !important;max-width:80ch !important}
.u26{margin-top:34px !important;max-width:72ch !important}
.u27{color:var(--ink) !important}
.u28{font:400 15px/22px var(--font-sans) !important;color:var(--ink-muted) !important}
.e404-gap{margin-top:var(--space-34)}

/* Ссылки на международную версию (04.10.2026) */
.hdr__lang{display:flex;align-items:center;gap:6px;margin:0 var(--space-8) 0 0;font:500 13px/20px var(--font-sans);color:var(--ink-muted);white-space:nowrap}
.hdr__lang svg{width:16px;height:16px;flex:none}
.hdr__lang a{color:var(--ink-muted);text-decoration:none}
.hdr__lang a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1599px){.hdr__lang-more{display:none}}
@media (max-width:1023px){.hdr__lang{display:none}}
.mnav__lang{margin-top:var(--space-21);font:400 14px/22px var(--font-sans);color:var(--ink-muted)}
.mnav__lang a{color:var(--ink)}
.ftr__lang a{color:#A7B3C2;text-decoration:underline;text-underline-offset:3px}
/* Раздел «Статьи» (04.10.2026) */
.stati-list{list-style:none;margin:0;padding:0}
.stati-list h2 a{color:var(--ink);text-decoration:none}
.stati-list h2 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.legal__sec .dt-wrap{margin-top:var(--space-21);margin-bottom:var(--space-21)}
.legal__sec a.btn--primary{color:var(--on-accent);text-decoration:none}
