@font-face{font-family:"Igra Sans";src:url(fonts/IgraSans.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TT Norms";src:url(fonts/tt-norms.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}

/* Страница устроена как сам рынок: плитки, точки и числа вместо иллюстраций. Шрифт Redstat только на больших заголовках,
   один цвет данных, красный только в знаке и в подчёркивании главного слова. По умолчанию тёмная тема, как у 10b. */
:root{color-scheme:dark;
  --bg:#08090c;--bg2:#0e1015;--card:#12141a;--t0:#1c1f27;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.2);
  --fg:#f3f4f6;--fg2:#aeb4bf;--fg3:#7f8591;
  --mark:#ff1a01;--data:#4f9dff;--up:#4f9dff;--down:#f2823a;--mixk:1;
  --land:#23262e;--c-home:#4f9dff;--c-near:#3a6fb8;--c-far:#2fb7a6;
  --tipbg:#f3f4f6;--tipfg:#0a0b0e;--photo:#fff;
  --r:20px;--d:"Igra Sans","TT Norms",system-ui,sans-serif;--f:"TT Norms",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
[data-theme=light]{color-scheme:light;
  --bg:#f6f7f9;--bg2:#eef0f4;--card:#fff;--t0:#e7eaef;--line:rgba(12,18,32,.1);--line2:rgba(12,18,32,.24);
  --fg:#0b0d12;--fg2:#4d5462;--fg3:#6b7280;
  --data:#1f6feb;--up:#2f7bf0;--down:#ea6a1a;--mixk:.6;
  --land:#dcdfe6;--c-home:#1f6feb;--c-near:#6d9de6;--c-far:#0f9d8c;
  --tipbg:#0b0d12;--tipfg:#f3f4f6}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.5 var(--f);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p,dl,dd,figure{margin:0}
:focus-visible{outline:2px solid var(--data);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
section[id],main[id]{scroll-margin-top:84px}
.for-light{display:none}
[data-theme=light] .for-light{display:block}
[data-theme=light] .for-dark{display:none}
.wrap{width:min(100%,1720px);margin-inline:auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:8px;background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:999px;z-index:60}
.skip:focus{left:16px}
.mute{color:var(--fg2)}
.sm{font-size:14px;line-height:1.45}
.xs{font-size:12.5px;line-height:1.45}
.ul{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.ul:hover{text-decoration-color:currentColor}
.num{font-variant-numeric:tabular-nums}
.kick{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--fg3)}
.h2{font:400 clamp(30px,3.9vw,64px)/1.03 var(--d);letter-spacing:-.012em;text-wrap:balance;margin-top:12px}
.h3{font-size:clamp(18px,1.5vw,22px);font-weight:600;line-height:1.25;letter-spacing:-.005em}
.lead{font-size:clamp(17px,1.45vw,21px);line-height:1.42;color:var(--fg2);max-width:60ch}
.lead-s{margin-top:14px;font-size:clamp(16px,1.25vw,19px)}
.sec{padding-block:clamp(56px,6.5vw,110px)}
.row-h{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;justify-content:space-between}

/* кнопки и вкладки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:999px;background:var(--fg);color:var(--bg);font-weight:600;font-size:16px;white-space:nowrap;transition:transform .15s,opacity .15s}
.btn:hover{transform:translateY(-1px);opacity:.92}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
.btn-ghost{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line2)}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.tabs{display:inline-flex;gap:3px;padding:4px;border-radius:999px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--fg2);white-space:nowrap;transition:background .15s,color .15s}
.tab img{width:20px;height:20px;border-radius:50%;object-fit:contain}
.tab:hover{color:var(--fg)}
.tab[aria-selected=true]{background:var(--fg);color:var(--bg)}
.tabs-s .tab{height:32px;padding:0 12px;font-size:13.5px}
.g{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.g.up{color:var(--up)}
.g.dn{color:var(--down)}
.g.nil{color:var(--fg3)}

/* шапка */
.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.stuck{border-color:var(--line)}
.nav-in{display:flex;align-items:center;gap:24px;height:66px}
.brand img{height:22px;width:auto}
.nav-links{display:flex;gap:22px;margin-left:12px;font-size:14.5px;color:var(--fg2)}
.nav-links a:hover{color:var(--fg)}
.nav-act{display:flex;align-items:center;gap:14px;margin-left:auto}
.lnk{font-size:14.5px;font-weight:500}
.theme{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--fg2);box-shadow:inset 0 0 0 1px var(--line)}
.theme:hover{color:var(--fg)}

/* первый экран */
.hero{padding-top:clamp(20px,2.6vw,44px);padding-bottom:clamp(20px,2.4vw,36px)}
.was{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14.5px;font-weight:500}
.was-old{display:inline-flex;align-items:center;gap:8px;color:var(--fg3)}
.was-old img{width:20px;height:20px}
.was-arrow{width:34px;height:1px;background:var(--line2);position:relative}
.was-arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--fg2);border-right:1px solid var(--fg2);transform:rotate(45deg)}
.was-new{color:var(--fg)}
.mega{display:flex;align-items:flex-start;gap:.24em;font:400 min(calc((100vw - 48px)/8.8),190px)/1.12 var(--d);letter-spacing:-.018em;margin-top:clamp(8px,1vw,18px)}
.mega-a{display:block;flex:none}
.roll{display:block;position:relative;flex:1 1 0;min-width:0;height:1.12em;overflow:hidden}
.roll-w{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:.14em;white-space:nowrap;line-height:1.12}
.roll-w img{width:.8em;height:.8em}
.roll.done .roll-w::after{content:"";position:absolute;left:.02em;right:.02em;bottom:.015em;height:.05em;background:var(--mark);transform-origin:left;animation:sweep .7s cubic-bezier(.2,.7,.2,1) both}
.roll.moving .roll-w{color:var(--fg2)}
@keyframes sweep{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(24px,4vw,72px);align-items:start;margin-top:clamp(18px,2.2vw,36px)}
.hero-lead{display:grid;gap:20px;justify-items:start}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.stat{padding:14px 16px 14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.stat:nth-child(n+4){border-bottom:0}
.stat dd{font-size:clamp(23px,2.25vw,36px);font-weight:600;letter-spacing:-.018em;line-height:1.08;font-variant-numeric:tabular-nums}
.stat dt{font-size:13.5px;line-height:1.3;color:var(--fg2)}

/* карта рынка */
.sec-board{padding-bottom:24px}
.board{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(12px,1.3vw,20px)}
.board-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-bottom:14px}
.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px;font-size:14px}
.crumb button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line2);font-weight:500}
.tm{position:relative;height:clamp(430px,44vw,860px);contain:layout}
.tile{position:absolute;display:block;text-align:left;border-radius:13px;overflow:hidden;padding:0;color:var(--fg);transition:left .5s cubic-bezier(.2,.7,.2,1),top .5s cubic-bezier(.2,.7,.2,1),width .5s cubic-bezier(.2,.7,.2,1),height .5s cubic-bezier(.2,.7,.2,1),opacity .28s,filter .15s}
.tile:hover{filter:brightness(1.14);z-index:2}
[data-theme=light] .tile:hover{filter:brightness(.96)}
.t-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(9px,.9vw,14px)}
.t-st{flex:none;width:clamp(38px,3.6vw,58px);height:clamp(38px,3.6vw,58px);border-radius:50%;background:color-mix(in srgb,var(--fg) 12%,transparent);display:grid;place-items:center;margin-bottom:8px}
.t-st img{width:70%;height:70%;object-fit:contain}
.t-st,.t-n,.t-v{flex:none}
.t-n{font-weight:600;font-size:clamp(14px,1.16vw,19px);line-height:1.18;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.t-v{margin-top:3px;font-size:clamp(12.5px,.98vw,15.5px);display:flex;flex-wrap:wrap;gap:0 7px;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--fg) 82%,transparent)}
.t-l{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 9px;padding-top:6px;font-size:12px;font-variant-numeric:tabular-nums}
.t-li{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.t-li img{width:clamp(20px,1.7vw,28px);height:clamp(20px,1.7vw,28px);border-radius:50%;background:#fff;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.tile.md .t-st{width:30px;height:30px;margin-bottom:5px}
.tile.md .t-n{font-size:13.5px;-webkit-line-clamp:2}
.tile.md .t-v{font-size:12px}
.tile.sm .t-in{padding:7px 8px}
.tile.sm .t-n{font-size:12px;-webkit-line-clamp:2;line-height:1.15}
.tile.sm .t-v{font-size:11px;margin-top:1px}
.tile.xs .t-in{padding:5px 6px}
.tile.xs .t-n{font-size:11px;-webkit-line-clamp:2;line-height:1.1}
.tile.rest{background:color-mix(in srgb,var(--fg) 5%,transparent);box-shadow:inset 0 0 0 1px var(--line)}
.board-foot{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;margin-top:12px}
.board-foot .sm{font-size:13px}
.legend{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fg2);font-variant-numeric:tabular-nums}
.lg{width:12px;height:12px;border-radius:4px;display:inline-block}
.lg-d{background:color-mix(in oklab,var(--t0),var(--down) 62%)}
.lg-0{background:var(--t0);box-shadow:inset 0 0 0 1px var(--line2)}
.lg-u{background:color-mix(in oklab,var(--t0),var(--up) 62%)}
.legend span{margin-right:6px}

/* логотипы */
.sec-logos{padding-block:clamp(28px,3vw,48px);overflow:hidden}
.marq{margin-top:14px;display:grid;gap:10px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-row{display:flex;gap:10px;width:max-content;animation:mq 90s linear infinite}
.mq-row.rev{animation-direction:reverse;animation-duration:110s}
.marq:hover .mq-row{animation-play-state:paused}
@keyframes mq{to{transform:translate3d(-50%,0,0)}}
.mq-i{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 16px 0 7px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);font-size:14.5px;font-weight:500;white-space:nowrap;color:var(--fg2)}
.mq-i img{width:32px;height:32px;border-radius:50%;background:#fff;object-fit:cover}
.mq-k{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line2)}

/* клиенты */
#clients{padding-block:clamp(24px,3vw,44px)}
.clients{margin-top:14px;display:grid;grid-template-columns:1.25fr 1.25fr 1fr 1fr;border-block:1px solid var(--line)}
.cl{padding:clamp(20px,2.2vw,34px) clamp(16px,2vw,32px);border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0}
.cl:first-child{border-left:0;padding-left:0}
.cl p{font-size:14.5px;line-height:1.35;color:var(--fg2)}
.cl-logo{display:block;height:clamp(28px,2.7vw,44px);background:var(--fg)}
.cl-loreal{width:calc(clamp(28px,2.7vw,44px)*5.53);max-width:100%;-webkit-mask:url(img/loreal.svg) left center/contain no-repeat;mask:url(img/loreal.svg) left center/contain no-repeat}
.cl-forte{width:calc(clamp(28px,2.7vw,44px)*6.1);max-width:100%;-webkit-mask:url(img/forte.webp) left center/contain no-repeat;mask:url(img/forte.webp) left center/contain no-repeat}
.cl-n b{font-size:clamp(28px,2.8vw,44px);font-weight:600;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}

/* оглавление */
.index{margin-top:clamp(20px,2.4vw,36px);border-bottom:1px solid var(--line)}
.ix{display:grid;grid-template-columns:52px minmax(150px,.75fr) minmax(0,1.7fr) minmax(0,1.5fr) 24px;gap:clamp(12px,1.6vw,26px);align-items:center;padding:clamp(14px,1.4vw,22px) 4px;border-top:1px solid var(--line);transition:background .15s,padding .15s}
.ix:hover{background:color-mix(in srgb,var(--fg) 4%,transparent);padding-inline:12px}
.ix-ic{width:48px;height:48px;object-fit:contain}
.ix-n{font-size:clamp(19px,1.75vw,28px);font-weight:600;letter-spacing:-.012em;line-height:1.12}
.ix-d{color:var(--fg2);font-size:15px;line-height:1.38}
.ix-nums{display:flex;flex-wrap:wrap;gap:6px}
.ix-nums span{font-size:13.5px;font-weight:500;padding:4px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.ix-go{color:var(--fg3);font-size:20px;text-align:right}
.ix:hover .ix-go{color:var(--fg)}

/* карта стран */
.sec-map{background:var(--bg2);border-block:1px solid var(--line)}
.zones{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.zone{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--fg2);box-shadow:inset 0 0 0 1px var(--line)}
.zone i{width:10px;height:10px;border-radius:50%}
.zone[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.map-grid{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(280px,1fr);gap:16px;margin-top:16px}
.world{position:relative;aspect-ratio:1000/560;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden;cursor:crosshair}
.world canvas{position:absolute;inset:0;width:100%;height:100%}
.w-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.w-lines path{fill:none;stroke:var(--line2);stroke-width:1;vector-effect:non-scaling-stroke}
.w-pins{position:absolute;inset:0;pointer-events:none}
.pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:inline-flex;align-items:baseline;gap:6px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--bg) 78%,transparent);font-size:clamp(11px,.92vw,15px);font-weight:500;white-space:nowrap;box-shadow:inset 0 0 0 1px var(--line);transition:background .15s,color .15s,opacity .2s}
.pin b{font-weight:700;font-variant-numeric:tabular-nums;color:var(--data)}
.pin.sel{background:var(--fg);color:var(--bg)}
.pin.sel b{color:inherit}
.pin.off{opacity:.3}
.clist{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden;display:flex;flex-direction:column}
.cr{border-top:1px solid var(--line);flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
.cr:first-child{border-top:0}
.cr.off{opacity:.35}
.cr button{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:11px 14px;text-align:left;font-weight:500;font-size:15px}
.cr button:hover{background:color-mix(in srgb,var(--fg) 4%,transparent)}
.cr button i{width:10px;height:10px;border-radius:50%}
.cr button b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg2);font-size:14px}
.cr-d{padding:0 14px 13px 36px;font-size:13.5px;line-height:1.4;color:var(--fg2)}
.cr-d span{display:block;margin-top:3px;color:var(--fg3)}
.cov-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-top:16px;scroll-margin-top:84px}
.cov,.kzc{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,1.8vw,28px);min-width:0}
.bars{margin-top:14px}
.bar{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.7fr) 82px;gap:6px 16px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.bar-n b{display:block;font-size:15px;font-weight:600;line-height:1.25}
.bar-n span{font-size:12.5px;color:var(--fg3);line-height:1.3;display:block}
.bar-t{height:8px;border-radius:4px;background:color-mix(in srgb,var(--fg) 8%,transparent);overflow:hidden}
.bar-t i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--data)}
.bar-v{font-size:12.5px;color:var(--fg2);margin-top:5px;font-variant-numeric:tabular-nums}
.bar-p{text-align:right;font-weight:600;font-size:15px;white-space:nowrap}
.unseen{margin:12px 0 10px;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--fg) 5%,transparent);font-size:14px;line-height:1.4;color:var(--fg2)}
.unseen b{color:var(--fg)}
.kzc-h{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between}
.kzmap{margin-top:10px}
.kzmap svg{width:100%;height:auto;overflow:visible}
.kzmap path{fill:var(--land);stroke:var(--bg);stroke-width:1}
.kzmap circle{fill:color-mix(in srgb,var(--data) 34%,transparent);stroke:var(--data);stroke-width:1.2;cursor:pointer;transition:fill .15s}
.kzmap circle:hover{fill:color-mix(in srgb,var(--data) 62%,transparent)}
.kzmap text{font:600 15px var(--f);fill:var(--fg);paint-order:stroke;stroke:var(--bg);stroke-width:3px;pointer-events:none}
.kzlist{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.kzlist li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px}
.kzlist img{width:24px;height:24px;border-radius:50%;background:#fff;object-fit:cover}
.kzlist b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.kzlist span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* товары */
#prodCap{margin-top:10px;max-width:90ch}
.best-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,350px);gap:16px;margin-top:18px;align-items:start}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0;transition:border-color .15s}
.pc:hover{border-color:var(--line2)}
.pc-ph{position:relative;aspect-ratio:1.28;background:var(--photo);overflow:hidden;display:grid;place-items:center}
.pc-ph img{width:100%;height:100%;object-fit:contain;padding:12px;transition:transform .18s}
.pc-ph:hover img{transform:scale(1.75)}
.pc-tag{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#0b0d12;color:#fff;font-size:12px;font-weight:700}
.pc-b{padding:12px 13px 13px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.pc-n{font-size:14.5px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.5em}
.pc-c{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fg2);min-width:0}
.pc-c img{width:18px;height:18px;flex:none}
.pc-c span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-m{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.pc-m b{font-size:18px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.spark{display:block;width:100%;height:30px;overflow:visible}
.spark .sl{fill:none;stroke:var(--data);stroke-width:1.6;vector-effect:non-scaling-stroke}
.spark .sa{fill:color-mix(in srgb,var(--data) 14%,transparent);stroke:none}
.spark .sd{fill:var(--data);stroke:var(--card);stroke-width:1.5}
.pc-ch{display:grid;gap:5px;border-top:1px solid var(--line);padding-top:8px;margin-top:auto}
.pc-chi{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:7px;align-items:center;font-size:12.5px}
.pc-chi img{width:22px;height:22px;border-radius:50%;background:#fff;object-fit:cover}
.pc-chi .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-chi .vl{color:var(--fg2);font-variant-numeric:tabular-nums;white-space:nowrap}
.pc-chi .vl i{font-style:normal}
.pc-kv{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--fg2);line-height:22px}
.pc-kv b{font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.pc-f{font-size:12px;color:var(--fg3);line-height:1.3}
.pc-f span{display:block}
.rail{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;position:sticky;top:84px}
.rail h3{font-size:15px;font-weight:600}
.rl{display:grid;grid-template-columns:28px minmax(0,1fr) 62px;gap:4px 9px;align-items:center;padding:9px 0;border-top:1px solid var(--line);margin-top:0}
.rail h3+.rl{margin-top:10px}
.rl-av{width:28px;height:28px;border-radius:50%;background:#fff;object-fit:cover}
.rl-tx{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--fg) 10%,transparent)}
.rl-n{min-width:0}
.rl-n b{display:block;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-n span{font-size:12.5px;color:var(--fg2);font-variant-numeric:tabular-nums}
.rl .spark{height:24px}

/* экраны */
.sv{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:16px;margin-top:clamp(18px,2vw,32px);align-items:start}
.sv-tabs{display:flex;flex-direction:column;gap:2px;position:sticky;top:84px}
.sv-t{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;text-align:left;font-weight:500;font-size:15px;color:var(--fg2)}
.sv-t img{width:24px;height:24px;object-fit:contain}
.sv-t:hover{color:var(--fg)}
.sv-t[aria-selected=true]{background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.sv-frame{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.sv-frame img{width:100%;height:auto}
.sv-frame figcaption{padding:10px 16px;font-size:13px;color:var(--fg2);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:space-between}

/* лента: карточки печатает notes/prep_feed.py */
.anchor{display:block;height:0;scroll-margin-top:84px}
.feed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(18px,2vw,32px);animation:feedIn .28s ease both}
@keyframes feedIn{from{opacity:0;transform:translateY(4px)}}
.fc{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.fc:hover{border-color:var(--line2)}
.fc-big{grid-column:span 2;grid-row:span 2}
.fc-cov{flex:none;aspect-ratio:16/9;overflow:hidden;background:var(--tone,var(--t0))}
.fc-cov img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fc:hover .fc-cov img{transform:scale(1.02)}
.fc-none .fc-cov{background:linear-gradient(135deg,var(--tone),color-mix(in srgb,var(--tone) 62%,#000))}
.fc-b{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;padding:clamp(13px,1.1vw,18px)}
.fc-m{display:flex;flex-wrap:wrap;gap:1px 12px;justify-content:space-between;font-size:12.5px;line-height:1.35;color:var(--fg3);font-variant-numeric:tabular-nums}
.fc-s{display:inline-flex;align-items:center;gap:5px;min-width:0}
.fc-x{flex:none}
.fc-t{font-size:clamp(16px,1.25vw,20px);font-weight:600;line-height:1.24;letter-spacing:-.005em;text-wrap:pretty}
.fc-l{font-size:14px;line-height:1.42;color:var(--fg2);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.fc-big .fc-b{gap:10px;padding:clamp(16px,1.6vw,26px)}
.fc-big .fc-m{font-size:13.5px}
.fc-big .fc-t{font:400 clamp(25px,2.5vw,40px)/1.06 var(--d);letter-spacing:-.01em;text-wrap:balance}
.fc-big .fc-l{font-size:clamp(15px,1.15vw,17px);-webkit-line-clamp:4}
.fc-f{display:flex;align-items:baseline;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.fc-f b{flex:none;font-size:clamp(22px,1.9vw,30px);font-weight:600;letter-spacing:-.015em;line-height:1.1;font-variant-numeric:tabular-nums}
.fc-f span{font-size:13px;line-height:1.3;color:var(--fg2);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.feed-foot{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-top:16px}
.feed-foot p{flex:1 1 320px;max-width:70ch}
.feed-data{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:16px;margin-top:clamp(20px,2.4vw,36px)}

/* новость и цифра */
.ncase{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,1.6vw,24px)}
.nc-num{font-size:clamp(44px,4.2vw,64px);font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;margin-top:8px}
.ncase p.t{margin-top:8px;font-size:15px;line-height:1.4;color:var(--fg2)}
.jb{width:100%;height:auto;margin-top:12px;overflow:visible}
.jb text{font:12px var(--f);fill:var(--fg2)}
.jb .grid{stroke:var(--line);stroke-width:1}
.jb .b0{fill:color-mix(in srgb,var(--fg) 22%,transparent)}
.jb .b1{fill:var(--data)}
.jb rect.hit{fill:transparent}
.jb g:hover .b0{fill:color-mix(in srgb,var(--fg) 36%,transparent)}
.ncase .ns{margin-top:auto}
.ns{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ns b{display:block;font-size:19px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.15}
.ns span{font-size:12.5px;color:var(--fg2);line-height:1.25;display:block}

/* аналитика */
.an-main{display:flex;flex-direction:column;gap:14px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,1.8vw,28px)}
.an-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start;justify-content:space-between}
.an-head>div:first-child{flex:1 1 320px;min-width:0}
.an-t{font:400 clamp(23px,2.1vw,34px)/1.06 var(--d);letter-spacing:-.01em;margin-top:8px;text-wrap:balance}
.an-sub{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;justify-content:space-between}
.an-leg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--fg2)}
.an-leg span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.an-m{--c:var(--data)}
.an-a{--c:var(--fg3)}
.an-y{--c:var(--c-far)}
.an-r{--c:var(--down)}
.an-k{display:inline-block;flex:none;width:16px;height:3px;border-radius:2px;background:var(--c)}
.an-plot svg{width:100%;height:auto;overflow:visible}
.an-plot text{font:12px var(--f);fill:var(--fg3)}
.an-plot .an-bl{fill:var(--fg2);text-anchor:middle}
.an-plot .an-nm{font-weight:600;fill:var(--fg);text-anchor:middle;paint-order:stroke;stroke:var(--card);stroke-width:3px}
.an-band{fill:color-mix(in srgb,var(--fg) 5%,transparent)}
.an-gl{stroke:var(--line);stroke-width:1}
.an-l{fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.an-l.an-m{stroke-width:2.5}
.an-l.an-a{stroke-width:1.5}
.an-dot{fill:var(--c);stroke:var(--card);stroke-width:2}
.an-hit{fill:transparent}
.an-cur{opacity:0;pointer-events:none}
.an-h:hover .an-cur{opacity:1}
.an-cur line{stroke:var(--line2);stroke-width:1}
.tip .tl .an-k{margin-right:6px;vertical-align:middle}
.an-tw{overflow:auto;border-top:1px solid var(--line)}
.an-tb{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.an-tb th{position:sticky;top:0;background:var(--card);font-weight:600;color:var(--fg2);text-align:right;padding:8px 6px;border-bottom:1px solid var(--line)}
.an-tb td{text-align:right;padding:6px;border-bottom:1px solid var(--line)}
.an-tb th:first-child,.an-tb td:first-child{text-align:left}
.an-main .ns{margin-top:0}
.an-foot{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;margin-top:auto}
.an-foot p{flex:1 1 280px;max-width:70ch}

/* как пользоваться */
.ways{margin-top:clamp(18px,2vw,30px)}
.way{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(20px,4vw,72px);padding:clamp(22px,2.6vw,40px) 0;border-top:1px solid var(--line);align-items:center}
.way-t{display:grid;gap:12px;justify-items:start}
.way-t .h3{font:400 clamp(25px,2.5vw,40px)/1.06 var(--d);letter-spacing:-.01em}
.way-t p{color:var(--fg2);max-width:52ch;font-size:clamp(15.5px,1.15vw,18px);line-height:1.45}
.way-shot{height:clamp(190px,18vw,300px);overflow:hidden;border-radius:16px;border:1px solid var(--line);-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.way-shot img{width:100%;height:auto}
.asks{display:flex;flex-wrap:wrap;gap:8px}
.asks li{padding:9px 14px;border-radius:14px 14px 14px 4px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:14.5px;line-height:1.3}
.way-keys{display:flex;justify-content:center;gap:clamp(8px,2vw,28px)}
.way-keys img{width:clamp(110px,14vw,220px);height:auto}

/* MCP */
.mcp{background:var(--bg2);border-block:1px solid var(--line);padding-block:clamp(56px,6.5vw,110px);overflow:hidden}
.mcp-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,5vw,88px);align-items:start}
.mcp-l{display:grid;justify-items:start}
.keys{display:flex;margin:-8px 0 12px -10px}
.keys img{width:clamp(120px,12.5vw,200px);height:auto}
.keys .k2{margin-left:-14%;animation:bob 6s ease-in-out infinite}
.keys .k1{animation:bob 6s ease-in-out infinite reverse}
@keyframes bob{50%{transform:translateY(-8px)}}
.addr{width:100%;max-width:520px;margin-top:20px}
.addr label{display:block;margin-bottom:6px}
.addr-r{display:flex;gap:8px;padding:6px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.addr-r input{flex:1;min-width:0;background:none;border:0;color:var(--fg);font:500 15px ui-monospace,Menlo,Consolas,monospace;padding:0 12px;outline-offset:4px}
.steps{counter-reset:s;display:grid;gap:9px;margin:20px 0 14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;font-size:15px;line-height:1.4}
.steps li::before{content:counter(s);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;box-shadow:inset 0 0 0 1px var(--line2)}
.chat{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,1.6vw,24px);display:grid;gap:12px;min-height:340px;align-content:start}
.m-u{justify-self:end;max-width:86%;padding:10px 14px;border-radius:16px 16px 4px 16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.35;min-height:42px}
.m-t{display:flex;flex-wrap:wrap;gap:6px}
.m-t code{font:12.5px ui-monospace,Menlo,Consolas,monospace;padding:3px 8px;border-radius:7px;background:color-mix(in srgb,var(--data) 13%,transparent);color:var(--data);transition:opacity .25s}
.m-a{font-size:15px;line-height:1.45;display:grid;gap:9px}
.m-a b{font-weight:600}
.m-tb{display:grid;gap:0;border-top:1px solid var(--line);font-size:13.5px}
.m-tb div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.m-tb span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-tb span:not(:first-child){color:var(--fg2);white-space:nowrap}
.m-sg{display:flex;flex-wrap:wrap;gap:6px}
.m-sg span{font-size:13px;padding:5px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line2);color:var(--fg2)}
.m-note{font-size:12px;color:var(--fg3)}
.tools{margin-top:14px;display:grid;gap:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips li{font-size:13.5px;padding:5px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}

/* вопросы и низ */
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(20px,4vw,72px)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-size:clamp(16px,1.3vw,20px);font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--fg3);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding-bottom:16px;color:var(--fg2);max-width:70ch}
.end{padding-block:clamp(40px,5vw,90px);border-top:1px solid var(--line)}
.end-in{display:grid;gap:24px;justify-items:start}
.mega-s{display:block;font-size:clamp(38px,7vw,132px);margin-top:0;line-height:1;text-wrap:balance}
.foot{border-top:1px solid var(--line);padding-block:32px 40px;font-size:14px}
.foot-in{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:24px}
.foot-b{display:grid;gap:10px;align-content:start}
.foot-b img{height:20px;width:auto}
.foot nav{display:grid;gap:7px;align-content:start;color:var(--fg2)}
.foot nav b{color:var(--fg);font-weight:600}
.foot nav a:hover{color:var(--fg)}
.tip{position:fixed;left:0;top:0;z-index:70;max-width:290px;padding:8px 11px;border-radius:10px;background:var(--tipbg);color:var(--tipfg);font-size:13px;line-height:1.35;pointer-events:none;box-shadow:0 8px 28px rgba(0,0,0,.28);font-variant-numeric:tabular-nums}
.tip b{font-weight:600}
.tip .tl{display:flex;justify-content:space-between;gap:14px}

@media (max-width:1240px){
  .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feed{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nav-links{gap:16px}
  .ix{grid-template-columns:44px minmax(130px,.7fr) minmax(0,1.6fr) 20px}
  .ix-nums{grid-column:2/4}
  .ix-go{grid-column:4;grid-row:1}
}
@media (max-width:1180px){
}
@media (max-width:1040px){
  .nav-links{display:none}
  .hero-grid,.map-grid,.cov-grid,.best-grid,.feed-data,.mcp-in,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .rail{position:static}
  .feed{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fc-big{grid-row:auto}
  .sv{grid-template-columns:minmax(0,1fr)}
  .sv-tabs{flex-direction:row;overflow-x:auto;position:static;scrollbar-width:none}
  .sv-t{white-space:nowrap}
  .clients{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cl:nth-child(3){border-left:0;padding-left:0}
  .cl:nth-child(n+3){border-top:1px solid var(--line)}
  .foot-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-b{grid-column:1/-1}
  .way{grid-template-columns:minmax(0,1fr)}
  .clist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .cr:nth-child(2){border-top:0}
}
@media (max-width:640px){
  .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .lnk{display:none}
  .mega{flex-direction:column;gap:0;font-size:15.4vw;line-height:1.06}
  .mega-a{line-height:1.06}
  .roll{flex:none;width:100%}
  .mega-s{font-size:11.5vw}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(n+4){border-bottom:1px solid var(--line)}
  .stat:nth-child(n+5){border-bottom:0}
  .tm{height:600px}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pc-b{padding:10px}
  .pc-chi .vl i{display:none}
  .pc-n{font-size:13.5px}
  .pc-m b{font-size:16px}
  .ix{grid-template-columns:38px minmax(0,1fr) 18px;gap:8px 12px}
  .ix-ic{width:38px;height:38px}
  .ix-d,.ix-nums{grid-column:2/4}
  .ix-go{grid-column:3;grid-row:1}
  .ix-n{grid-column:2}
  .bar{grid-template-columns:minmax(0,1fr) auto}
  .bar-m{grid-column:1/3;grid-row:2}
  .kzlist{grid-template-columns:minmax(0,1fr)}
  .clist{grid-template-columns:minmax(0,1fr)}
  .cr:nth-child(2){border-top:1px solid var(--line)}
  .pin{padding:1px 6px;font-size:10.5px;gap:4px}
  .pin span{display:none}
  .pin.sel span{display:inline}
  .board-head{align-items:flex-start;flex-direction:column}
  .row-h{flex-direction:column;align-items:flex-start}
  .btn{height:46px;padding:0 20px;font-size:15px}
  .btn-sm{height:36px;padding:0 13px;font-size:13.5px}
  .foot-in{grid-template-columns:minmax(0,1fr)}
  .cl p{font-size:13.5px}
  .ns{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feed{grid-template-columns:minmax(0,1fr);gap:10px}
  .fc-big{grid-column:auto}
  .fc:not(.fc-big){flex-direction:row}
  .fc:not(.fc-big) .fc-cov{width:38%;align-self:flex-start}
  .fc:not(.fc-big) .fc-b{gap:5px;padding:9px 11px 10px}
  .fc:not(.fc-big) .fc-l{display:none}
  .fc:not(.fc-big) .fc-t{font-size:14.5px;line-height:1.22}
  .fc:not(.fc-big) .fc-m{font-size:11.5px}
  .fc:not(.fc-big) .fc-m{gap:0 8px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .fc:hover .fc-cov img{transform:none}
  .marq{-webkit-mask-image:none;mask-image:none}
  .mq-row{flex-wrap:wrap;width:auto;padding-inline:16px}
  .mq-row .dup{display:none}
}
