/* R5 UI Kit — дизайн-система лендингов (перенос из демо 23.07.2026).
   Источник: UI-кит дизайнера. Правила: собираем из компонентов кита,
   не изобретаем новые. Шрифт Onest, логотипы клиентов — /static/logos/. */
@font-face{font-family:'Onest';font-style:normal;font-weight:300;font-display:swap;src:url(/static/fonts/one-300-cyr.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:300;font-display:swap;src:url(/static/fonts/one-300-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/one-400-cyr.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/one-400-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/one-500-cyr.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/one-500-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/one-600-cyr.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/one-600-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Onest';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/one-700-cyr.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/one-700-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Onest';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/one-800-cyr.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Onest';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/one-800-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ═══ R5 UI Kit — tokens.css дизайнера (без изменений) + компоненты ═══ */
:root {
  --ink: #232222; --surface: #2d2d2d; --elevate: #3a3a3a;
  --paper: #f9f9f9; --white: #ffffff;
  --violet: #8950da; --violet-hover: #7741c4; --violet-deep: #5b2f96;
  --violet-soft: rgba(137, 80, 218, 0.16); --violet-text: #b389f0;
  --text-on-dark: #ffffff; --text-muted-dark: #979797; --text-subtle-dark: #8a8a8a;
  --text-on-light: #151515; --text-muted-light: #6b6b6b;
  --border-dark: rgba(255, 255, 255, 0.10); --border-dark-strong: rgba(255, 255, 255, 0.25);
  --border-light: #e4e4e4; --border-input: #c9c9c9;
  --green: #3bbf7f; --green-soft: rgba(59,191,127,.14); --green-text: #6fe0a8;
  --amber: #e0a028; --amber-soft: rgba(224,160,40,.16); --amber-text: #eec278;
  --red: #e5484d;  --red-soft: rgba(229,72,77,.16);   --red-text: #f0989b;
  --radius-input: 5px; --radius-btn: 6px; --radius-card: 15px; --radius-pill: 999px;
  --font: 'Onest', Arial, sans-serif;
  --container: 1180px; --section-pad: 90px; --card-pad: 28px; --header-h: 64px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:hidden;}
body{background:var(--ink);color:var(--text-on-dark);font-family:var(--font);
  font-weight:400;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{margin:0;font-family:var(--font);}
a{color:inherit;text-decoration:none;}
p{margin:0;}
img{max-width:100%;}
.t-display{font-weight:800;font-size:clamp(36px,6vw,64px);line-height:1.04;letter-spacing:-.03em;}
.t-h1{font-weight:800;font-size:clamp(29px,4.4vw,46px);line-height:1.08;letter-spacing:-.02em;}
.t-h2{font-weight:700;font-size:clamp(23px,3.2vw,33px);line-height:1.15;letter-spacing:-.02em;}
.t-h3{font-weight:600;font-size:21px;line-height:1.25;letter-spacing:-.01em;}
.t-cap{font-weight:500;font-size:12px;letter-spacing:.04em;text-transform:uppercase;}
.ac{color:var(--violet-text);}
.light .ac{color:var(--violet-hover);}
.muted{color:var(--text-muted-dark);}
.light .muted{color:var(--text-muted-light);}
.sub{color:var(--text-subtle-dark);}

/* Кнопки: 6px, Onest 500/14, блик на primary */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font);font-weight:500;font-size:14px;padding:15px 28px;
  border-radius:var(--radius-btn);border:1px solid transparent;cursor:pointer;
  transition:background .12s ease,border-color .12s ease,color .12s ease;overflow:hidden;white-space:nowrap;}
.btn-s{padding:9px 18px;font-size:13px;}
.btn-l{padding:19px 38px;font-size:16px;}
.btn-primary{background:var(--violet);color:#fff;}
.btn-primary:hover{background:var(--violet-hover);}
.btn-primary:active{background:var(--violet-deep);}
.btn-primary .shine{position:absolute;top:-8px;bottom:-8px;left:0;width:44px;
  background:rgba(255,255,255,.28);filter:blur(6px);transform:skewX(-20deg) translateX(-140px);
  animation:shine 3.4s ease-in-out infinite;pointer-events:none;}
@keyframes shine{0%,55%{transform:skewX(-20deg) translateX(-140px);}75%,100%{transform:skewX(-20deg) translateX(360px);}}
.btn-dark{background:#151515;color:#fff;}
.btn-dark:hover{background:#000;}
.btn-ghost-d{background:transparent;color:#fff;border-color:var(--border-dark-strong);}
.btn-ghost-d:hover{border-color:#fff;}
.btn-ghost-l{background:transparent;color:var(--text-on-light);border-color:var(--border-input);}
.btn-ghost-l:hover{border-color:var(--text-on-light);}
.btn-soft{background:var(--violet-soft);color:var(--violet-text);}
/* Telegram — фирменный голубой (правка 23.07: всё про TG в цветах Telegram) */
.btn-tg{background:#2AABEE;color:#fff;border-color:transparent;}
.btn-tg:hover{background:#1D97D6;}
.btn-tg:active{background:#1A88C0;}
.btn-tg svg,.btn-tg .soc{width:18px;height:18px;flex:0 0 auto;}
.btn-tg.btn-l svg,.btn-tg.btn-l .soc{width:20px;height:20px;}
.btn-tg.btn-s svg,.btn-tg.btn-s .soc{width:16px;height:16px;}
/* ссылка в TG внутри текста/футера — иконка + голубой на ховере */
.lnk-tg{display:inline-flex;align-items:center;gap:7px;}
.lnk-tg svg{width:15px;height:15px;flex:0 0 auto;}
.lnk-tg:hover{color:#2AABEE;}
.btn-soft:hover{background:rgba(137,80,218,.26);}
.light .btn-soft{color:var(--violet-hover);}
.btn-white{background:#fff;color:var(--text-on-light);}
.btn-white:hover{background:#ececec;}

/* Чипы/статусы/бейджи */
.chip{display:inline-flex;align-items:center;gap:7px;font-weight:500;font-size:13px;
  padding:8px 15px;border-radius:var(--radius-pill);background:rgba(255,255,255,.06);
  border:1px solid var(--border-dark);color:var(--text-muted-dark);cursor:default;}
.chip.on{background:var(--violet);border-color:var(--violet);color:#fff;}
.light .chip{background:#fff;border-color:var(--border-light);color:var(--text-muted-light);}
.light .chip.on{background:var(--violet);border-color:var(--violet);color:#fff;}
.status{display:inline-flex;align-items:center;gap:7px;font-weight:500;font-size:12.5px;
  padding:6px 13px;border-radius:var(--radius-pill);white-space:nowrap;}
.status i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto;}
.st-green{background:var(--green-soft);color:var(--green-text);}
.st-violet{background:var(--violet-soft);color:var(--violet-text);}
.st-amber{background:var(--amber-soft);color:var(--amber-text);}
.st-red{background:var(--red-soft);color:var(--red-text);}
.light .st-green{color:#1d8355;}
.light .st-violet{color:var(--violet-hover);}
.light .st-amber{color:#a3701a;}
.badge{display:inline-block;font-weight:600;font-size:11px;letter-spacing:.05em;
  padding:4px 9px;border-radius:var(--radius-btn);background:var(--violet-soft);color:var(--violet-text);vertical-align:middle;}
.light .badge{color:var(--violet-hover);}
.badge-soon{background:rgba(255,255,255,.07);color:var(--text-subtle-dark);}
.light .badge-soon{background:rgba(0,0,0,.06);color:var(--text-muted-light);}

/* Секции, паттерн шапки */
section{padding:var(--section-pad) 0;}
.light{background:var(--paper);color:var(--text-on-light);}
.sec-head{margin-bottom:44px;max-width:780px;}
.sec-line{width:72px;height:8px;border-radius:var(--radius-pill);background:var(--violet);margin-bottom:18px;}
.sec-step{font-weight:500;font-size:13px;color:var(--text-subtle-dark);margin-bottom:10px;}
.sec-head p{margin-top:16px;font-size:16px;max-width:64ch;}

/* Карточки */
.card{border-radius:var(--radius-card);padding:var(--card-pad);}
.card-d{background:var(--surface);}
.card-l{background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.05);}
.icon-tile{width:44px;height:44px;border-radius:11px;background:var(--violet-soft);
  display:grid;place-items:center;color:var(--violet-text);flex:0 0 auto;}
.light .icon-tile{color:var(--violet-hover);}
.icon-tile svg{width:20px;height:20px;}

/* KPI и прогресс */
.kpi{background:var(--surface);border-radius:var(--radius-card);padding:20px var(--card-pad);}
.kpi .v{font-weight:800;font-size:clamp(26px,3vw,42px);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;}
.kpi .v.acc{color:var(--violet-text);}
.kpi .v.grn{color:var(--green-text);}
.kpi .l{font-weight:400;font-size:13.5px;color:var(--text-subtle-dark);margin-top:6px;}
.light .kpi{background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.05);}
.light .kpi .l{color:var(--text-muted-light);}
.light .kpi .v.grn{color:#1d8355;}
.prog{height:8px;border-radius:var(--radius-pill);background:rgba(255,255,255,.1);overflow:hidden;}
.prog i{display:block;height:100%;background:var(--violet);border-radius:var(--radius-pill);}
.prog.thin{height:3px;}
.light .prog{background:rgba(0,0,0,.08);}

/* Формы */
label{display:block;font-weight:500;font-size:13px;margin-bottom:7px;}
.inp,.sel,.ta{width:100%;padding:13px 15px;border-radius:var(--radius-input);border:1px solid var(--border-input);
  background:#fff;color:var(--text-on-light);font-family:var(--font);font-size:15px;}
.inp:focus,.sel:focus,.ta:focus{outline:none;border-color:var(--violet);}
.dark-form .inp,.dark-form .sel,.dark-form .ta{background:var(--surface);border-color:rgba(255,255,255,.16);color:#fff;}
.ta{min-height:96px;resize:vertical;}
.checkline{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;cursor:pointer;}
.checkline input{accent-color:var(--violet);width:17px;height:17px;margin-top:3px;}

/* FAQ */
.faq{border-top:1px solid var(--border-light);}
.faq details{border-bottom:1px solid var(--border-light);}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;
  cursor:pointer;list-style:none;padding:19px 0;font-weight:500;font-size:17px;}
.faq summary::-webkit-details-marker{display:none;}
.faq .plus{font-weight:300;font-size:26px;color:var(--violet);line-height:1;transition:rotate .2s ease;flex:0 0 auto;}
.faq details[open] .plus{rotate:45deg;}
.faq .a{padding:0 0 19px;font-size:15px;color:var(--text-muted-light);max-width:68ch;}
.dark-faq{border-top:1px solid var(--border-dark);}
.dark-faq details{border-bottom:1px solid var(--border-dark);}
.dark-faq .a{color:var(--text-muted-dark);}

/* Бегущая строка с ЛОГОТИПАМИ */
.marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);}
.marq-in{display:flex;align-items:center;gap:58px;width:max-content;animation:marq 30s linear infinite;padding:14px 0;}
@keyframes marq{to{transform:translateX(-50%);}}
.marq img{height:30px;width:auto;opacity:.55;filter:grayscale(1) brightness(1.9);}
.light .marq img{filter:grayscale(1);opacity:.5;}

/* Соц-иконки (официальные) */
.soc{display:inline-flex;width:22px;height:22px;vertical-align:-5px;flex:0 0 auto;}
.soc svg,.soc img{width:100%;height:100%;border-radius:5px;}
.soc-l{width:30px;height:30px;vertical-align:-8px;}

/* Хедер лендингов */
.hdr{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--header-h);
  background:rgba(35,34,34,.72);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);
  border-bottom:1px solid rgba(255,255,255,.06);}
.hdr-in{display:flex;align-items:center;height:var(--header-h);gap:24px;}
.wordmark{font-weight:800;font-size:20px;letter-spacing:-.02em;}
.wordmark b{color:var(--violet-text);font-weight:800;}
.hdr-nav{display:flex;gap:22px;margin:0 auto;font-weight:500;font-size:14px;color:#cfcfcf;align-items:center;}
.hdr-nav a:hover{color:#fff;}
.hdr-right{display:flex;align-items:center;gap:10px;}
.hdr-right .gift{font-size:12.5px;color:var(--text-subtle-dark);}
.nav-acad{color:var(--text-subtle-dark);cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.nav-acad .badge-soon{font-size:9.5px;padding:3px 7px;}
@media(max-width:900px){.hdr-nav{display:none;}.hdr-right .gift{display:none;}}

/* Оболочка кабинета */
.app{display:flex;min-height:100vh;}
.side{width:252px;flex:0 0 252px;background:var(--ink);border-right:1px solid var(--border-dark);
  padding:18px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto;}
.side .brand{display:flex;align-items:center;gap:10px;padding:6px 10px 16px;}
/* flex, не grid: у grid «R» и <b>5</b> становятся двумя ячейками и логотип
   разваливается на две строки (фикс 23.07) */
.side .brand .mk{width:34px;height:34px;border-radius:9px;background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;white-space:nowrap;}
.side .brand .mk b{color:var(--violet-text);}
.team-sw{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:11px;padding:10px 12px;margin-bottom:12px;cursor:pointer;}
.team-sw .av{width:28px;height:28px;border-radius:8px;background:var(--violet-soft);color:var(--violet-text);display:grid;place-items:center;font-weight:700;font-size:13px;}
.team-sw .tn{font-weight:600;font-size:13.5px;line-height:1.2;}
.team-sw .tc{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle-dark);}
.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;
  font-weight:500;font-size:14px;color:var(--text-muted-dark);cursor:pointer;transition:background .12s,color .12s;}
.nav-item:hover{background:var(--surface);color:#fff;}
.nav-item.active{background:var(--violet-soft);color:var(--violet-text);}
.nav-item svg{width:18px;height:18px;flex:0 0 auto;opacity:.85;}
.nav-item .cnt{margin-left:auto;background:var(--surface);border-radius:var(--radius-pill);font-size:11px;padding:2px 8px;color:var(--text-muted-dark);}
.nav-title{font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle-dark);padding:16px 12px 6px;}
.nav-item.subtle{font-size:13px;color:var(--text-subtle-dark);}
.nav-item.locked{color:var(--text-subtle-dark);opacity:.75;}
.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-dark);display:flex;flex-direction:column;gap:10px;}
.side-user{display:flex;align-items:center;gap:10px;padding:0 6px;}
.side-user .av{width:32px;height:32px;border-radius:50%;background:var(--elevate);display:grid;place-items:center;font-weight:600;font-size:13px;}
.side-user .un{font-weight:600;font-size:13.5px;line-height:1.2;}
.side-user .uh{font-size:12px;color:var(--text-subtle-dark);}
.main{flex:1;min-width:0;background:var(--ink);}
.topbar{height:58px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 26px;border-bottom:1px solid var(--border-dark);}
.topbar .bal{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle-dark);}
.topbar .bal b{color:#fff;font-size:14px;letter-spacing:0;margin-left:6px;}
.page{padding:30px 26px 60px;max-width:1180px;}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
.page-head .pt{font-weight:800;font-size:clamp(24px,3vw,33px);letter-spacing:-.02em;}
.page-head .ps{color:var(--text-muted-dark);font-size:14.5px;margin-top:6px;}
.kpi4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
@media(max-width:980px){.kpi4{grid-template-columns:repeat(2,1fr);}}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px;}
.search{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border-dark);
  border-radius:var(--radius-input);padding:10px 14px;color:var(--text-subtle-dark);font-size:14px;min-width:200px;}
.tbl{width:100%;border-collapse:separate;border-spacing:0 8px;}
.tbl th{font-weight:500;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle-dark);
  text-align:left;padding:4px 16px;}
.tbl th.r,.tbl td.r{text-align:right;}
.tbl td{background:var(--surface);padding:15px 16px;font-size:14.5px;vertical-align:middle;}
.tbl tr td:first-child{border-radius:11px 0 0 11px;}
.tbl tr td:last-child{border-radius:0 11px 11px 0;}
.tbl .num{font-weight:700;font-variant-numeric:tabular-nums;font-size:15px;}
.tbl .nm{font-weight:600;}
.tbl .nm small{display:block;font-weight:400;font-size:12px;color:var(--text-subtle-dark);margin-top:2px;}
.tblwrap{overflow-x:auto;}
.row-cre{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);
  border-radius:11px;padding:14px 18px;}
.row-cre + .row-cre{margin-top:10px;}
.row-cre .who{display:flex;align-items:center;gap:12px;min-width:0;}
.row-cre .av{width:38px;height:38px;border-radius:50%;background:var(--elevate);display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 auto;}
.row-cre .nm{font-weight:600;font-size:15px;}
.row-cre .socs{display:flex;gap:5px;margin-top:3px;}
.row-cre .socs .soc{width:16px;height:16px;}
.row-cre .met{display:flex;gap:26px;align-items:center;}
.row-cre .m b{display:block;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;}
.row-cre .m span{font-size:11px;color:var(--text-subtle-dark);}
@media(max-width:860px){.row-cre{flex-wrap:wrap;}.row-cre .met{gap:16px;}}
.mlbl{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle-dark);font-weight:500;
  margin:22px 0 10px;display:flex;align-items:center;gap:10px;}
.mlbl::after{content:"";flex:1;height:1px;background:var(--border-dark);}
.duo-form{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start;}
@media(max-width:900px){.duo-form{grid-template-columns:1fr;}}
@media(max-width:940px){.side{display:none;}.app{display:block;}}

/* Демо-оболочка удалена при переносе на прод 23.07.2026:
   панели переключения страниц здесь нет, а её body{padding-top:44px}
   и .view{display:none} ломали бы боевые шаблоны. */
.land{padding-top:var(--header-h);}
@media (prefers-reduced-motion:reduce){.btn-primary .shine,.marq-in{animation:none;}}

/* ── Широкий горизонтальный дашборд (правка 23.07: было узко и вытянуто) ── */
.dash-row4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.dash-row5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.dash-row3{display:flex;flex-direction:column;gap:10px;}
@media(max-width:1000px){.dash-row5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:860px){.dash-row4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.dash-row5{grid-template-columns:repeat(2,1fr);}}
@media(max-width:430px){.dash-row4,.dash-row5{grid-template-columns:1fr;}}
/* строка площадки: иконка · название · ролики · просмотры — всё в одну линию */
.plat-row{display:flex;align-items:center;gap:12px 26px;background:var(--surface);
  border-radius:11px;padding:15px 20px;flex-wrap:wrap;}
.plat-row .pn{font-size:14.5px;flex:1;min-width:92px;}
.plat-row .pv{font-size:13.5px;color:var(--text-muted-dark);white-space:nowrap;}
.plat-row .pv b{color:#fff;font-weight:700;font-size:15.5px;font-variant-numeric:tabular-nums;}
.chip[data-per]{cursor:pointer;}

/* ── Лого-заглушка вместо пустой плашки услуг ── */
.logo-plate{background:var(--surface);border-radius:var(--radius-card);display:grid;place-items:center;
  min-height:300px;border:1px solid var(--border-dark);}
.logo-plate span{font-weight:800;font-size:clamp(72px,12vw,140px);letter-spacing:-.055em;line-height:1;color:#fff;}
.logo-plate span b{color:var(--violet-text);font-weight:800;}

/* ── Кейсы: горизонтально — текст слева, фото справа ── */
.case{display:grid;grid-template-columns:1.32fr .68fr;gap:36px;align-items:center;
  background:var(--surface);border-radius:20px;padding:34px;color:var(--text-on-dark);}
.case h3{font-weight:800;font-size:clamp(21px,2.5vw,30px);line-height:1.12;letter-spacing:-.02em;}
.case .lede{color:var(--text-muted-dark);font-size:14px;margin-top:12px;max-width:60ch;}
.case-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;}
.case-tile{background:var(--ink);border-radius:12px;padding:17px;}
.case-tile b{display:block;font-size:14.5px;line-height:1.25;margin-bottom:8px;}
.case-tile p{font-size:12.5px;color:var(--text-muted-dark);line-height:1.5;}
.case-r img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;display:block;}
.case-ph{width:100%;aspect-ratio:4/5;border:1px dashed var(--border-dark-strong);border-radius:16px;
  display:grid;place-items:center;color:var(--text-subtle-dark);font-size:13px;text-align:center;padding:22px;}
.case-more{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-weight:600;font-size:15px;color:#fff;}
.case-more svg{width:22px;height:22px;flex:0 0 auto;}
.case-logo{height:26px;width:auto;margin-bottom:16px;opacity:.9;filter:brightness(1.8) grayscale(1);}
@media(max-width:900px){
  .case{grid-template-columns:1fr;gap:24px;padding:24px;}
  .case-tiles{grid-template-columns:1fr;}
  .case-r{order:-1;}
  .case-r img,.case-ph{aspect-ratio:16/10;}
}

/* ══ ЕДИНАЯ ШАПКА + ВЫПАДАЮЩИЕ МЕНЮ (правка 23.07) ══ */
.wordmark{cursor:pointer;}
.hdr-nav{display:flex;gap:4px;margin:0 auto;align-items:center;}
.hdr-nav > a,.nav-dt,.nav-acad{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);
  font-weight:500;font-size:14px;color:#cfcfcf;background:none;border:0;cursor:pointer;
  padding:9px 13px;border-radius:var(--radius-btn);transition:color .12s,background .12s;white-space:nowrap;}
.hdr-nav > a:hover,.nav-dt:hover{color:#fff;background:rgba(255,255,255,.06);}
.nav-acad{color:var(--text-subtle-dark);}
.nav-acad:hover{background:rgba(255,255,255,.05);}
.cav{font-size:10px;opacity:.7;}
.nav-dd{position:relative;}
.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:var(--surface);
  border:1px solid var(--border-dark);border-radius:12px;padding:8px;display:none;
  box-shadow:0 18px 44px -14px rgba(0,0,0,.7);z-index:70;}
.nav-dd:hover .dd-menu,.nav-dd.open .dd-menu{display:block;}
.dd-menu a{display:block;padding:11px 13px;border-radius:9px;transition:background .12s;}
.dd-menu a:hover{background:var(--elevate);}
.dd-menu b{display:block;font-weight:600;font-size:14px;color:#fff;}
.dd-menu small{display:block;font-size:12px;color:var(--text-subtle-dark);margin-top:2px;line-height:1.35;}
.burger{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:9px;margin-left:8px;}
.burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;}
@media(max-width:1080px){
  .hdr-nav,.hdr-right .gift,.hdr-right .btn-ghost-d{display:none;}
  .burger{display:flex;}
  .hdr-right{margin-left:auto;}
}
/* Мобильное меню */
.mnav-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:90;display:none;}
.mnav-ov.on{display:block;}
.mnav{position:absolute;top:0;right:0;bottom:0;width:min(300px,88vw);background:var(--ink);
  border-left:1px solid var(--border-dark);padding:18px 16px;overflow-y:auto;
  display:flex;flex-direction:column;gap:2px;}
.mnav-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.mnav-x{background:none;border:0;color:#fff;font-size:20px;cursor:pointer;padding:6px 10px;}
.mnav-group{font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-subtle-dark);padding:16px 12px 6px;}
.mnav-link{display:flex;align-items:center;gap:8px;padding:12px;border-radius:9px;font-weight:500;
  font-size:15px;color:#e4e4e4;cursor:pointer;}
.mnav-link:hover{background:var(--surface);}
.mnav-link.locked{color:var(--text-subtle-dark);}
.mnav-cta{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:9px;}

/* ══ ЛОГОТИПЫ В БЕГУЩЕЙ СТРОКЕ — КРУПНЕЕ ══ */
.marq-in{gap:74px;padding:20px 0;}
.marq img{height:52px;opacity:.62;}
.light .marq img{opacity:.55;}
/* Оптическая компенсация: у этих знаков много воздуха внутри контура,
   на общей высоте они читаются мельче остальных (правка 23.07) */
.marq img[alt="Yea.Yeah.Yes."]{height:74px;}
.marq img[alt="amgum"]{height:68px;}
.marq img[alt="SMARTLIFE"]{height:60px;}
@media(max-width:700px){
  .marq-in{gap:48px;}
  .marq img{height:40px;}
  .marq img[alt="Yea.Yeah.Yes."]{height:57px;}
  .marq img[alt="amgum"]{height:52px;}
  .marq img[alt="SMARTLIFE"]{height:46px;}
}

/* ══ ТИПОГРАФИКА: без висячих строк и лишних переносов ══ */
h1,h2,h3,.t-display,.t-h1,.t-h2,.t-h3{text-wrap:balance;}
p,li,.lede,.ps,.sub{text-wrap:pretty;}

/* ══ ВЕБАП (Telegram Mini App) ══ */
.wa-top,.wa-bottom{display:none;}
html.is-webapp .hdr,html.is-webapp .mnav-ov,html.is-webapp .side,html.is-webapp .topbar{display:none !important;}
html.is-webapp .land{padding-top:52px;}
html.is-webapp body{padding-top:0;}
html.is-webapp .wa-top{display:flex;position:fixed;top:0;left:0;right:0;height:52px;z-index:80;
  align-items:center;gap:10px;padding:0 14px;background:#1b1b1b;border-bottom:1px solid var(--border-dark);}
html.is-webapp .wa-top .t{font-weight:600;font-size:15px;}
html.is-webapp .wa-top .x{margin-left:auto;color:var(--text-subtle-dark);font-size:13px;}
html.is-webapp .wa-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;height:62px;z-index:80;
  background:#1b1b1b;border-top:1px solid var(--border-dark);align-items:center;justify-content:space-around;padding-bottom:4px;}
html.is-webapp .wa-bottom a{display:flex;flex-direction:column;align-items:center;gap:3px;
  font-size:10.5px;color:var(--text-subtle-dark);font-weight:500;padding:6px 10px;cursor:pointer;}
html.is-webapp .wa-bottom a.on{color:var(--violet-text);}
html.is-webapp .wa-bottom svg{width:21px;height:21px;}
html.is-webapp .app{display:block;}
html.is-webapp .main{padding-bottom:70px;}
html.is-webapp .page{padding:16px 14px 30px;}
html.is-webapp section{padding:44px 0;}
html.is-webapp .wrap{padding:0 16px;}
html.is-webapp .page-head{flex-direction:column;align-items:stretch;gap:12px;}
html.is-webapp .page-head .btn{width:100%;}
html.is-webapp .kpi4{grid-template-columns:1fr 1fr;gap:10px;}
html.is-webapp .kpi{padding:15px 16px;}
html.is-webapp .kpi .v{font-size:24px !important;}
html.is-webapp .tblwrap{margin:0 -14px;padding:0 14px;}

/* ── добавки сборки демо ── */

/* Экраны кабинета: было объявлено в разметке и JS, но не в CSS —
   все четыре рендерились простынёй, клики по меню ничего не меняли (фикс 23.07) */
.cab-view{display:none;}
.cab-view.on{display:block;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:32px;}
.foot-col{display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--text-muted-dark);}
.foot-col a{cursor:pointer;}.foot-col a:hover{color:#fff;}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr !important;gap:32px !important;}}
@media(max-width:900px){.tri-grid{grid-template-columns:1fr !important;}}
@media(max-width:960px){.kpi-five{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:480px){.kpi-five{grid-template-columns:1fr !important;}}
@media(max-width:900px){.plans-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:560px){.plans-grid{grid-template-columns:1fr !important;}}
@media(max-width:700px){.t-display{font-size:clamp(30px,8vw,40px);}.t-h1{font-size:clamp(24px,6.4vw,32px);}}
#acad-ov,#blog-ov{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;padding:20px;}
#acad-ov.on,#blog-ov.on{display:flex;}
#acad-ov .m,#blog-ov .m{background:var(--surface);border:1px solid var(--border-dark);border-radius:var(--radius-card);
  padding:26px;max-width:min(420px,92vw);color:var(--text-on-dark);}
#acad-ov h3,#blog-ov h3{font-weight:700;font-size:19px;}
#acad-ov p,#blog-ov p{color:var(--text-muted-dark);font-size:14.5px;margin-top:10px;}
#acad-ov .acts,#blog-ov .acts{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
@media(max-width:480px){#acad-ov .acts,#blog-ov .acts{flex-direction:column-reverse;}
  #acad-ov .acts .btn,#blog-ov .acts .btn{width:100%;}}
