/* ДоПосле — сайт. Палитра и шрифт — бриф, раздел 8. Главный приём — латунная «шторка» (вертикальная полоса до/после). */
@font-face{font-family:"Golos Text";font-weight:400;font-display:block;src:url(/fonts/golos-text-cyrillic-400.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:400;font-display:block;src:url(/fonts/golos-text-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Golos Text";font-weight:500;font-display:block;src:url(/fonts/golos-text-cyrillic-500.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:500;font-display:block;src:url(/fonts/golos-text-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Golos Text";font-weight:600 900;font-display:block;src:url(/fonts/golos-text-cyrillic-600.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:600 900;font-display:block;src:url(/fonts/golos-text-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}

:root{
  /* палитра страницы регистрации портала (func/core/signup.js): малиновый «после», серо-розовый «до» — решение управляющего 26.10.2026 */
  --bg:#FBF6F8; --surface:#F3E9EE; --ink:#2A1720; --muted:#7A6470; --before:#D9C9CF;
  --accent:#C2255C; --accent-strong:#A81E4F; --accent-ink:#FFFFFF; --field:#F1E2E9; --paper:#FFFFFF;
  --dark:#2A1720; --dark-ink:#FBF6F8; --ok:#3F6B45; --ok-bg:#D7E3D3; --no:#8A3B2E; --no-bg:#EED9D3;
  /* шрифт меньше, поля шире — решение управляющего 29.10.2026 */
  --small:clamp(14px,0.85rem + 0.1vw,15px);
  --body:clamp(16px,0.95rem + 0.15vw,18px);
  --lead:clamp(19px,1.05rem + 0.45vw,23px);
  --head:clamp(30px,1.1rem + 2.3vw,46px);
  --display:clamp(36px,1.1rem + 3.4vw,62px);
  --m:clamp(32px,7vw,120px); /* ещё больше воздуха по краям (решение управляющего 29.10.2026) */ --gap:clamp(16px,2vw,28px); --sec:clamp(88px,11vw,180px);
  --r:18px; --max:1380px; /* контент ~1140, поля как у myreviews.ru (решение управляющего 29.10.2026) */
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{background:var(--bg);color:var(--ink);font:400 var(--body)/1.5 "Golos Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px}.skip:focus{left:var(--m);top:12px;z-index:50;background:var(--paper);padding:10px 14px}
h1,h2,h3{font-weight:600;letter-spacing:-0.035em;line-height:1.06;text-wrap:balance}
h1{font-size:var(--display)}
h2{font-size:var(--head)}
h3{font-size:var(--lead);letter-spacing:-0.02em;line-height:1.15}
p{max-width:62ch;text-wrap:pretty}
.lead{font-size:var(--lead);line-height:1.35;letter-spacing:-0.01em}
.small,.note{font-size:var(--small);color:var(--muted)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--m)}
.sec{padding:var(--sec) 0}
.sec.tight{padding-top:0}
.on-surface{background:var(--surface)} .on-field{background:var(--field)} .on-paper{background:var(--paper)}
.on-dark{background:var(--dark);color:var(--dark-ink)} .on-dark .small,.on-dark .note{color:#D9C9CF}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.stack>*+*{margin-top:20px}
.pend{text-decoration:none}

/* кнопки: одна форма — полностью скруглённая */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;border:0;cursor:pointer;transition:background .18s,transform .14s}
.btn:hover{background:var(--accent-strong)} .btn:active{transform:scale(.97)}
.btn.ghost{background:transparent;box-shadow:inset 0 0 0 2px var(--ink)} .btn.ghost:hover{background:var(--ink);color:var(--paper)}
.on-dark .btn.ghost{box-shadow:inset 0 0 0 2px var(--dark-ink)} .on-dark .btn.ghost:hover{background:var(--dark-ink);color:var(--dark)}
.btn-small{min-height:44px;padding:0 20px;font-size:var(--small)}
.link{font-weight:600;text-underline-offset:5px;text-decoration-thickness:2px}
.link:hover{text-decoration-color:var(--accent-strong)}
.actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:32px}

/* шапка */
.top{position:sticky;top:0;z-index:20;background:var(--bg);display:flex;align-items:center;gap:24px;padding:14px var(--m);max-width:none}
.mark{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:22px;letter-spacing:-0.03em;text-decoration:none}
.mark i{display:block;width:4px;height:26px;border-radius:2px;background:var(--accent)}
.nav{display:flex;gap:4px 22px;margin-left:auto;font-size:var(--small);font-weight:500}
.nav a,.nav .pend{text-decoration:none;padding:8px 0}
.nav .pend{color:var(--muted);display:none}
.nav a:hover,.nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.btn-top{min-height:44px;padding:0 20px;font-size:var(--small)}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:7px;align-items:center}
.burger i{display:block;width:22px;height:2px;background:var(--ink);transition:transform .2s}
.burger[aria-expanded=true] i:first-child{transform:translateY(4.5px) rotate(45deg)} .burger[aria-expanded=true] i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
@media (max-width:1100px){
  .burger{display:flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);flex-direction:column;padding:8px var(--m) 24px;font-size:var(--body)}
  .nav.open{display:flex} .nav .pend{display:block}
  .btn-top{margin-left:auto}
}
@media (max-width:420px){.btn-top{padding:0 14px}.mark{font-size:20px}}

/* ПЕРВЫЙ ЭКРАН: заголовок слева, живой конструктор справа */
.hero{padding:clamp(24px,4vw,56px) 0 var(--sec)}
.hero .grid{align-items:start}
.hero-text{grid-column:1/span 6;padding-top:clamp(8px,3vw,48px)}
.hero-text h1{max-width:16ch;font-size:clamp(36px,1rem + 3vw,58px)}
.hero-text .lead{margin-top:28px;max-width:34ch}
.hero-text .offer{margin-top:20px;max-width:46ch}
.hero-demo{grid-column:7/span 6}
@media (max-width:900px){.hero-text,.hero-demo{grid-column:1/-1}}

/* фрагменты интерфейса (не скриншоты — нарисованы и подписаны) */
[data-ui]{background:var(--paper);border-radius:var(--r);color:var(--ink);font-size:15px;line-height:1.35}
.ui-cap{font-size:var(--small);color:var(--muted);margin-top:12px}
.on-dark .ui-cap{color:#D9C9CF}

/* конструктор: модули слева — экран портала справа */
.builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:14px;background:var(--surface);border-radius:var(--r);padding:14px}
.mods{display:flex;flex-direction:column;gap:6px}
.mods-h{font-weight:600;padding:6px 6px 8px}
.mod{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border-radius:12px;background:transparent;border:0;text-align:left;cursor:pointer;font-size:15px;transition:background .18s}
.mod:hover{background:var(--paper)}
.sw{flex:none;width:38px;height:22px;border-radius:999px;background:#D9C9CF;position:relative;transition:background .2s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--paper);transition:transform .2s var(--ease)}
.mod[aria-pressed=true] .sw{background:var(--accent)} .mod[aria-pressed=true] .sw::after{transform:translateX(16px)}
.phone{padding:14px;display:flex;flex-direction:column;gap:10px;min-height:440px}
.phone-top{display:flex;justify-content:space-between;align-items:center;font-weight:600}
.phone-top small{font-weight:400;color:var(--muted);font-size:13px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tile{border-radius:14px;padding:12px;min-height:84px;display:flex;flex-direction:column;justify-content:space-between;animation:pop .35s var(--ease) both}
.tile b{font-weight:600;font-size:15px} .tile span{font-size:13px;color:#4A3440}
.tile.wide{grid-column:1/-1}
.t1{background:#F6D6E2}.t2{background:var(--field)}.t3{background:#EBDCE6}.t4{background:#E2DCEB}.t5{background:#DCE7EA}.t6{background:#F2E3D9}.t7{background:#DCDCD3}
.off-note{font-size:13px;color:var(--muted);margin-top:auto}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}
@media (max-width:560px){.builder{grid-template-columns:1fr}.phone{min-height:0}}

/* полоса-разделитель «до | после» — один раз на странице */
.band{display:grid;grid-template-columns:1fr 6px 1fr;min-height:120px;align-items:stretch}
.band>div{padding:28px var(--m);display:flex;align-items:center;font-size:var(--lead);font-weight:600;letter-spacing:-0.02em}
.band>i{background:var(--accent)}
.band .b-before{background:var(--surface);justify-content:flex-end;text-align:right;color:var(--muted)}
.band .b-after{background:var(--field)}

/* каталог модулей: доска из плиток разного размера */
.board-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end;margin-bottom:48px}
.board-head h2{grid-column:1/span 6}.board-head p{grid-column:8/span 5}
.board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}
.grp{border-radius:var(--r);padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:14px;min-height:260px}
.grp h3{font-size:clamp(22px,1rem + 1vw,30px)}
.grp ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.grp li{background:rgba(244,244,241,.7);border-radius:999px;padding:6px 12px;font-size:var(--small)}
.grp p{font-size:16px}
.grp .link{margin-top:auto;font-size:16px}
.g-a{grid-column:span 7;background:#F6D6E2}.g-b{grid-column:span 5;background:var(--field)}
.g-c{grid-column:span 4;background:#EBDCE6}.g-d{grid-column:span 4;background:var(--paper)}.g-e{grid-column:span 4;background:#DCE7EA}
.g-f{grid-column:span 5;background:#E2DCEB}.g-g{grid-column:span 7;background:var(--dark);color:var(--dark-ink)}
.g-g li{background:rgba(244,244,241,.12)}
.g-h{grid-column:span 6;background:#F2E3D9}.g-i{grid-column:span 6;background:var(--surface)}
@media (max-width:900px){.board-head h2,.board-head p{grid-column:1/-1}.board>*{grid-column:1/-1}.grp{min-height:0}}

/* две двери / экран в холле */
.door{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.door-text{grid-column:1/span 5}.door-show{grid-column:7/span 6}
@media (max-width:900px){.door-text,.door-show{grid-column:1/-1}}
.tv{background:#1A0F14;border-radius:14px;padding:clamp(8px,1vw,12px);position:relative}
.tv-screen{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#222}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;display:grid;place-items:center}
.slide.on{opacity:1}
.slide .blur{position:absolute;inset:-10%;filter:blur(28px);opacity:.75}
.slide .portrait{position:relative;height:88%;aspect-ratio:3/4;border-radius:4px;display:flex;align-items:flex-end;padding:12px;color:#fff;font-weight:600;font-size:clamp(12px,1.2vw,16px)}
.slide .promo{position:relative;width:78%;padding:6%;border-radius:4px;background:var(--paper);color:var(--ink)}
.slide .promo b{display:block;font-size:clamp(18px,2.4vw,34px);letter-spacing:-0.03em;line-height:1.05}
.slide .promo span{display:block;margin-top:10px;font-size:clamp(12px,1.1vw,16px);color:var(--muted)}
.tv-warn{position:absolute;left:0;right:0;bottom:0;background:rgba(15,15,14,.78);color:#F4F4F1;font-size:clamp(9px,.9vw,12px);padding:5px 10px;z-index:2}
.tv-stand{width:22%;height:10px;margin:0 auto;background:#1A0F14;border-radius:0 0 6px 6px}
.albums{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.album{min-height:44px;padding:0 16px;border-radius:999px;border:0;background:var(--surface);cursor:pointer;font-weight:500}
.on-dark .album{background:#3E2632;color:var(--dark-ink)}
.album[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}

/* шторка «сейчас / с ДоПосле» */
.cmp{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:var(--dark);user-select:none;touch-action:pan-y}
.cmp-side{position:absolute;inset:0;padding:clamp(14px,2vw,28px);display:flex;flex-direction:column;gap:12px}
.cmp-now{background:var(--dark);color:var(--dark-ink)}
.cmp-new{background:var(--paper);clip-path:inset(0 0 0 var(--pos,50%))}
.cmp-label{font-size:var(--small);font-weight:600}
.cmp-new .cmp-label{text-align:right}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:56%}
.gal span{aspect-ratio:1;border-radius:4px;background:#4A3440;display:flex;align-items:flex-end;padding:10px;font-size:13px;color:#C9B3BE;overflow:hidden}
.gal .p1{background:#7A6E5E}.gal .p2{background:#5E6B66}.gal .p3{background:#8A7A72}
.bubble{background:#3E2632;border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:13px;max-width:54%;color:#E6E3D9}
.card{margin-left:auto;width:min(60%,420px);display:flex;flex-direction:column;gap:10px}
.card-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.no{background:var(--no-bg);color:var(--no)} .pill.wait{background:#FCE7F0;color:#5B5317}
.meta{font-size:13px;color:var(--muted)}
.ph2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ph2 span{aspect-ratio:4/5;border-radius:6px;display:flex;align-items:flex-end;padding:8px;font-size:12px;font-weight:600;color:#fff}
.ph-a{background:#9C8A7C}.ph-b{background:#B59F8C}
.cmp-bar{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:4px;margin-left:-2px;background:var(--accent);pointer-events:none}
.cmp-bar::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--accent);transition:transform .15s}
.cmp:active .cmp-bar::after{transform:scale(1.12)}
.cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cmp input:focus-visible+.cmp-bar::after{outline:3px solid var(--paper);outline-offset:2px}
@media (max-width:640px){.cmp{aspect-ratio:3/4}.gal{max-width:100%}.bubble{max-width:90%}.card{width:100%;margin-top:auto}}

/* шаги: горизонтальный аккордеон, тёмный → светлый */
.steps-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-bottom:48px;align-items:end}
.steps-head h2{grid-column:1/span 5}.steps-head p{grid-column:7/span 5}
.steps{display:flex;height:440px;border-radius:var(--r);overflow:hidden}
.step{flex:1 1 0;min-width:64px;position:relative;border:0;padding:0;text-align:left;cursor:pointer;transition:flex-grow .45s var(--ease);overflow:hidden}
.step[aria-expanded=true]{flex-grow:6;cursor:default}
.step .s-name{position:absolute;left:20px;bottom:22px;transform-origin:left bottom;transform:rotate(-90deg) translateY(100%);white-space:nowrap;font-weight:600;font-size:19px}
.step[aria-expanded=true] .s-name{transform:none;top:26px;bottom:auto;font-size:clamp(26px,2.4vw,38px);letter-spacing:-0.03em}
.step .s-body{position:absolute;left:26px;right:26px;bottom:26px;max-width:40ch;opacity:0;transition:opacity .3s .15s;font-size:17px}
.step[aria-expanded=true] .s-body{opacity:1}
.st1{background:#5A1732;color:#F4F4F1}.st2{background:#8E2A52;color:#F4F4F1}.st3{background:#D18AA7}.st4{background:var(--field)}.st5{background:#F6E8EF}
@media (max-width:760px){
  .steps-head h2,.steps-head p{grid-column:1/-1}
  .steps{flex-direction:column;height:auto}
  .step{min-height:64px;flex:none}
  .step .s-name{position:static;transform:none;display:block;padding:20px 20px 0;font-size:18px}
  .step[aria-expanded=true] .s-name{font-size:24px}
  .step .s-body{position:static;display:none;padding:12px 20px 22px;max-width:none}
  .step[aria-expanded=true] .s-body{display:block}
  .step:not([aria-expanded=true]) .s-name{padding-bottom:20px}
}

/* статусы документа */
.docs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.docs-text{grid-column:1/span 5}.docs-ui{grid-column:7/span 6;padding:22px}
.dsteps{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.dstep{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:8px 14px;border-radius:12px;background:var(--bg)}
.dstep.done{background:var(--ok-bg)} .dstep b{font-weight:600}
.dstep .meta{white-space:nowrap}
.docs-ui .btn{margin-top:14px}
@media (max-width:900px){.docs-text,.docs-ui{grid-column:1/-1}}

/* тарифы: два поля встык — «до» и «после» */
.price{display:grid;grid-template-columns:5fr 7px 6fr;min-height:min(86svh,760px)}
.price>i{background:var(--accent)}
.pf{padding:clamp(28px,4vw,64px) var(--m);display:flex;flex-direction:column;gap:18px}
.pf h2{font-size:var(--head)}
.pf p{font-size:18px;max-width:40ch}
.pf .big{margin-top:auto;font-size:clamp(56px,1rem + 7vw,128px);font-weight:600;letter-spacing:-0.05em;line-height:.9}
.pf .big small{font-size:18px;letter-spacing:0;font-weight:500;margin-left:6px}
.pf-a{background:var(--field)}.pf-b{background:var(--surface)}
.pf .flag{font-size:16px;font-weight:600;background:var(--paper);border-radius:12px;padding:12px 14px;max-width:44ch}
@media (max-width:860px){.price{grid-template-columns:1fr;grid-template-rows:auto 7px auto}.pf{min-height:70svh}}

/* вопросы */
.faq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.faq h2{grid-column:1/span 4;position:sticky;top:110px;align-self:start}
.faq-list{grid-column:5/span 8;display:flex;flex-direction:column;gap:8px}
details{background:var(--surface);border-radius:var(--r)}
.on-surface details{background:var(--bg)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:16px 24px;font-size:19px;font-weight:500;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;font-size:28px;font-weight:400;line-height:1;transition:transform .25s}
details[open]{background:var(--accent);color:var(--accent-ink)}
details[open] summary::after{transform:rotate(45deg)}
details>div{padding:0 24px 24px;font-size:17px;max-width:62ch}
details>div p+p{margin-top:10px}
@media (max-width:900px){.faq h2{position:static;grid-column:1/-1}.faq-list{grid-column:1/-1}summary{font-size:18px}}

/* двухколоночный текст и списки */
.cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.cols>.c-l{grid-column:1/span 5}.cols>.c-r{grid-column:7/span 6}
.cols>.c-wide{grid-column:1/span 7}.cols>.c-side{grid-column:9/span 4}
@media (max-width:900px){.cols>*{grid-column:1/-1!important}}
.plain{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px}
.plain li{padding-left:22px;position:relative}
.plain li::before{content:"";position:absolute;left:0;top:.35em;width:4px;height:1em;border-radius:2px;background:var(--accent)}
.pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pair{background:var(--paper);border-radius:var(--r);padding:24px}
.pair h3{margin-bottom:10px}
.pair p{font-size:17px}
.on-paper .pair{background:var(--bg)}
@media (max-width:760px){.pairs{grid-template-columns:1fr}}
.quad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:48px}
.quad>div{border-radius:var(--r);padding:24px;min-height:200px;display:flex;flex-direction:column;gap:12px}
.quad h3{font-size:22px}.quad p{font-size:16px}
@media (max-width:900px){.quad{grid-template-columns:1fr 1fr}}@media (max-width:520px){.quad{grid-template-columns:1fr}}

/* служебная пометка предпросмотра — не публикуется */
.svc{background:#FCE7F0;border-radius:12px;padding:12px 16px;font-size:var(--small);max-width:70ch;margin-top:20px}

/* подвал: знак крупно */
.foot{background:var(--ink);color:var(--paper);padding:clamp(56px,7vw,96px) var(--m) 28px;margin-top:0}
.foot-mark{display:flex;align-items:center;gap:clamp(8px,1.4vw,20px);font-weight:600;letter-spacing:-0.05em;line-height:.85;font-size:clamp(56px,13vw,220px)}
.foot-mark i{width:clamp(8px,1vw,14px);align-self:stretch;background:var(--accent);border-radius:4px}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:56px}
.foot-cols>div{display:flex;flex-direction:column;gap:10px;font-size:15px}
.foot-cols b{font-weight:600;margin-bottom:4px}
.foot-cols a,.foot-cols .pend{text-decoration:none;color:#E8DCE2}
.foot-cols .pend{color:#B89DAB}
.foot-cols a:hover{text-decoration:underline}
.foot-end{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:56px;font-size:14px;color:#C9B3BE}
@media (max-width:760px){.foot-cols{grid-template-columns:1fr 1fr}}

/* появление при прокрутке: только transform и opacity; без скрипта всё видно */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .rv{opacity:1;transform:none}
}
.js .hero .rv{opacity:1;transform:none} /* первый экран — сразу, без проявления */
.btn{white-space:nowrap}
@media (max-width:480px){.hide-s{display:none}}

/* заглушка картинки: номер слота и что туда поставить (реестр — site/IMAGES.md) */
.slot{width:100%;background:var(--surface);border-radius:var(--r);display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:18px;color:var(--muted);font-size:14px;line-height:1.35;overflow:hidden}
.slot b{font-size:clamp(22px,2.4vw,34px);color:var(--ink);letter-spacing:-0.03em;line-height:1}
.on-dark .slot{background:#3E2632;color:#D9C9CF}.on-dark .slot b{color:var(--dark-ink)}
.slot-img{width:100%;object-fit:cover;border-radius:var(--r)}
.slide .portrait{background:#9C8A7C;overflow:hidden}
.slide .portrait>.slot,.slide .portrait>.slot-img{position:absolute;inset:0;height:100%;aspect-ratio:auto!important;border-radius:4px;padding:10px;font-size:11px}
.slide .portrait>.slot b{font-size:18px}
.slide .portrait>span{position:relative;z-index:1}
.slide .bg{position:absolute;inset:0}.slide .bg>.slot,.slide .bg>.slot-img{height:100%;aspect-ratio:auto!important;border-radius:0;padding:12px;font-size:11px}
.slide .bg>.slot b{font-size:18px}
.scene .cmp-side{padding:0}.scene .cmp-label{position:absolute;top:14px;z-index:2;background:var(--ink);color:var(--paper);border-radius:999px;padding:4px 12px;font-weight:600;letter-spacing:.02em}
.scene .cmp-now .cmp-label{left:14px}.scene .cmp-new .cmp-label{right:14px;background:var(--accent);color:var(--accent-ink)}
.scene .slot,.scene .slot-img{height:100%;aspect-ratio:auto!important;border-radius:0}
.scene .cmp-now .slot{background:#3E2632;color:#D9C9CF}.scene .cmp-now .slot b{color:var(--dark-ink)}
.scene .cmp-new .slot{background:var(--paper);padding-left:52%}
.scene .cmp-now .slot{padding-right:52%}
.scene{aspect-ratio:4/3}
@media (max-width:640px){.scene{aspect-ratio:4/3}}
figure{margin:0}

.mod-how{margin:0 0 0 58px;padding:0 14px;border-radius:12px;background:var(--paper);font-size:15px;line-height:1.45;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .3s,padding .45s var(--ease),margin .45s var(--ease)}
.mod-how.open{max-height:640px;opacity:1;padding:12px 14px;margin:-2px 0 8px 58px}
.mod-how ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:4px}

/* нижнее меню портала в нарисованном телефоне */
.tabbar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:6px -14px -14px;padding:8px 6px 10px;background:var(--bg);border-radius:0 0 var(--r) var(--r);font-size:11px;color:var(--muted);text-align:center}
.tabbar span{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px}
.tabbar .on{color:var(--ink);font-weight:600}
.tabbar .ti{display:block;width:20px;height:16px;border-radius:5px;background:#D9C9CF}
.tabbar .on .ti{background:var(--ink)}
.tabbar .ti-chat{border-radius:8px 8px 8px 2px}
.tabbar b{position:absolute;top:-4px;left:calc(50% + 4px);min-width:16px;height:16px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:10px;line-height:16px;padding:0 4px}

.tile{animation:none}.tile.new{animation:pop .4s var(--ease) both}
@media (max-width:640px){
  .mod{font-size:17px;min-height:52px}
  .mod-how{font-size:16px;margin-left:12px}.mod-how.open{margin:-2px 0 10px 12px}
  .tile b{font-size:17px}.tile span{font-size:15px}
  .phone-top{font-size:17px}.off-note,.ui-cap{font-size:15px}
  .tabbar{font-size:13px}
}
/* «Что сейчас мешает?» — главный вопрос первого экрана (решение управляющего 26.10.2026) */
.mods-h{font-size:clamp(28px,1rem + 2vw,44px);letter-spacing:-0.035em;line-height:1.02;padding:8px 8px 4px}
.mods-sub{font-size:var(--small);color:var(--muted);padding:0 8px 10px}
.builder{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.btn.ghost{color:var(--ink)}
@media (max-width:1100px){.hero-text,.hero-demo{grid-column:1/-1}.hero-demo{margin-top:12px}}
/* телефон в конструкторе: своей высоты и едет рядом со списком, а не растягивается на два экрана */
.builder{align-items:start}
.builder .phone{min-height:0;position:sticky;top:84px}
.phone .tiles{min-height:160px;align-content:start}
@media (max-width:560px){.builder .phone{position:static}}
/* решение управляющего 26.10.2026: портал — под списком болей на любом экране */
.builder{grid-template-columns:1fr}
.builder .phone{position:static;max-width:520px}
/* портал слева на компьютере: едет за списком; итог и кнопка — под ним */
.dock{margin-top:36px;position:sticky;top:88px}
.hero-text{align-self:stretch}
.dock .phone{max-width:none}
.portal-out{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.builder>.portal-out{margin-top:10px}
.pick{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface);border-radius:var(--r);padding:14px 16px}
.pick-t{font-size:15px;max-width:40ch;margin:0}

/* ===== первый экран: описание под заголовком, не в другом краю экрана (решение управляющего 29.10.2026) ===== */
.hero-top .hero-text,.hero-top .hero-demo{grid-column:1/-1}
.hero-top .hero-text{display:block;padding-top:clamp(8px,2vw,24px)}
.hero-top .hero-text h1{max-width:18ch;font-size:clamp(34px,1rem + 2.8vw,54px)}
.hero-top .hero-text .lead{margin-top:16px;max-width:56ch;font-size:clamp(18px,1rem + .4vw,22px)}
.hero-top .hero-text .actions{margin-top:16px}
.hero-top .hero-demo{margin-top:clamp(28px,3vw,48px)}
.builder{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;padding:18px}
.builder>.portal-out{margin-top:0;position:sticky;top:88px}
.builder .phone{max-width:none}
@media (max-width:900px){
  .builder{grid-template-columns:1fr}.builder>.portal-out{position:static}
}
/* плавность: пояснение раскрывается по высоте содержимого, плитки не перерисовываются */
.mod-how,.mod-how.open{max-height:none;padding:0;margin:0 0 0 58px;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .55s cubic-bezier(.33,1,.68,1),opacity .4s ease,margin .55s cubic-bezier(.33,1,.68,1)}
.mod-how.open{grid-template-rows:1fr;opacity:1;margin:0 0 8px 58px}
.mod-how>ul{min-height:0;overflow:hidden;padding:0 14px 0 30px;margin:0}
.mod-how.open>ul{padding:12px 14px 12px 30px}
.mod-how>ul{transition:padding .55s cubic-bezier(.33,1,.68,1)}
@media (max-width:640px){.mod-how,.mod-how.open{margin-left:12px}.mod-how.open{margin-bottom:10px}}
.tile,.tile.new{animation:none;transition:opacity .45s ease,transform .45s cubic-bezier(.33,1,.68,1)}
.tile.in{opacity:0;transform:translateY(10px) scale(.98)}
.tile.gone{opacity:0;transform:scale(.97);pointer-events:none}
.sw,.sw::after{transition-duration:.3s}

/* миссия: одна крупная фраза */
.mission{background:var(--paper)}
.mission-t{font-size:clamp(24px,1rem + 1.6vw,36px);line-height:1.2;letter-spacing:-0.02em;font-weight:600;max-width:28ch}
/* телефон: блок «Что сейчас мешает?» — во весь экран, без полей по бокам */
@media (max-width:640px){
  .builder{margin-left:calc(-1 * var(--m));margin-right:calc(-1 * var(--m));border-radius:22px;padding:18px var(--m)}
  .hero-demo .ui-cap{padding:0}
}

/* кубик из модулей (решение управляющего 26.10.2026, по картинке управляющего): вращается, модули по очереди загораются малиновым */
.cube3d{--s:clamp(52px,6vw,96px);width:calc(var(--s) * 3);height:calc(var(--s) * 3);perspective:1000px;display:grid;place-items:center;justify-self:start}
.cube-img{width:100%;height:100%;object-fit:contain}
.cube{position:relative;width:calc(var(--s) * 2);height:calc(var(--s) * 2);transform-style:preserve-3d;transform:rotateX(-26deg) rotateY(-38deg);animation:cubespin 30s linear infinite}
@keyframes cubespin{from{transform:rotateX(-26deg) rotateY(-38deg)}to{transform:rotateX(-26deg) rotateY(322deg)}}
.sc{position:absolute;width:var(--s);height:var(--s);transform-style:preserve-3d}
.sc i{position:absolute;inset:3%;border-radius:20%;background:rgba(217,201,207,.30);border:1.5px solid rgba(255,255,255,.98);
  box-shadow:inset 0 0 calc(var(--s) * .22) rgba(255,255,255,.95),inset 0 0 calc(var(--s) * .06) rgba(122,100,112,.45),0 0 0 1px rgba(122,100,112,.28);transition:background 1.1s ease,box-shadow 1.1s ease,border-color 1.1s ease}
.sc.on i{background:rgba(194,37,92,.86);border-color:rgba(255,200,218,.95);box-shadow:inset 0 0 calc(var(--s) * .3) rgba(255,140,175,.75),inset 0 0 0 1px rgba(120,10,50,.25),0 0 0 .5px rgba(120,10,50,.2)}
.sc i:nth-child(1){transform:translateZ(calc(var(--s) * .5))}
.sc i:nth-child(2){transform:rotateY(180deg) translateZ(calc(var(--s) * .5))}
.sc i:nth-child(3){transform:rotateY(90deg) translateZ(calc(var(--s) * .5))}
.sc i:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--s) * .5))}
.sc i:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--s) * .5))}
.sc i:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--s) * .5))}
@media (max-width:900px){
  .cube3d{--s:clamp(34px,10vw,52px);margin-bottom:-6px}
}
@media (prefers-reduced-motion:reduce){.cube{animation:none}}

.cube-live{width:100%;height:100%;display:grid;place-items:center}
.loop-video{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply} /* фон видео сливается с фоном страницы */
@media (prefers-reduced-motion:reduce){.loop-video{display:none}}

/* кубик: стекло ближе к картинке управляющего — толщина грани, блик, радужный отсвет, разная освещённость сторон */
.sc i{overflow:hidden;background:rgba(232,220,226,.26);border:1.5px solid rgba(255,255,255,.98);
  box-shadow:inset 0 0 calc(var(--s) * .16) rgba(255,255,255,.95),inset 0 0 calc(var(--s) * .05) rgba(122,100,112,.5),
   inset 2px 0 3px rgba(120,170,255,.28),inset -2px 0 3px rgba(255,190,120,.24),0 0 0 1px rgba(122,100,112,.22)}
.sc i::before{content:"";position:absolute;inset:14%;border-radius:22%;border:1.5px solid rgba(255,255,255,.78);
  box-shadow:inset 0 0 calc(var(--s) * .08) rgba(255,255,255,.6),0 0 calc(var(--s) * .05) rgba(122,100,112,.18)} /* внутренний край — толщина стекла */
.sc i::after{content:"";position:absolute;left:8%;top:6%;width:60%;height:26%;border-radius:50%;
  background:radial-gradient(ellipse at 40% 50%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%);transform:rotate(-18deg);opacity:.75} /* блик */
.sc i:nth-child(5){background:rgba(255,255,255,.42)}            /* верх — светлее */
.sc i:nth-child(3),.sc i:nth-child(4){background:rgba(214,198,206,.30)} /* бока — чуть темнее */
.sc.on i{background:radial-gradient(circle at 50% 45%,rgba(232,70,120,.82),rgba(176,22,72,.92) 75%);border-color:rgba(255,205,222,.98);
  box-shadow:inset 0 0 calc(var(--s) * .18) rgba(255,160,190,.8),inset 0 0 calc(var(--s) * .05) rgba(90,0,30,.45),0 0 0 1px rgba(120,10,50,.3)}
.sc.on i::before{border-color:rgba(255,190,210,.8)}
.sc.on i:nth-child(5){background:radial-gradient(circle at 50% 45%,rgba(240,95,140,.85),rgba(190,30,85,.92) 75%)}
.sc.on i:nth-child(3),.sc.on i:nth-child(4){background:radial-gradient(circle at 50% 45%,rgba(210,50,100,.86),rgba(150,15,60,.94) 75%)}

/* лента модулей (идея управляющего 26.10.2026): карточки текут справа налево, посередине лента закручивается и приподнимается */
.flow{grid-column:1/-1;position:relative;height:clamp(150px,16vw,240px);margin:clamp(12px,2vw,28px) calc(-1 * var(--m)) 0;overflow:hidden;perspective:900px}
.flow .fc{position:absolute;left:0;top:50%;width:clamp(52px,5.4vw,84px);height:clamp(78px,8vw,124px);margin-top:calc(clamp(78px,8vw,124px) / -2);
  border-radius:12px;display:flex;align-items:flex-end;padding:8px;font-size:clamp(10px,.8vw,12px);font-weight:600;line-height:1.1;color:#fff;
  backface-visibility:visible;will-change:transform;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.flow .fc.lt{color:var(--ink)}
@media (max-width:640px){.flow{height:150px}}
.flow .fc{transform-style:preserve-3d}.flow .fc span{backface-visibility:hidden;-webkit-backface-visibility:hidden}

/* карусель модулей */
.flow{height:clamp(190px,18vw,260px);touch-action:pan-y;cursor:pointer;user-select:none;-webkit-user-select:none;perspective:1100px}

.flow:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:12px}
.flow .fc{width:clamp(96px,8.4vw,132px);height:clamp(120px,10.6vw,166px);margin-top:calc(clamp(120px,10.6vw,166px) / -2);
  flex-direction:column;align-items:flex-start;justify-content:space-between;padding:12px;border-radius:16px;font-size:clamp(12px,.95vw,14px);
  backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:box-shadow .4s}
.flow .fc-ic svg{width:clamp(22px,2vw,30px);height:clamp(22px,2vw,30px);display:block}
.flow .fc-t{font-weight:600;line-height:1.15}
.flow .fc.mid{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 18px 40px -18px rgba(90,23,50,.45)}
@media (max-width:640px){.flow{height:200px}.flow .fc{width:104px;height:132px;margin-top:-66px}}

/* живые карточки: объём и перелив */
.flow .fc{overflow:hidden}
.flow .fc::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(155deg,rgba(255,255,255,.38),rgba(255,255,255,0) 42%,rgba(40,0,20,.16))}
.flow .fc::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.55) 48%,rgba(255,230,245,.25) 53%,rgba(255,255,255,0) 62%);
  background-size:260% 100%;background-position:var(--sx,50%) 0}
.flow .fc>span{position:relative;z-index:1}

/* быстрее на телефоне (26.10.2026): кубик — без размытых теней на гранях, карточки — отдельными слоями */
.cube{will-change:transform}
.sc i{box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 0 0 1px rgba(122,100,112,.22)}
.sc i::before{box-shadow:none}
.sc.on i{box-shadow:inset 0 0 0 1px rgba(255,190,210,.6),0 0 0 1px rgba(120,10,50,.3)}
.flow .fc{contain:paint}
/* карусель: по краям карточки плавно тают, а не обрываются */
.flow{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
@media (max-width:640px){.flow{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}}
.flow .fc::after{opacity:0;transition:opacity .6s ease}.flow .fc.shine::after{opacity:1}
.flow-stage{position:absolute;inset:0;transform-style:preserve-3d}

/* блик «запечён» в карточку, как текстура (решение управляющего 26.10.2026): рисуется один раз и едет вместе с ней — каждый кадр ничего не считается */
.flow .fc::after{opacity:1;transition:none;background:linear-gradient(118deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.42) 44%,rgba(255,235,245,.16) 50%,rgba(255,255,255,0) 60%);background-size:100% 100%;background-position:0 0}

/* быстрее: края — неподвижные слои в цвет фона вместо маски (маска на 3D-сцене перерисовывает ленту каждый кадр) */
.flow{-webkit-mask-image:none!important;mask-image:none!important}
.flow::before,.flow::after{content:"";position:absolute;top:0;bottom:0;width:14%;z-index:5;pointer-events:none}
.flow::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(251,246,248,0))}
.flow::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(251,246,248,0))}
@media (max-width:640px){.flow::before,.flow::after{width:18%}}
.flow-stage{z-index:1}
/* кубик: без блика-градиента на каждой из 48 граней */
.sc i::after{display:none}

/* плавность (26.10.2026): карточки и грани кубика — готовые слои; у кубика не рисуются грани, повёрнутые от нас */
.flow .fc{will-change:transform;contain:layout paint style}
.flow .fc span{backface-visibility:visible;-webkit-backface-visibility:visible}
.flow .fc{transform-style:flat}
.sc i{backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}

/* кубик модулей — над порталом справа: зажигается по отмеченным болям (решение управляющего 27.10.2026) */
.cube-mods{--s:clamp(40px,3.6vw,58px);width:100%;height:calc(var(--s) * 3.1);display:flex;align-items:center;justify-content:center;gap:18px;justify-self:stretch}
.cube-mods .cube-live{width:calc(var(--s) * 3);height:100%}
.cube-cap{font-size:14px;color:var(--muted);max-width:14ch}

/* карусель — самым верхом первого экрана (27.10.2026) */
.hero-top{padding-top:0}
.hero-top .flow{margin-top:clamp(8px,1.2vw,16px);margin-bottom:clamp(8px,1.5vw,20px)}

/* кубик 3×3×3 (27.10.2026): без внутренних белых квадратов; на телефоне — поверх экрана справа внизу, пока листаете боли */
.sc i::before{display:none!important}
.sc i[hidden]{display:none}
.cube-mods{--s:clamp(30px,2.6vw,42px);height:calc(var(--s) * 4.3)}
.cube-mods .cube-live{width:calc(var(--s) * 4.3)}
@media (max-width:900px){
  .cube-mods{position:fixed;right:10px;bottom:14px;z-index:40;--s:26px;width:auto;height:auto;padding:10px;gap:0;
    background:rgba(251,246,248,.86);border-radius:18px;box-shadow:0 8px 24px -10px rgba(90,23,50,.35);
    opacity:0;transform:translateY(16px) scale(.92);pointer-events:none;transition:opacity .4s ease,transform .4s ease}
  .cube-mods.float-on{opacity:1;transform:none}
  .cube-mods .cube-live{width:calc(var(--s) * 4.2);height:calc(var(--s) * 4.2)}
  .cube-mods .cube-cap{display:none}
}

/* «Портал вашей клиники» — в рамке, похожей на айфон: скругления, тёмная рамка, «островок», строка состояния (27.10.2026) */
.phone.iphone{border:10px solid #1A0F14;border-radius:46px;padding:10px 14px 0;background:var(--paper);box-shadow:0 0 0 2px #3E2632,0 24px 50px -24px rgba(42,23,32,.45);overflow:hidden}
.iph-bar{display:flex;align-items:center;justify-content:space-between;height:30px;margin:0 6px 4px;font-size:13px;font-weight:600}
.iph-island{display:block;width:92px;height:26px;border-radius:14px;background:#1A0F14}
.iph-ic{display:flex;align-items:flex-end;gap:2px;height:12px}
.iph-ic b{display:block;width:3px;background:var(--ink);border-radius:1px}.iph-ic b:nth-child(1){height:5px}.iph-ic b:nth-child(2){height:8px}.iph-ic b:nth-child(3){height:11px}
.iph-ic em{display:block;width:20px;height:10px;margin-left:5px;border:1.5px solid var(--ink);border-radius:3px;position:relative}
.iph-ic em::after{content:"";position:absolute;inset:1.5px;right:4px;background:var(--ink);border-radius:1px}
.phone.iphone .tabbar{margin:6px -14px 0;padding:8px 6px 18px;border-radius:0}
.phone.iphone .tabbar::after{content:"";position:absolute}
@media (max-width:640px){.phone.iphone{border-width:8px;border-radius:40px}.iph-island{width:78px;height:22px}}
/* телефон: просто вращающийся кубик поверх экрана, без подложки и рамки (решение управляющего 27.10.2026) */
@media (max-width:900px){
  .cube-mods{background:none!important;box-shadow:none!important;padding:0}
  .cube-mods .sc:not(.on) i{background:rgba(200,180,190,.5);border-color:#fff}
}
/* компьютер: кубик над порталом — крупнее и контрастнее (27.10.2026) */
@media (min-width:901px){
  .cube-mods{--s:clamp(40px,3.4vw,54px);height:calc(var(--s) * 4.4);justify-content:flex-start;padding-left:8px}
  .cube-mods .cube-live{width:calc(var(--s) * 4.4)}
  .cube-mods .cube-cap{font-size:16px;color:var(--ink);font-weight:500;max-width:16ch}
}
.cube-mods .sc:not(.on) i{background:rgba(200,180,190,.5);border-color:#fff}

/* кубик кувыркается по разным осям: вокруг вертикали + плавное покачивание вперёд-назад и вбок (27.10.2026) */
.cube-tilt{position:relative;transform-style:preserve-3d;animation:cubetilt 13s ease-in-out infinite alternate}
@keyframes cubetilt{0%{transform:rotateX(-32deg) rotateZ(-10deg)}50%{transform:rotateX(12deg) rotateZ(6deg)}100%{transform:rotateX(28deg) rotateZ(-4deg)}}
.cube-tilt .cube{position:absolute;inset:0;animation:cubespinY 24s linear infinite;transform:none}
@keyframes cubespinY{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@media (prefers-reduced-motion:reduce){.cube-tilt,.cube-tilt .cube{animation:none}.cube-tilt{transform:rotateX(-24deg) rotateY(-36deg)}}

/* живее: объём граней (рисуется один раз) и перелив света — одна полоса поверх всего кубика (27.10.2026) */
.cube-mods .sc:not(.on) i{background:linear-gradient(140deg,rgba(255,255,255,.75),rgba(214,196,205,.55) 55%,rgba(180,155,168,.5))}
.cube-mods .sc.on i{background:linear-gradient(140deg,#E8608F,#C2255C 55%,#8E1A47)}
.cube-mods .cube-live{position:relative;overflow:hidden;border-radius:18px}
.cube-mods .cube-live::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:45%;pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.55) 50%,rgba(255,255,255,0));
  transform:translateX(-140%) skewX(-12deg);animation:cubesheen 6.5s ease-in-out infinite}
@keyframes cubesheen{0%,35%{transform:translateX(-140%) skewX(-12deg)}75%,100%{transform:translateX(330%) skewX(-12deg)}}
@media (prefers-reduced-motion:reduce){.cube-mods .cube-live::after{animation:none;display:none}}

/* плитки в айфоне — как в портале: иконка сверху, название, строка */
.tile{justify-content:flex-start;gap:4px;min-height:96px}
.tile .ti-ic{width:24px;height:24px;margin-bottom:auto;color:var(--ink);opacity:.85}
.tile.t7.wide .ti-ic,.tile.t2.wide .ti-ic{margin-bottom:6px}
/* кубик не обрезается при наклоне */
.cube-mods .cube-live{overflow:visible;width:calc(var(--s) * 4.6);height:calc(var(--s) * 4.6);display:grid;place-items:center}
.cube-mods .cube-live::after{top:10%;bottom:10%}

/* компьютер: кубик — крупно под формой, поворачивается при прокрутке (27.10.2026) */
.cube-stage{display:none}
@media (min-width:901px){
  .cube-stage{display:flex;justify-content:center;padding:clamp(40px,6vw,90px) 0 clamp(20px,3vw,40px);perspective:1600px}
  .cube-stage .cube-mods{--s:clamp(80px,8vw,128px);height:auto;width:auto;flex-direction:column;gap:clamp(28px,3vw,44px);padding:0;justify-content:center;align-items:center}
  .cube-stage .cube-mods .cube-live{width:calc(var(--s) * 4.4);height:calc(var(--s) * 4.4);transform-style:preserve-3d;will-change:transform}
  .cube-stage .cube-mods .cube-cap{font-size:clamp(20px,1.8vw,26px);max-width:none;text-align:center}
}
@media (min-width:901px){.cube-stage .cube-mods .cube-live::after{display:none}}
/* иконки модулей на гранях кубика (27.10.2026) */
.cube-mods .sc i::before{display:block!important;content:"";position:absolute;inset:24%;border:0;border-radius:0;background:var(--ic-off) center/contain no-repeat;opacity:.9}
.cube-mods .sc.on i::before{background-image:var(--ic-on);opacity:1}
/* цвета кубика: выбранные — малиновые, остальные по очереди плавно вспыхивают цветами палитры и гаснут (27.10.2026) */
.cube-mods .sc i,.cube-mods .sc:not(.on) i,.cube-mods .sc.on i{background-color:#DDCBD3;background-image:linear-gradient(140deg,rgba(255,255,255,.55),rgba(255,255,255,0) 55%,rgba(60,20,40,.14));transition:background-color .9s ease}
.cube-mods .sc.on i{background-color:#C2255C}
.cube-mods .sc.glow:not(.on) i{background-color:var(--gc)}
.cube-mods .sc i::before{transition:opacity .9s ease}
.cube-mods .sc.glow i::before{background-image:var(--ic-on)}
/* кубик: подпрыгивает при включении, нажимается, легенда цветов (27.10.2026) */
.cube-mods .sc.pop i{animation:cubepop .8s cubic-bezier(.3,1.7,.5,1)}
@keyframes cubepop{0%{scale:1}35%{scale:1.32}100%{scale:1}}
.cube-legend{display:none}
@media (min-width:901px){
  .cube-mods .sc i{cursor:pointer}
  .cube-stage .cube-mods{pointer-events:auto}
  .cube-stage .cube-mods .cube-cap small{display:block;margin-top:6px;font-size:15px;font-weight:400;color:var(--muted)}
  .cube-stage .cube-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;max-width:640px;margin-top:-12px}
  .cube-legend i{font-style:normal;font-size:14px;color:var(--muted);display:inline-flex;align-items:center;gap:7px}
  .cube-legend i::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--gc)}
}
@media (prefers-reduced-motion:reduce){.cube-mods .sc.pop i{animation:none}}
@media (min-width:901px){.cube-stage .cube-legend{max-width:820px}}
/* сменяемое слово в заголовке: все варианты в одной клетке — строка не прыгает по ширине (27.10.2026) */
.swap{display:inline-grid;vertical-align:bottom;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.swap>span{grid-area:1/1;color:var(--accent);opacity:0;transform:translateY(60%);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);white-space:nowrap}
.swap>span.on{opacity:1;transform:none}
.swap>span.out{opacity:0;transform:translateY(-60%)}
/* первый экран: возможности кнопками (27.10.2026) */
.hero-top .hero-text .feats{grid-area:f;margin-top:clamp(14px,2vw,28px)}
.feat-row{display:flex;flex-wrap:wrap;gap:8px}
.feat{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 11px;border-radius:999px;border:1.5px solid rgba(194,37,92,.18);background:var(--paper);color:var(--ink);font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .2s}
.feat svg{width:19px;height:19px;color:var(--accent);transition:color .25s}
.feat:hover{border-color:rgba(194,37,92,.45);transform:translateY(-1px)}
.feat.on{background:var(--accent);border-color:var(--accent);color:#fff}
.feat.on svg{color:#fff}
.feat-t{margin-top:12px;min-height:3.2em;max-width:72ch}
.feat-t p{font-size:clamp(16px,.9rem + .25vw,19px);line-height:1.45;color:var(--ink)}
.feat-t p b{font-weight:600;color:var(--accent)}
.feat-t p.in{animation:featin .45s ease}
@keyframes featin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:900px){.feat{font-size:14px;padding:8px 12px 8px 10px}.feat-t{min-height:4.4em}}
@media (prefers-reduced-motion:reduce){.feat-t p.in{animation:none}}
/* телефон: кнопки возможностей — одной лентой, листаются пальцем */
@media (max-width:900px){
  .feat-row{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--m));padding:2px var(--m) 6px;scrollbar-width:none;scroll-snap-type:x proximity}
  .feat-row::-webkit-scrollbar{display:none}
  .feat{flex:none;scroll-snap-align:start;white-space:nowrap}
}
/* кнопки возможностей едут лентой слева направо, по кругу; наведение — стоп (27.10.2026) */
.feat-row{display:block;position:relative;overflow:hidden;flex-wrap:nowrap;margin:0 calc(-1 * var(--m));padding:4px 0 6px}
.feat-row::before,.feat-row::after{content:"";position:absolute;top:0;bottom:0;width:clamp(24px,6vw,90px);z-index:1;pointer-events:none}
.feat-row::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(251,246,248,0))}
.feat-row::after{right:0;background:linear-gradient(-90deg,var(--bg),rgba(251,246,248,0))}
.feat-track{display:flex;width:max-content;animation:featrun 48s linear infinite;will-change:transform}
.feat-track .feat{margin-right:8px;flex:none;white-space:nowrap}
.feat-row:hover .feat-track,.feat-row:focus-within .feat-track{animation-play-state:paused}
@keyframes featrun{from{transform:translateX(-50%)}to{transform:none}}
@media (max-width:900px){.feat-row{overflow:hidden;padding:4px 0 6px;scroll-snap-type:none}.feat-track{animation-duration:36s}}
@media (prefers-reduced-motion:reduce){.feat-track{animation:none}.feat-row{overflow-x:auto}}
.feat-track{animation-duration:80s}@media (max-width:900px){.feat-track{animation-duration:60s}}
@keyframes featrun2{from{transform:none}to{transform:translateX(-50%)}}.feat-track{animation-name:featrun2;animation-duration:60s}@media (max-width:900px){.feat-track{animation-duration:45s}}
/* две ленты кнопок, крупнее и медленнее; нижняя чуть медленнее верхней — живее (27.10.2026) */
.feat-row+.feat-row{margin-top:2px}
.feat-track .feat{font-size:17px;padding:12px 20px 12px 15px;gap:10px;margin-right:10px}
.feat-track .feat svg{width:22px;height:22px}
.feat-track{animation-duration:95s}
.feat-row+.feat-row .feat-track{animation-duration:120s}
@media (max-width:900px){.feat-track .feat{font-size:15px;padding:10px 16px 10px 12px}.feat-track{animation-duration:70s}.feat-row+.feat-row .feat-track{animation-duration:88s}}
/* карусель: нажатая карточка переворачивается и раскрывается (27.10.2026) */
.flow-open{position:absolute;left:50%;top:calc(50% - 4px);z-index:8;perspective:1200px;transform:translate(-50%,-50%);cursor:pointer;transition:width .65s cubic-bezier(.3,.8,.25,1),height .65s cubic-bezier(.3,.8,.25,1)}
.flow-open[hidden]{display:none}
.fo-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.3,.8,.25,1)}
.flow-open:not(.go),.flow-open:not(.go) .fo-in{transition:none}
.fo-f,.fo-b{position:absolute;inset:0;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.fo-f{display:flex;flex-direction:column;justify-content:space-between;padding:14px;color:#fff;font-size:clamp(14px,1.1vw,16px)}
.fo-f.lt{color:var(--ink)}
.fo-f svg{width:clamp(22px,2vw,30px);height:clamp(22px,2vw,30px)}
.fo-f .fc-t{font-weight:600;line-height:1.15}
.fo-b{transform:rotateY(180deg);background:var(--paper);border:1.5px solid rgba(194,37,92,.22);box-shadow:0 22px 50px -24px rgba(90,23,50,.5);
  padding:clamp(16px,2vw,24px);display:flex;flex-direction:column;gap:8px;justify-content:center}
.fo-b b{font-size:clamp(20px,1rem + .6vw,26px);font-weight:600;color:var(--accent);letter-spacing:-.02em;line-height:1.1}
.fo-b p{font-size:clamp(15px,.9rem + .2vw,17px);line-height:1.4;color:var(--ink)}
.fo-b small{font-size:13px;color:var(--muted);margin-top:2px}
.flow .fc{cursor:pointer}
@media (prefers-reduced-motion:reduce){.flow-open,.fo-in{transition:none!important}}
/* ленты кнопок двигает скрипт (листаются пальцем); CSS-анимацию выключаем */
.feat-track{animation:none!important}
.feat-row{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.feat-row:active{cursor:grabbing}
/* открытая карточка: соседнюю «достаём» из колоды — текст влетает с её стороны (27.10.2026) */
.fo-b.pull{animation:fopull .42s cubic-bezier(.2,.8,.2,1)}
@keyframes fopull{from{transform:rotateY(180deg) translateX(var(--fx,40%)) scale(.82);opacity:.2}to{transform:rotateY(180deg);opacity:1}}
@media (prefers-reduced-motion:reduce){.fo-b.pull{animation:none}}
/* подробности кнопки — всплывающей карточкой у неё (27.10.2026) */
.feats{position:relative}
.js .feat-t{display:none}
.feat-pop{position:absolute;z-index:6;background:var(--paper);border:1.5px solid rgba(194,37,92,.22);border-radius:18px;padding:16px 18px 14px;
  box-shadow:0 22px 50px -22px rgba(90,23,50,.45);opacity:0;transform:translateY(-6px) scale(.97);transform-origin:var(--ax) 0;transition:opacity .22s ease,transform .25s cubic-bezier(.2,.8,.2,1)}
.feat-pop.in{opacity:1;transform:none}
.feat-pop::before{content:"";position:absolute;top:-8px;left:calc(var(--ax) - 8px);width:14px;height:14px;background:var(--paper);border-left:1.5px solid rgba(194,37,92,.22);border-top:1.5px solid rgba(194,37,92,.22);transform:rotate(45deg);border-radius:3px 0 0 0}
.feat-pop p{font-size:clamp(15px,.9rem + .2vw,17px);line-height:1.45;color:var(--ink)}
.feat-pop p b{color:var(--accent);font-weight:600}
.feat-pop small{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
/* карточка над кнопкой: хвостик снизу */
.feat-pop.up{transform-origin:var(--ax) 100%;transform:translateY(6px) scale(.97)}
.feat-pop.up.in{transform:none}
.feat-pop.up::before{top:auto;bottom:-8px;transform:rotate(225deg)}
/* плитки с объёмной картинкой — как в портале (картинки из func/icons/tile-*2.webp) */
.tile.tile-pic{color:#fff;gap:8px;overflow:hidden;min-height:150px}
.tile.tile-pic b,.tile.tile-pic span{color:#fff}
.tile-pic .tp-txt{display:flex;flex-direction:column;gap:3px}
.tile-pic .tp-txt span{opacity:.88}
.tile-pic .tp-img{display:block;align-self:center;width:100%;height:auto;max-width:150px;max-height:100px;object-fit:contain;margin-top:auto;filter:drop-shadow(0 8px 12px rgba(40,0,30,.28))}
.tp-shot{background:radial-gradient(110% 80% at 88% 18%,rgba(255,206,224,.55),transparent 58%),linear-gradient(145deg,#4f0a44 0%,#962565 52%,#dc6f98 100%)!important}
.tp-board{background:radial-gradient(110% 80% at 88% 18%,rgba(255,214,232,.5),transparent 58%),linear-gradient(145deg,#3f2396 0%,#7350d2 52%,#bb9cff 100%)!important}
/* подробности модуля — на весь экран (телефон) / большим окном (компьютер) (27.10.2026) */
.sheet{position:fixed;inset:0;z-index:100;background:rgba(42,23,32,.5);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .25s ease}
.sheet[hidden]{display:none}
.sheet.on{opacity:1}
.sheet-on,.sheet-on body{overflow:hidden}
.sh-box{position:relative;background:var(--paper);border-radius:26px;width:min(680px,100%);max-height:min(88vh,860px);overflow:auto;padding:clamp(24px,3.4vw,40px);
  box-shadow:0 40px 90px -30px rgba(42,23,32,.6);transform:translateY(18px) scale(.98);transition:transform .3s cubic-bezier(.2,.8,.2,1);overscroll-behavior:contain}
.sheet.on .sh-box{transform:none}
.sh-x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:var(--surface);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.sh-ic{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--accent);color:#fff;margin-bottom:16px}
.sh-ic svg{width:28px;height:28px}
.sh-body h3{font-size:clamp(28px,1rem + 2vw,40px);letter-spacing:-.03em;line-height:1.05;padding-right:40px}
.sh-lead{margin-top:12px;font-size:clamp(17px,1rem + .3vw,20px);line-height:1.4;color:var(--muted)}
.sh-body ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.sh-body li{position:relative;padding-left:34px;font-size:clamp(16px,.95rem + .2vw,18px);line-height:1.45;color:var(--ink)}
.sh-body li::before{content:"";position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:50%;background:rgba(194,37,92,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C2255C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.sh-body.in{animation:shin .35s ease}
@keyframes shin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.sh-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid var(--surface)}
.sh-nav button{border:1.5px solid rgba(194,37,92,.25);background:var(--paper);color:var(--accent);font:inherit;font-weight:500;font-size:16px;padding:10px 18px;border-radius:999px;cursor:pointer}
.sh-nav span{font-size:14px;color:var(--muted)}
@media (max-width:640px){
  .sheet{padding:0;align-items:stretch}
  .sh-box{border-radius:0;max-height:none;height:100%;width:100%;padding:22px 20px calc(20px + env(safe-area-inset-bottom));transform:translateY(30px)}
  .sh-nav{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));background:var(--paper);margin-bottom:-20px;padding-bottom:16px}
}
.fo-more{display:inline-block;margin-top:2px;font-size:15px;font-weight:600;color:var(--accent);cursor:pointer}
.fo-more[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.sh-body.in{animation:none}.sh-box,.sheet{transition:none}}
/* блок «Что сейчас мешает?»: вместо ровной розовой заливки — мягкий перелив цветов кубика (розовый, лавандовый, персиковый), медленно «дышит» (27.10.2026) */
.builder{position:relative;isolation:isolate;overflow:clip;background:#FBF1F5} /* clip, не hidden: иначе портал справа перестанет «ехать» рядом (sticky) */
.builder::before{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 45% at 12% 12%,rgba(236,140,180,.9),transparent 70%),
    radial-gradient(38% 42% at 88% 18%,rgba(170,140,235,.85),transparent 70%),
    radial-gradient(42% 46% at 78% 92%,rgba(248,176,140,.8),transparent 70%),
    radial-gradient(36% 40% at 20% 88%,rgba(214,96,150,.55),transparent 70%);
  animation:blobs 26s ease-in-out infinite alternate}
@keyframes blobs{to{transform:translate3d(4%,-3%,0) rotate(8deg) scale(1.06)}}
.builder .mod-how{background:rgba(255,255,255,.86)}
@media (prefers-reduced-motion:reduce){.builder::before{animation:none}}
/* телефон: блок высокий — пятна фиксированного размера по всей высоте, не растягиваются в полосы; без движения */
@media (max-width:900px){
  .builder::before{inset:0;animation:none;transform:none;
    background:radial-gradient(260px 260px at 8% 140px,rgba(236,140,180,.55),transparent 70%),
      radial-gradient(240px 240px at 96% 560px,rgba(170,140,235,.45),transparent 70%),
      radial-gradient(260px 260px at 4% 1050px,rgba(248,176,140,.5),transparent 70%),
      radial-gradient(240px 240px at 98% 1500px,rgba(214,96,150,.35),transparent 70%),
      radial-gradient(260px 260px at 10% 1950px,rgba(170,140,235,.4),transparent 70%)}
}
/* окно подробностей: счётчик жирнее; телефон — стрелки посередине по краям, внизу «Закрыть» (27.10.2026) */
.sh-nav span{font-size:16px;color:var(--ink)}
.sh-nav span b{font-size:20px;font-weight:700;color:var(--accent)}
.sh-close,.sh-arr{display:none}
@media (max-width:640px){
  .sh-box{padding-left:50px;padding-right:50px}
  .sh-x{right:10px;top:10px}
  .sh-nav{margin-left:-30px;margin-right:-30px}
  .sh-nav [data-d]{display:none}
  .sh-close{display:block;border:0;background:var(--accent);color:#fff;font:inherit;font-weight:600;font-size:17px;padding:14px 30px;border-radius:999px;cursor:pointer}
  .sh-arr{display:grid;place-items:center;position:fixed;top:50%;z-index:2;width:40px;height:56px;margin-top:-28px;border:0;border-radius:14px;
    background:rgba(194,37,92,.1);color:var(--accent);font-size:34px;line-height:1;font-weight:500;cursor:pointer;padding:0 0 4px}
  .sh-arr.l{left:5px}.sh-arr.r{right:5px}
  .sh-arr:active{background:rgba(194,37,92,.22)}
}
.sh-nav span{font-weight:700;font-size:18px}
.sh-nav span b{font-size:22px}
@media (max-width:640px){.sh-nav .sh-close{display:block;border:0;background:var(--accent);color:#fff;font-weight:600;font-size:17px;padding:14px 30px}}
/* телефон: как истории — полоски сверху, нажатие справа/слева листает; внизу по центру номер и неяркое «Закрыть» (27.10.2026) */
.sh-prog{display:none}
@media (max-width:640px){
  .sh-prog{display:flex;gap:4px;position:sticky;top:-22px;margin:-12px -38px 18px;padding:8px 0;background:var(--paper);z-index:1}
  .sh-prog i{flex:1;height:4px;border-radius:2px;background:rgba(194,37,92,.15);transition:background .3s}
  .sh-prog i.on{background:var(--accent)}
  .sh-x{top:26px}
  .sh-nav{flex-direction:column;justify-content:center;gap:10px}
  .sh-nav span{text-align:center}
  .sh-nav .sh-close{background:none;color:var(--muted);border:1.5px solid rgba(122,100,112,.3);font-weight:500;font-size:16px;padding:10px 34px}
  .sh-box{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
}
/* картинка истории — сверху (S-01…S-08) */
.sh-pic{margin:0 0 18px;border-radius:18px;overflow:hidden;background:var(--surface)}
.sh-pic .slot,.sh-pic .slot-img{display:block;width:100%;border-radius:0;margin:0}
.sh-pic .slot{min-height:0}
@media (max-width:640px){.sh-pic{margin:0 -30px 16px;border-radius:14px}}
/* окно истории: прокручивается только середина, полоски и низ стоят; подсказка «Ниже ещё ↓» (27.10.2026) */
.sh-box{display:flex;flex-direction:column;overflow:hidden}
.sh-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;margin-right:-8px;padding-right:8px}
.sh-nav{flex:none}
.sh-fade{position:absolute;left:0;right:0;height:84px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;pointer-events:none;
  background:linear-gradient(rgba(255,255,255,0),#fff 70%);opacity:0;transition:opacity .25s}
.sh-fade.on{opacity:1}
.sh-more{pointer-events:none;border:0;background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;box-shadow:0 8px 18px -8px rgba(194,37,92,.6);cursor:pointer;animation:shbob 1.6s ease-in-out infinite}
.sh-fade.on .sh-more{pointer-events:auto}
@keyframes shbob{50%{transform:translateY(3px)}}
@media (max-width:640px){
  .sh-prog{position:static;margin:-10px -38px 16px}
  .sh-pic{margin:0 0 16px}
  .sh-nav{position:static;margin-bottom:0}
}
@media (prefers-reduced-motion:reduce){.sh-more{animation:none}}
/* телефон: низ истории без «N из 8» и «Закрыть» (есть полоски и крестик); подсказка вниз — просто стрелка */
.sh-more{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:var(--accent);border:1.5px solid rgba(194,37,92,.25);box-shadow:0 8px 18px -10px rgba(90,23,50,.45)}
.sh-more svg{width:22px;height:22px}
.sh-fade{height:70px}
@media (max-width:640px){.sh-nav{display:none}.sh-box{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.sh-fade{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@media (max-width:640px){.sh-body{scrollbar-width:none}.sh-body::-webkit-scrollbar{display:none}}
@media (max-width:640px){.sh-arr{width:28px;height:44px;margin-top:-22px;background:none;color:rgba(194,37,92,.45);font-size:30px;font-weight:300}.sh-arr.l{left:2px}.sh-arr.r{right:2px}.sh-arr:active{background:none;color:var(--accent)}}
.flow .fc::before{background:linear-gradient(155deg,rgba(255,255,255,.2),rgba(255,255,255,0) 40%,rgba(40,0,20,.18))}
/* логотип — как на странице регистрации: квадратик «до» (серо-розовый) | «после» (малиновый), «До» тёмным, «После» малиновым (27.10.2026) */
.mark{gap:0;font-weight:800;letter-spacing:-0.035em}
.mark i{width:26px;height:26px;border-radius:8px;margin-right:9px;background:linear-gradient(90deg,var(--before) 0 50%,var(--accent) 50% 100%)}
.mark span+span{color:var(--accent)}
@media (max-width:420px){.mark i{width:23px;height:23px;border-radius:7px;margin-right:8px}}
/* кнопка «Начать» — сочнее: малиновый → ярко-розовый, как «после» в логотипе */
.btn{background:linear-gradient(135deg,#C2255C 0%,#E8325F 100%);box-shadow:0 10px 22px -12px rgba(194,37,92,.7)}
.btn:hover{background:linear-gradient(135deg,#A81E4F 0%,#D42A55 100%)}
.btn.ghost,.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--ink)}
/* общий «сочный» градиент для активного: лавандовый → сливовый → ярко-розовый (цвета логотипа «Персонель»), вместо плоского малинового (27.10.2026) */
:root{--grad:linear-gradient(120deg,#7B52D6 0%,#B8408F 52%,#FF5D86 100%);--grad-hover:linear-gradient(120deg,#6A44C4 0%,#A3357F 52%,#F04C78 100%)}
.btn{background:var(--grad);background-size:140% 100%;background-position:0 0;transition:background-position .4s ease,transform .14s;box-shadow:0 10px 24px -12px rgba(184,64,143,.75)}
.btn:hover{background:var(--grad);background-size:140% 100%;background-position:100% 0}
.btn.ghost{background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}
.btn.ghost:hover{background:var(--ink);box-shadow:none}
.mod[aria-pressed=true] .sw{background:var(--grad)}
.feat.on{background:var(--grad);border-color:transparent}
.sh-ic{background:var(--grad)}
.sh-prog i.on{background:var(--grad)}
.mods .mod[aria-pressed=true]{color:var(--ink)}
.cube-mods .sc.on i{background-color:#B8408F;background-image:linear-gradient(140deg,rgba(255,140,190,.55),rgba(255,255,255,0) 50%,rgba(90,40,180,.35))}
/* логотип в цветах кнопок: правая половина квадратика и «После» — тем же градиентом (27.10.2026) */
.mark i{background:linear-gradient(90deg,var(--before) 0 50%,transparent 50%),linear-gradient(160deg,#7B52D6 0%,#B8408F 55%,#FF5D86 100%)}
.mark span+span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.swap>span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.06em}
/* конец истории: можно пролистать дальше текста — там карточка «Дальше: …» и мягкий переход (27.10.2026) */
.sh-next{display:block;width:100%;margin:28px 0 0;padding:16px 18px;border:0;border-radius:20px;text-align:left;font:inherit;color:#fff;cursor:pointer;
  background:var(--grad);box-shadow:0 14px 30px -16px rgba(184,64,143,.8)}
.sh-next small{display:block;font-size:13px;opacity:.85;margin-bottom:6px;letter-spacing:.02em}
.sh-next span{display:flex;align-items:center;gap:10px}
.sh-next svg{width:24px;height:24px;flex:none}
.sh-next b{font-size:19px;font-weight:600;line-height:1.2;flex:1}
.sh-next em{font-style:normal;font-size:22px}
.sh-end{height:clamp(90px,22vh,180px);margin-top:10px;border-radius:20px;
  background:radial-gradient(60% 80% at 20% 0%,rgba(165,124,255,.22),transparent 70%),radial-gradient(60% 80% at 85% 10%,rgba(255,93,134,.2),transparent 70%)}
/* айфон: плитка «＋ Добавить модуль» и список модулей внутри телефона (27.10.2026) */
.builder .phone.iphone{position:relative;top:auto} /* top от старого sticky — иначе телефон съезжает на 84 px и наезжает на текст под ним */
.tile.tile-add{border:2px dashed rgba(184,64,143,.35);background:rgba(255,255,255,.6);text-align:left;font:inherit;color:var(--ink);cursor:pointer;align-items:flex-start;justify-content:center;gap:6px}
.tile.tile-add[hidden]{display:none}
.tile-add b{font-size:16px}.tile-add span{font-size:13px;color:var(--muted)}
.ta-plus{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--grad);color:#fff;font-style:normal;font-size:26px;font-weight:400;line-height:1;
  box-shadow:0 8px 18px -8px rgba(184,64,143,.8);animation:tawiggle 4.5s ease-in-out infinite}
@keyframes tawiggle{0%,72%,100%{transform:none}76%{transform:rotate(-12deg) scale(1.08)}80%{transform:rotate(10deg) scale(1.08)}84%{transform:rotate(-7deg)}88%{transform:rotate(5deg)}92%{transform:none}}
.tile-add:hover .ta-plus{animation:none;transform:scale(1.1)}
.phone-pick{position:absolute;left:0;right:0;bottom:0;top:44px;z-index:5;background:rgba(255,255,255,.97);border-radius:22px 22px 0 0;padding:16px 14px;overflow:auto;
  box-shadow:0 -10px 30px -12px rgba(42,23,32,.35);transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.phone-pick.on{transform:none}
.phone-pick[hidden]{display:none}
.pp-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pp-top b{font-size:18px;font-weight:600}
.pp-x{width:34px;height:34px;border-radius:50%;border:0;background:var(--surface);font-size:22px;line-height:1;cursor:pointer;color:var(--ink)}
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pp-m{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border-radius:14px;border:1.5px solid rgba(184,64,143,.18);background:#fff;font:inherit;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;text-align:left;transition:transform .15s,background .2s}
.pp-m svg{width:22px;height:22px;color:#B8408F}
.pp-m:active,.pp-m.picked{transform:scale(.95);background:var(--grad);color:#fff}
.pp-m.picked svg{color:#fff}
@media (prefers-reduced-motion:reduce){.ta-plus{animation:none}.phone-pick{transition:none}}
/* «Добавить модуль» — особенная плитка: яркий градиент, белый текст, покачивается вся (27.10.2026) */
.tile.tile-add{border:0;background:var(--grad);color:#fff;box-shadow:0 12px 26px -14px rgba(184,64,143,.9);animation:tilewig 4.5s ease-in-out infinite;transform-origin:50% 60%}
.tile-add b{color:#fff}.tile-add span{color:rgba(255,255,255,.85)}
.ta-plus{background:#fff;color:#B8408F;font-weight:500;animation:none;box-shadow:0 6px 14px -8px rgba(60,10,40,.5)}
@keyframes tilewig{0%,74%,100%{transform:none}78%{transform:rotate(-2.2deg) scale(1.03)}82%{transform:rotate(2deg) scale(1.03)}86%{transform:rotate(-1.4deg)}90%{transform:rotate(1deg)}94%{transform:none}}
.tile-add:hover{animation:none;transform:scale(1.02)}
@media (prefers-reduced-motion:reduce){.tile.tile-add{animation:none}}
/* айфон: демо «Сделать фото» поверх экрана (27.10.2026) */
.tile.tp-shot{cursor:pointer;position:relative}
.tile.tp-shot::before{content:"Нажмите";position:absolute;top:10px;right:10px;z-index:1;font-size:11px;font-weight:600;color:#B8408F;background:#fff;padding:3px 8px;border-radius:999px;animation:dmhint 2.4s ease-in-out infinite}
@keyframes dmhint{0%,100%{transform:none;opacity:1}50%{transform:scale(1.08);opacity:.85}}
.demo{position:absolute;left:0;right:0;top:44px;bottom:0;z-index:6;background:#fff;border-radius:22px 22px 0 0;padding:12px 14px 18px;overflow:auto;
  transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:0 -12px 30px -14px rgba(42,23,32,.35)}
.demo.on{transform:none}.demo[hidden]{display:none}
.demo.in>*{animation:dmin .3s ease both}
@keyframes dmin{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.dm-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.dm-top b{font-size:17px;font-weight:600;text-align:center;flex:1}
.dm-b{width:34px;height:34px;border-radius:50%;border:0;background:var(--surface);font-size:22px;line-height:1;color:var(--ink);cursor:pointer;flex:none}
.dm-top>span{width:34px}
.dm-shot{display:grid;place-items:center}.dm-shot svg{width:100%;max-width:300px;height:auto;border-radius:14px;box-shadow:0 10px 24px -14px rgba(90,23,50,.5)}
.dm-shot.sm svg{max-width:180px;margin-top:6px}
.dm-q{font-weight:600;font-size:16px;margin:14px 0 8px}
.dm-s{font-size:13px;color:var(--muted);margin:0 0 8px}
.dm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dm-o{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:14px;border:1.5px solid rgba(184,64,143,.2);background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--ink);transition:transform .15s}
.dm-o:active{transform:scale(.96)}
.dm-o i{font-style:normal;font-size:20px}.dm-o b{font-size:15px}.dm-o span{font-size:12px;color:var(--muted)}
.dm-o.main{background:var(--grad);border-color:transparent;color:#fff}.dm-o.main span{color:rgba(255,255,255,.85)}
.dm-v{display:flex;align-items:center;gap:10px;width:100%;padding:10px;margin-bottom:6px;border-radius:14px;border:1.5px solid rgba(184,64,143,.15);background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.dm-v i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--grad);color:#fff;font-style:normal;font-weight:600;font-size:13px;flex:none}
.dm-v span{flex:1;display:flex;flex-direction:column}.dm-v b{font-size:15px}.dm-v small{font-size:12px;color:var(--muted)}
.dm-v em{font-style:normal;font-size:22px;color:#B8408F}
.dm-ba{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dm-ba .dm-o{align-items:center;gap:6px;padding:8px}.dm-ba svg{width:100%;height:auto;border-radius:10px}
.dm-ok{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin:6px 0 12px}
.dm-ok i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--grad);color:#fff;font-style:normal;font-size:26px;animation:dmok .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes dmok{from{transform:scale(.3);opacity:0}}
.dm-ok b{font-size:17px;margin-top:6px}.dm-ok span{font-size:13px;color:var(--muted)}
.dm-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.dm-pair figure{margin:0}.dm-pair svg{width:100%;height:auto;border-radius:10px}
.dm-pair figcaption{font-size:12px;color:var(--muted);margin-top:4px;text-align:center}
.dm-home{display:block;width:100%;margin-top:10px;padding:12px;border-radius:999px;border:0;background:var(--grad);color:#fff;font:inherit;font-weight:600;cursor:pointer}
@media (prefers-reduced-motion:reduce){.demo{transition:none}.demo.in>*,.dm-ok i,.tile.tp-shot::before{animation:none}}
.dm-o i{display:block;height:22px;color:#B8408F}.dm-o.main i{color:#fff}
.tile.tp-shot::before{top:auto;bottom:10px;right:10px}
/* демо: «Сейчас у вас на визите» — первой, крупно (27.10.2026) */
.dm-now{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 14px;border:0;border-radius:16px;background:var(--grad);color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 10px 22px -12px rgba(184,64,143,.85);margin-bottom:6px}
.dm-now small{font-size:12px;opacity:.88}
.dm-now span{display:flex;align-items:center;gap:10px}
.dm-now i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#B8408F;font-style:normal;font-weight:700;font-size:13px;flex:none}
.dm-now b{font-size:17px;flex:1}.dm-now em{font-style:normal;font-size:22px}
.dm-other{display:block;margin:0 0 12px auto;border:0;background:none;color:#B8408F;font:inherit;font-size:14px;font-weight:500;cursor:pointer;padding:4px 0}
.dm-grid.g3{grid-template-columns:repeat(3,1fr);gap:6px}.dm-grid.g3 .dm-o{padding:8px;align-items:center;text-align:center}.dm-grid.g3 .dm-o span{display:none}
.dm-shot svg{max-width:170px}.dm-q{margin-top:10px}
/* демо по всем модулям (черновик, 27.10.2026) */
[data-tiles] .tile:not(.tile-add){cursor:pointer}
.dm-col{margin-bottom:10px}.dm-m{font-size:13px;color:var(--muted);margin:0 0 4px}.dm-m b{color:var(--ink)}
.dm-slot{display:block;width:100%;text-align:left;font:inherit;font-size:13px;padding:8px 10px;margin-bottom:4px;border-radius:10px;border:1px dashed rgba(122,100,112,.3);background:#fff;color:var(--muted)}
.dm-slot.on{border:1.5px solid rgba(184,64,143,.25);color:var(--ink);cursor:pointer}
.dm-slot.now{background:var(--grad);color:#fff;border-color:transparent}
.dm-slot em{float:right;font-style:normal;font-size:11px;background:#fff;color:#B8408F;padding:1px 6px;border-radius:999px}
.dm-tabs{display:flex;gap:6px;margin:4px 0 10px;font-size:12px}.dm-tabs>*{padding:5px 10px;border-radius:999px;background:var(--surface)}.dm-tabs b{background:var(--grad);color:#fff;font-weight:600}
.dm-tv{border:6px solid #1A0F14;border-radius:10px;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#7B52D6,#B8408F 55%,#FF5D86)}
.dm-tvs{height:100%;display:flex;flex-direction:column;justify-content:center;padding:12px;color:#fff}.dm-tvs b{font-size:17px}.dm-tvs span{font-size:12px;opacity:.9}
.dm-tvs.in{animation:dmin .4s ease}
.dm-row{position:relative;padding:9px 12px;margin-bottom:6px;border-radius:12px;background:#fff;border:1.5px solid rgba(184,64,143,.14);display:flex;flex-direction:column}
.dm-row b{font-size:14px}.dm-row small{font-size:12px;color:var(--muted)}
.dm-row.ok::after{content:"✓";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#B8408F;font-weight:700}
.dm-row.wait{border-style:dashed;border-color:rgba(242,160,123,.8)}.dm-row.wait small{color:#C36A3E}
.dm-row.new{animation:dmok .45s cubic-bezier(.3,1.6,.5,1)}
.dm-msg{max-width:85%;padding:8px 11px;margin-bottom:6px;border-radius:14px 14px 14px 4px;background:var(--surface);font-size:13px;display:flex;flex-direction:column;gap:3px}
.dm-msg small{font-size:11px;color:#B8408F;font-weight:600}.dm-msg em{font-size:11px;color:var(--muted)}
.dm-msg.me{margin-left:auto;border-radius:14px 14px 4px 14px;background:var(--grad);color:#fff}
.dm-voice{letter-spacing:1px;color:#B8408F}
.dm-task{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;margin-bottom:6px;border-radius:12px;border:1.5px solid rgba(184,64,143,.14);background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.dm-task i{width:12px;height:12px;border-radius:50%;flex:none}.dm-task.r i{background:#E8202E}.dm-task.y i{background:#F2A03D}.dm-task.g i{background:#3BB08A}
.dm-task span{display:flex;flex-direction:column}.dm-task b{font-size:14px}.dm-task small{font-size:12px;color:var(--muted)}.dm-task.g b{text-decoration:line-through;color:var(--muted)}
.dm-qr{display:grid;place-items:center;gap:8px;aspect-ratio:4/3;border-radius:14px;background:#1A0F14;color:#fff;font-size:13px}
.dm-qr i{width:90px;height:90px;border:3px solid #FF5D86;border-radius:12px;background:repeating-linear-gradient(90deg,#fff 0 6px,transparent 6px 12px),repeating-linear-gradient(0deg,#fff 0 6px,transparent 6px 12px);background-blend-mode:difference;opacity:.85;animation:dmhint 1.6s ease-in-out infinite}
.dm-list{display:flex;flex-direction:column;gap:2px;font-size:13px;margin:0 0 6px 12px;color:var(--muted)}
.dm-rev{padding:10px 12px;border-radius:12px;background:#fff;border:1.5px solid rgba(184,64,143,.14);margin-bottom:8px}.dm-rev b{color:#F2A03D}.dm-rev p{font-size:13px;margin:4px 0}.dm-rev small{font-size:12px;color:var(--muted)}
.dm-rev.ai{background:#FBF1F5}
.dm-pw{margin-top:6px;align-self:flex-start;border:0;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer}
.dm-pw.shown{background:var(--grad);color:#fff}
.dm-home:disabled{opacity:.7}
/* айфон — всегда пропорции настоящего телефона: мало плиток — внизу экран, много — листаются внутри (27.10.2026) */
.builder .phone.iphone{aspect-ratio:9/18.6;min-height:0;height:auto;width:100%;max-width:370px;margin:0 auto;display:flex;flex-direction:column}
.phone.iphone .tiles{flex:1 1 auto;min-height:0;overflow:auto;align-content:start;scrollbar-width:none;padding-bottom:6px}
.phone.iphone .tiles::-webkit-scrollbar{display:none}
.phone.iphone .off-note{flex:none}
.phone.iphone .tabbar{flex:none;margin-top:auto}
/* демо «Уборка»: скан → фото чистого кабинета (блёстки мерцают) */
.dm-qr.cam{background:linear-gradient(135deg,#3a2a35,#1A0F14);aspect-ratio:16/10}
.dm-qr.cam::before{content:"";width:70%;height:60%;border:2px dashed rgba(255,255,255,.55);border-radius:12px;position:absolute}
.dm-qr{position:relative}
.dm-shot.room svg{max-width:240px;width:100%;height:auto}
.dm-spark path{animation:spark 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.dm-spark path:nth-child(2){animation-delay:.4s}.dm-spark path:nth-child(3){animation-delay:.8s}.dm-spark path:nth-child(4){animation-delay:1.2s}
@keyframes spark{0%,100%{opacity:.2;transform:scale(.5)}50%{opacity:1;transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){.dm-spark path{animation:none}}
/* демо «Экран в холле»: слайды, альбомы, редактор (27.10.2026) */
.dm-tv{position:relative}
.dm-tvs{padding:0!important;position:relative}
.dm-sp{position:absolute;inset:0;display:block}.dm-sp svg{width:100%;height:100%;display:block}
.dm-ba2{display:grid;grid-template-columns:1fr 1fr;height:100%}.dm-ba2 svg{height:100%;width:100%;object-fit:cover}
.dm-sp.txt{display:flex;flex-direction:column;justify-content:center;padding:12px 14px;color:#fff;overflow:hidden}
.dm-sp.txt b{font-size:17px;line-height:1.1;position:relative}.dm-sp.txt small{font-size:12px;opacity:.92;margin-top:4px;position:relative}
.dm-cap{position:absolute;left:0;right:0;bottom:0;padding:16px 10px 7px;background:linear-gradient(transparent,rgba(26,15,20,.7));color:#fff;display:flex;flex-direction:column}
.dm-cap b{font-size:13px}.dm-cap small{font-size:10px;opacity:.85}
.dm-conf{position:absolute;inset:0;background:radial-gradient(circle,#fff 1.5px,transparent 2px) 0 0/22px 22px,radial-gradient(circle,#FFD36E 2px,transparent 2.5px) 11px 9px/26px 26px,radial-gradient(circle,#A5F0D0 1.5px,transparent 2px) 5px 15px/30px 30px;opacity:.75;animation:conf 6s linear infinite}
@keyframes conf{to{background-position:0 44px,11px 61px,5px 75px}}
.dm-tvdot{position:absolute;right:8px;top:8px;width:7px;height:7px;border-radius:50%;background:#3BE08A;box-shadow:0 0 0 3px rgba(59,224,138,.25)}
.dm-tv.sm{max-width:220px;margin:0 auto}
.dm-albs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dm-alb{display:flex;flex-direction:column;gap:2px;padding:6px 6px 8px;border-radius:12px;border:1.5px solid rgba(184,64,143,.15);background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.dm-alb.on{border-color:#B8408F;box-shadow:0 0 0 2px rgba(184,64,143,.2)}
.dm-albpic{position:relative;display:grid;place-items:center;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--surface);margin-bottom:4px;font-size:26px;color:#B8408F}
.dm-alb.add .dm-albpic{background:var(--grad);color:#fff}
.dm-alb b{font-size:13px}.dm-alb small{font-size:11px;color:var(--muted)}
.dm-chips{display:flex;gap:6px;flex-wrap:wrap}
.dm-chip{border:1.5px solid rgba(184,64,143,.2);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.dm-chip.on{background:var(--grad);color:#fff;border-color:transparent}
.dm-sw{width:34px;height:34px;border-radius:10px;border:2px solid #fff;box-shadow:0 0 0 1.5px rgba(184,64,143,.2);cursor:pointer}.dm-sw.on{box-shadow:0 0 0 2.5px #B8408F}
.dm-in{display:flex;flex-direction:column;gap:3px;margin-top:8px;font-size:12px;color:var(--muted)}
.dm-in input{font:inherit;font-size:14px;color:var(--ink);padding:8px 10px;border-radius:10px;border:1.5px solid rgba(184,64,143,.2);background:#fff}
.dm-rev.wait{border-style:dashed;border-color:rgba(242,160,61,.8)}.dm-rev.wait small{color:#C36A3E;font-weight:500}
/* значки строк в демо */
.dm-row.ic,.dm-rev.ic{position:relative;padding-left:50px}
.dm-ri{position:absolute;left:10px;top:10px;width:30px;height:30px;border-radius:10px;background:rgba(184,64,143,.1);display:grid;place-items:center;color:#B8408F}
.dm-ri .ti-ic{width:17px;height:17px;margin:0;opacity:1;color:#B8408F}
.dm-row.ok .dm-ri{background:var(--grad)}.dm-row.ok .dm-ri .ti-ic{color:#fff}
/* «Вопросы»: всё раскрыто сразу — сайт читают, а не тыкают (решение управляющего 27.10.2026) */
.qa{position:relative;background:var(--surface);border-radius:var(--r);padding:20px 24px 20px 30px}
.on-surface .qa{background:var(--bg)}
.qa::before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:4px;border-radius:0 4px 4px 0;background:var(--grad)}
.qa h3{font-size:clamp(18px,1rem + .4vw,21px);font-weight:600;letter-spacing:-.02em;line-height:1.25}
.qa>div{margin-top:8px}
.qa p{font-size:clamp(16px,.95rem + .2vw,18px);line-height:1.5;color:var(--ink);opacity:.86}
.qa p+p{margin-top:8px}
.faq-list{gap:12px}
@media (max-width:640px){.qa{padding:16px 16px 16px 22px}.qa::before{top:16px;bottom:16px}}
/* айфон на весь экран (27.10.2026) */
.ph-go{position:absolute;left:50%;bottom:86px;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  border:0;border-radius:999px;padding:11px 18px 11px 14px;background:var(--grad);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;
  box-shadow:0 12px 26px -10px rgba(123,82,214,.8);animation:phgo 2.6s ease-in-out infinite}
.ph-go i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#B8408F;font-style:normal;font-size:11px;padding-left:2px}
@keyframes phgo{0%,100%{box-shadow:0 12px 26px -10px rgba(123,82,214,.8),0 0 0 0 rgba(255,93,134,.45)}50%{box-shadow:0 12px 26px -10px rgba(123,82,214,.8),0 0 0 10px rgba(255,93,134,0)}}
.ph-home{display:none}
.ph-full{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:52px 12px 12px;
  background:rgba(26,15,20,0);transition:background .4s ease;overscroll-behavior:contain;touch-action:none}
.ph-full[hidden]{display:none}
.ph-full.on{background:rgba(26,15,20,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ph-on,.ph-on body{overflow:hidden}
.ph-exit{position:absolute;top:12px;right:12px;border:0;border-radius:999px;padding:9px 16px;background:rgba(255,255,255,.95);color:var(--ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;opacity:0;transition:opacity .3s .2s}
.ph-tip{position:absolute;top:16px;left:16px;right:130px;margin:0;color:rgba(255,255,255,.85);font-size:13px;line-height:1.3;opacity:0;transition:opacity .3s .25s}
.ph-full.on .ph-exit,.ph-full.on .ph-tip{opacity:1}
.ph-full .phone.iphone{aspect-ratio:auto;min-height:0;max-width:none;margin:0;display:flex;flex-direction:column;position:relative;top:auto;flex:none;touch-action:pan-y;box-shadow:0 0 0 2px #3E2632,0 40px 80px -30px rgba(0,0,0,.7)}
.ph-full .phone.iphone .tiles{flex:1 1 auto;min-height:0;overflow:auto}
.ph-full .ph-go{display:none}
.ph-full .ph-home{display:block;position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:8;width:120px;height:18px;border:0;background:none;cursor:pointer;padding:0}
.ph-full .ph-home::after{content:"";display:block;margin:7px auto 0;width:110px;height:5px;border-radius:3px;background:#1A0F14;opacity:.85}
.ph-hold{width:100%}
@media (max-width:640px){.ph-tip{font-size:12px}.ph-full{padding-top:58px}}
@media (prefers-reduced-motion:reduce){.ph-go{animation:none}.ph-full,.ph-exit,.ph-tip{transition:none}}
.ph-go{bottom:128px}
/* на весь экран — максимум (27.10.2026) */
.ph-full{padding:10px}
.ph-exit{z-index:3}
@media (max-width:640px){
  .ph-full{padding:0}
  .ph-full .phone.iphone{border-width:6px;border-radius:34px}
  .ph-tip{display:none}
  .ph-exit{top:auto;bottom:calc(64px + env(safe-area-inset-bottom));right:50%;transform:translateX(50%);background:rgba(26,15,20,.82);color:#fff;font-size:14px;padding:8px 14px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
}
/* айфон прилипает и раздвигается на телефоне (27.10.2026) */
@media (max-width:640px){
  .ph-track.on{position:relative}
  .builder .ph-track.on .phone.iphone{position:sticky;aspect-ratio:auto;max-width:none;margin-right:0}
}
/* шапка уезжает, пока айфон стоит наверху */
@media (max-width:640px){.top{will-change:transform}}
/* «Нажмите» перебегает по плиткам: выскакивает, подмигивает, ушла на следующую */
.tile.tp-shot::before{display:none}
[data-tiles] .tile{position:relative}
[data-tiles] .tile.hint::after{content:"Нажмите";position:absolute;right:10px;bottom:10px;z-index:2;font-size:11px;font-weight:700;color:#B8408F;background:#fff;padding:4px 9px;border-radius:999px;
  box-shadow:0 6px 14px -6px rgba(90,23,50,.5);animation:hintin 2.6s ease both}
@keyframes hintin{0%{opacity:0;transform:scale(.4) rotate(-12deg)}12%{opacity:1;transform:scale(1.12) rotate(4deg)}22%{transform:scale(1) rotate(0)}40%{transform:scale(1.08)}55%{transform:scale(1)}70%{transform:scale(1.08)}85%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}
[data-tiles] .tile:not(.tile-pic).hint::after{background:var(--grad);color:#fff}
/* прокрутка на телефоне останавливается на айфоне — даже после сильного броска (27.10.2026) */
.ph-stop{display:none}
/* точку остановки прокрутки на айфоне убрали: на телефоне из-за неё гасла инерция и сайт листался медленно (решение управляющего 27.10.2026) */
.ph-go{transition:opacity .25s,transform .25s}.phone.short .ph-go,.phone.short .off-note{opacity:0;pointer-events:none}
.phone .off-note{transition:opacity .25s}
/* айфон на телефоне: низ поднимается без пересчёта вёрстки (27.10.2026) */
.ph-bot{display:none}
@media (max-width:640px){
  .ph-track.on .phone.iphone .tabbar{position:relative;z-index:3;background:#fff;will-change:transform}
  .ph-track.on .ph-bot{display:block;position:absolute;left:-8px;right:-8px;bottom:-8px;height:48px;border:8px solid #1A0F14;border-top:0;border-radius:0 0 40px 40px;z-index:4;pointer-events:none;will-change:transform}
  .top{transition:transform .32s cubic-bezier(.2,.8,.2,1);will-change:transform}
  .head-off .top{transform:translate3d(0,-100%,0)}
}
@media (max-width:640px){.ph-track.on .phone.iphone{overflow:visible}}
/* кубик: грани скруглены, как квадратик логотипа «До/После» (27.10.2026) */
.cube-mods .sc i{border-radius:calc(var(--s) * .26)!important}
@media (max-width:640px){.ph-go{display:none}} /* на телефоне айфон и так прилипает на весь экран — пробуют сразу */
/* кубик: выбранные — в цветах логотипа (лавандовый → сливовый → розовый), без белой обводки граней (27.10.2026) */
.cube-mods .sc i{border:0!important;box-shadow:none!important}
.cube-mods .sc.on i{background-color:#B8408F!important;background-image:linear-gradient(150deg,#7B52D6 0%,#B8408F 52%,#FF5D86 100%)!important}
@media (max-width:640px){.head-off .top[style*=translate],.head-off .top[style*=none]{transition:none}}
/* айфон как приложение: шапка с логотипом и профилем, вкладки (27.10.2026) */
.ph-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 6px}
.ph-logo{display:inline-flex;align-items:center;font-weight:800;font-size:15px;letter-spacing:-.03em;color:var(--ink)}
.ph-logo i{width:18px;height:18px;border-radius:6px;margin-right:6px;background:linear-gradient(90deg,var(--before) 0 50%,transparent 50%),linear-gradient(160deg,#7B52D6,#B8408F 55%,#FF5D86)}
.ph-logo b{font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ph-me{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;font-weight:700;font-size:13px;cursor:pointer}
.phone .tabbar span{cursor:pointer;user-select:none}
.pview{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-width:none;padding-bottom:8px}
.pview[hidden]{display:none}
.pview.in>*{animation:dmin .28s ease both}
.pv-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px;margin-bottom:6px;border-radius:14px;border:1.5px solid rgba(184,64,143,.14);background:#fff;font:inherit;text-align:left;color:var(--ink);cursor:pointer}
.pv-row>i{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--grad);color:#fff;font-style:normal;font-weight:700;flex:none}
.pv-row span{flex:1;display:flex;flex-direction:column;min-width:0}.pv-row b{font-size:14px}.pv-row small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-row em{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#E8325F;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.pv-row em.go{background:none;color:#B8408F;font-size:20px}
.pv-row.st{cursor:default}.pv-row.st::before{content:"";width:9px;height:9px;border-radius:50%;background:#F2A03D;flex:none}.pv-row.st.g::before{background:#3BB08A} /* статус заявки — точкой, не полосой сбоку */
.pv-h{font-size:13px;font-weight:600;color:var(--muted);margin:4px 2px 6px}
.pv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.pv-b{padding:10px 4px;border-radius:12px;border:0;background:var(--surface);font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.pv-b:active{background:var(--grad);color:#fff}
.pv-me{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:10px;border-radius:16px;background:var(--grad);color:#fff}
.pv-me i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#B8408F;font-style:normal;font-weight:800;font-size:18px}
.pv-me span{display:flex;flex-direction:column}.pv-me small{opacity:.88;font-size:12px}
.dm-pin{display:flex;justify-content:center;gap:10px;margin:4px 0 10px}
.dm-pin i{width:14px;height:14px;border-radius:50%;border:2px solid #D9C9CF;transition:background .15s,border-color .15s}
.dm-pin i.f{background:#B8408F;border-color:#B8408F}
.dm-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.dm-keys button{padding:10px 0;border-radius:12px;border:0;background:var(--surface);font:inherit;font-size:18px;font-weight:600;color:var(--ink);cursor:pointer}
.dm-keys button:active{background:var(--grad);color:#fff}
.phone [data-tiles][hidden],.phone .off-note[hidden]{display:none!important}
/* айфон: аватар руководителя с «1» от поддержки, подпись под логотипом (27.10.2026) */
.ph-logo>span{display:flex;flex-direction:column;line-height:1.05}
.ph-logo small{font-size:9.5px;font-weight:500;letter-spacing:0;color:var(--muted);margin-top:2px}
.ph-me{position:relative;background:none;width:34px;height:34px}
.ph-me svg{width:34px;height:34px;display:block;border-radius:50%}
.ph-me em{position:absolute;top:-3px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#E8325F;color:#fff;font-style:normal;font-size:10px;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}
.pv-me i{overflow:hidden;padding:0}.pv-me i svg{width:44px;height:44px;display:block}
.ph-me img,.pv-me i img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
/* демо в айфоне: панель «Закрыть» внизу — под пальцем (27.10.2026) */
.dm-foot{position:sticky;bottom:-18px;margin:12px -14px -18px;padding:10px 14px 14px;background:linear-gradient(rgba(255,255,255,0),#fff 30%);z-index:2}
.dm-foot button{display:block;width:100%;padding:11px;border-radius:999px;border:1.5px solid rgba(184,64,143,.25);background:#fff;color:#B8408F;font:inherit;font-weight:600;font-size:15px;cursor:pointer}
.dm-foot button:active{background:var(--grad);color:#fff}
.demo{display:flex;flex-direction:column}.demo>*{flex:none}.demo .dm-foot{margin-top:auto;padding-top:14px}
/* айфон: «Чаты» — группы сверху, переписка сразу, свайп и стрелки (27.10.2026) */
.pv-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -2px 8px;padding:0 2px 2px}
.pv-chips::-webkit-scrollbar{display:none}
.pv-chip{flex:none;display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;border:0;background:var(--surface);font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap}
.pv-chip.on{background:var(--grad);color:#fff}
.pv-chip em{font-style:normal;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:#E8325F;color:#fff;font-size:10px;display:grid;place-items:center}
.pv-chip.on em{background:#fff;color:#B8408F}
.pv-chat{position:relative;padding:0 18px}
.pv-msgs{display:flex;flex-direction:column;min-height:200px}
.pv-msgs .dm-msg{max-width:90%}
.pv-arr{position:absolute;top:70px;width:18px;height:40px;border:0;background:none;color:rgba(184,64,143,.45);font-size:26px;line-height:1;cursor:pointer;padding:0}
.pv-arr.l{left:-6px}.pv-arr.r{right:-6px}
.pv-arr:hover{color:#B8408F}
.pv-input{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:9px 12px;border-radius:999px;border:1.5px solid rgba(184,64,143,.2);font-size:13px;color:var(--muted)}
.pv-input i{font-style:normal;color:#B8408F}
.pview{display:flex;flex-direction:column}.pview>*{flex:none}.pview .pv-input{margin-top:auto}
/* демо «Финансы» (27.10.2026) */
.dm-fin{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:4px}
.dm-fin div{padding:8px;border-radius:12px;background:var(--surface);display:flex;flex-direction:column}
.dm-fin small{font-size:10px;color:var(--muted)}.dm-fin b{font-size:13px}
.dm-fin .on{background:var(--grad);color:#fff}.dm-fin .on small{color:rgba(255,255,255,.85)}
.dm-bar{display:grid;grid-template-columns:1fr 70px;gap:2px 8px;align-items:center;margin-bottom:6px;font-size:12px}
.dm-bar i{grid-column:1/-1;grid-row:2;height:6px;border-radius:3px;background:linear-gradient(90deg,#B9A3D0 var(--w),var(--surface) var(--w))}
.dm-bar.in i{background:linear-gradient(90deg,#B8408F var(--w),var(--surface) var(--w))}
.dm-bar b{text-align:right;font-size:12px}
/* демо: договор — печать и скан подписанного (27.10.2026) */
button.dm-row{width:100%;font:inherit;text-align:left;color:var(--ink);cursor:pointer}
.dm-link small{color:#B8408F}
.dm-paper{position:relative;background:#fff;border-radius:6px;padding:12px 14px;box-shadow:0 8px 22px -12px rgba(42,23,32,.4);border:1px solid #EFE6EA;font-size:11px;line-height:1.45;margin-bottom:6px}
.dm-paper b{display:block;font-size:12px;letter-spacing:.02em}.dm-paper>span{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}
.dm-paper p{margin:0 0 6px}.dm-paper mark{background:rgba(184,64,143,.14);color:var(--ink);padding:0 3px;border-radius:3px}
.dm-paper i{display:block;height:5px;border-radius:3px;background:#EFE6EA;margin:5px 0}.dm-paper i.s{width:60%}
.dm-sig{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--muted)}
.dm-paper.sm{transform:rotate(-2deg);max-width:220px;margin:6px auto 10px}
.dm-home.ghost{background:#fff;color:#B8408F;border:1.5px solid rgba(184,64,143,.3);margin-top:8px}
/* шторка «Добавить модуль»: «Включить все модули сразу» — ярко (27.10.2026) */
.pp-all{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 0 10px;padding:13px;border:0;border-radius:14px;background:var(--grad);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 10px 22px -12px rgba(184,64,143,.85);transition:transform .15s}
.pp-all small{font-size:12px;font-weight:700;background:#fff;color:#B8408F;padding:2px 8px;border-radius:999px}
.pp-all:active,.pp-all.picked{transform:scale(.97)}
/* демо «Чек»: распознано, одобрено, не закрыто по карте, чеки сотрудников (27.10.2026) */
.dm-tag{font-style:normal;font-size:10px;font-weight:600;color:#7350D2;background:rgba(123,82,214,.12);padding:1px 6px;border-radius:999px;margin-left:4px}
.dm-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.dm-badge{font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px}
.dm-badge.g{background:rgba(59,176,138,.14);color:#17614F}
.dm-row.st{padding-right:30px}.dm-row.st::after{content:"";position:absolute;right:12px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#F2A03D}
.dm-row.st.g::after{background:#3BB08A}.dm-row.st.r::after{background:#E8202E}
/* кубик — «сцена» между разделами на всех экранах: прилипает по центру, собирается из модулей при прокрутке (27.10.2026) */
.cube-stage{display:block!important;position:relative;height:190vh;padding:0!important;perspective:none}
.cube-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;perspective:1600px}
.cube-stage .cube-mods{position:static!important;opacity:1!important;transform:none!important;pointer-events:auto!important;background:none!important;box-shadow:none!important;
  --s:clamp(62px,7vw,120px)!important;width:auto!important;height:auto!important;flex-direction:column;gap:clamp(22px,3vw,40px)!important;padding:0!important;justify-content:center;align-items:center;display:flex}
.cube-stage .cube-mods .cube-live{width:calc(var(--s) * 4.4)!important;height:calc(var(--s) * 4.4)!important;transform-style:preserve-3d}
.cube-stage .cube-mods .cube-cap{display:block!important;font-size:clamp(19px,1.6vw,26px);text-align:center;max-width:none;color:var(--ink);font-weight:600}
.cube-stage .cube-legend{display:flex!important;flex-wrap:wrap;justify-content:center;gap:6px 14px;max-width:min(820px,92vw);margin-top:-8px}
.cube-legend i{font-style:normal;font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.cube-legend i::before{content:"";width:11px;height:11px;border-radius:4px;background:var(--gc)}
.cube-stage .cube-mods .sc{will-change:transform,translate,rotate}
/* собрался — волна градиента по всем граням */
.cube-mods.flash .sc i{animation:cubeflash 1.4s ease}
@keyframes cubeflash{0%,100%{filter:none}30%{filter:brightness(1.25) saturate(1.4)}}
.cube-mods.flash .sc:not(.on) i{animation:cubeflash2 1.4s ease}
@keyframes cubeflash2{25%,55%{background-color:#B8408F}}
@media (max-width:900px){.cube-stage .cube-mods .cube-live{width:calc(var(--s) * 4.2)!important;height:calc(var(--s) * 4.2)!important}}
/* чаты — лента страниц с привязкой, как в айфоне (27.10.2026) */
.pv-pages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.pv-pages::-webkit-scrollbar{display:none}
.pv-pages>.pv-msgs{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;padding:0 2px}
.pv-chat{padding:0 14px}
.cube-stage .cube-mods .cube-cap small{display:block;margin-top:6px;font-size:14px;font-weight:400;color:var(--muted)}
/* заявки: оранжевый — не взято, зелёный — заказано/в работе, серый — исполнено (27.10.2026) */
.pv-row.st.d{opacity:.55;background:#FAF7F8}.pv-row.st.d::before{background:#B7A9B0}.pv-row.st.d b{font-weight:600;color:var(--muted)}
/* айфон: шрифт на 1 пункт крупнее и жирнее (27.10.2026) */
.phone .pv-row b,.phone .dm-row b,.phone .dm-v b,.phone .dm-task b{font-size:15px;font-weight:700}
.phone .pv-row small,.phone .dm-row small,.phone .dm-v small,.phone .dm-task small,.phone .dm-s{font-size:13px}
.phone .dm-msg{font-size:14px}.phone .dm-msg small{font-size:12px}
.phone .pv-chip,.phone .pv-b{font-size:14px}.phone .pv-h,.phone .dm-q{font-size:15px;font-weight:700}
.phone .dm-top b{font-size:18px;font-weight:700}.phone .phone-top{font-size:17px;font-weight:700}
.phone .tabbar{font-size:12px}.phone .dm-o b{font-size:16px}.phone .dm-o span{font-size:13px}
.phone .tile b{font-weight:700}
/* под кубиком — коротко все модули, каждый с цветом своей группы (27.10.2026) */
.cube-stage .cube-legend{gap:6px 8px!important;max-width:min(560px,92vw)}
.cube-stage .cube-legend i{font-size:14px;color:var(--ink);background:rgba(255,255,255,.7);padding:5px 11px 5px 9px;border-radius:999px;border:1px solid rgba(184,64,143,.14)}
.cube-stage .cube-mods .cube-live{cursor:pointer}
/* разлетевшиеся кубики не должны раздвигать страницу вбок (на телефоне браузер начинал ездить влево-вправо) */
.cube-stage{overflow:clip;overflow-clip-margin:0}html,body{overflow-x:clip}
/* финал кубика: заголовок сверху, «+» летает и ныряет в центр, бам — весь кубик цветной (27.10.2026) */
.cube-stage .cube-mods .cube-cap{order:-1;font-size:clamp(24px,1rem + 2vw,40px)!important;font-weight:700!important;letter-spacing:-.03em}
.cube-stage .cube-mods .cube-cap small{font-size:clamp(15px,.9rem + .3vw,18px)!important;font-weight:500!important;margin-top:8px}
.cube-stage .cube-mods{position:relative}
.plus-fly{position:absolute;left:50%;top:50%;z-index:5;width:calc(var(--s) * .95);height:calc(var(--s) * .95);border-radius:calc(var(--s) * .26);opacity:0;pointer-events:none;
  background:linear-gradient(150deg,#FF5D86,#B8408F 50%,#7B52D6);box-shadow:0 14px 30px -10px rgba(123,82,214,.7),inset 0 0 0 3px rgba(255,255,255,.85);display:grid;place-items:center;will-change:transform,opacity}
.plus-fly b{color:#fff;font-size:calc(var(--s) * .7);font-weight:300;line-height:1;margin-top:-4%}
.cube-mods .cube-live{position:relative}
.plus-boom{position:absolute;left:50%;top:50%;width:calc(var(--s) * 3.4);height:calc(var(--s) * 3.4);margin:calc(var(--s) * -1.7) 0 0 calc(var(--s) * -1.7);border-radius:50%;pointer-events:none;opacity:0;z-index:4;
  border:3px solid #FF5D86;box-shadow:0 0 0 10px rgba(184,64,143,.18)}
.plus-boom.go{animation:boom .9s cubic-bezier(.2,.8,.2,1)}
@keyframes boom{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.9)}}
.cube-mods.all-on .sc i{background-color:#B8408F!important;background-image:linear-gradient(150deg,#7B52D6 0%,#B8408F 52%,#FF5D86 100%)!important;transition:background-color .4s}
.cube-mods.all-on .sc i::before{background-image:var(--ic-on)!important}
.cube-wrap{position:relative;display:grid;place-items:center}
/* сцена кубика: сверху пафосный заголовок, снизу подпись, «Ваш модуль заработал!» — по центру кубика (27.10.2026) */
.cube-stage .cube-mods .cube-cap{font-size:clamp(32px,1rem + 3.4vw,64px)!important;font-weight:800!important;letter-spacing:-.045em;line-height:1;
  background:linear-gradient(120deg,#2A1720 30%,#B8408F 70%,#FF5D86);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.08em;text-align:center}
.cube-sub{order:1;font-size:clamp(16px,.9rem + .35vw,20px);color:var(--muted);text-align:center;max-width:30ch;font-weight:500;transition:opacity .3s}
.cube-done{position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .35s ease,transform .5s cubic-bezier(.3,1.6,.5,1)}
.cube-done b{display:block;padding:12px 20px;border-radius:999px;background:rgba(255,255,255,.94);color:#B8408F;font-size:clamp(17px,1rem + .5vw,24px);font-weight:800;letter-spacing:-.02em;box-shadow:0 18px 40px -16px rgba(90,23,50,.55)}
.cube-done.on{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.15s}
.cube-stage .cube-mods .cube-cap{margin-bottom:calc(var(--s) * .7)}
.cube-stage .cube-mods .cube-cap{margin-bottom:calc(var(--s) * 1.3);font-weight:900!important;font-size:clamp(36px,1rem + 3.8vw,72px)!important;-webkit-text-stroke:.6px #2A1720}
.cube-stage .cube-mods .cube-cap{margin-bottom:calc(var(--s) * 2.3)}
.cube-stage .cube-mods .cube-cap{margin-bottom:calc(var(--s) * 2.9)}.plus-fly{opacity:1}
.cube-stage .cube-mods .cube-cap{margin-bottom:calc(var(--s) * 3.7)}
/* «+» нырнул — кубик с подписью плавно поднимается на место «+», под заголовком остаётся немного воздуха (27.10.2026) */
.cube-stage .cube-wrap,.cube-stage .cube-sub{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.cube-stage .cube-mods.all-on .cube-wrap,.cube-stage .cube-mods.all-on .cube-sub{transform:translate3d(0,calc(var(--s) * -2.1),0)}

/* плавность (27.10.2026): без анимаций, которые перерисовывают картинку каждый кадр */
.cube-mods.flash .sc i{animation:none}                    /* фильтр на 27 гранях в 3D — дорого; вспышка — цветом граней */
.cube-mods .cube-live::after{display:none!important;animation:none!important} /* блик-полоса на кубике больше не нужен */
.ph-go{animation:none;box-shadow:0 12px 26px -10px rgba(123,82,214,.8)}
.ph-go::after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid rgba(255,93,134,.55);animation:phgo2 2.6s ease-out infinite;pointer-events:none}
@keyframes phgo2{0%{transform:scale(.96);opacity:.9}100%{transform:scale(1.18);opacity:0}}
.builder.off::before{animation-play-state:paused}         /* перелив фона блока стоит, пока блок не на экране */
@media (prefers-reduced-motion:reduce){.ph-go::after{animation:none}}
/* айфон на телефоне: низ поднимает браузер — анимация по прокрутке; обрезка — «окном» и сдвигами, всё на видеокарте и в одном кадре (27.10.2026) */
@media (max-width:640px){
  .ph-track.on .ph-clip{position:sticky;overflow:hidden;will-change:transform;-webkit-mask-image:-webkit-radial-gradient(white,black)}
  .builder .ph-track.on .phone.iphone{position:relative!important;top:0!important;margin:0!important;will-change:transform}
}
@supports (animation-timeline: view()){
  .ph-track.sda{view-timeline:--ph block}
  .ph-track.sda .ph-clip,.ph-track.sda .phone.iphone .tabbar,.ph-track.sda .ph-bot{animation:phup linear both;animation-timeline:--ph;animation-range:cover calc(100% - var(--r1)) cover calc(100% - var(--r2))}
  .ph-track.sda .phone.iphone{animation:phdown linear both;animation-timeline:--ph;animation-range:cover calc(100% - var(--r1)) cover calc(100% - var(--r2))}
  .ph-track.sda .phone.iphone .off-note{animation:phnote linear both;animation-timeline:--ph;animation-range:cover calc(100% - var(--r1)) cover calc(100% - var(--r2))}
}
@keyframes phup{from{transform:translate3d(0,0,0);animation-timing-function:cubic-bezier(.11,0,.5,0)}to{transform:translate3d(0,calc(var(--cut) * -1),0)}}
@keyframes phdown{from{transform:translate3d(0,0,0);animation-timing-function:cubic-bezier(.11,0,.5,0)}to{transform:translate3d(0,var(--cut),0)}}
@keyframes phnote{0%{opacity:1}12%,100%{opacity:0}}
/* блок «Интеграции» на главной (27.10.2026) */
.int-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.int-card{position:relative;background:var(--surface);border-radius:var(--r);padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px}
.int-card h3{font-size:clamp(19px,1rem + .4vw,22px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.int-card p{font-size:16px;line-height:1.45;color:var(--ink);opacity:.85}
.int-st{align-self:flex-start;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(123,82,214,.14);color:#6A44C4}
.int-st.ok{background:rgba(59,176,138,.16);color:#17614F}
@media (max-width:900px){.int-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.int-grid{grid-template-columns:1fr}}
.cube-kick{order:-2;font-size:clamp(16px,.9rem + .4vw,20px);font-weight:600;color:var(--muted);text-align:center;margin-bottom:-6px}
/* экран в холле на главной: по 4 слайда в альбомах «Основной» и «Акции» (27.10.2026) */
.slide.tvs{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:4%;padding:6% 7%;color:#fff;transition:opacity 1s ease}
.slide.tvs.on .tvs-t{animation:tvsin .9s cubic-bezier(.2,.8,.2,1) both}
.tvs-t{display:flex;flex-direction:column;gap:6px}
.tvs-t i{font-style:normal;font-size:clamp(10px,1vw,14px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.tvs-t b{font-size:clamp(18px,2.6vw,38px);line-height:1.02;letter-spacing:-.03em;font-weight:800}
.tvs-t span{font-size:clamp(11px,1.1vw,16px);opacity:.92}
.tvs-art svg{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(40,0,30,.25))}
.s-plum{background:linear-gradient(140deg,#5c0a4e,#a8337a 60%,#e86a9a)}
.s-lav{background:linear-gradient(140deg,#5b3bc4,#8f6bff 60%,#c9a9ff)}
.s-peach{background:linear-gradient(140deg,#c9566e,#f08a7a 55%,#f7b98e)}
.s-dark{background:linear-gradient(140deg,#2A1720,#6e2560 70%,#a8337a)}
.s-grad{background:linear-gradient(120deg,#7B52D6,#B8408F 52%,#FF5D86)}
@keyframes tvsin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.slide.tvs.on .tvs-t{animation:none}}
/* призыв под айфоном: создать портал с выбранными модулями; запасной путь — написать нам (27.10.2026) */
.pick{flex-direction:column;align-items:flex-start;gap:10px}
.pick-go{min-height:54px;font-size:17px;font-weight:700;width:100%;text-align:center}
.pick-note{margin:-2px 0 0;font-size:13px;color:var(--muted)}
.pick-help{font-size:15px;font-weight:600;color:#B8408F;text-decoration:none;border-bottom:1.5px solid rgba(184,64,143,.3)}
.pick-help:hover{border-bottom-color:#B8408F}
/* айфон: 👁 «Смотреть как» — роли (27.10.2026) */
.ph-head{gap:8px}.ph-logo{margin-right:auto}
.ph-eye{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:0;background:var(--surface);color:#B8408F;cursor:pointer}
.ph-eye.on{background:var(--grad);color:#fff}
.ph-as{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px;padding:7px 10px;border-radius:12px;background:rgba(184,64,143,.1);font-size:12px;color:var(--ink)}
.ph-as[hidden]{display:none}
.ph-as b{font-weight:700}
.ph-as button{margin-left:auto;border:0;background:#fff;color:#B8408F;font:inherit;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;cursor:pointer}
.ph-roles .pv-row.cur{border-color:#B8408F}
/* айфон: плитки растут по тексту; «ещё модули» внизу; новость с «Прочитано»; лента; подсказка у глазика (27.10.2026) */
.phone.iphone .tiles{grid-auto-rows:max-content!important;grid-template-rows:none!important}
.phone.iphone .tiles .tile{height:auto!important;min-height:96px}
.tiles-more{position:relative;height:0;z-index:3;pointer-events:none}
.tiles-more span{position:absolute;left:-14px;right:-14px;bottom:0;height:54px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;
  background:linear-gradient(rgba(255,255,255,0),#fff 75%);font-size:12px;font-weight:700;color:#B8408F;opacity:0;transition:opacity .25s;cursor:pointer}
.tiles-more.on span{opacity:1;pointer-events:auto}
.ph-news{margin:0 0 8px;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,rgba(123,82,214,.12),rgba(255,93,134,.14));display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;transition:opacity .4s,transform .4s,max-height .45s,margin .45s,padding .45s;max-height:160px;overflow:hidden}
.ph-news[hidden]{display:none}
.ph-news small{grid-column:1/-1;font-size:11px;color:#B8408F;font-weight:700}
.ph-news b{font-size:13px;line-height:1.3}
.ph-news button,.pv-acts button{border:0;border-radius:999px;background:var(--grad);color:#fff;font:inherit;font-size:12px;font-weight:700;padding:7px 12px;cursor:pointer;white-space:nowrap}
.ph-news.gone{opacity:0;transform:translateX(30px);max-height:0;margin:0;padding-top:0;padding-bottom:0}
.pv-new{display:block;width:100%;margin-bottom:10px;padding:11px;border-radius:14px;border:1.5px dashed rgba(184,64,143,.4);background:#fff;color:#B8408F;font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.pv-post{padding:10px 12px;margin-bottom:8px;border-radius:14px;background:#fff;border:1.5px solid rgba(184,64,143,.12)}
.pv-post small{font-size:11px;color:var(--muted)}.pv-post p{font-size:14px;line-height:1.4;margin:4px 0 6px}
.pv-pic svg{width:100%;height:auto;display:block;border-radius:10px;margin-bottom:6px}
.pv-acts{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.pv-acts .ok{color:#17614F;font-weight:700}
.dm-in textarea{font:inherit;font-size:14px;color:var(--ink);padding:8px 10px;border-radius:10px;border:1.5px solid rgba(184,64,143,.2);background:#fff;resize:none}
.phone .tabbar{grid-template-columns:repeat(5,1fr)}
.ph-head{position:relative}
.eye-tip{position:absolute;right:30px;top:42px;z-index:7;max-width:200px;padding:8px 11px;border-radius:12px;background:#2A1720;color:#fff;font-size:12px;line-height:1.35;font-weight:600;
  opacity:0;transform:translateY(-4px);transition:opacity .35s,transform .35s;pointer-events:none;box-shadow:0 10px 24px -10px rgba(42,23,32,.6)}
.eye-tip::before{content:"";position:absolute;top:-5px;right:22px;width:10px;height:10px;background:#2A1720;transform:rotate(45deg);border-radius:2px}
.eye-tip.on{opacity:1;transform:none;animation:tipbob 2.4s ease-in-out .4s infinite}
@keyframes tipbob{50%{transform:translateY(3px)}}
/* подсказка у глазика: компактно, слева от него в той же строке — не закрывает новость; гаснет плавно */
.eye-tip{right:78px;top:50%;margin-top:-14px;max-width:none;white-space:nowrap;padding:6px 10px;font-size:11px;border-radius:10px;transform:translateX(6px);transition:opacity .8s ease,transform .8s ease}
.eye-tip::before{display:none}
.eye-tip.on{transform:none;animation:tipnudge 2.2s ease-in-out .4s infinite}
@keyframes tipnudge{50%{transform:translateX(-3px)}}
.eye-tip{top:40px;right:28px;margin-top:0;white-space:normal;width:118px;font-size:11px;line-height:1.25;padding:6px 9px;transform:translateY(-4px)}
.eye-tip::before{display:block;top:-4px;right:24px;width:8px;height:8px}
.eye-tip.on{transform:none;animation:tipbob 2.4s ease-in-out .4s infinite}
.eye-tip{width:152px;top:38px;padding:5px 9px}
/* чат «Клиенты»: ИИ-черновик ответа (27.10.2026) */
.ai-gen{border:0;border-radius:999px;background:#fff;color:#B8408F;font:inherit;font-size:12px;font-weight:700;padding:5px 10px;cursor:pointer}
.dm-msg.ai{background:linear-gradient(135deg,rgba(123,82,214,.14),rgba(255,93,134,.16));color:var(--ink)}
.dm-msg.ai small{color:#7B52D6!important}
.ai-acts{display:flex;gap:6px;margin-top:4px}
.ai-acts button{border:0;border-radius:999px;background:var(--grad);color:#fff;font:inherit;font-size:12px;font-weight:700;padding:5px 12px;cursor:pointer}
.ai-acts button.ghost{background:#fff;color:#B8408F}
.dm-msg.me:has(.ai-gen){background:none;padding:0}
/* айфон: быстрые плитки руководителя, журнал отпусков (27.10.2026) */
.dm-cal{position:relative;height:84px;margin:4px 0 10px;border-radius:12px;background:var(--surface);display:grid;grid-template-columns:1fr 1fr;padding:6px 8px}
.dm-cal span{font-size:11px;color:var(--muted)}
.dm-cal i{position:absolute;left:var(--a);width:var(--b);height:16px;border-radius:8px;background:var(--c);color:#fff;font-style:normal;font-size:10px;font-weight:700;padding:1px 6px;white-space:nowrap;transition:background .4s}
.dm-cal i:nth-of-type(1){top:26px}.dm-cal i:nth-of-type(2){top:46px}.dm-cal i:nth-of-type(3){top:64px}
/* компьютер: сцена кубика влезает по высоте экрана — заголовок не обрезается (27.10.2026) */
.cube-stage .cube-mods{--s:min(clamp(62px,7vw,120px),calc((100svh - 230px) / 8.6))!important}
/* компьютер: айфон дольше держится вверху рядом со списком — под списком запас прокрутки */
@media (min-width:901px){
  .builder{padding-bottom:calc(18px + 45vh)}
  .builder>.portal-out{top:84px}
}
/* подложка конструктора прозрачная — запас прокрутки под айфоном не висит розовой картой (решение управляющего 29.10.2026) */
.builder{background:none}
.builder::before{display:none} /* и цветные «пятна» тоже: фон конструктора полностью прозрачный (решение управляющего 29.10.2026) */
@media (min-width:901px){
  .builder>.portal-out{align-self:start} /* не растягиваться на весь блок — тогда прилипает */
  .builder .phone.iphone{width:min(100%,370px,calc((100svh - 108px) * 9 / 18.6))} /* айфон целиком влезает в экран под шапкой */
}
.cube-pin{box-sizing:border-box;padding-top:64px}
.cube-stage .cube-mods{--s:min(clamp(58px,7vw,120px),calc((100svh - 330px) / 8.6))!important}
@media (min-width:901px){
  .builder{padding-bottom:18px}
  .builder>.mods{padding-bottom:45vh} /* строка сетки выше — айфону есть где держаться вверху */
}
.tiles-more span{height:64px;padding-bottom:4px}
.ph-news,.ph-as,.ph-head,.phone-top{flex:none}
.phone [data-tiles] .ph-news{grid-column:1/-1;margin:0}
/* демо: единый календарь клиники (27.10.2026) */
.cal-f{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-bottom:8px}.cal-f::-webkit-scrollbar{display:none}.cal-f .dm-chip{flex:none;padding:5px 10px;font-size:12px}
.dm-month{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px}
.dm-month>b{font-size:10px;color:var(--muted);text-align:center;font-weight:600}
.dm-d{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0 3px;border:0;border-radius:8px;background:#fff;font:inherit;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}
.dm-d.today{box-shadow:inset 0 0 0 1.5px #B8408F}.dm-d.on{background:var(--grad);color:#fff}
.dm-d span{display:flex;gap:2px;height:5px}.dm-d span i{width:5px;height:5px;border-radius:50%}
.c-shift{--c:#7350D2}.c-vac{--c:#F2A03D}.c-bd{--c:#FF5D86}.c-book{--c:#3BB08A}.c-task{--c:#B8408F}.c-edu{--c:#6E2560}
.dm-d span i{background:var(--c)}.dm-d.on span i{background:#fff}
.dm-ev{position:relative;padding:7px 10px 7px 14px;margin-bottom:5px;border-radius:10px;background:#fff;border:1px solid rgba(184,64,143,.12);display:flex;flex-direction:column}
.dm-ev::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--c)}
.dm-ev b{font-size:13px}.dm-ev small{font-size:11px;color:var(--muted)}
.eye-tip{z-index:4}
/* блок «Клиенты пишут отовсюду» — единое окно диалогов (27.10.2026) */
.inbox{background:#fff;color:var(--ink);border-radius:22px;padding:14px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ib-chs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ib-ch{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff)}
.ib-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:10px}
.ib-list{display:flex;flex-direction:column;gap:6px}
.ib-it{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;background:var(--surface)}
.ib-it.on{background:linear-gradient(135deg,rgba(123,82,214,.14),rgba(255,93,134,.16))}
.ib-it i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c);color:#fff;font-style:normal;font-weight:700;font-size:13px;flex:none}
.ib-it span{display:flex;flex-direction:column;min-width:0;flex:1}.ib-it b{font-size:13px}.ib-it small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-it em{font-style:normal;font-size:10px;font-weight:700;color:#fff;background:#E8325F;border-radius:9px;padding:1px 6px}
.ib-chat{display:flex;flex-direction:column;gap:6px}
.ib-card{padding:8px 10px;border-radius:12px;border:1.5px solid rgba(184,64,143,.18)}
.ib-card b{display:block;font-size:13px}.ib-card small{font-size:11px;color:var(--muted)}
.ib-msg{max-width:92%;padding:8px 10px;border-radius:12px 12px 12px 4px;background:var(--surface);font-size:13px;line-height:1.35}
.ib-msg.ai{align-self:flex-end;border-radius:12px 12px 4px 12px;background:linear-gradient(135deg,rgba(123,82,214,.16),rgba(255,93,134,.2))}
.ib-msg small{display:block;font-size:10px;font-weight:700;color:#7B52D6;margin-bottom:2px}
.ib-kpi{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.ib-kpi span{font-size:11px;padding:4px 8px;border-radius:999px;background:var(--surface);color:var(--muted)}.ib-kpi b{color:var(--ink)}
@media (max-width:560px){.ib-body{grid-template-columns:1fr}}
/* компьютер: айфон — тот же механизм, что на телефоне: прилипает, выезжает в центр на всю высоту, фон гаснет (27.10.2026) */
.ph-track.on .ph-clip{position:sticky;overflow:hidden;will-change:transform;-webkit-mask-image:-webkit-radial-gradient(white,black);z-index:2}
.builder .ph-track.on .phone.iphone{position:relative!important;top:0!important;margin:0!important;aspect-ratio:auto;max-width:none;will-change:transform}
@media (min-width:901px){
  .builder>.portal-out{position:relative!important;top:auto!important}
  .builder>.mods{padding-bottom:0}
}
.ph-dim{position:fixed;inset:0;z-index:1;background:var(--bg);opacity:0;pointer-events:none;will-change:opacity}
.ph-track.on .phone.iphone .tabbar{position:relative;z-index:3;background:#fff;will-change:transform}
.ph-track.on .ph-bot{display:block;position:absolute;left:-8px;right:-8px;bottom:-8px;height:48px;border:8px solid #1A0F14;border-top:0;border-radius:0 0 40px 40px;z-index:4;pointer-events:none;will-change:transform}
@media (min-width:641px){.ph-track.on .ph-bot{left:-10px;right:-10px;bottom:-10px;border-width:10px;border-radius:0 0 46px 46px}}
.top{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.head-off .top{transform:translate3d(0,-100%,0)}
/* компьютер: список болей крупнее и ближе к айфону — меньше пустоты справа (27.10.2026) */
@media (min-width:901px){
  .builder{grid-template-columns:minmax(0,1fr) min(440px,40%)!important;gap:clamp(24px,3vw,48px)!important;padding:clamp(22px,2.4vw,36px)!important}
  .builder .mods-h{font-size:clamp(34px,1rem + 2.4vw,52px)!important}
  .builder .mods-sub{font-size:18px}
  .builder .mod{font-size:clamp(19px,.9rem + .5vw,22px)!important;gap:16px!important;padding:12px 0!important;line-height:1.3}
  .builder .mod .sw{width:50px;height:28px}
  .builder .mod .sw::after{width:22px;height:22px}
  .builder .mod[aria-pressed=true] .sw::after{transform:translateX(22px)}
  .builder .mod-how{font-size:17px!important;margin-left:66px!important}
  .builder .mod-how li{margin:3px 0}
}
@media (min-width:641px){.ph-go{display:none!important}} /* айфон и так выезжает на весь экран — кнопка не нужна */

/* подпись «Пример интерфейса» — над «Что сейчас мешает?»; больше воздуха между «Создать портал» и кубиком (27.10.2026) */
.mods>.mods-cap{margin:0 0 10px}
.cube-stage{margin-top:clamp(80px,12vh,160px)}

/* «Счета»: бумажный счёт в видоискателе — сфотографировали, поля распознаны, платёж в банк (27.10.2026) */
.dm-scan{padding:14px 0 10px;gap:10px;aspect-ratio:auto}
.dm-scan::before{display:none}
.dm-inv{position:relative;width:62%;background:#FBF8F4;color:#2A1A22;border-radius:4px;padding:10px 12px 12px;display:grid;gap:5px;text-align:left;rotate:-3deg;box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 0 2px #FF5D86,0 0 0 6px rgba(255,93,134,.25);animation:dminv 2.4s ease-in-out infinite}
@keyframes dminv{50%{scale:1.03}}
.dm-inv b{font-size:12px;letter-spacing:.04em}.dm-inv small{font-size:9px;color:#7A6870}
.dm-inv i{display:block;height:5px;border-radius:3px;background:#E3D9DE}.dm-inv i.s{width:60%}
.dm-inv p{display:flex;justify-content:space-between;align-items:baseline;margin:3px 0 0;font-size:10px;border-top:1px solid #E3D9DE;padding-top:5px}.dm-inv p b{font-size:12px}
.dm-inv em{position:absolute;right:8px;bottom:22px;font:700 7px/1 system-ui;color:#4F6BD8;border:1.5px solid #4F6BD8;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;transform:rotate(-14deg);opacity:.7;font-style:normal}
.dm-scan .dm-inv i{width:auto;height:5px;border:0;border-radius:3px;background:#E3D9DE;opacity:1;animation:none}.dm-scan .dm-inv i.s{width:55%}
.dm-scan .dm-inv em{right:12px;bottom:auto;top:46px}

/* интеграции: 7 карточек — «Вашей системы нет» на всю ширину (27.10.2026) */
.int-grid>.int-wide{grid-column:1/-1}

/* бумажный комплект документов с QR — стопка листов (главная и /glavnyj-vrach/, 27.10.2026) */
.pkit{position:relative;height:clamp(340px,40vw,460px);max-width:440px;margin:0 auto}
.pk-sh{position:absolute;inset:0 8% 0 8%;background:#FFFDFB;border-radius:6px;box-shadow:0 1px 0 #EADFE4,0 18px 40px -18px rgba(90,23,50,.35);padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;color:#2A1A22}
.pk-sh.s3{rotate:-7deg;translate:-6% 4%;opacity:.9}.pk-sh.s2{rotate:4deg;translate:6% 2%}.pk-sh.s1{rotate:-1.5deg}
.pk-sh>b,.pk-top b{font:700 13px/1 var(--font,inherit);color:#A8337A;letter-spacing:.04em}
.pk-sh>span,.pk-top span{font-weight:700;font-size:17px;line-height:1.2}
.pk-top{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;border-bottom:1px solid #EADFE4}
.pk-l{display:block;height:7px;border-radius:4px;background:#EFE6EA}.pk-l.s{width:60%}
.pk-qr{margin-top:auto;display:flex;align-items:center;gap:14px;padding:12px;border-radius:10px;background:#F7EFF3}
.pk-qr i{flex:none;width:76px;height:76px;border-radius:6px;background:
  conic-gradient(from 90deg at 30% 30%,#2A1A22 25%,transparent 0) 0 0/19px 19px,
  linear-gradient(#2A1A22,#2A1A22) 4px 4px/22px 22px no-repeat,linear-gradient(#2A1A22,#2A1A22) calc(100% - 4px) 4px/22px 22px no-repeat,linear-gradient(#2A1A22,#2A1A22) 4px calc(100% - 4px)/22px 22px no-repeat,#fff;outline:3px solid #fff}
.pk-qr span{font-size:13px;line-height:1.35;color:#5C4A52}
.pk-sh small{font-size:11px;color:#9A8A91}

/* «Модули»: что мешает → какой модуль (27.10.2026) */
.pain-map{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.pain-map li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line,#EADFE4)}
.pain-map span{color:var(--muted)}.pain-map b{text-align:right;font-weight:600}
.pain-map a{color:inherit;text-decoration:underline;text-decoration-color:rgba(168,51,122,.4);text-underline-offset:3px}
@media (max-width:760px){.pain-map{grid-template-columns:1fr}.pain-map li{flex-direction:column;gap:4px}.pain-map b{text-align:left}}

/* кнопки (27.10.2026, по просьбе управляющего): без сиреневого — перелив от малинового кнопки регистрации портала (#C2255C) в светло-розовый.
   Вернуть как было — удалить этот блок (останется --grad: сиреневый → малиновый → розовый) */
:root{--btn-grad:linear-gradient(120deg,#C2255C 0%,#E23A6A 50%,#FF7A9C 100%)}
.btn,.btn:hover{background:var(--btn-grad);background-size:140% 100%;box-shadow:0 10px 24px -12px rgba(194,37,92,.7)}
.btn.ghost,.btn.ghost:hover{background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}
.btn.ghost:hover{background:var(--ink)}
.btn:not(.ghost):hover{background-position:100% 0}
.dm-home,.ph-news button,.pv-acts button,.ai-acts button,.pp-all,.ph-go{background:var(--btn-grad)}
.dm-home.ghost{background:#fff}

/* «Главная» в айфоне: заголовок и «Вы смотрите как…» листаются вместе с плитками (27.10.2026) */
.tiles>.phone-top,.tiles>.ph-as{grid-column:1/-1}.tiles>.phone-top{margin:0 0 2px}

/* фотоальбом команды на главной — плитка 3×3, как в Инстаграме (27.10.2026) */
.gal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-radius:18px;overflow:hidden;max-width:520px;margin:0 auto}
.gal-t>*{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:0!important;margin:0!important}
.gal-t .slot{padding:8px;font-size:11px;overflow:hidden}.gal-t .slot span{display:none}

/* «Добавьте свой модуль»: больше воздуха между заголовком и кубиком; «+» крупнее и ярче — светится и «дышит» (27.10.2026) */
.cube-stage .cube-mods{--s:min(clamp(54px,6.6vw,112px),calc((100svh - 340px) / 9.8))!important}
.cube-stage .cube-mods .cube-cap{margin-bottom:calc(var(--s) * 5)}
.cube-stage .cube-kick{margin-bottom:6px}
.plus-fly{width:calc(var(--s) * 1.45);height:calc(var(--s) * 1.45);border-radius:calc(var(--s) * .4);
  background:radial-gradient(circle at 30% 25%,#FFE3F1 0%,rgba(255,227,241,0) 45%),linear-gradient(150deg,#FF8FD0 0%,#C77DFF 50%,#8B5CF6 100%);
  box-shadow:0 0 0 calc(var(--s) * .12) rgba(199,125,255,.18),0 0 calc(var(--s) * .9) rgba(199,125,255,.6),0 18px 36px -10px rgba(139,92,246,.75),inset 0 0 0 3px rgba(255,255,255,.9)}
.plus-fly b{font-size:calc(var(--s) * 1.15);font-weight:500;text-shadow:0 2px 8px rgba(90,40,160,.35)}
.plus-fly::after{content:"";position:absolute;inset:calc(var(--s) * -.28);border-radius:calc(var(--s) * .6);border:2px solid rgba(199,125,255,.5);animation:plusglow 1.8s ease-out infinite;pointer-events:none}
@keyframes plusglow{0%{opacity:.9;scale:.85}100%{opacity:0;scale:1.25}}
@media (prefers-reduced-motion:reduce){.plus-fly::after{animation:none;opacity:0}}
@media (max-width:640px){.cube-stage .cube-mods .cube-cap{margin-bottom:calc(var(--s) * 6.2)}}

/* «Без App Store и Google Play»: как поставить портал значком (27.10.2026) */
.noapp{align-self:center}
.na-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:99px;background:#3E2632;margin-bottom:28px}
.na-tabs button{border:0;background:none;color:#D9C9CF;font:inherit;font-size:16px;padding:8px 20px;border-radius:99px;cursor:pointer}
.na-tabs button[aria-selected="true"]{background:var(--dark-ink);color:var(--dark)}
.na-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,22px)}
.ip-step{margin:0;display:flex;flex-direction:column;gap:14px}
.ip-step figcaption{font-size:var(--small);line-height:1.35;color:var(--dark-ink);display:flex;gap:8px;align-items:flex-start}
.ip-step figcaption span{flex:none;width:22px;height:22px;border-radius:50%;background:var(--btn-grad);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center}
.ip{container-type:inline-size;position:relative;aspect-ratio:9/18.5;border-radius:16cqw/8cqw;background:#FBF6F8;box-shadow:0 0 0 5px #120A0E,0 0 0 6px #4a3340,0 24px 48px -20px rgba(0,0,0,.7);overflow:hidden;color:#2A1720}
.ip::before{content:"";position:absolute;top:3cqw;left:50%;translate:-50% 0;width:30cqw;height:7cqw;border-radius:9cqw;background:#120A0E;z-index:2}
.ip-url{margin:14cqw 6cqw 0;padding:3.5cqw 4cqw;border-radius:5cqw;background:#EADDE3;font-size:6.4cqw;display:flex;justify-content:space-between;align-items:center;white-space:nowrap;overflow:hidden}
.ip-url span{font-weight:700;padding:0 2cqw;border-radius:3cqw}
.ip-pg{margin:6cqw;display:flex;flex-direction:column;gap:4cqw}
.ip-pg b{height:22cqw;border-radius:5cqw;background:linear-gradient(150deg,#F6D6E2,#E9D8F5)}
.ip-pg i{height:9cqw;border-radius:3cqw;background:#F1E2E9}
.ip-bar{position:absolute;left:0;right:0;bottom:0;height:20cqw;background:#F3E9EE;display:flex;justify-content:space-around;align-items:center}
.ip-bar i{width:9cqw;height:9cqw;border-radius:3cqw;background:#E3D3DA;display:grid;place-items:center}
.ip-bar i svg{width:7cqw;height:7cqw}
.ip-sheet{position:absolute;left:3cqw;right:3cqw;bottom:3cqw;border-radius:7cqw;background:#fff;box-shadow:0 -6px 24px rgba(42,23,32,.18);padding:3cqw;display:flex;flex-direction:column;gap:1.5cqw}
.ip-sheet.ip-menu{bottom:auto;top:24cqw;left:30cqw;right:3cqw}
.ip-sheet i{font-style:normal;font-size:6.2cqw;padding:3.4cqw 4cqw;border-radius:4cqw;background:#F6EEF2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip .hl{background:var(--btn-grad)!important;color:#fff;animation:nahl 2.4s ease-in-out infinite}
@keyframes nahl{0%,100%{box-shadow:0 0 0 0 rgba(226,58,106,.55)}50%{box-shadow:0 0 0 2.4cqw rgba(226,58,106,0)}}
.ip-home{position:absolute;inset:0;padding:22cqw 7cqw 0;display:grid;grid-template-columns:repeat(4,1fr);gap:9cqw 6cqw;align-content:start;background:linear-gradient(170deg,#5B3A6E,#B8408F 60%,#FF8FB0)}
.ip-home i{aspect-ratio:1;border-radius:5cqw;background:rgba(255,255,255,.28)}
.ip-home .ip-app{aspect-ratio:1;border-radius:5cqw;background:#fff;display:grid;place-items:center;position:relative;animation:napop 2.4s var(--ease) infinite}
.ip-app s{text-decoration:none;font-size:11cqw;font-weight:700;background:var(--btn-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ip-app em{position:absolute;top:calc(100% + 1.5cqw);left:50%;translate:-50% 0;font-style:normal;font-size:4.6cqw;color:#fff;white-space:nowrap}
@keyframes napop{0%,100%{scale:1}12%{scale:1.14}24%{scale:1}}
@media (prefers-reduced-motion:reduce){.ip .hl,.ip-home .ip-app{animation:none}}
@media (max-width:900px){.noapp{margin-top:40px}}
.na-row[hidden]{display:none}
@media (max-width:420px){.na-tabs button{padding:8px 13px;font-size:15px}}
.ip-sheet.ip-menu{top:13%;left:28%;right:3%;bottom:auto}
@media (min-width:901px){.cube-stage{height:290vh}} /* компьютер: «+» выезжает, кубик подлетает, потом сборка */

/* «Безопасность — наш главный принцип»: сразу после «Добавьте свой модуль» (27.10.2026) */
.sf-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end;margin-bottom:48px}
.sf-head>div{grid-column:1/span 6}.sf-head>.lead{grid-column:8/span 5}
.sf-kick{font-size:var(--small);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;padding:clamp(20px,3vw,36px);border-radius:var(--r);background:var(--dark);color:var(--dark-ink)}
.sf-node{position:relative;border-radius:14px;background:#3E2632;padding:20px 20px 20px 72px;min-height:96px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.sf-node b{font-size:18px}.sf-node span{font-size:var(--small);color:#D9C9CF}
.sf-pic{position:absolute;left:18px;top:50%;translate:0 -50%;font-style:normal;font-size:34px;line-height:1}
.sf-us{background:var(--btn-grad)}.sf-us span{color:#fff}
.sf-arrow{position:relative;width:clamp(40px,5vw,80px);height:2px;background:repeating-linear-gradient(90deg,#D9C9CF 0 6px,transparent 6px 12px);background-size:24px 2px;animation:sfdash 1.2s linear infinite}
.sf-arrow::after{content:"";position:absolute;right:-2px;top:-5px;border:6px solid transparent;border-left-color:#D9C9CF;border-right:0}
.sf-arrow span{position:absolute;left:50%;bottom:10px;translate:-50% 0;font-size:12px;color:#D9C9CF;letter-spacing:.06em}
@keyframes sfdash{to{background-position:24px 0}}
.sf-note{margin:16px 0 0;font-size:var(--small);color:var(--muted)}
.sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:40px}
.sf-card{border-radius:var(--r);background:var(--bg);padding:24px;display:flex;flex-direction:column;gap:10px}
.sf-card svg{width:26px;height:26px;color:#B8408F}
.sf-card h3{font-size:20px;line-height:1.2}.sf-card p{font-size:16px;margin:0}
@media (prefers-reduced-motion:reduce){.sf-arrow{animation:none}}
@media (max-width:1100px){.sf-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.sf-head>div,.sf-head>.lead{grid-column:1/-1}
  .sf-flow{grid-template-columns:1fr;justify-items:stretch}.sf-arrow{width:2px;height:32px;justify-self:center;background:repeating-linear-gradient(180deg,#D9C9CF 0 6px,transparent 6px 12px);background-size:2px 24px;animation-name:sfdashv}
  .sf-arrow::after{right:auto;left:-5px;top:auto;bottom:-2px;border:6px solid transparent;border-top-color:#D9C9CF;border-bottom:0}
  .sf-arrow span{left:14px;bottom:auto;top:50%;translate:0 -50%}}
@keyframes sfdashv{to{background-position:0 24px}}
@media (max-width:520px){.sf-grid{grid-template-columns:1fr}}

/* лента сверху: без накладок у краёв — карточки сами растворяются (opacity в site.js), тени снизу не обрезаются (27.10.2026) */
.flow::before,.flow::after{display:none!important}
.flow{overflow:visible;overflow-x:clip}

/* лента сверху — барабан с мини-экранами (27.10.2026): каждый кадр поворачивается только сцена */
.flow{--cw:clamp(104px,8.8vw,138px);--ch:clamp(132px,11.2vw,176px);overflow:visible;overflow-x:clip;perspective:1100px}
@media (max-width:640px){.flow{--cw:108px;--ch:138px}}
.flow-stage{position:absolute;left:0;right:0;top:0;bottom:0;transform-style:preserve-3d;will-change:transform}
.flow .fs{position:absolute;left:50%;top:50%;width:var(--cw);height:var(--ch);margin:calc(var(--ch) / -2) 0 0 calc(var(--cw) / -2);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flow .fs>.fc{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important;transform:none;will-change:auto;
  display:flex;flex-direction:column;justify-content:space-between;padding:10px;transition:scale .6s cubic-bezier(.22,1,.36,1),box-shadow .6s}
.flow .fs>.fc.mid{scale:1.26;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 22px 40px -22px rgba(90,23,50,.55)}
.flow .fc-t{font-size:clamp(12px,1vw,14px)}
.flow-glow{position:absolute;left:50%;top:50%;width:min(900px,120%);height:150%;translate:-50% -50%;pointer-events:none;color:#B8408F;opacity:.28;
  background:radial-gradient(closest-side,currentColor,transparent);transition:color 1.2s ease;z-index:0}
.fc-scr{display:block;height:58%;border-radius:8px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);position:relative;overflow:hidden}
.fc-scr>i{position:absolute;inset:6px;display:flex;flex-direction:column;gap:4px;font-style:normal}
.fc-scr u{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.75);text-decoration:none}
.fc-scr u:nth-child(2){width:80%}.fc-scr u:nth-child(3){width:62%}
.m-ba{flex-direction:row!important;gap:3px!important}.m-ba b{flex:1;border-radius:5px;background:linear-gradient(160deg,rgba(255,255,255,.45),rgba(255,255,255,.15))}
.m-ba b+b{background:linear-gradient(160deg,rgba(255,255,255,.85),rgba(255,255,255,.4))}.m-ba s{position:absolute;left:50%;top:-6px;bottom:-6px;width:2px;background:#fff;translate:-1px 0}
.m-doc em{margin-top:auto;height:10px;width:55%;align-self:flex-end;border-bottom:2px solid #fff;border-radius:0 0 40% 40%}
.m-chat{justify-content:center}.m-chat u{width:60%!important;height:9px!important;border-radius:6px 6px 6px 2px}.m-chat u.r{align-self:flex-end;border-radius:6px 6px 2px 6px;background:#fff}
.m-list u{width:100%!important;position:relative;padding-left:0;height:6px}.m-list u.ok{background:linear-gradient(90deg,#fff 0 7px,rgba(255,255,255,.75) 7px)}
.m-qr{flex-direction:row!important;align-items:center}.m-qr b{width:46%;aspect-ratio:1;background:conic-gradient(#fff 0 25%,transparent 0 50%,#fff 0 75%,transparent 0) 0 0/33% 33%;border-radius:3px;box-shadow:0 0 0 2px #fff}
.m-qr u{flex:1;margin-left:6px}
.m-tv b{flex:1;border-radius:4px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.35))}.m-tv s{height:3px;width:40%;align-self:center;background:#fff;border-radius:2px}
.m-star{color:#fff;font-size:11px;letter-spacing:1px;line-height:1}
.m-cal{display:grid!important;grid-template-columns:repeat(5,1fr);gap:3px!important}.m-cal u{height:auto!important;aspect-ratio:1;width:auto!important;background:rgba(255,255,255,.4)}.m-cal u.on{background:#fff}
.m-card{flex-direction:column}.m-card b{width:22px;height:22px;border-radius:50%;background:#fff;margin-bottom:2px}
.m-sum{justify-content:space-between}.m-sum b{color:#fff;font-size:13px;font-weight:700}.m-sum em{height:10px;border-radius:5px;background:#fff}
.m-key{justify-content:center}.m-key u{height:12px!important;width:100%!important;font-size:9px;line-height:12px;color:var(--ink);padding-left:4px;letter-spacing:1px;text-decoration:none}
@media (prefers-reduced-motion:reduce){.flow .fs>.fc{transition:none}.flow-glow{transition:none}}
.flow .fc .fc-scr{align-self:stretch;width:100%;flex:none}

/* боль модуля — коротко на карточке (27.10.2026) */
.flow .fc .fc-scr{height:46%}
.flow .fc-t{margin-top:7px}
.flow .fc-p{display:block;margin-top:3px;font-size:clamp(9.5px,.78vw,11.5px);line-height:1.2;font-weight:500;opacity:.88}
.flow .fc.lt .fc-p{opacity:.75}

/* карточки ленты: две галочки «уже решено»; в центре галочки ставятся по очереди — «оп, отмечено» (27.10.2026) */
.flow{--cw:clamp(109px,8.8vw,150px);--ch:clamp(150px,12vw,206px);height:clamp(190px,18vw,260px)} /* высота — как у баннеров .hs (29.10.2026) */
@media (max-width:640px){.flow{--cw:109px;--ch:150px;height:190px}}
.flow .fc .fc-scr{height:auto;flex:1 1 38%;min-height:26%} /* экранчик забирает свободное место — без воздуха перед подписью (29.10.2026) */
.flow .fc-p{display:flex;flex-direction:column;gap:3px;margin-top:5px;opacity:1}
.flow .fc-p i{font-style:normal;display:flex;gap:5px;align-items:flex-start;font-size:clamp(9.5px,.74vw,11px);line-height:1.18;font-weight:500}
.flow .fc-p i::before{content:"✓";flex:none;width:11px;height:11px;margin-top:1px;border-radius:3px;background:#fff;color:#B8408F;font-size:9px;font-weight:800;line-height:11px;text-align:center}
.flow .fc.lt .fc-p i::before{background:var(--ink);color:#fff}
.flow .fc.mid .fc-p i::before{animation:fctick .5s cubic-bezier(.3,1.6,.5,1) backwards}
.flow .fc.mid .fc-p i:nth-child(1)::before{animation-delay:.35s}.flow .fc.mid .fc-p i:nth-child(2)::before{animation-delay:.7s}
@keyframes fctick{0%{scale:0;opacity:0}100%{scale:1;opacity:1}}
@media (prefers-reduced-motion:reduce){.flow .fc.mid .fc-p i::before{animation:none}}

/* галочки: подъезжает пустой квадратик, в центре — «оп, отмечено», дальше уезжает уже с галочками (27.10.2026) */
.flow .fc-p i::before{content:"";background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.9);animation:none!important}
.flow .fc.lt .fc-p i::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink)}
.flow .fc-p i::after{content:"✓";position:absolute;left:0;top:1px;width:11px;height:11px;border-radius:3px;background:#fff;color:#B8408F;font-size:9px;font-weight:800;line-height:11px;text-align:center;scale:0;opacity:0}
.flow .fc.lt .fc-p i::after{background:var(--ink);color:#fff}
.flow .fc-p i{position:relative}
.flow .fc.done .fc-p i::after{scale:1;opacity:1;animation:fctick .5s cubic-bezier(.3,1.6,.5,1) backwards}
.flow .fc.done .fc-p i:nth-child(1)::after{animation-delay:.3s}.flow .fc.done .fc-p i:nth-child(2)::after{animation-delay:.75s}
@media (prefers-reduced-motion:reduce){.flow .fc.done .fc-p i::after{animation:none}}

/* увеличение к центру — плавно по положению барабана (site.js), без перехода по классу (27.10.2026) */
.flow .fs>.fc{transition:box-shadow .6s}

/* логотип: правая цветная половинка плавно меняет цвета логотипа — 3 с стоит, 2 с переход; левая серая не меняется (27.10.2026) */
.mark i{position:relative;overflow:hidden;background:var(--before)!important}
.mark i::after{content:"";position:absolute;top:0;right:0;bottom:0;width:50%;background-color:#B8408F;
  background-image:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,0) 55%,rgba(40,0,30,.12));animation:markhue 20s linear infinite}
@keyframes markhue{0%,15%{background-color:#B8408F}25%,40%{background-color:#FF5D86}50%,65%{background-color:#7B52D6}75%,90%{background-color:#C2255C}100%{background-color:#B8408F}}
@media (prefers-reduced-motion:reduce){.mark i::after{animation:none}}

/* барабан эффектнее, без нагрузки (27.10.2026): всё ниже — статичные стили, считается один раз */
.flow .fs.tall{--ch:calc(var(--chb) * 1.07)}.flow .fs.short{--ch:calc(var(--chb) * .94)}
.flow{--chb:var(--ch)}
.flow .fs{height:var(--ch)}
.flow::after{display:block!important;content:"";position:absolute;left:50%;bottom:4%;top:auto;right:auto;width:min(760px,90%);height:34px;translate:-50% 0;z-index:0;pointer-events:none;
  background:radial-gradient(closest-side,rgba(90,23,50,.22),rgba(90,23,50,0));border-radius:50%}
.flow .fc.glass{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(184,64,143,.18)}
.flow .fc.glass .fc-scr{background:rgba(184,64,143,.08);box-shadow:inset 0 0 0 1px rgba(184,64,143,.16)}
.flow .fc.glass .fc-scr u,.flow .fc.glass .m-cal u{background:rgba(184,64,143,.35)}
.flow .fc.glass .m-cal u.on,.flow .fc.glass .m-card b{background:#B8408F}
.flow .fc.glass .m-key u{background:#fff;box-shadow:inset 0 0 0 1px rgba(184,64,143,.3)}
.flow .fc.glass .fc-p i::before{box-shadow:inset 0 0 0 1.5px #B8408F}
.flow .fc.glass .fc-p i::after{background:#B8408F;color:#fff}
.flow .fc.glass .fc-t{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* блик пробегает только по центральной карточке — одна анимация сдвига, без перерисовки */
.flow .fc.mid::after{animation:fcsweep 3.6s ease-in-out infinite}
@keyframes fcsweep{0%,55%{translate:-120% 0}100%{translate:120% 0}}
@media (prefers-reduced-motion:reduce){.flow .fc.mid::after{animation:none}}

/* блик (27.10.2026): у боковых карточек его нет; по центральной мягко проходит и тает, без скачков — одна анимация сдвига и прозрачности */
.flow .fc::after{opacity:0;translate:-110% 0;animation:none}
.flow .fc.mid::after{animation:fcsweep2 5s ease-in-out .4s infinite}
@keyframes fcsweep2{0%{translate:-110% 0;opacity:0}12%{opacity:1}48%{translate:110% 0;opacity:0}100%{translate:110% 0;opacity:0}}
@media (prefers-reduced-motion:reduce){.flow .fc.mid::after{animation:none}}

/* демо сканера документов (27.10.2026): лист на столе, рамка с углами, лупа, ровная страница */
.dm-desk{position:relative;aspect-ratio:4/3.4;border-radius:14px;overflow:hidden;background:radial-gradient(120% 90% at 30% 20%,#8a6a55,#5a4234 60%,#3d2c23);display:grid;place-items:center}
.dm-sheet{position:relative;width:56%;aspect-ratio:1/1.3;background:#F7F3EC;color:#2A1A22;border-radius:3px;padding:9% 9% 8%;display:flex;flex-direction:column;gap:5px;text-align:left;
  rotate:-4deg;transform:perspective(380px) rotateX(14deg);box-shadow:-14px 16px 22px rgba(0,0,0,.45);background-image:linear-gradient(115deg,rgba(0,0,0,0) 55%,rgba(40,25,20,.18))}
.dm-sheet b{font-size:11px;letter-spacing:.04em}.dm-sheet small{font-size:8px;color:#7A6870}
.dm-sheet i{display:block;height:4px;border-radius:2px;background:#DCD2D6}.dm-sheet i.s{width:60%}
.dm-sheet p{margin:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;font-size:8px;color:#7A6870}.dm-sheet p em{font-style:italic;color:#3a4fa0;font-size:10px;border-bottom:1px solid #9aa}
.dm-sheet.flat{rotate:0deg;transform:none;box-shadow:0 6px 18px rgba(42,23,32,.14);background:#fff;width:64%}
.dm-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dm-frame polygon{fill:rgba(255,93,134,.12);stroke:#E23A6A;stroke-width:1.2;vector-effect:non-scaling-stroke}
.dm-c{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #E23A6A,0 2px 6px rgba(0,0,0,.4)}
.dm-tip{position:absolute;left:50%;bottom:8px;translate:-50% 0;font-size:11px;color:#fff;background:rgba(0,0,0,.45);padding:4px 10px;border-radius:99px;white-space:nowrap}
.dm-loupe{position:absolute;left:62%;top:2%;width:62px;height:62px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.45);
  background:radial-gradient(circle at 40% 45%,#F7F3EC 0 22%,transparent 23%),linear-gradient(135deg,#6b4f3f,#4a362b);overflow:hidden}
.dm-loupe::after{content:"";position:absolute;left:38%;top:42%;width:10px;height:10px;margin:-5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #E23A6A}
.dm-page{display:grid;place-items:center;padding:14px 0;border-radius:14px;background:#EFE7EB}
.dm-desk .dm-sheet{width:44%}
.dm-loupe{left:60%;top:2%}
.flow .fc.done .fc-p i:nth-child(1)::after{animation-delay:.5s}.flow .fc.done .fc-p i:nth-child(2)::after{animation-delay:1.9s} /* вторая галочка — заметно позже первой (27.10.2026) */

/* галочка «бум»: выпрыгивает с перелётом, покачивается и встаёт; от квадратика расходится вспышка (27.10.2026) */
.flow .fc.done .fc-p i::after{animation-name:fcpop;animation-duration:.75s;animation-timing-function:cubic-bezier(.2,.9,.3,1)}
@keyframes fcpop{0%{scale:0;rotate:-35deg;opacity:0}35%{scale:1.55;rotate:12deg;opacity:1}55%{scale:.85;rotate:-8deg}72%{scale:1.12;rotate:4deg}86%{scale:.97;rotate:-1deg}100%{scale:1;rotate:0deg;opacity:1}}
.flow .fc.done .fc-p i::before{animation:fcring .7s ease-out backwards}
.flow .fc.done .fc-p i:nth-child(1)::before{animation-delay:.6s}.flow .fc.done .fc-p i:nth-child(2)::before{animation-delay:2s}
@keyframes fcring{0%{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.9),0 0 0 0 rgba(255,255,255,.85)}100%{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.9),0 0 0 9px rgba(255,255,255,0)}}
.flow .fc.glass.done .fc-p i::before{animation-name:fcringg}
@keyframes fcringg{0%{box-shadow:inset 0 0 0 1.5px #B8408F,0 0 0 0 rgba(184,64,143,.6)}100%{box-shadow:inset 0 0 0 1.5px #B8408F,0 0 0 9px rgba(184,64,143,0)}}
@media (prefers-reduced-motion:reduce){.flow .fc.done .fc-p i::after,.flow .fc.done .fc-p i::before{animation:none}}
.flow .fc.done .fc-p i::before{animation:fcring .7s ease-out backwards!important}
.flow .fc.glass.done .fc-p i::before{animation-name:fcringg!important}
.flow .fc.done .fc-p i:nth-child(1)::before{animation-delay:.6s!important}.flow .fc.done .fc-p i:nth-child(2)::before{animation-delay:2s!important}
@media (prefers-reduced-motion:reduce){.flow .fc.done .fc-p i::before{animation:none!important}}

/* меню сверху — кнопками, в духе Apple: стеклянная плашка, пункты-«таблетки» нажимаются (27.10.2026) */
@media (min-width:1101px){
  .nav{gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);
    box-shadow:inset 0 0 0 1px rgba(42,23,32,.07),0 6px 20px -12px rgba(90,23,50,.35)}
  .nav a{padding:8px 14px;border-radius:999px;line-height:1.2;color:var(--ink);transition:background-color .2s,box-shadow .2s,scale .12s;white-space:nowrap}
  .nav a:hover{text-decoration:none;background:rgba(184,64,143,.08)}
  .nav a[aria-current]{text-decoration:none;background:#fff;box-shadow:0 1px 2px rgba(42,23,32,.12),0 4px 12px -6px rgba(184,64,143,.45)}
  .nav a:active{scale:.94;background:rgba(184,64,143,.14)}
  .nav a:focus-visible{outline:2px solid #B8408F;outline-offset:1px}
  .nav .nav-login{margin-left:4px;box-shadow:inset 0 0 0 1.5px rgba(42,23,32,.14)}
  .nav .nav-login:hover{box-shadow:inset 0 0 0 1.5px rgba(184,64,143,.5)}
}
@media (min-width:1101px) and (max-width:1320px){.nav a{padding:8px 10px}.top{gap:16px}}
/* телефон: в раскрытом меню — те же кнопки, крупные под палец */
@media (max-width:1100px){
  .nav{gap:6px;padding:10px var(--m) 20px;box-shadow:0 18px 30px -20px rgba(42,23,32,.35);max-height:calc(100svh - 64px);overflow-y:auto;overscroll-behavior:contain} /* раскрытые «Модули» длиннее экрана — меню листается само (29.10.2026) */
  .nav a{padding:13px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(42,23,32,.07);transition:scale .12s,background-color .2s}
  .nav a:hover,.nav a[aria-current]{text-decoration:none}
  .nav a[aria-current]{box-shadow:inset 0 0 0 1.5px #B8408F}
  .nav a:active{scale:.97;background:#F6EEF2}
}
@media (prefers-reduced-motion:reduce){.nav a{transition:none}.nav a:active{scale:1}}

/* принцип «только по запросу» — крупной строкой над карточками (27.10.2026) */
.principle{font-size:clamp(22px,1rem + 1.4vw,34px);font-weight:700;letter-spacing:-.02em;line-height:1.2;max-width:30ch;margin:-12px 0 40px;padding-left:20px;border-left:4px solid #B8408F}

/* «Распознано со скана»: миниатюра скана счёта приложена к платежу (27.10.2026) */
.dm-att{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;background:#F6EEF2}
.dm-att .dm-inv.flat{width:86px;flex:none;rotate:0deg;animation:none;padding:7px 8px 8px;gap:3px;box-shadow:0 4px 12px rgba(42,23,32,.18)}
.dm-att .dm-inv.flat b{font-size:7px}.dm-att .dm-inv.flat small{font-size:5px}.dm-att .dm-inv.flat i{height:3px}.dm-att .dm-inv.flat p{font-size:6px;margin:2px 0 0;display:flex;justify-content:space-between}
.dm-att>span{display:flex;flex-direction:column;gap:2px}.dm-att>span b{font-size:14px;color:#3F6B45}.dm-att>span small{font-size:12px;color:var(--muted)}
/* «Экран в холле»: карточки-ссылки на портал (27.10.2026) */
a.tv-x{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;border-radius:var(--r);padding:24px;min-height:180px;transition:scale .15s,box-shadow .2s}
a.tv-x:hover{box-shadow:0 10px 26px -16px rgba(184,64,143,.6)}a.tv-x:active{scale:.98}a.tv-x h3{color:#B8408F}
.cube-stage .cube-mods .cube-cap,.cube-stage .cube-mods .cube-cap *{-webkit-text-stroke:0!important;text-shadow:none!important} /* «Добавьте свой модуль» — без обводки букв, чище (27.10.2026) */

/* сцена кубика длиннее на два экрана: сборка идёт медленно, кубик дольше на экране (27.10.2026) */
.cube-stage{height:390vh!important}
@media (min-width:901px){.cube-stage{height:490vh!important}}

/* после сборки кубик ещё 3–4 экрана на виду (27.10.2026) */
.cube-stage{height:600vh!important}
@media (min-width:901px){.cube-stage{height:790vh!important}}
.cube-stage{height:390vh!important} /* телефон: после сборки — на одно движение пальцем, ≈1,5 экрана (27.10.2026) */
@media (min-width:901px){.cube-stage{height:740vh!important}} /* на полэкрана короче хвост после сборки (27.10.2026) */

/* стрелка «листайте дальше» под собранным кубиком (27.10.2026) */
.cube-pin{position:sticky}
.cube-down{position:absolute;left:50%;bottom:clamp(18px,4vh,40px);width:34px;height:34px;margin-left:-17px;color:#B8408F;opacity:0;pointer-events:none;transition:opacity .8s ease}
.cube-down svg{width:100%;height:100%;display:block}
.cube-mods.all-on~.cube-down{opacity:.5;animation:cubedown 1.8s ease-in-out infinite}
.cube-down.gone{opacity:0!important}
@keyframes cubedown{0%,100%{translate:0 0}50%{translate:0 7px}}
@media (prefers-reduced-motion:reduce){.cube-mods.all-on~.cube-down{animation:none}}

/* барабан: по три галочки, карточка повыше; карточка «Безопасность данных» (27.10.2026) */
.flow{--cw:clamp(122px,9.8vw,154px);--ch:clamp(180px,14.6vw,228px);height:clamp(250px,22vw,320px)}
@media (max-width:640px){.flow{--cw:122px;--ch:180px;height:250px}}
.flow .fc .fc-scr{height:32%}
.flow .fc.done .fc-p i:nth-child(3)::after{animation-delay:3.2s}.flow .fc.done .fc-p i:nth-child(3)::before{animation-delay:3.3s!important}
.m-lock{align-items:center;justify-content:center}.m-lock b{width:16px;height:13px;border-radius:3px;background:#fff;position:relative;margin-top:6px}
.m-lock b::before{content:"";position:absolute;left:3px;right:3px;top:-8px;height:10px;border:2.5px solid #fff;border-bottom:0;border-radius:7px 7px 0 0}
.m-lock u{width:70%!important;height:4px!important}
/* барабан: карточки и текст крупнее (27.10.2026) */
.flow{--cw:clamp(129px,11.5vw,146px);--ch:clamp(190px,17vw,215px);height:clamp(240px,22vw,272px)} /* высота — как у баннеров .hs (29.10.2026) */
@media (max-width:640px){.flow{--cw:129px;--ch:190px;height:240px}}
.flow .fc-t{font-size:clamp(14px,1.18vw,17px)}
.flow .fc-p i{font-size:clamp(12px,.88vw,13px);gap:6px;line-height:1.2}
.flow .fc-p i::before,.flow .fc-p i::after{width:13px;height:13px;line-height:13px;font-size:10px}

/* ===== страница «Сканер документов» (/skaner-dokumentov/, 27.10.2026) ===== */
.sk-cmp{aspect-ratio:4/3.3}
.sk-desk{position:relative;flex:1;border-radius:12px;overflow:hidden;display:grid;place-items:center;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 23%),radial-gradient(120% 90% at 30% 20%,#8a6a55,#5a4234 60%,#3d2c23)}
.sk-paper{position:relative;width:46%;aspect-ratio:1/1.414;background:#F7F3EC;color:#2A1A22;border-radius:2px;padding:8% 8% 7%;display:flex;flex-direction:column;gap:6px;text-align:left}
.sk-paper b{font-size:clamp(9px,1vw,13px);letter-spacing:.06em}.sk-paper small{font-size:clamp(7px,.7vw,9px);color:#7A6870;margin-bottom:4px}
.sk-paper i{display:block;height:4px;border-radius:2px;background:#D9CFD3}.sk-paper i.s{width:58%}
.sk-paper p{margin:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;font-size:clamp(7px,.7vw,9px);color:#7A6870}
.sk-paper p em{font-family:Georgia,serif;font-style:italic;color:#2f47b8;font-size:clamp(10px,1vw,13px);border-bottom:1px solid #9aa}
.sk-raw{transform:perspective(500px) rotateX(24deg) rotateZ(-9deg) translateY(4%);background:#E8DCC8;
  box-shadow:10px 16px 26px rgba(0,0,0,.45);filter:brightness(.92)}
.sk-raw::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 35%,rgba(40,20,10,.38) 75%);pointer-events:none}
.sk-thumb{position:absolute;right:16%;bottom:-6%;width:16%;aspect-ratio:1/1.5;border-radius:45% 45% 30% 30%;background:linear-gradient(160deg,#e3b39b,#c48d74);rotate:-28deg;box-shadow:-4px -2px 10px rgba(0,0,0,.3)}
.sk-cmp .bubble{max-width:82%}
.sk-out{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:12px;background:var(--surface)}
.sk-flat{background:#fff;width:44%;box-shadow:0 10px 30px -12px rgba(42,23,32,.35)}
.sk-chip{font-size:12px;font-weight:600;background:var(--paper);border-radius:999px;padding:6px 12px;box-shadow:inset 0 0 0 1px rgba(194,37,92,.25);color:var(--accent)}
@media (max-width:640px){.sk-cmp{aspect-ratio:3/4}.sk-paper{width:58%}.sk-flat{width:56%}.sk-chip{font-size:11px;text-align:center;max-width:90%}}

.sk-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.sk-three{grid-template-columns:1fr}}

/* режимы: «Документ», «Серый», «Ч/б», «Цвет», «Исходник» */
.sk-modes{background:var(--surface);border-radius:var(--r);padding:clamp(16px,2.4vw,32px)}
.sk-stage{display:grid;place-items:center;padding:clamp(10px,2vw,24px) 0;border-radius:14px;background:#E7DCE1}
.sk-sheet{position:relative;width:min(340px,78%);aspect-ratio:1/1.414;background:#fff;color:#1d1a24;padding:9% 9% 8%;display:flex;flex-direction:column;gap:7px;
  box-shadow:0 14px 34px -16px rgba(42,23,32,.45);transition:background .45s,filter .45s,transform .45s}
.sk-sheet::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .45s;
  background:radial-gradient(90% 70% at 85% 95%,rgba(50,30,15,.42),transparent 60%),linear-gradient(100deg,rgba(60,40,20,.18),transparent 30%)}
.sk-sheet b{font-size:clamp(13px,1.2vw,16px);letter-spacing:.08em;text-align:center}
.sk-sheet small{font-size:11px;color:#6b6070;text-align:center;margin-bottom:8px}
.sk-sheet i{display:block;height:5px;border-radius:3px;background:#2a2633;opacity:.22}.sk-sheet i.s{width:62%}
.sk-tbl{display:grid;grid-template-columns:2fr 1fr 1fr;margin-top:6px;border:1px solid rgba(29,26,36,.3)}
.sk-tbl span{height:14px;border:1px solid rgba(29,26,36,.18)}
.sk-sign{margin-top:auto;position:relative;height:30%;display:flex;align-items:center;justify-content:flex-end}
.sk-sign svg{width:52%;height:auto;position:relative;z-index:1}
.sk-sign path{fill:none;stroke:#2244c4;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sk-seal{position:absolute;right:30%;top:0;width:34%;aspect-ratio:1;border-radius:50%;border:3px solid rgba(70,60,190,.75);box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px rgba(70,60,190,.6);rotate:-12deg;transition:inherit}
.sk-sheet[data-mode="grey"]{filter:grayscale(1) contrast(1.15)}
.sk-sheet[data-mode="bw"]{filter:grayscale(1) contrast(3.2) brightness(1.12)}
.sk-sheet[data-mode="color"]{background:#FBF6EA;filter:saturate(1.15)}
.sk-sheet[data-mode="orig"]{background:#E3D7C2;filter:brightness(.93) saturate(.9);transform:perspective(700px) rotateX(9deg) rotateZ(-3deg)}
.sk-sheet[data-mode="orig"]::after{opacity:1}
.sk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.sk-chips button{font:inherit;font-size:15px;font-weight:600;border:0;border-radius:999px;padding:10px 16px;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(42,23,32,.12);transition:background .2s,color .2s}
.sk-chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);box-shadow:none}
.sk-chips button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.sk-note{margin-top:14px;font-size:16px;min-height:3em}
@media (prefers-reduced-motion:reduce){.sk-sheet,.sk-sheet::after{transition:none}}

/* куда отправить */
.sk-dest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sk-dest>div{background:var(--paper);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px}
.sk-dest h3{font-size:24px}.sk-dest p{font-size:17px}
.sk-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:#fff}
.sk-ic::before{content:"";width:26px;height:26px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.sk-ic.t1{background:linear-gradient(140deg,#E23A6A,#C2255C);--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E")}
.sk-ic.t2{background:linear-gradient(140deg,#9b6fe0,#7B52D6);--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z'/%3E%3C/svg%3E")}
.sk-ic.t3{background:linear-gradient(140deg,#2bb3a3,#16897c);--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E")}
@media (max-width:760px){.sk-dest{grid-template-columns:1fr}}

/* полка папок */
.sk-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 12px;margin-top:56px}
.sk-f{position:relative;border-radius:4px 16px 16px 16px;padding:26px 20px 22px;min-height:132px;display:flex;flex-direction:column;gap:8px;color:#fff;background:var(--c)}
.sk-f::before{content:"";position:absolute;left:0;top:-12px;width:42%;height:14px;border-radius:10px 10px 0 0;background:var(--c);filter:brightness(.88)}
.sk-f b{font-size:19px;line-height:1.2}.sk-f span{font-size:14px;opacity:.88;margin-top:auto}
.f1{--c:#7B52D6}.f2{--c:#B8408F}.f3{--c:#C2255C}.f4{--c:#16897c}.f5{--c:#5a3d8f}.f6{--c:#D9783A}.f7{--c:#8a7480}.f8{--c:#2A1720}
@media (max-width:900px){.sk-shelf{grid-template-columns:1fr 1fr}}

/* честный счёт */
.sk-score{display:flex;gap:20px;align-items:center;background:var(--surface);border-radius:var(--r);padding:24px 28px}
.sk-score b{font-size:clamp(48px,6vw,84px);line-height:1;font-weight:600;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.sk-score b span{font-size:.38em}
.sk-score p{font-size:17px}
@media (max-width:520px){.sk-score{flex-direction:column;align-items:flex-start}}
.sk-desk{justify-items:start;padding-left:7%}.sk-out{align-items:flex-end;padding-right:7%}
.sk-raw{width:40%}.sk-flat{width:38%}.sk-out .sk-chip{max-width:46%;text-align:center}
.sk-thumb{left:30%;right:auto}
@media (max-width:640px){.sk-raw{width:42%}.sk-flat{width:40%}}
.sk-cmp .bubble{max-width:42%}
.sk-sheet[data-mode="bw"]{filter:grayscale(1) contrast(1.8)}.sk-sheet[data-mode="bw"] i{opacity:.6;background:#000}.sk-sheet[data-mode="bw"] .sk-tbl,.sk-sheet[data-mode="bw"] .sk-tbl span{border-color:#000}

/* «Попробуйте сами: поставьте углы» */
.sk-try{background:var(--surface);border-radius:var(--r);padding:clamp(16px,2.4vw,32px)}
.sk-tstage{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;touch-action:none;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.09) 0 2px,transparent 2px 21%),radial-gradient(120% 90% at 30% 20%,#8a6a55,#5a4234 60%,#3d2c23)}
.sk-tsvg{position:absolute;inset:0;width:100%;height:100%}
.sk-tsvg .pap{fill:#E9DEC9}.sk-tsvg .shd{fill:rgba(20,8,0,.35);filter:blur(1.2px)}
.sk-tsvg .ln{stroke:#9b8f8a;stroke-width:.9;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sk-tsvg .ttl{stroke:#3a2f2c;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sk-tsvg .sig{fill:none;stroke:#2f47b8;stroke-width:1.4;vector-effect:non-scaling-stroke}
.sk-tsvg .frm{fill:rgba(255,93,134,.14);stroke:#FF5D86;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .3s}
.sk-try.ok .sk-tsvg .frm{fill:rgba(255,93,134,.24)}
.sk-h{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:3px solid #fff;background:rgba(226,58,106,.85);box-shadow:0 2px 10px rgba(0,0,0,.45);cursor:grab;touch-action:none;padding:0;transition:left .5s var(--ease),top .5s var(--ease),transform .2s}
.sk-h.drag{transition:none;transform:scale(1.25);cursor:grabbing}
.sk-h:focus-visible{outline:3px solid #fff;outline-offset:3px}
.sk-try.ok .sk-h{background:#3F9B5B}
.sk-tflat{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface);animation:skflat .55s var(--ease)}
.sk-tflat[hidden]{display:none}
.sk-tflat .sk-flat{width:min(240px,46%)}
@keyframes skflat{from{opacity:0;transform:scale(.92) rotate(-3deg)}to{opacity:1;transform:none}}
.sk-tbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.sk-tb{font:inherit;font-size:15px;font-weight:600;border:0;border-radius:999px;padding:11px 18px;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(42,23,32,.12)}
.sk-tb.on{background:var(--btn-grad);color:#fff;box-shadow:none}
.sk-tb:disabled{opacity:.4;cursor:default}
.sk-tb:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.sk-h,.sk-tflat{transition:none;animation:none}}
@media (max-width:640px){.sk-lx{display:none}.sk-out .sk-chip{max-width:62%}.sk-paper p em{font-size:9px}.sk-paper p{font-size:6px}}
/* истории: каждый модуль можно подключить отдельно (27.10.2026) */
.sh-solo{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--surface);font-size:16px;line-height:1.4;color:var(--ink)}
.sh-solo::before{content:"Отдельно";display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
/* галочки — каждая по-своему (27.10.2026): 1-я — прыжок с кольцом (как было), 2-я — влетает с вращением и двойной волной, 3-я — падает сверху, сплющивается, искры */
.flow .fc-p{--tk:rgba(255,255,255,.9);--tk0:rgba(255,255,255,0)}
.flow .fc.glass .fc-p{--tk:#B8408F;--tk0:rgba(184,64,143,0)}
.flow .fc.done .fc-p i:nth-child(2)::after{animation-name:fcspin;animation-duration:.9s;animation-timing-function:cubic-bezier(.2,.8,.3,1)}
.flow .fc.done .fc-p i:nth-child(2)::before{animation-name:fcwave!important;animation-duration:1.1s!important;animation-delay:2.15s!important}
.flow .fc.done .fc-p i:nth-child(3)::after{animation-name:fcdrop;animation-duration:.85s;animation-timing-function:linear}
.flow .fc.done .fc-p i:nth-child(3)::before{animation-name:fcspark!important;animation-duration:.8s!important;animation-delay:3.45s!important}
@keyframes fcspin{0%{scale:.2;rotate:-220deg;opacity:0}55%{scale:1.25;rotate:18deg;opacity:1}75%{scale:.92;rotate:-6deg}100%{scale:1;rotate:0deg;opacity:1}}
@keyframes fcwave{0%{box-shadow:inset 0 0 0 1.5px var(--tk),0 0 0 0 var(--tk),0 0 0 0 var(--tk)}60%{box-shadow:inset 0 0 0 1.5px var(--tk),0 0 0 6px var(--tk0),0 0 0 2px var(--tk)}100%{box-shadow:inset 0 0 0 1.5px var(--tk),0 0 0 10px var(--tk0),0 0 0 9px var(--tk0)}}
@keyframes fcdrop{0%{translate:0 -18px;scale:1.3;opacity:0}40%{translate:0 2px;scale:1.25 .7;opacity:1}58%{translate:0 -4px;scale:.9 1.12}76%{translate:0 0;scale:1.06 .95}90%{scale:.98 1.02}100%{translate:0 0;scale:1;opacity:1}}
@keyframes fcspark{0%{box-shadow:inset 0 0 0 1.5px var(--tk),0 0 0 -2px var(--tk),0 0 0 -2px var(--tk),0 0 0 -2px var(--tk),0 0 0 -2px var(--tk)}
  45%{box-shadow:inset 0 0 0 1.5px var(--tk),-9px -8px 0 -3px var(--tk),9px -8px 0 -3px var(--tk),-10px 6px 0 -3px var(--tk),10px 6px 0 -3px var(--tk)}
  100%{box-shadow:inset 0 0 0 1.5px var(--tk),-14px -12px 0 -5px var(--tk0),14px -12px 0 -5px var(--tk0),-15px 9px 0 -5px var(--tk0),15px 9px 0 -5px var(--tk0)}}
@media (prefers-reduced-motion:reduce){.flow .fc.done .fc-p i::after,.flow .fc.done .fc-p i::before{animation:none!important}}
/* плашки «Скоро» и «Бета» — из реестра config.json → status (27.10.2026) */
.badge{display:inline-block;vertical-align:.2em;margin:0 .35em;padding:3px 9px 2px;border-radius:999px;font:700 11px/1.3 inherit;font-family:inherit;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;-webkit-text-fill-color:currentColor}
.badge.b-soon{background:#FCE7F0;color:#A81E4F;box-shadow:inset 0 0 0 1px rgba(194,37,92,.25)}
.badge.b-beta{background:#DDF1EC;color:#0F6E63;box-shadow:inset 0 0 0 1px rgba(22,137,124,.3)}
h1 .badge,h2 .badge{font-size:clamp(12px,.3em,18px);vertical-align:.35em;padding:4px 11px 3px}
li>.badge:first-child{margin-left:0}
.on-dark .badge.b-soon{background:rgba(255,255,255,.14);color:#FFD3E3;box-shadow:inset 0 0 0 1px rgba(255,211,227,.35)}
/* айфон: приглашение справа от «＋ Добавить модуль» — надпись наискосок и рисованная стрелка (27.10.2026) */
.add-hint{position:relative;align-self:stretch;min-height:110px;color:#B8408F;pointer-events:none}
.add-hint[hidden]{display:none}
.add-hint b{position:absolute;right:14px;top:4px;font-size:13px;line-height:1.15;font-weight:700;text-align:right;letter-spacing:-.01em;rotate:-9deg;transform-origin:100% 0;animation:ahin .6s .6s cubic-bezier(.3,1.5,.5,1) backwards}
.add-hint svg{position:absolute;left:-14px;right:6px;bottom:6px;width:calc(100% + 8px);height:62%;overflow:visible}
.add-hint .ah-l{stroke-dasharray:150;stroke-dashoffset:150;animation:ahdraw .9s 1s ease-out forwards}
.add-hint .ah-h{stroke-dasharray:40;stroke-dashoffset:40;animation:ahdraw .3s 1.85s ease-out forwards}
.add-hint svg{animation:ahbob 2.4s 2.3s ease-in-out infinite}
@keyframes ahdraw{to{stroke-dashoffset:0}}
@keyframes ahin{from{opacity:0;scale:.6}}
@keyframes ahbob{0%,100%{translate:0 0}50%{translate:-5px 2px}}
@media (prefers-reduced-motion:reduce){.add-hint b,.add-hint svg,.add-hint .ah-l,.add-hint .ah-h{animation:none;stroke-dashoffset:0}}
/* после кубика — пустоты вдвое меньше: блок «Безопасность» подтянут наверх на пустую нижнюю часть сцены (27.10.2026) */
section[aria-labelledby="safe-h"]{margin-top:-30vh;position:relative;z-index:1} /* телефон: от кубика до заголовка ≈ полэкрана */
@media (min-width:901px){section[aria-labelledby="safe-h"]{margin-top:-42vh}}
/* айфон прилип к странице: плитки внутри листает только прокрутка страницы (скрипт), своей прокрутки у списка нет —
   иначе палец на айфоне листал список сам, а скрипт возвращал его к прокрутке страницы, и плитки прыгали вверх-вниз (27.10.2026) */
html:not(.ph-on) .ph-track.on [data-tiles]{overflow:hidden} /* без overscroll-behavior:none: иначе колесо мыши над айфоном «гасло» и страница не листалась (28.10.2026) */
/* айфон: только что добавленный модуль — рамка «Что решает» внизу экрана (27.10.2026) */
.dm-solve{margin:14px 0 4px;padding:12px 14px 10px;border-radius:14px;background:linear-gradient(160deg,#fff,#fbf1f6);box-shadow:inset 0 0 0 1.5px rgba(184,64,143,.35);animation:dmsolve .5s .25s cubic-bezier(.3,1.4,.5,1) backwards}
.dm-solve small{display:block;font-size:11px;font-weight:600;color:#3F6B45;margin-bottom:2px}
.dm-solve b{display:block;font-size:14px;margin-bottom:6px;color:var(--ink)}
.dm-solve ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.dm-solve li{position:relative;padding-left:18px;font-size:12.5px;line-height:1.3;color:var(--ink)}
.dm-solve li::before{content:"✓";position:absolute;left:0;top:0;font-weight:800;color:#B8408F}
.dm-solve .badge{font-size:9px;padding:2px 6px 1px;margin:0 4px 0 0;vertical-align:.1em}
@keyframes dmsolve{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){.dm-solve{animation:none}}
/* «Создать портал бесплатно» под айфоном: больше воздуха и объёмная кнопка (27.10.2026) — как клавиша: глянец сверху, «толщина» снизу, круглая стрелка справа, блик пробегает */
.pick{margin-top:clamp(36px,5vw,64px)}
.pick-go{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:14px;min-height:64px;padding:10px 10px 10px 26px;border-radius:999px;font-size:18px;letter-spacing:-.01em;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 48%),var(--btn-grad)!important;
  box-shadow:0 6px 0 #8f1a45,0 18px 30px -12px rgba(194,37,92,.75),inset 0 1px 0 rgba(255,255,255,.45)!important;transform:translateY(0);transition:transform .15s ease,box-shadow .15s ease}
.pick-go .pg-t{flex:1;text-align:center}
.pick-go .pg-ar{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#C2255C;box-shadow:0 3px 8px -2px rgba(90,10,40,.45);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.pick-go .pg-ar svg{width:22px;height:22px}
.pick-go::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);animation:pgshine 3.8s 1.2s ease-in-out infinite;pointer-events:none}
.pick-go:hover{transform:translateY(-2px);box-shadow:0 8px 0 #8f1a45,0 22px 34px -12px rgba(194,37,92,.8),inset 0 1px 0 rgba(255,255,255,.45)!important}
.pick-go:hover .pg-ar{transform:translateX(3px) rotate(-8deg)}
.pick-go:active{transform:translateY(5px);box-shadow:0 1px 0 #8f1a45,0 8px 16px -10px rgba(194,37,92,.7),inset 0 1px 0 rgba(255,255,255,.3)!important}
@keyframes pgshine{0%,60%{left:-40%}85%,100%{left:120%}}
@media (prefers-reduced-motion:reduce){.pick-go::after{animation:none;display:none}}
/* «Создать портал бесплатно» — как разблокировка iPhone (27.10.2026): кружок слева, протащить вправо — переход; просто нажать — тоже переход */
.pick-go[data-slide]{justify-content:flex-start;padding:10px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.pick-go[data-slide]::after{display:none}
.pick-go[data-slide] .pg-ar{order:-1;position:relative;z-index:2;cursor:grab;transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.pick-go[data-slide].drag .pg-ar{transition:none;cursor:grabbing}
.pick-go[data-slide] .pg-t{position:relative;z-index:1;padding-right:44px;background:linear-gradient(90deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.62) 40%,#fff 50%,rgba(255,255,255,.62) 60%,rgba(255,255,255,.62) 100%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:pgslide 2.6s linear infinite;transition:opacity .2s}
.pick-go[data-slide].drag .pg-t{opacity:calc(1 - var(--k,0) * 1.4)}
.pick-go[data-slide] .pg-fill{position:absolute;left:6px;top:6px;bottom:6px;width:calc(52px + var(--d,0px));border-radius:999px;background:rgba(255,255,255,.22);z-index:0;transition:width .35s cubic-bezier(.3,1.5,.5,1)}
.pick-go[data-slide].drag .pg-fill{transition:none}
.pick-go[data-slide].done .pg-ar{background:#3F9B5B;color:#fff}
.pick-go[data-slide]:hover .pg-ar{transform:translateX(var(--d,0px))}
.pick-go[data-slide] .pg-ar{transform:translateX(var(--d,0px))}
@keyframes pgslide{from{background-position:100% 0}to{background-position:-50% 0}}
@media (prefers-reduced-motion:reduce){.pick-go[data-slide] .pg-t{animation:none;color:#fff;-webkit-text-fill-color:#fff;background:none}}
/* «+» нырнул в кубик — заметнее (27.10.2026): кубик подпрыгивает, волна крупнее и дольше, вторая волна следом */
.plus-boom.go{animation:boom2 1.5s cubic-bezier(.15,.8,.2,1)}
.plus-boom.go::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #B8408F;animation:boom2 1.5s .25s cubic-bezier(.15,.8,.2,1) backwards}
@keyframes boom2{0%{opacity:1;transform:scale(.25)}60%{opacity:.5}100%{opacity:0;transform:scale(2.6)}}
.cube-wrap.land{animation:cubeland .9s cubic-bezier(.3,1.5,.5,1)}
@keyframes cubeland{0%{scale:1}22%{scale:.86}55%{scale:1.16}78%{scale:.97}100%{scale:1}}
@media (prefers-reduced-motion:reduce){.cube-wrap.land,.plus-boom.go,.plus-boom.go::after{animation:none}}
/* «Модули»: все модули на одном экране — плитки по группам слева, полное описание справа (27.10.2026) */
.mx{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:36px;align-items:start}
.mx-list{display:flex;flex-direction:column;gap:18px}
.mx-g small{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px 2px}
.mx-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.mx-c{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px 6px 6px;border:0;border-radius:14px;background:var(--surface);font:inherit;font-size:15px;font-weight:600;line-height:1.2;color:var(--ink);text-align:left;cursor:pointer;transition:background .2s,color .2s,transform .15s}
.mx-c i{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff;color:#B8408F;box-shadow:inset 0 0 0 1px rgba(184,64,143,.15)}
.mx-c i svg{width:20px;height:20px}
.mx-c .badge{font-size:9px;padding:2px 6px 1px;margin:0 0 0 6px;vertical-align:.15em}
.mx-c:hover{background:#F1E1E9}.mx-c:active{transform:scale(.97)}
.mx-c[aria-pressed="true"]{background:var(--grad);color:#fff;box-shadow:0 10px 22px -14px rgba(184,64,143,.9)}
.mx-c[aria-pressed="true"] i{background:rgba(255,255,255,.22);color:#fff;box-shadow:none}
.mx-c:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.mx-panel{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;border-radius:var(--r);background:var(--paper);box-shadow:0 20px 50px -30px rgba(42,23,32,.35),inset 0 0 0 1px rgba(42,23,32,.06);padding:clamp(20px,2.4vw,32px)}
.mx-panel.in .mx-in{animation:mxin .35s var(--ease)}
@keyframes mxin{from{opacity:0;transform:translateY(8px)}}
.mx-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--grad);color:#fff;margin-bottom:14px}
.mx-ic svg{width:28px;height:28px}
.mx-in h3{font-size:clamp(22px,1rem + .9vw,30px);margin-bottom:8px}
.mx-in .sh-lead{color:var(--muted);font-size:17px;margin-bottom:16px}
.mx-in ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mx-in li{position:relative;padding-left:28px;font-size:16px;line-height:1.4}
.mx-in li::before{content:"✓";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:#FCE7F0;color:#B8408F;font-size:11px;font-weight:800;display:grid;place-items:center}
.mx-in .sh-solo{margin-top:18px}
.mx-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(42,23,32,.08)}
.mx-nav button{border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:#B8408F;cursor:pointer;padding:6px 0}
@media (max-width:900px){.mx{grid-template-columns:1fr}.mx-panel{display:none}.mx-row{grid-template-columns:1fr 1fr}.mx-c{font-size:14px;min-height:46px}}
@media (prefers-reduced-motion:reduce){.mx-panel.in .mx-in{animation:none}}
/* «Модули» на телефоне: три колонки, значок сверху — все модули на одном экране */
@media (max-width:900px){
  .mx-list{gap:12px}.mx-g small{margin-bottom:6px}
  .mx-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .mx-c{flex-direction:column;justify-content:flex-start;gap:5px;min-height:0;padding:9px 4px 8px;border-radius:13px;font-size:11.5px;font-weight:600;text-align:center;line-height:1.15}
  .mx-c i{width:32px;height:32px;border-radius:9px}.mx-c i svg{width:18px;height:18px}
  .mx-c span{display:flex;flex-direction:column;align-items:center;gap:3px}.mx-c .badge{margin:0}
}
@media (max-width:900px){
  .mx-list{gap:10px}
  .mx-c{position:relative;padding:7px 3px 6px;gap:4px;font-size:11px}
  .mx-c i{width:28px;height:28px;border-radius:8px}.mx-c i svg{width:16px;height:16px}
  .mx-c .badge{position:absolute;top:4px;right:4px;font-size:7.5px;padding:1px 4px 0;letter-spacing:.04em}
}
/* «Сканер — отдельной иконкой»: кусочек экрана «Домой» с двумя иконками (27.10.2026) */
.sk-home{background:var(--paper);border-radius:var(--r);padding:clamp(18px,2.4vw,28px)}
.sk-hs{display:grid;grid-template-columns:repeat(4,64px);gap:18px;justify-content:start;padding:18px;border-radius:22px;background:linear-gradient(160deg,#2a1240,#5b2f8f 60%,#9b6fe0);margin-bottom:18px}
.sk-app{display:flex;flex-direction:column;align-items:center;gap:6px}
.sk-app i{position:relative;width:60px;height:60px;border-radius:15px;box-shadow:0 6px 14px -6px rgba(0,0,0,.5)}
.sk-app b{font-size:11px;font-weight:500;color:#fff}
.sk-app.p i{background:linear-gradient(135deg,#d9c9cf 0 50%,#c2255c 50%)}
.sk-app.s i{background:linear-gradient(150deg,#c2255c,#6e3fb8);animation:skpop 2.6s 1s ease-in-out infinite}
.sk-app.s i::before{content:"";position:absolute;left:18px;top:14px;width:24px;height:32px;border-radius:3px;background:#fff}
.sk-app.s i::after{content:"";position:absolute;inset:9px 12px;border:2.5px solid rgba(255,255,255,.85);border-radius:4px;-webkit-mask:linear-gradient(#000 0 0) top left/9px 9px no-repeat,linear-gradient(#000 0 0) top right/9px 9px no-repeat,linear-gradient(#000 0 0) bottom left/9px 9px no-repeat,linear-gradient(#000 0 0) bottom right/9px 9px no-repeat;mask:linear-gradient(#000 0 0) top left/9px 9px no-repeat,linear-gradient(#000 0 0) top right/9px 9px no-repeat,linear-gradient(#000 0 0) bottom left/9px 9px no-repeat,linear-gradient(#000 0 0) bottom right/9px 9px no-repeat}
.sk-app.g{width:60px;height:60px;border-radius:15px;background:rgba(255,255,255,.14)}
@keyframes skpop{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.1)}90%{transform:scale(.97)}}
.sk-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.45}
@media (max-width:520px){.sk-hs{grid-template-columns:repeat(4,1fr);gap:10px;padding:14px}.sk-app i,.sk-app.g{width:52px;height:52px;border-radius:13px}.sk-app.s i::before{left:15px;top:12px;width:22px;height:28px}}
@media (prefers-reduced-motion:reduce){.sk-app.s i{animation:none}}
/* «Модули»: список модулей — первым экраном (27.10.2026) */
.mx-top{padding-top:clamp(28px,4vw,56px)}
.mx-top h1{font-size:clamp(34px,1rem + 2.6vw,56px)}
.int-st.soon{background:#FCE7F0;color:#A81E4F}

/* «Счета в банк» и «Чеки по QR»: живые примеры на первом экране (27.10.2026) */
.bl-demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;background:var(--surface);border-radius:var(--r);padding:clamp(14px,2vw,22px)}
.bl-paper{position:relative;overflow:hidden;background:#fff;border-radius:6px;padding:16px 14px;display:flex;flex-direction:column;gap:6px;box-shadow:0 10px 26px -14px rgba(42,23,32,.4);rotate:-2deg}
.bl-paper b{font-size:13px;letter-spacing:.04em}.bl-paper small{font-size:10px;color:var(--muted);margin-bottom:4px}
.bl-paper i{display:block;height:4px;border-radius:2px;background:#E5DCE0}.bl-paper i.s{width:60%}
.bl-tbl{display:grid;grid-template-columns:2fr 1fr 1fr;border:1px solid #D9CFD3;margin:4px 0}.bl-tbl span{height:12px;border:1px solid #EEE6EA}
.bl-paper p{display:flex;justify-content:space-between;margin:2px 0 0;font-size:11px;font-weight:700}
.bl-qr{width:46px;height:46px;margin-top:6px;background:conic-gradient(#2A1720 0 25%,#fff 0 50%,#2A1720 0 75%,#fff 0) 0 0/12px 12px;border:3px solid #2A1720;border-radius:3px}
.bl-scan{position:absolute;left:0;right:0;top:-20%;height:18%;background:linear-gradient(180deg,transparent,rgba(194,37,92,.28),transparent);opacity:0}
[data-bill].run .bl-scan{animation:blscan 1.1s ease-in-out 2}
@keyframes blscan{0%{top:-20%;opacity:1}100%{top:100%;opacity:1}}
.bl-side{display:flex;flex-direction:column;gap:10px}
.bl-f{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bl-f li{background:#fff;border-radius:10px;padding:7px 10px;box-shadow:inset 0 0 0 1px rgba(42,23,32,.06);opacity:.35;transition:opacity .3s,box-shadow .3s}
.bl-f li small{display:block;font-size:11px;color:var(--muted)}.bl-f li b{font-size:13.5px;filter:blur(3px);transition:filter .35s}
.bl-f li.on{opacity:1;box-shadow:inset 0 0 0 1.5px rgba(63,155,91,.5)}.bl-f li.on b{filter:none}
.bl-f li.on small::after{content:" ✓";color:#3F9B5B;font-weight:800}
.bl-go{margin-top:auto;font:inherit;font-size:15px;font-weight:700;border:0;border-radius:999px;padding:12px 18px;color:#fff;background:var(--btn-grad);cursor:pointer;box-shadow:0 4px 0 #8f1a45;transition:transform .12s,box-shadow .12s}
.bl-go:active{transform:translateY(3px);box-shadow:0 1px 0 #8f1a45}
.bl-go:disabled{opacity:.6;cursor:default}
.bl-st{font-size:13px;color:var(--muted);margin:0;min-height:2.6em}
.bl-st b{color:#3F6B45}
@media (max-width:640px){.bl-demo{grid-template-columns:1fr}.bl-paper{max-width:240px;justify-self:center}}

.qr-demo{display:flex;flex-direction:column;gap:14px;background:var(--surface);border-radius:var(--r);padding:clamp(14px,2vw,22px)}
.qr-cam{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(120% 90% at 40% 30%,#4a3a42,#24171d)}
.qr-rc{position:relative;width:46%;background:#F4F1EA;padding:12px 10px 14px;display:flex;flex-direction:column;gap:5px;rotate:4deg;box-shadow:0 10px 24px rgba(0,0,0,.45);clip-path:polygon(0 0,100% 0,100% 96%,92% 100%,84% 96%,76% 100%,68% 96%,60% 100%,52% 96%,44% 100%,36% 96%,28% 100%,20% 96%,12% 100%,4% 96%,0 100%)}
.qr-rc b{font-size:11px;text-align:center;letter-spacing:.1em}.qr-rc small{font-size:8px;text-align:center;color:#7A6870}
.qr-rc i{display:block;height:3px;background:#CFC6BC;border-radius:2px}.qr-rc i.s{width:55%}
.qr-rc p{display:flex;justify-content:space-between;margin:2px 0;font-size:10px;font-weight:800}
.qr-code{align-self:center;width:54px;height:54px;background:conic-gradient(#222 0 25%,#F4F1EA 0 50%,#222 0 75%,#F4F1EA 0) 0 0/9px 9px;border:3px solid #222}
.qr-frame{position:absolute;width:38%;aspect-ratio:1;border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.35);border:3px solid #fff;top:50%;left:50%;translate:-50% -30%;transition:border-color .3s}
.qr-line{position:absolute;left:31%;right:31%;height:2px;background:#FF5D86;box-shadow:0 0 12px #FF5D86;top:40%;opacity:0}
[data-rcpt].run .qr-line{animation:qrline .7s ease-in-out 3 alternate;opacity:1}
[data-rcpt].got .qr-frame{border-color:#3F9B5B}
@keyframes qrline{from{top:42%}to{top:72%}}
.qr-res{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:inset 0 0 0 1.5px rgba(63,155,91,.45);animation:mxin .4s var(--ease)}
.qr-res[hidden]{display:none}
.qr-ok{grid-row:span 3;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#3F9B5B;color:#fff;font-weight:800}
.qr-res b{font-size:16px}.qr-res small{font-size:12.5px;color:var(--muted)}
.qr-st{justify-self:start;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:#FDEFD8;color:#9A5A12}
.qr-st.ok{background:#DDF1E3;color:#2F6B3E}
.qr-cards{background:var(--surface);border-radius:var(--r);padding:14px}
.qr-ch,.qr-cr{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:8px;align-items:center;font-size:14px}
.qr-ch{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 10px 6px}
.qr-cr{background:#fff;border-radius:12px;padding:10px;margin-top:6px;font-variant-numeric:tabular-nums}
.qr-cr small{display:block;font-size:11.5px;color:var(--muted)}
.qr-cr .no{color:#A81E4F;font-weight:700}.qr-cr .ok{color:#2F6B3E;font-weight:700}
@media (prefers-reduced-motion:reduce){[data-bill].run .bl-scan,[data-rcpt].run .qr-line,.qr-res{animation:none}}

/* меню «Сервисы» — выпадающий список сервисов (27.10.2026) */
.nav-dd{position:relative}
.nav-dd-b{display:inline-flex;align-items:center;gap:4px;border:0;background:none;font:inherit;color:var(--ink);cursor:pointer;padding:8px 14px;border-radius:999px;line-height:1.2;white-space:nowrap}
.nav-dd-b svg{width:14px;height:14px;transition:transform .2s}
.nav-dd.open .nav-dd-b svg{transform:rotate(180deg)}
.nav-ddp{display:none}
.nav-dd.open .nav-ddp{display:grid}
.nav-ddh{grid-column:1/-1;margin:0 0 4px;padding:4px 8px 6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nav-ddp a{display:flex!important;align-items:center;gap:12px;padding:10px 12px!important;border-radius:14px!important;text-decoration:none;color:var(--ink);white-space:normal!important;box-shadow:none!important;background:none}
.nav-ddp a i{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff}
.nav-ddp a i svg{width:21px;height:21px}
.nav-ddp a b{display:block;font-size:15px;font-weight:600}.nav-ddp a small{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.nav-ddp a .badge{font-size:9px;padding:2px 6px 1px;margin-left:4px}
.nav-ddp a:hover{background:#F6EEF2!important}
.nav-ddp a[aria-current]{background:#FBEFF4!important}
@media (min-width:1101px){
  .nav-dd-b:hover{background:rgba(184,64,143,.08)}
  .nav-dd.open .nav-dd-b,.nav-dd.cur .nav-dd-b{background:#fff;box-shadow:0 1px 2px rgba(42,23,32,.12),0 4px 12px -6px rgba(184,64,143,.45)}
  .nav-ddp{position:absolute;top:calc(100% + 12px);left:50%;translate:-50% 0;z-index:40;width:min(620px,92vw);grid-template-columns:1fr 1fr;gap:2px;padding:12px;border-radius:22px;
    background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);box-shadow:0 24px 60px -24px rgba(42,23,32,.45),inset 0 0 0 1px rgba(42,23,32,.06)}
  .nav-dd.open .nav-ddp{animation:ddin .2s var(--ease)}
}
@keyframes ddin{from{opacity:0;transform:translateY(-6px)}}
@media (max-width:1100px){
  .nav-dd-b{width:100%;justify-content:space-between;padding:13px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(42,23,32,.07);font-size:var(--body);font-weight:500}
  .nav-ddp{grid-template-columns:1fr;gap:4px;padding:6px 0 4px}
  .nav-ddp a{background:#fff!important;box-shadow:inset 0 0 0 1px rgba(42,23,32,.05)!important}
  .nav-ddh{display:none}
}
@media (prefers-reduced-motion:reduce){.nav-dd.open .nav-ddp{animation:none}}
.sh-more-link{display:inline-block;margin-top:14px;font-weight:700;color:#B8408F;text-decoration:none;border-bottom:1.5px solid rgba(184,64,143,.3)}
.sh-more-link:hover{border-bottom-color:#B8408F}
@media (min-width:1101px){.nav-ddp{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
.on-surface .mx-c{background:#fff;box-shadow:0 1px 2px rgba(42,23,32,.05)}.on-surface .mx-c:hover{background:#FBF3F7}.on-surface .mx-c i{background:#F6EEF2;box-shadow:none}.on-surface .mx-c[aria-pressed="true"] i{background:rgba(255,255,255,.22)}
.on-surface .mx-c[aria-pressed="true"]{background:var(--grad);color:#fff}
/* «Счета в банк»: цепочка согласования (27.10.2026) */
.bl-chain{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--surface);border-radius:var(--r);padding:14px}
.bl-chain span{flex:1 1 120px;background:#fff;border-radius:12px;padding:10px 12px;box-shadow:inset 0 0 0 1px rgba(42,23,32,.06)}
.bl-chain span b{display:block;font-size:14px}.bl-chain span small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.bl-chain span.on{background:var(--grad);color:#fff}.bl-chain span.on small{color:rgba(255,255,255,.85)}
.bl-chain i{flex:none;width:14px;height:2px;background:#B8408F;position:relative}.bl-chain i::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:#B8408F;border-right:0}
@media (max-width:640px){.bl-chain{flex-direction:column;align-items:stretch}.bl-chain i{width:2px;height:12px;align-self:center}.bl-chain i::after{right:-4px;top:auto;bottom:-6px;border:5px solid transparent;border-top-color:#B8408F;border-bottom:0}}
@media (max-width:640px){.bl-chain span{flex:none}}
/* названия групп модулей — чуть ярче: малиновым, с чертой (27.10.2026) */
.mx-g small{display:flex;align-items:center;gap:8px;font-size:13px;color:#B8408F;letter-spacing:.09em;margin-bottom:10px}
.mx-g small::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--grad)}
@media (max-width:900px){.mx-g small{font-size:12px;margin-bottom:7px}}
/* описание модуля — во всю длину, без своей прокрутки (27.10.2026) */
.mx-panel{position:static;max-height:none;overflow:visible}
.bl-howto{background:var(--surface);border-radius:var(--r);padding:18px 20px}
.bl-howto b{display:block;font-size:16px;margin-bottom:8px}
.bl-howto ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.45}
/* «Юридическая помощь»: с чем помогаем — плитками (27.10.2026) */
.lg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:36px}
.lg-grid>div{border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;min-height:170px}
.lg-grid h3{font-size:20px}.lg-grid p{font-size:15.5px}
@media (max-width:900px){.lg-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.lg-grid{grid-template-columns:1fr}}
/* «Тарифы»: три карточки бесплатных периодов (27.10.2026) */
.tr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tr-c{display:flex;flex-direction:column;gap:12px;background:var(--surface);border-radius:var(--r);padding:clamp(20px,2.4vw,30px)}
.tr-c small{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#B8408F}
.tr-c h2{font-size:clamp(28px,1rem + 1.6vw,40px)}
.tr-p{font-size:clamp(40px,1.4rem + 2vw,64px);font-weight:700;letter-spacing:-.03em;line-height:1}
.tr-c ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:16px}
.tr-c li{position:relative;padding-left:24px}.tr-c li::before{content:"✓";position:absolute;left:0;color:#B8408F;font-weight:800}
.tr-c .btn,.tr-c .link{margin-top:auto;align-self:flex-start}
.tr-c.on{background:var(--grad);color:#fff;box-shadow:0 24px 50px -24px rgba(184,64,143,.8)}
.tr-c.on small,.tr-c.on li::before{color:#fff}
.tr-c.on .btn{background:#fff!important;color:#B8408F;box-shadow:0 8px 20px -10px rgba(0,0,0,.4)!important}
@media (max-width:900px){.tr-grid{grid-template-columns:1fr}}
.tr-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px}@media (max-width:900px){.tr-grid{grid-template-columns:1fr}}
/* «Юридическая помощь»: плитки сразу на первом экране и «живые» — переливающаяся рамка, плавающий значок, блик при наведении (27.10.2026) */
.lg-hero{padding-bottom:clamp(40px,5vw,72px)}
.lg-hero .lg-grid{margin-top:28px}
@property --lga{syntax:'<angle>';inherits:false;initial-value:0deg}
.lg-t{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r);padding:22px;min-height:180px;display:flex;flex-direction:column;gap:10px;background:#fff;
  box-shadow:0 14px 34px -24px rgba(90,23,50,.45);transition:transform .35s var(--ease),box-shadow .35s var(--ease);animation:lgin .6s var(--ease) both;animation-delay:var(--d,0ms)}
.lg-t::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;z-index:-1;
  background:conic-gradient(from var(--lga),#7B52D6,#B8408F,#FF5D86,#F2A07B,#7B52D6);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:lgspin 6s linear infinite;animation-delay:calc(var(--d,0ms) * -9)}
.lg-t::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-18deg);transition:left .8s var(--ease)}
.lg-t:hover{transform:translateY(-4px);box-shadow:0 24px 44px -24px rgba(184,64,143,.6)}
.lg-t:hover::after{left:130%}
.lg-i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;background:linear-gradient(140deg,#7B52D6,#B8408F 55%,#FF5D86);background-size:200% 200%;animation:lgflo 5s ease-in-out infinite,lggrad 8s ease infinite;animation-delay:calc(var(--d,0ms) * 3)}
.lg-i svg{width:24px;height:24px}
.lg-t h3{font-size:19px}.lg-t p{font-size:15px;color:var(--muted)}
@keyframes lgspin{to{--lga:360deg}}
@keyframes lgflo{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes lggrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes lgin{from{opacity:0;transform:translateY(14px) scale(.98)}}
.lg-cons{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:14px;font-size:16.5px;line-height:1.5}
@media (prefers-reduced-motion:reduce){.lg-t,.lg-t::before,.lg-i{animation:none}.lg-t::after{display:none}}
/* «в подписке» — выделено: градиентная плашка-маркер (27.10.2026) */
.lg-sub{display:inline-block;padding:0 .25em;border-radius:.18em;color:#fff;background:var(--btn-grad);box-decoration-break:clone;-webkit-box-decoration-break:clone;line-height:1.15}
li .lg-sub{padding:0 .3em;font-weight:800}
.tr-staff{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:18px 22px;border-radius:var(--r);background:#fff;box-shadow:inset 0 0 0 1.5px rgba(184,64,143,.35),0 14px 30px -22px rgba(184,64,143,.6);max-width:980px}
.tr-staff b{font-size:clamp(18px,1rem + .4vw,22px);color:#B8408F}.tr-staff span{font-size:16px}
/* «Контент-завод» на главной — пример интерфейса (27.10.2026) */
.cf{background:#fff;color:var(--ink);border-radius:22px;padding:14px;box-shadow:0 30px 60px -30px rgba(42,23,32,.35);display:flex;flex-direction:column;gap:12px}
.cf-tabs{display:flex;gap:6px;flex-wrap:wrap}.cf-tabs span{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--surface);color:var(--muted)}.cf-tabs .on{background:var(--grad);color:#fff}
.cf-folders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cf-f{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:14px;background:var(--surface);border-top:3px solid var(--c)}
.cf-f b{font-size:13px}.cf-f span{font-size:12px;color:var(--muted)}.cf-f em{font-style:normal;font-size:20px;font-weight:700;color:var(--ink);margin-right:3px}
.cf-f i{height:4px;border-radius:2px;background:#fff;position:relative;overflow:hidden}.cf-f i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--ok)}
.cf-f small{font-size:11px;color:var(--muted)}
.cf-rules{display:flex;flex-direction:column;gap:6px}
.cf-r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border-radius:12px;border:1.5px solid rgba(184,64,143,.14);font-size:12px}
.cf-ch{font-weight:700;padding:3px 8px;border-radius:999px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff)}
.cf-src{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-days{display:flex;gap:4px;align-items:center}.cf-days b{font-size:11px;padding:2px 6px;border-radius:6px;background:var(--ok-bg);color:var(--ok)}.cf-days span{font-weight:700}
@media (max-width:560px){.cf-r{grid-template-columns:auto minmax(0,1fr)}.cf-days{grid-column:1/-1}}

/* «Безопасность» (27.10.2026): плитки-ссылки, таблицы уровней, «Простым языком» внизу — как в портале (func/web/security.html) */
.sec-tiles a.sf-card{text-decoration:none;color:inherit;transition:box-shadow .2s,translate .2s}
.sec-tiles a.sf-card:hover{box-shadow:0 10px 28px -14px rgba(184,64,143,.55);translate:0 -2px}
.sec-tiles a.sf-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sec-how{color:var(--muted)}
.sec-sub{font-size:24px;margin:56px 0 20px}
[id]{scroll-margin-top:96px}
.sec-tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sec-tbl table{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;background:var(--paper);border-radius:var(--r);overflow:hidden;font-size:16px;line-height:1.45}
.sec-tbl caption{text-align:left;font-weight:600;font-size:20px;padding:0 0 12px}
.sec-tbl th,.sec-tbl td{text-align:left;vertical-align:top;padding:14px 18px;border-top:1px solid var(--surface)}
.sec-tbl thead th{border-top:0;background:var(--field);font-weight:600;font-size:14px;letter-spacing:.02em}
.sec-tbl td:first-child{font-weight:500}
.lv{display:inline-block;padding:3px 10px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;margin:0 4px 4px 0}
.lv1{background:#F6D6E2;color:#8E2A52}.lv2{background:#E2DCEB;color:#4A3560}.lv3{background:var(--surface);color:var(--ink)}
.sec-note{margin-top:16px;max-width:80ch;color:var(--muted);font-size:16px}
[data-mode="plain"],.m-plain [data-mode="official"]{display:none}.m-plain [data-mode="plain"]{display:block}
.plainbar{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:55;display:flex;align-items:center;gap:12px;
  background:var(--paper);color:var(--accent);border:2px solid var(--accent);border-radius:999px;padding:8px 18px 8px 12px;font:inherit;font-weight:600;font-size:16px;cursor:pointer;
  box-shadow:0 4px 14px rgba(42,23,32,.18);white-space:nowrap;transition:background .2s,color .2s}
.plainbar[aria-checked="true"]{background:rgba(194,37,92,.86);color:#fff;border-color:transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.plainbar .sw{width:44px;height:26px;border-radius:999px;border:2px solid var(--accent);box-sizing:border-box;position:relative;flex:none;transition:background .2s,border-color .2s}
.plainbar .sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--accent);transition:transform .2s,background .2s}
.plainbar[aria-checked="true"] .sw{background:rgba(255,255,255,.92);border-color:transparent}.plainbar[aria-checked="true"] .sw::after{transform:translateX(18px)}
.plainbar:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media (max-width:640px){.plainbar{left:max(16px,env(safe-area-inset-left));transform:none}}
@media (prefers-reduced-motion:reduce){.plainbar .sw,.plainbar .sw::after,.sec-tiles a.sf-card{transition:none}}
.sec-tiles a.sf-card:nth-child(4n+1){background:#F6D6E2}.sec-tiles a.sf-card:nth-child(4n+2){background:var(--field)}.sec-tiles a.sf-card:nth-child(4n+3){background:#EBDCE6}.sec-tiles a.sf-card:nth-child(4n){background:#DCE7EA}
.sec-tbl .nx{display:block;color:var(--muted);font-size:14px;margin-top:2px}
@media (max-width:640px){.plainbar{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 70px)}
  .sec-tiles{grid-template-columns:1fr 1fr;gap:8px}.sec-tiles a.sf-card{padding:16px;gap:6px}.sec-tiles .sf-card h3{font-size:17px}.sec-tiles .sf-card p{font-size:14px;line-height:1.35}.sec-tiles .sf-card svg{width:22px;height:22px}}

/* «Отзывы» (/otzyvy/, 28.10.2026): демо страницы по QR, пример виджета, калькулятор рейтинга */
.rvd [hidden]{display:none!important}
.rvd{display:flex;flex-direction:column;gap:14px;background:var(--surface);border-radius:var(--r);padding:clamp(14px,2vw,22px)}
.rvd-ph{background:var(--paper);border-radius:calc(var(--r) - 4px);padding:20px 18px;display:flex;flex-direction:column;gap:6px;min-height:260px}
.rvd-ph>b{font-size:20px}.rvd-ph>small{color:var(--muted)}
.rvd-st{display:flex;justify-content:center;gap:4px;margin:14px 0}
.rvd-st button{font:inherit;font-size:40px;line-height:1;background:none;border:0;padding:4px;color:var(--before);cursor:pointer;transition:color .15s,transform .12s}
.rvd-st button:hover,.rvd-st button.on{color:#f5a623}.rvd-st button:active{transform:scale(.92)}
.rvd-pl,.rvd-fm{display:flex;flex-direction:column;gap:8px}.rvd-pl p,.rvd-fm p{margin:0 0 4px}
.rvd-pl span{display:flex;align-items:center;gap:10px;border:1px solid var(--before);border-radius:12px;padding:12px 14px;font-weight:600}
.rvd-pl i,.rvw i{display:inline-block;width:10px;height:10px;border-radius:50%}.rvd-pl em{margin-left:auto;font-style:normal;font-weight:400;color:var(--muted)}
.rvd-in{border:1px solid var(--before);border-radius:12px;padding:11px 12px;color:var(--muted)}
.rvd-go,.rvw-b{display:block;text-align:center;border-radius:12px;padding:12px;background:var(--accent);color:var(--accent-ink);font-weight:700}
.rvd-task{background:var(--paper);border-left:4px solid var(--accent);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;animation:rvdIn .35s ease-out}
.rvd-task small{color:var(--muted)}
@keyframes rvdIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rvd-task{animation:none}}
.rvw{background:var(--paper);border:1px solid var(--before);border-radius:16px;padding:16px 18px;max-width:420px}
.rvw-top{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.rvw-big{font-size:34px;font-weight:700;line-height:1}.rvw-s{color:#f5a623;letter-spacing:1px}.rvw-m{color:var(--muted);font-size:14px}
.rvw-pl{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--muted);font-size:14px;margin:8px 0 12px}.rvw-pl i{margin-right:6px}
.rvc{background:var(--surface);border-radius:var(--r);padding:clamp(16px,2vw,24px);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rvc label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.rvc input{font:inherit;font-size:20px;font-weight:700;color:var(--ink);background:var(--paper);border:1px solid var(--before);border-radius:12px;padding:10px 12px;width:100%;min-width:0}
.rvc input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.rvc-out{grid-column:1/-1;margin:4px 0 0;font-size:17px}
@media (max-width:520px){.rvc{grid-template-columns:1fr 1fr}.rvc label:last-of-type{grid-column:1/-1}}

/* плитки «Безопасности» — бенто (решение управляющего 28.10.2026: «поинтересней»): крупный факт, главная — тёмная на две колонки */
.sec-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.sec-tiles a.st-card{position:relative;min-height:220px;justify-content:flex-end;overflow:hidden}
.sec-tiles .st-card svg{position:absolute;top:20px;right:20px;width:28px;height:28px;opacity:.75}
.sec-tiles .w2{grid-column:span 2}
.st-big{display:block;white-space:nowrap;font-weight:700;font-size:clamp(34px,3.4vw,52px);line-height:1;letter-spacing:-.03em;color:#C2255C;margin-bottom:auto;padding-right:40px;font-variant-numeric:tabular-nums}
.st-big.st-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;font-weight:600}
.st-big.st-dots{letter-spacing:.18em}
.sec-tiles a.st-card.dk{background:#2A1720!important;color:#F6E8EF}
.sec-tiles .dk .st-big{font-size:clamp(72px,8vw,120px);color:#FF7AA2}
.sec-tiles .dk p{color:#D9C9CF}.sec-tiles .dk svg{color:#FF7AA2}
.sec-tiles .dk:hover{box-shadow:0 14px 34px -14px rgba(42,23,32,.6)}
@media (max-width:1100px){.sec-tiles{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sec-tiles a.st-card{min-height:0}.st-big{font-size:30px;padding-right:30px}.sec-tiles .dk .st-big{font-size:64px}.sec-tiles .st-card svg{top:14px;right:14px;width:22px;height:22px}}
@media (max-width:640px){.sec-tiles .st-card:not(.w2) svg{display:none}.sec-tiles .st-card:not(.w2) .st-big{padding-right:0}}

/* «Отзывы» поинтереснее (28.10.2026): телефон с всплывающими уведомлениями; проблемы — карточками как настоящие отзывы */
.rvd-stage{position:relative;padding:28px 0}
.rvd-phone{background:radial-gradient(120% 90% at 70% 10%,#F6D6E2 0,#F3E9EE 45%,#EBDCE6 100%)}
.rvd-phone .rvd-ph{max-width:320px;width:100%;margin:0 auto;border:10px solid #2A1720;border-radius:38px;padding:34px 18px 22px;position:relative;box-shadow:0 30px 60px -30px rgba(42,23,32,.55)}
.rvd-phone .rvd-ph::before{content:"";position:absolute;top:10px;left:50%;translate:-50% 0;width:72px;height:6px;border-radius:6px;background:#2A1720;opacity:.85}
.rvd-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:16px;padding:10px 14px;box-shadow:0 14px 34px -14px rgba(42,23,32,.45);font-size:14px;line-height:1.25;pointer-events:none;animation:rvdfloat 6s ease-in-out infinite}
.rvd-chip small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.rvd-chip.c1{top:6px;left:-28px}.rvd-chip.c2{top:44%;right:-36px;animation-delay:-2s}.rvd-chip.c3{top:64%;left:-20px;animation-delay:-4s}
.rvd-dot{width:10px;height:10px;border-radius:50%;flex:none}
.rvd-ic{width:26px;height:26px;border-radius:50%;background:#DDF1EC;color:#0F6E63;display:grid;place-items:center;font-weight:700;flex:none}
.rvd-big{font-size:30px;letter-spacing:-.03em;color:var(--accent)}.rvd-stars{color:#f5a623;letter-spacing:1px}
@keyframes rvdfloat{50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.rvd-chip{animation:none}}
@media (max-width:900px){.rvd-chip.c1{left:0}.rvd-chip.c2{right:0}.rvd-chip.c3{left:0}}
@media (max-width:640px){.rvd-chip.c2,.rvd-chip.c3{display:none}.rvd-chip.c1{top:-6px;left:50%;translate:-50% 0;animation:none}}
.rvpain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:40px}
.rvp{background:var(--surface);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:10px}
.rvp h3{font-size:20px;line-height:1.2;margin-top:6px}.rvp>p:last-child{font-size:15px;color:var(--ink);opacity:.8;margin:0}
.rvp-rev{display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:14px 14px 0 0;padding:12px 12px 0;margin:-4px -4px 0}
.rvp-av{width:34px;height:34px;border-radius:50%;background:#D9C9CF;color:#2A1720;display:grid;place-items:center;font-weight:700;flex:none}
.rvp-av.rvp-cl{background:#2A1720;color:#F6E8EF}
.rvp-who{display:flex;flex-direction:column;line-height:1.2;min-width:0}.rvp-who small{color:var(--muted);font-size:12px}
.rvp-st{color:#f5a623;letter-spacing:1px;font-size:14px}.rvp-st i{font-style:normal;color:#D9C9CF}
.rvp-src{margin-left:auto;font-size:12px;font-weight:600;color:var(--c);border:1px solid currentColor;border-radius:999px;padding:2px 8px}
.rvp-q{background:var(--paper);border-radius:0 0 14px 14px;padding:4px 12px 14px;margin:0 -4px;font-size:15px;line-height:1.4;min-height:62px}
.rvp-q s{text-decoration-color:#C2255C;text-decoration-thickness:2px;color:var(--muted)}
.rvp-tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;background:#FCE7F0;color:#A81E4F}
.rvp-tag.ok{background:#EFE9EC;color:var(--muted)}
.rvp-line{display:block;height:10px;border-radius:6px;background:#EFE5EA;margin:8px 0}.rvp-line.s{width:60%}
.rvp-empty .rvp-st i{color:#E6DCE1}
@media (max-width:1100px){.rvpain{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rvpain{grid-template-columns:1fr}}

/* «Для кого» — бегущая лента видов бизнеса (28.10.2026): серым, цвет — при наведении; движение выключается по настройке «меньше движения» */
.fw-run{margin-top:32px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fw-track{display:flex;gap:clamp(28px,4vw,64px);width:max-content;animation:fwrun 48s linear infinite;padding:8px 0}
.fw-run:hover .fw-track,.fw-run:focus-within .fw-track{animation-play-state:paused}
.fw-track>*{display:flex;align-items:center;gap:12px;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .25s}
.fw-track>* svg{width:44px;height:44px;flex:none}
.fw-track>* b{display:block;font-size:20px;letter-spacing:-.01em;color:var(--ink);font-weight:600}.fw-track>* small{display:block;font-size:14px;color:var(--muted)}
.fw-track>a:hover,.fw-track>a:focus-visible{color:var(--accent)}
@keyframes fwrun{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fw-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.fw-run{mask-image:none;-webkit-mask-image:none}.fw-track>*:nth-child(n+9){display:none}}
@media (max-width:640px){.fw-track>* svg{width:34px;height:34px}.fw-track>* b{font-size:17px}.fw-track{animation-duration:36s}}

/* схема шифрования на главной — анимация (28.10.2026): «фото» бежит по первой стрелке и превращается в шифр, шифр проходит облако
   и упирается в замок «ДоПосле»; цикл 6 с; «меньше движения» — без анимации */
.sf-flow{--sfc:6s}
.sf-tok{position:absolute;top:50%;left:0;translate:-50% -50%;z-index:2;display:grid;font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0}
.sf-tok i{grid-area:1/1;font-style:normal;border-radius:999px;padding:4px 10px;box-shadow:0 6px 16px -6px rgba(0,0,0,.6)}
.sf-tok .pl{background:#fff;color:#2A1720}
.sf-tok .ci{background:#C2255C;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.sf-tok.t1{animation:sftok1 var(--sfc) linear infinite}.sf-tok.t1 .pl{animation:sfpl var(--sfc) linear infinite}.sf-tok.t1 .ci{animation:sfci var(--sfc) linear infinite}
.sf-tok.t2{animation:sftok2 var(--sfc) linear infinite}
@keyframes sftok1{0%,4%{left:0;opacity:0}8%{opacity:1}36%{left:100%;opacity:1}40%,100%{left:100%;opacity:0}}
@keyframes sfpl{0%,16%{opacity:1;scale:1}24%,100%{opacity:0;scale:.6}}
@keyframes sfci{0%,16%{opacity:0;scale:.6}24%,100%{opacity:1;scale:1}}
@keyframes sftok2{0%,44%{left:0;opacity:0}48%{opacity:1}70%{left:100%;opacity:1}76%{left:62%;opacity:1}82%,100%{left:58%;opacity:0}}
.sf-node .sf-pic{transition:none}
.sf-us .sf-pic{animation:sflock var(--sfc) ease-in-out infinite;transform-origin:50% 20%}
@keyframes sflock{0%,74%{rotate:0deg;scale:1}77%{rotate:-14deg;scale:1.15}80%{rotate:12deg}83%{rotate:-8deg}86%,100%{rotate:0deg;scale:1}}
.sf-flow>.sf-node:first-child .sf-pic{animation:sfkey var(--sfc) ease-in-out infinite}
@keyframes sfkey{0%,2%{scale:1}8%{scale:1.18}14%,100%{scale:1}}
@media (max-width:900px){
  .sf-tok{top:0;left:50%}
  @keyframes sftok1{0%,4%{top:0;opacity:0}8%{opacity:1}36%{top:100%;opacity:1}40%,100%{top:100%;opacity:0}}
  @keyframes sftok2{0%,44%{top:0;opacity:0}48%{opacity:1}74%{top:100%;opacity:1}78%,100%{top:100%;opacity:0}}
  .sf-tok{translate:-50% -50%}
}
@media (prefers-reduced-motion:reduce){.sf-tok{display:none}.sf-us .sf-pic,.sf-flow>.sf-node:first-child .sf-pic{animation:none}}

/* шаги — открытыми карточками (решение управляющего 28.10.2026: «раскрывающихся списков быть не должно», без текста набок) */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;height:auto;overflow:visible;border-radius:0;counter-reset:st}
.step{flex:none;min-height:240px;cursor:default;border-radius:var(--r);padding:26px 24px 24px;display:flex;flex-direction:column;gap:12px;counter-increment:st;text-align:left}
.step::before{content:counter(st,decimal-leading-zero);font-weight:700;font-size:15px;letter-spacing:.06em;opacity:.65}
.step .s-name,.step[aria-expanded=true] .s-name{position:static;transform:none;white-space:normal;display:block;padding:0;font-size:clamp(21px,1.8vw,26px);line-height:1.15;letter-spacing:-.02em;font-weight:600}
.step .s-body,.step[aria-expanded=true] .s-body{position:static;display:block;opacity:1;padding:0;max-width:none;font-size:16px;line-height:1.5}
@media (max-width:760px){.step{min-height:0}}

/* «Отзывы»: четыре карточки «Всё для отзывов» с мини-картинками (28.10.2026) */
.rva-h{text-align:center;font-size:clamp(28px,3.2vw,44px)}
.rva{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:32px}
.rva-c{background:var(--surface);border-radius:var(--r);padding:26px 22px 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;text-decoration:none;color:inherit;overflow:hidden;min-height:360px;transition:translate .2s,box-shadow .2s}
.rva-c:hover{translate:0 -3px;box-shadow:0 16px 36px -18px rgba(90,23,50,.45)}
.rva-c h3{font-size:22px}.rva-c>p{font-size:15px;color:var(--muted);max-width:28ch;margin:0}
.rva-pic{margin-top:auto;width:100%;position:relative;height:170px}
.rva-pic i{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.rva-w .w1{position:absolute;left:0;bottom:18px;background:var(--paper);border-radius:14px;padding:12px 14px;box-shadow:0 10px 24px -14px rgba(42,23,32,.4);display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;z-index:2}
.rva-w .w1 b{font-size:32px;letter-spacing:-.03em}.rva-w .w1 span{color:#f5a623;font-size:13px}.rva-w .w1 small{color:var(--muted);font-size:11px}
.rva-w .w2{position:absolute;right:0;top:4px;width:72%;background:var(--paper);border-radius:14px 14px 0 0;padding:12px;display:flex;flex-direction:column;gap:7px;font-size:12px;text-align:left;height:100%;box-shadow:0 10px 24px -14px rgba(42,23,32,.35)}
.rva-w .w2 span{display:flex;align-items:center;gap:7px}.rva-w .w2 b{margin-left:auto}.rva-w .w2 em{font-style:normal;margin-top:4px;background:var(--accent);color:#fff;border-radius:999px;padding:5px;text-align:center;font-weight:600}
.rva-q .q1{position:absolute;left:4px;bottom:-6px;width:56%;background:var(--paper);border-radius:12px;padding:10px;rotate:-8deg;box-shadow:0 10px 24px -14px rgba(42,23,32,.45);display:flex;flex-direction:column;gap:6px;align-items:center;font-size:11px}
.rva-q .q1 svg{width:70%;height:auto}.rva-q .q1 small{color:var(--muted)}
.rva-q .q2{position:absolute;right:6px;top:0;width:46%;height:100%;border:6px solid #2A1720;border-bottom:0;border-radius:22px 22px 0 0;background:var(--paper);padding:14px 8px;display:flex;flex-direction:column;gap:6px;font-size:10px}
.rva-q .st{color:#f5a623;font-size:15px;letter-spacing:1px}.rva-q .pl{display:flex;align-items:center;gap:5px;border:1px solid var(--before);border-radius:8px;padding:5px 6px;text-align:left}
.rva-in{display:flex;flex-direction:column;gap:8px;justify-content:flex-end;padding-bottom:16px}
.rva-in .r{display:flex;align-items:center;gap:9px;background:var(--paper);border-radius:12px;padding:9px 10px;text-align:left;font-size:12px;box-shadow:0 8px 20px -14px rgba(42,23,32,.4)}
.rva-in .r span{display:flex;flex-direction:column;line-height:1.25;min-width:0}.rva-in small{color:var(--muted);font-size:11px}
.rva-in em{margin-left:auto;font-style:normal;font-size:10px;font-weight:700;border-radius:999px;padding:3px 7px;background:#EFE9EC;color:var(--muted);white-space:nowrap}
.rva-in em.ok{background:#DDF1EC;color:#0F6E63}.rva-in em.hot{background:#FCE7F0;color:#A81E4F}
.rva-st{background:var(--paper);border-radius:14px 14px 0 0;padding:14px 14px 10px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 24px -14px rgba(42,23,32,.35)}
.rva-st .bars{flex:1;display:flex;align-items:flex-end;gap:8px}
.rva-st .bars span{flex:1;height:var(--h);min-height:6px;background:linear-gradient(#C2255C,#E46A95);border-radius:6px 6px 2px 2px;position:relative}
.rva-st .bars b{position:absolute;bottom:-16px;left:0;right:0;font-size:10px;color:var(--muted);font-weight:600}
.rva-st .nums{display:flex;justify-content:space-between;margin-top:14px}.rva-st .nums span{display:flex;flex-direction:column;line-height:1.1}.rva-st .nums b{font-size:18px}.rva-st .nums small{font-size:10px;color:var(--muted)}
@media (max-width:1100px){.rva{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rva{grid-template-columns:1fr}.rva-c{min-height:330px}}
.fw-track>a:hover b,.fw-track>a:focus-visible b{color:var(--accent)}

/* «Для кого» шире (28.10.2026, решение управляющего — для всех бизнесов с офисной работой): второй ряд навстречу первому; >14 — дубли для бесконечной ленты */
.fw-lead{margin-top:20px;max-width:56ch}
.fw-run+.fw-run{margin-top:14px}
.fw-rev .fw-track{animation-direction:reverse;animation-duration:64s}
@media (prefers-reduced-motion:reduce){.fw-rev .fw-track>*:nth-child(n+15){display:none}.fw-rev .fw-track>*:nth-child(-n+14){display:flex}}

/* кнопка «Создать портал» отдельным разделом после «Для кого» (28.10.2026) */
.pick-sec{padding-top:0}.pick-sec .pick{max-width:640px;margin:0;padding:24px 26px}
@media (max-width:640px){.pick-sec .pick{padding:18px 14px}.pick-sec .pick-go .pg-t{font-size:16px}}
/* меню: пункт с плашкой «Скоро» — на одной линии с остальными (28.10.2026) */
.nav a{display:inline-flex;align-items:center}
.nav a .badge{margin:0 0 0 6px;vertical-align:0;font-size:10px;line-height:1.2;padding:2px 7px 1px}

/* схема шифрования — повеселее (28.10.2026): без подложки под плашкой; плашка покачивается и подпрыгивает, шифр перемешивается (site.js),
   у замка — удар: плашка сплющивается и отлетает, от замка кольцо; на старте — вспышка «снимка» */
.sf-tok{background:none!important}
.sf-tok i{animation:sfwob .9s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sfwob{0%,100%{rotate:-5deg;translate:0 0}50%{rotate:5deg;translate:0 -5px}}
.sf-tok.t2 .ci{animation:sfwob .9s ease-in-out infinite,sfsquish var(--sfc) linear infinite}
@keyframes sfsquish{0%,68%{scale:1}70%{scale:.7 1.25}73%{scale:1.2 .8}78%,100%{scale:1}}
.sf-us{position:relative}
.sf-us::after{content:"";position:absolute;left:44px;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.85);opacity:0;pointer-events:none;animation:sfring var(--sfc) ease-out infinite}
@keyframes sfring{0%,69%{opacity:0;scale:.6}71%{opacity:1;scale:.8}88%,100%{opacity:0;scale:2.4}}
.sf-flow>.sf-node:first-child{position:relative}
.sf-flow>.sf-node:first-child::after{content:"";position:absolute;left:44px;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:radial-gradient(circle,#fff 0,rgba(255,255,255,.6) 35%,rgba(255,255,255,0) 70%);opacity:0;pointer-events:none;animation:sfflash var(--sfc) ease-out infinite}
@keyframes sfflash{0%,3%{opacity:0;scale:.4}6%{opacity:1;scale:1.1}14%,100%{opacity:0;scale:1.6}}
@media (prefers-reduced-motion:reduce){.sf-tok i,.sf-us::after,.sf-flow>.sf-node:first-child::after{animation:none;opacity:0}}

/* «Добавьте свой модуль» на компьютере — короче: 4,2 экрана вместо 7,4 (сборка за 1,5 экрана, site.js), обзор 28.10.2026: были «пустые экраны» */
@media (min-width:901px){.cube-stage{height:420vh!important}}

/* обзор 28.10.2026: подписи групп обычными словами вместо мелких ЗАГЛАВНЫХ */
.mx-g small{text-transform:none;letter-spacing:-.01em;font-size:16px;font-weight:600;color:var(--ink)}
.nav-ddh{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}

/* схема шифрования: свои значки вместо эмодзи (обзор 28.10.2026) */
.sf-pic svg{width:34px;height:34px;display:block;color:#F6E8EF}
.sf-us .sf-pic svg{color:#fff}
.sf-tok .pl{display:inline-flex;align-items:center;gap:5px}.sf-tok .pl svg{width:14px;height:14px}
/* обзор 28.10.2026: цветные плашки каналов читаемы — текст темнее цвета канала, кружки контактов темнее под белой буквой */
.ib-ch,.cf-ch{color:color-mix(in srgb,var(--c) 55%,#2A1720)}
.ib-it i{background:color-mix(in srgb,var(--c) 78%,#2A1720)}
/* плашка «Бета»/«Скоро» внутри строки кнопки — по середине, не растягивает строку (текст не «плавает», 28.10.2026) */
.feat .badge,.fw-track .badge{vertical-align:middle;line-height:1.1;margin-top:-2px;margin-bottom:-2px}

/* барабан: у карточек свои картинки (28.10.2026) — иллюстрация экрана на светлой подложке, фото — во всю ширину, чуть выше */
.flow .fc .fc-scr.fc-ph{background-color:#fff;background-size:cover;background-position:center top;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 6px 14px -8px rgba(42,23,32,.45)}
.flow .fc .fc-scr.fc-photo{background-position:center} /* высота — как у остальных: пунктам хватает места */
.flow .fc.glass .fc-scr.fc-ph{box-shadow:inset 0 0 0 1px rgba(184,64,143,.18),0 6px 14px -8px rgba(42,23,32,.3)}

/* барабан: «График смен» — табличка смен (28.10.2026) */
.flow .fc .fc-scr:has(.m-shift){background:#fff}
.m-shift{position:absolute;inset:5px;display:grid!important;grid-template-columns:14px repeat(5,1fr);grid-auto-rows:1fr;gap:2px;font-style:normal}
.m-shift em{font-style:normal;font-size:7px;font-weight:700;color:#7A6470;display:grid;place-items:center;line-height:1}
.m-shift em.n{color:#2A1720}
.m-shift u{display:block;height:auto!important;border-radius:3px;background:#F3E9EE;text-decoration:none;width:auto!important}
.m-shift u.m{background:#F6B3CB}.m-shift u.d{background:#D6487F}.m-shift u.e{background:#7B2C5E}

/* «Тарифы» (28.10.2026): три карточки — тест, бесплатно, без ограничений; таблица лимитов без горизонтальной прокрутки */
.tr-grid.tr-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
@media (max-width:900px){.tr-grid.tr-3{grid-template-columns:1fr}}
.tr-m{display:block;font-size:16px;font-weight:500;letter-spacing:0;margin-top:6px;opacity:.75}
.tr-tbl{margin-top:28px;background:var(--paper,#fff);border-radius:var(--r);overflow:hidden}
.tr-tbl table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.4}
.tr-tbl th,.tr-tbl td{padding:14px 18px;text-align:left;vertical-align:top;border-top:1px solid rgba(0,0,0,.07)}
.tr-tbl thead th{border-top:0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#B8408F}
.tr-tbl td:first-child{font-weight:600;width:44%}
@media (max-width:640px){.tr-tbl th,.tr-tbl td{padding:12px 10px;font-size:15px}.tr-tbl thead th{font-size:11px;letter-spacing:.04em}.tr-tbl td:first-child{width:40%}}
.tr-hero{padding-bottom:clamp(40px,5vw,72px)}
.tr-h1{font-size:clamp(28px,1rem + 2.2vw,46px);max-width:24ch}
.tr-sub{margin:14px 0 clamp(20px,2.4vw,32px);font-size:clamp(16px,.95rem + .25vw,19px);max-width:60ch;opacity:.86}
.tr-tbl tr.tr-g th{background:var(--field,#f6eef2);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);padding-top:12px;padding-bottom:12px}
.tr-tbl table{table-layout:fixed}.tr-tbl td,.tr-tbl th{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:640px){.tr-tbl td:first-child{width:36%}.tr-tbl th,.tr-tbl td{padding:11px 8px;font-size:14px}}

/* «Тарифы» поживее (28.10.2026): путь 1 → 2 → 3, свои цвета, иконка и крупный знак на фоне, полоска «30 дней», подъём при наведении */
.tr-live{gap:clamp(14px,2.2vw,32px)}
.tr-live .tr-c{position:relative;overflow:hidden;isolation:isolate;padding-top:clamp(24px,2.6vw,34px);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.tr-live .tr-c>*:not(.tr-deco){position:relative;z-index:1}
.tr-t1{background:linear-gradient(160deg,#EFE6FB 0%,#F7EEF3 70%)}
.tr-t3{background:#2A1720;color:#fff}
.tr-t3 small{color:#FF9DB8}.tr-t3 li::before{color:#FF7A9C}
.tr-t3 .tr-p>span[data-count]{background:linear-gradient(120deg,#C9A8FF,#FF7A9C 60%,#FFC2A8);-webkit-background-clip:text;background-clip:text;color:transparent}
.tr-t3 .tr-m{color:#fff}
.tr-btn-l{background:#fff!important;color:#2A1720!important;box-shadow:none!important}
.tr-step{position:absolute!important;top:16px;right:18px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;background:rgba(123,82,214,.12);color:#7B52D6}
.tr-t2 .tr-step{background:rgba(255,255,255,.22);color:#fff}.tr-t3 .tr-step{background:rgba(255,255,255,.12);color:#fff}
.tr-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff;color:#7B52D6;box-shadow:0 8px 20px -12px rgba(123,82,214,.6)}
.tr-ic svg{width:26px;height:26px}
.tr-t2 .tr-ic{background:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.tr-t3 .tr-ic{background:linear-gradient(135deg,#7B52D6,#FF5D86);color:#fff;box-shadow:none}
.tr-deco{position:absolute;right:-28px;bottom:-34px;width:190px;height:190px;z-index:0;opacity:.07;transform:rotate(-12deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.tr-deco svg{width:100%;height:100%;stroke-width:1.2}
.tr-t2 .tr-deco,.tr-t3 .tr-deco{opacity:.12}
.tr-chip{align-self:flex-start;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;background:#fff;color:#B8408F;margin-bottom:-2px}
.tr-bar{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.tr-bar b{display:block;height:8px;border-radius:99px;background:rgba(123,82,214,.15);overflow:hidden;position:relative}
.tr-bar b::after{content:"";position:absolute;inset:0;width:100%;border-radius:inherit;background:linear-gradient(90deg,#7B52D6,#FF5D86);transform-origin:left;animation:trbar 3.2s cubic-bezier(.4,0,.2,1) infinite}
@keyframes trbar{0%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
.tr-t2{animation:trglow 4s ease-in-out infinite}
@keyframes trglow{0%,100%{box-shadow:0 24px 50px -24px rgba(184,64,143,.8)}50%{box-shadow:0 30px 70px -20px rgba(255,93,134,.9)}}
.tr-t2::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.25) 50%,transparent 65%);transform:translateX(-100%);animation:trshine 5s ease-in-out infinite}
@keyframes trshine{0%,55%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
@media (hover:hover){.tr-live .tr-c:hover{transform:translateY(-8px)}.tr-live .tr-c:hover .tr-deco{transform:rotate(0) scale(1.08)}.tr-t1:hover,.tr-t3:hover{box-shadow:0 26px 50px -26px rgba(42,23,32,.45)}}
@media (prefers-reduced-motion:reduce){.tr-bar b::after,.tr-t2,.tr-t2::after{animation:none}.tr-t2::after{display:none}.tr-live .tr-c{transition:none}}

/* Баннер «до/после» на главной (28.10.2026): два слоя одной сетки, ползунок открывает «После» */
.ba{position:relative;display:grid;margin-top:clamp(24px,3vw,40px);border-radius:var(--r);overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.ba-l{grid-area:1/1;padding:clamp(48px,5vw,64px) clamp(16px,3vw,40px) clamp(20px,3vw,40px)}
.ba-l ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.ba-l li{border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.35}
.ba-l li b{font-size:clamp(16px,.9rem + .3vw,19px);font-weight:600;letter-spacing:-.01em}
.ba-tag{position:absolute;top:16px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.ba-before{background:#E9E4E1;color:#4A3F44;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-before .ba-tag{left:16px;background:#fff;color:#6B5E64}
.ba-before li{background:#FFFDF4;box-shadow:0 2px 0 rgba(0,0,0,.06),0 10px 18px -14px rgba(0,0,0,.4);font-family:inherit}
.ba-before li:nth-child(1){transform:rotate(-2.2deg)}.ba-before li:nth-child(2){transform:rotate(1.6deg) translateY(6px)}.ba-before li:nth-child(3){transform:rotate(-1deg) translate(4px,-4px)}
.ba-before li:nth-child(4){transform:rotate(2.4deg)}.ba-before li:nth-child(5){transform:rotate(-1.8deg) translateY(4px)}.ba-before li:nth-child(6){transform:rotate(1deg) translate(-4px,-2px)}
.ba-before li span{color:#8A3B3B}
.ba-before li b::before{content:"✕ ";color:#C0392B}
.ba-after{background:var(--grad);color:#fff}
.ba-after .ba-tag{right:16px;background:#fff;color:#B8408F}
.ba-after li{background:rgba(255,255,255,.16);backdrop-filter:blur(2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.ba-after li b::before{content:"✓ "}
.ba-line{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.25);pointer-events:none}
.ba-line i{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff;color:#B8408F;display:grid;place-items:center;box-shadow:0 8px 24px -8px rgba(0,0,0,.45)}
.ba-line i svg{width:24px;height:24px}
.ba-r{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.ba-r:focus-visible+.ba-line,.ba:has(.ba-r:focus-visible) .ba-line i{outline:3px solid #7B52D6;outline-offset:2px}
@media (max-width:900px){.ba-l ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ba-l li{padding:12px;font-size:13px}.ba-l li b{font-size:15px}.ba-l{padding-left:12px;padding-right:12px}}
.ba-l{padding:clamp(64px,6vw,84px) clamp(16px,3.2vw,48px) clamp(24px,3.4vw,48px)}
.ba-l li{min-height:clamp(96px,9vw,132px);padding:clamp(14px,1.6vw,22px) clamp(14px,1.6vw,24px);font-size:clamp(14px,.85rem + .25vw,17px);justify-content:center}
.ba-l li b{font-size:clamp(16px,.9rem + .6vw,24px)}
.ba-tag{top:20px;font-size:14px;padding:7px 16px}.ba-before .ba-tag{left:20px}.ba-after .ba-tag{right:20px}
@media (max-width:520px){.ba-l li{min-height:0;padding:12px;font-size:13px}.ba-l li b{font-size:15px}.ba-l{padding:60px 12px 16px}}
.ba-r{touch-action:pan-y}

/* Широкий «до/после» внизу «Тарифов» (28.10.2026): шире колонки сайта, 4 × 2 плитки */
.ba-wide{width:min(1560px,calc(100vw - 32px));margin-left:calc(50% - min(1560px,calc(100vw - 32px)) / 2)}
.ba-wide .ba-l ul{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.ba-wide .ba-l ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ba-before li:nth-child(7){transform:rotate(-1.4deg) translateY(3px)}.ba-before li:nth-child(8){transform:rotate(2deg) translate(3px,-3px)}
.ba-before li:nth-child(9){transform:rotate(1.2deg)}.ba-before li:nth-child(10){transform:rotate(-2deg) translateY(4px)}.ba-before li:nth-child(11){transform:rotate(1.6deg) translate(-3px,2px)}.ba-before li:nth-child(12){transform:rotate(-1deg)}

/* «Финансовый учёт» (28.10.2026): мини-отчёт ДДС на первом экране, вымышленные цифры */
.fu-demo{background:var(--paper,#fff);border-radius:var(--r);padding:clamp(18px,2.2vw,28px);box-shadow:0 30px 60px -36px rgba(42,23,32,.45);display:flex;flex-direction:column;gap:18px}
.fu-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.fu-head b{font-size:18px}.fu-head span{font-size:13px;color:var(--muted)}
.fu-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fu-kpi div{background:var(--surface);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.fu-kpi small{font-size:12px;color:var(--muted)}.fu-kpi b{font-size:clamp(15px,.8rem + .5vw,20px);white-space:nowrap;font-variant-numeric:tabular-nums}
.fu-demo .in{color:#17614F}.fu-demo .out{color:#A81E4F}.fu-demo .q{color:#6A44C4}
.fu-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fu-rows li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:15px}
.fu-rows i{display:block;height:8px;border-radius:99px;background:rgba(123,82,214,.12);position:relative;overflow:hidden}
.fu-rows i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:inherit;background:var(--grad)}
.fu-rows i.q::after{background:#6A44C4}
.fu-rows b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}
.fu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fu-grid .int-card h3{font-size:clamp(18px,1rem + .35vw,21px)}
@media (max-width:900px){.fu-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fu-grid{grid-template-columns:1fr}.fu-rows li{grid-template-columns:minmax(0,1fr) auto;font-size:14px}.fu-rows i{grid-column:1/-1;order:3}}

/* «Финансовый учёт» поживее (28.10.2026): бенто «работает», пример «Разобрать», цена */
.fu-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.fb{position:relative;border-radius:var(--r);padding:clamp(18px,2vw,26px);display:flex;flex-direction:column;gap:8px;background:var(--paper,#fff);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.fb h3{font-size:clamp(18px,1rem + .35vw,22px)}.fb p{font-size:15px;line-height:1.45}
.fb-big{grid-column:span 2;grid-row:span 2;background:linear-gradient(160deg,#2A1720,#4a2240);color:#fff}
.fb-big p{opacity:.85}.fb-big h3{font-size:clamp(24px,1rem + 1.4vw,36px)}
.fb-chart{margin-top:auto;display:flex;align-items:flex-end;gap:clamp(10px,1.6vw,22px);height:clamp(120px,14vw,180px);padding-top:18px}
.fb-chart div{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}
.fb-chart i{flex:1;width:100%;position:relative;display:block}
.fb-chart i::before,.fb-chart i::after{content:"";position:absolute;bottom:0;width:44%;border-radius:6px 6px 2px 2px}
.fb-chart i::before{left:4%;height:var(--in);background:linear-gradient(180deg,#7DE3C1,#2FA67F)}
.fb-chart i::after{right:4%;height:var(--out);background:linear-gradient(180deg,#FF9DB8,#E23A6A)}
.fb-chart small{font-size:12px;opacity:.7}
.fb-leg{display:flex;gap:16px;font-size:13px!important}.fb-leg span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.fb-leg .in::before{background:#2FA67F}.fb-leg .out::before{background:#E23A6A}
.fb-big .int-st.ok{background:rgba(125,227,193,.18);color:#7DE3C1}
.fb-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff}.fb-ic svg{width:22px;height:22px}
.fb-c1 .fb-ic{background:linear-gradient(135deg,#7B52D6,#A57CFF)}.fb-c2 .fb-ic{background:linear-gradient(135deg,#B8408F,#FF5D86)}
.fb-c3 .fb-ic{background:linear-gradient(135deg,#2FA67F,#7DE3C1)}.fb-c4 .fb-ic{background:linear-gradient(135deg,#E2873A,#FFC27A)}.fb-c5 .fb-ic{background:linear-gradient(135deg,#3A7BE2,#8AB8FF)}
.fb-c5{grid-column:span 2}
@media (hover:hover){.fb:hover{transform:translateY(-4px)}}
@media (max-width:900px){.fu-bento{grid-template-columns:1fr 1fr}.fb-big{grid-column:1/-1;grid-row:auto}.fb-c5{grid-column:auto}}
@media (max-width:560px){.fu-bento{grid-template-columns:1fr}}
.fs-demo{background:var(--paper,#fff);border-radius:var(--r);padding:clamp(16px,2vw,24px);box-shadow:0 30px 60px -36px rgba(42,23,32,.45)}
.fs-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.fs-top b{font-size:18px}
.fs-n{min-width:26px;height:26px;padding:0 8px;border-radius:99px;background:#6A44C4;color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center;transition:background .3s}
.fs-n.z{background:#2FA67F}
.fs-demo ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fs-demo li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px;border-radius:14px;background:var(--surface);transition:background .4s}
.fs-op{display:flex;flex-direction:column;gap:2px;min-width:0}.fs-op b{font-size:15px}.fs-op small{font-size:13px;color:var(--muted)}
.fs-demo em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.fs-demo em.in{color:#17614F}.fs-demo em.out{color:#A81E4F}
.fs-act{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fs-art{font-size:13px;font-weight:600;padding:5px 12px;border-radius:99px;background:#fff;color:#6A44C4;box-shadow:inset 0 0 0 1.5px rgba(106,68,196,.35)}
.fs-art::before{content:"Подсказка: ";font-weight:500;color:var(--muted)}
.fs-act button,.fs-done button{font:inherit;font-size:14px;font-weight:600;border:0;border-radius:99px;padding:7px 16px;background:var(--btn-grad,var(--grad));color:#fff;cursor:pointer}
.fs-rule{grid-column:1/-1;font-size:13px;color:#17614F;font-weight:600;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s,opacity .4s}
.fs-demo li.ok{background:#E6F6EF}.fs-demo li.ok .fs-art{background:#2FA67F;color:#fff;box-shadow:none}.fs-demo li.ok .fs-art::before{content:"✓ ";color:#fff}
.fs-demo li.ok button{display:none}.fs-demo li.ok .fs-rule{max-height:40px;opacity:1}
.fs-done{margin-top:14px;font-weight:600;color:#17614F;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fs-done button{background:#fff;color:#2A1720;box-shadow:inset 0 0 0 1.5px var(--line,#ecdfe5)}
.fu-sort-wrap{align-items:center}
.fu-price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.fp{border-radius:var(--r);padding:clamp(18px,2vw,26px);background:linear-gradient(160deg,#EFE6FB,#F7EEF3);display:flex;flex-direction:column;gap:10px}
.fp small{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7B52D6}
.fp>b{font-size:clamp(34px,1.2rem + 1.8vw,52px);letter-spacing:-.03em;line-height:1}.fp>b span{display:block;font-size:15px;font-weight:500;letter-spacing:0;margin-top:6px;opacity:.75}
.fp ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:15px}.fp li{padding-left:22px;position:relative}.fp li::before{content:"✓";position:absolute;left:0;font-weight:800;color:#B8408F}
.fp-on{background:var(--grad);color:#fff}.fp-on small,.fp-on li::before{color:#fff}
.fp-dk{background:#2A1720;color:#fff}.fp-dk small{color:#FF9DB8}.fp-dk li::before{color:#FF7A9C}
@media (max-width:900px){.fu-price{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fb,.fs-rule,.fs-demo li{transition:none}}
.fs-done[hidden]{display:none}
@media (min-width:901px){.fb-c5{grid-column:1/-1;flex-direction:row;align-items:center;gap:18px}.fb-c5 .fb-ic{flex:none}.fb-c5 h3{flex:none}}

/* «Согласование и оплата счетов» (28.10.2026): маршрут счёта шагами */
.ap-flow{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:ap}
.ap-flow li{position:relative;background:var(--paper,#fff);border-radius:var(--r);padding:18px 16px;display:flex;flex-direction:column;gap:6px}
.ap-flow li:not(:last-child)::after{content:"";position:absolute;right:-12px;top:38px;width:12px;height:2px;background:linear-gradient(90deg,#B8408F,#FF5D86)}
.ap-flow i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--grad)}.ap-flow i svg{width:20px;height:20px}
.ap-flow b{font-size:17px}.ap-flow span{font-size:14px;color:var(--muted);line-height:1.35}
.ap-flow li.soon{box-shadow:inset 0 0 0 2px rgba(184,64,143,.35);background:#FFF7FA}
.ap-flow li.soon i{background:#fff;color:#B8408F;box-shadow:inset 0 0 0 1.5px rgba(184,64,143,.5)}
.ap-flow li.soon b::after{content:"скоро";margin-left:8px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:#FCE7F0;color:#A81E4F;vertical-align:2px}
@media (max-width:900px){.ap-flow{grid-template-columns:1fr}.ap-flow li{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px}.ap-flow li span{flex-basis:100%;padding-left:52px;margin-top:-6px}
  .ap-flow li:not(:last-child)::after{right:auto;left:35px;top:auto;bottom:-12px;width:2px;height:12px;background:linear-gradient(180deg,#B8408F,#FF5D86)}}
#soglasovanie .int-card{background:var(--paper,#fff)}

/* Тарифы: шифрование на любом тарифе (28.10.2026) */
.tr-safe{display:grid;grid-template-columns:minmax(180px,.8fr) 2fr;gap:clamp(18px,3vw,48px);align-items:center;padding:clamp(24px,3.4vw,48px);border-radius:var(--r);background:#2A1720;color:#F6E8EF;text-decoration:none;transition:box-shadow .2s,translate .2s}
.tr-safe:hover{box-shadow:0 18px 40px -18px rgba(42,23,32,.7);translate:0 -2px}
.tr-safe:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.tr-safe-k b{display:block;font-size:clamp(88px,10vw,160px);line-height:.9;font-weight:700;letter-spacing:-.04em;color:#FF7AA2}
.tr-safe-k span{display:block;margin-top:8px;font-size:17px;font-weight:600;color:#D9C9CF}
.tr-safe small{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#FF9DB8}
.tr-safe small svg{width:18px;height:18px}
.tr-safe h2{margin:10px 0 12px;font-size:clamp(24px,1rem + 1.4vw,36px);color:#fff;max-width:22ch}
.tr-safe p{margin:0;font-size:17px;color:#D9C9CF;max-width:60ch}
.tr-safe ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tr-safe li{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:14px}
.tr-safe-go{display:inline-block;margin-top:18px;font-weight:700;color:#FF9DB8}
@media (max-width:720px){.tr-safe{grid-template-columns:1fr;gap:14px}.tr-safe-k{display:flex;align-items:center;gap:12px}.tr-safe-k b{font-size:64px}.tr-safe-k span{margin:0}}
@media (prefers-reduced-motion:reduce){.tr-safe{transition:none}}

/* «Тарифы», блок шифра: вместо «0 ключей» — «Видите вы» / «Видим мы» с живым шифром (28.10.2026) */
.tr-safe-k{display:flex;flex-direction:column;gap:10px;min-width:0}
.sk-row{display:flex;flex-direction:column;gap:6px}
.sk-row small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#D9C9CF;opacity:.8}
.sk-doc{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;font-size:16px;font-weight:600;line-height:1.3;min-width:0;overflow:hidden;white-space:nowrap}
.sk-you .sk-doc{background:#fff;color:#2A1720}
.sk-you .sk-doc i{font-style:normal}
.sk-we .sk-doc{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,122,162,.35);color:#FF7AA2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.04em}
.sk-arrow{align-self:center;font-size:13px;font-weight:600;color:#FF9DB8;padding:4px 12px;border-radius:99px;background:rgba(255,122,162,.12)}
.sk-arrow::before{content:"↓ "}.sk-arrow::after{content:" ↓"}
@media (max-width:720px){.tr-safe-k{display:flex}.sk-doc{font-size:14px;padding:12px 14px}}
@media (min-width:721px){.tr-safe{grid-template-columns:minmax(280px,1fr) 1.6fr}}

/* «Видите вы / Видим мы» полосой — главная (блок безопасности) и «Безопасность» (28.10.2026) */
.sk-strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:16px;padding:clamp(18px,2.4vw,28px);border-radius:var(--r);background:#2A1720;color:#F6E8EF;margin:clamp(20px,2.6vw,32px) 0}
.sk-strip .sk-arrow{align-self:center;margin-top:22px}
.sk-strip .sk-arrow::before{content:""}.sk-strip .sk-arrow::after{content:" →"}
.sk-top{margin-top:0;margin-bottom:clamp(16px,2vw,24px)}
@media (max-width:820px){.sk-strip{grid-template-columns:1fr;align-items:stretch}.sk-strip .sk-arrow{margin-top:0}.sk-strip .sk-arrow::before{content:"↓ "}.sk-strip .sk-arrow::after{content:" ↓"}}

/* «Почему это важно сейчас» (ИИ, скорость, вложения) — «Безопасность»; строка под полосой шифра на главной (28.10.2026) */
.ai-why{margin:clamp(8px,1vw,16px) 0 clamp(24px,3vw,40px)}
.ai-why h2{font-size:clamp(24px,1rem + 1.4vw,36px);margin-bottom:18px}
.ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ai-c{background:var(--surface);border-radius:var(--r);padding:clamp(18px,2vw,26px);display:flex;flex-direction:column;gap:8px}
.ai-c i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--grad);color:#fff}.ai-c i svg{width:22px;height:22px}
.ai-c h3{font-size:clamp(18px,1rem + .35vw,22px)}.ai-c p{font-size:16px;line-height:1.5}
@media (max-width:900px){.ai-grid{grid-template-columns:1fr}}
.sk-note{margin:-8px 0 clamp(20px,2.6vw,32px);font-size:16px;max-width:70ch}

/* «Безопасность», первый экран (28.10.2026): строки шифра бегут в фоне, «терминал» печатает, как шифруется фото. Без движения при «меньше анимации» */
.sec-hero{position:relative;overflow:hidden}
.sec-hero .wrap{position:relative;z-index:1}
.sec-rain{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;justify-content:space-around;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 80%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 80%,transparent)}
.sec-rain div{white-space:nowrap;font:500 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#B8408F;opacity:.10;animation:secrain var(--d,60s) linear infinite}
.sec-rain div:nth-child(even){animation-direction:reverse;color:#7B52D6}
@keyframes secrain{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cols>.sec-term{grid-column:9/span 4;align-self:center}
.sec-term{background:#1E1018;border-radius:18px;box-shadow:0 30px 60px -30px rgba(42,23,32,.7);overflow:hidden;color:#F6E8EF}
.st-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:rgba(255,255,255,.06)}
.st-bar i{width:10px;height:10px;border-radius:50%;background:#FF5F57}.st-bar i:nth-child(2){background:#FEBC2E}.st-bar i:nth-child(3){background:#28C840}
.st-bar span{margin-left:8px;font-size:12px;color:#D9C9CF}
.st-out{margin:0;padding:16px 16px 18px;min-height:228px;font:500 13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-all}
.st-out .ok{color:#7DE3C1}.st-out .k{color:#FF9DB8}.st-out .m{color:#A99AA2}.st-out .c{color:#C9A8FF}
.st-out .cur{display:inline-block;width:8px;height:15px;background:#FF7AA2;vertical-align:-2px;animation:stblink 1s steps(1) infinite}
@keyframes stblink{50%{opacity:0}}
@media (max-width:900px){.cols>.sec-term{grid-column:1/-1;margin-top:8px}.st-out{min-height:200px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.sec-rain div{animation:none}.st-out .cur{animation:none}}

/* «Безопасность»: «Видите вы / Видим мы» и терминал — сразу на первом экране (28.10.2026) */
.sec-hero{padding-bottom:clamp(28px,3.4vw,48px)}
.sec-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(14px,1.8vw,24px);align-items:stretch}
.sk-hero{margin:0;grid-template-columns:minmax(0,1fr);align-items:stretch;align-content:center;gap:14px} /* minmax(0,…): длинный шифр не распирает карточку за край телефона (29.10.2026) */
.sk-hero .sk-arrow{margin-top:0}.sk-hero .sk-arrow::before{content:"↓ "}.sk-hero .sk-arrow::after{content:" ↓"}
.sk-hero .sk-doc{font-size:clamp(16px,.9rem + .4vw,20px);padding:16px 18px}
.sk-hero .sk-we .sk-doc{font-size:clamp(15px,.85rem + .3vw,18px)}
.sec-top .sec-term{display:flex;flex-direction:column}.sec-top .st-out{flex:1}
.sec-hero .sec-how{margin-top:16px;font-size:15px;color:var(--muted)}
@media (max-width:900px){.sec-top{grid-template-columns:minmax(0,1fr)}.sec-top .st-out{min-height:190px}}

/* «Безопасность», плитки — «сейф» (28.10.2026): тёмная панель, стеклянные плитки, светящаяся рамка и подсветка под курсором,
   крупные факты «расшифровываются», точки PIN набираются, код сверки перебирается. При «меньше анимации» — сразу итог */
.sec-vault{position:relative;isolation:isolate;padding:clamp(12px,1.6vw,20px);border-radius:calc(var(--r) + 8px);
  background:radial-gradient(120% 80% at 0% 0%,#3B1B33 0%,#1A0D15 55%,#12090F 100%);box-shadow:0 40px 80px -40px rgba(26,13,21,.8)}
.sec-vault::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent);mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent)}
.sec-vault a.st-card,.sec-vault a.st-card.dk{background:rgba(255,255,255,.035)!important;color:#F6E8EF;border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .3s,translate .3s,box-shadow .3s}
.sec-vault a.st-card::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(255,93,134,.18),rgba(123,82,214,.10) 40%,transparent 70%)}
.sec-vault a.st-card:hover::before{opacity:1}
.sec-vault a.st-card:hover{border-color:rgba(255,122,162,.45);box-shadow:0 0 0 1px rgba(255,122,162,.2),0 20px 50px -20px rgba(255,93,134,.45);translate:0 -3px}
.sec-vault a.st-card>*{position:relative;z-index:1}
.sec-vault .st-card svg{color:#FF9DB8;opacity:.9}
.sec-vault .st-card h3{color:#fff}.sec-vault .st-card p{color:#C9B6C0}
.sec-vault .st-big{background:linear-gradient(120deg,#C9A8FF 0%,#FF7AA2 55%,#FFC2A8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 18px rgba(255,93,134,.25))}
.sec-vault .dk .st-big{font-size:clamp(80px,9vw,132px)}
.sec-vault a.st-card.dk{background:linear-gradient(160deg,rgba(255,93,134,.14),rgba(123,82,214,.10) 60%,rgba(255,255,255,.03))!important;border-color:rgba(255,122,162,.3)}
.sec-vault .st-big.scr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.sec-vault .st-big.st-enc{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
/* бегущий блик по рамке у главной плитки */
.sec-vault a.st-card.dk::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:conic-gradient(from var(--ang,0deg),transparent 0 70%,#FF7AA2 80%,#C9A8FF 88%,transparent 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:vaultspin 6s linear infinite}
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes vaultspin{to{--ang:360deg}}
/* точки PIN: набираются по одной */
.sec-vault .st-dots i{font-style:normal;transition:opacity .2s,transform .2s}
.sec-vault .st-dots i.off{opacity:.15;transform:scale(.6)}
@media (prefers-reduced-motion:reduce){.sec-vault a.st-card.dk::after{animation:none;display:none}.sec-vault a.st-card{transition:none}}
.sec-vault a.st-card>svg{position:absolute;z-index:1}

/* Первый экран: что над заголовком — меняется по номеру захода (барабан → день в портале → шифр → модули), 28.10.2026.
   Номер захода — только в браузере (localStorage), без cookie; ‹ › — полистать самому; ?scene=0..3 — для проверки */
/* одна высота у всех баннеров (решение управляющего 29.10.2026): высокие сцены (телефон) обрезаются снизу */
.hs{grid-column:1/-1;display:none;height:calc(clamp(240px,22vw,272px) + clamp(8px,1.5vw,20px) - 2px);overflow:hidden;margin:clamp(8px,1.2vw,16px) 0 2px} /* высота барабана + его нижний отступ: ползунок на одном месте в обеих сценах (29.10.2026) */
.hs.on{display:grid}
.hs-sc{display:none;grid-area:1/1;align-self:end;animation:hsin .6s cubic-bezier(.2,.8,.2,1)}
.hs-sc.on{display:block;max-height:100%;overflow:hidden}
.hs-sc.bye{display:block;max-height:100%;overflow:hidden;animation:hsbye .5s ease forwards;pointer-events:none} /* уходящий баннер тает (29.10.2026) */
@keyframes hsbye{to{opacity:0}}
@keyframes hsin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.flow.hs-off{display:none}
.hs-cap{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#B8408F;margin-bottom:16px;text-align:center}
.hs-cap b{display:inline-block;min-width:1.4em;color:#7B52D6}
/* день в портале */
.hs-day ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;position:relative}
.hs-day ol::before{content:"";position:absolute;left:4%;right:4%;top:15px;height:2px;background:linear-gradient(90deg,#7B52D6,#B8408F,#FF5D86,#3A7BE2);opacity:.35}
.hs-day li{position:relative;display:flex;flex-direction:column;gap:6px;padding:46px 14px 16px;border-radius:var(--r);background:#fff;box-shadow:0 18px 40px -26px rgba(42,23,32,.4);opacity:0;transform:translateY(16px);animation:hsli .5s cubic-bezier(.2,.8,.2,1) forwards}
.hs-day li:nth-child(1){animation-delay:.1s}.hs-day li:nth-child(2){animation-delay:.45s}.hs-day li:nth-child(3){animation-delay:.8s}.hs-day li:nth-child(4){animation-delay:1.15s}.hs-day li:nth-child(5){animation-delay:1.5s}.hs-day li:nth-child(6){animation-delay:1.85s}
@keyframes hsli{to{opacity:1;transform:none}}
.hs-day time{position:absolute;top:4px;left:14px;font-size:13px;font-weight:700;color:var(--c);background:var(--bg);padding:2px 8px;border-radius:99px;box-shadow:inset 0 0 0 1.5px var(--c)}
.hs-day li i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--c);color:#fff}.hs-day li i svg{width:20px;height:20px}
.hs-day b{font-size:16px}.hs-day span{font-size:13px;line-height:1.35;color:var(--muted)}
/* шифр */
.hs-safe.on{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(14px,1.8vw,24px)}
.hs-safe .sec-term{display:flex;flex-direction:column}.hs-safe .st-out{flex:1;min-height:200px}
/* модули */
.hs-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px;margin:0 auto}
.hs-wall span{padding:10px 18px;border-radius:99px;background:#fff;color:var(--muted);font-weight:600;font-size:clamp(14px,.8rem + .3vw,17px);box-shadow:inset 0 0 0 1.5px #ecdfe5;transition:background .35s,color .35s,box-shadow .35s,transform .35s}
.hs-wall span.on{background:var(--grad);color:#fff;box-shadow:0 10px 24px -12px rgba(184,64,143,.7);transform:translateY(-2px)}
/* переключатель */
/* ползунок вплотную к баннерам, без стрелок (решение управляющего 29.10.2026) */
.hs-nav{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 8px;opacity:.3;transition:opacity .3s}
.hs-nav:hover,.hs-nav:focus-within{opacity:1} /* едва заметный, под мышкой проявляется (29.10.2026) */
.hs-nav button{display:none}
.hs-nav[hidden]{display:none}
.hs-nav button{width:30px;height:30px;border-radius:50%;border:0;background:#fff;color:#B8408F;font-size:20px;line-height:1;cursor:pointer;box-shadow:inset 0 0 0 1.5px #ecdfe5}
.hs-nav [data-hs-dots]{display:flex;gap:6px}.hs-nav [data-hs-dots] i{width:8px;height:8px;border-radius:50%;background:#e2cfd8}.hs-nav [data-hs-dots] i.on{width:22px;border-radius:99px;background:var(--grad)}
@media (max-width:900px){.hs-day ol{grid-template-columns:1fr 1fr 1fr}.hs-day ol::before{display:none}.hs-safe.on{grid-template-columns:1fr}.hs-safe .sec-term{display:none}}
@media (max-width:560px){.hs-day ol{grid-template-columns:1fr 1fr;gap:8px}.hs-day li{padding:40px 10px 12px}.hs-day span{display:none}.hs-wall span{padding:8px 12px}}
@media (prefers-reduced-motion:reduce){.hs-sc,.hs-day li{animation:none;opacity:1;transform:none}}

/* «Безопасность», «Простым языком» (28.10.2026): только первый экран + шесть правил — на компьютере один экран, на iPhone ~2 прокрутки */
.sec-psum{display:none}
.m-plain .sec-psum{display:block}
.m-plain main>section:not(.sec-hero):not(.sec-psum){display:none}
.m-plain .sec-hero .sec-term,.m-plain .sec-hero .sec-how{display:none}
.m-plain .sec-top{grid-template-columns:minmax(0,1fr)} /* minmax(0,…): шифр в карточке не распирает её за край (29.10.2026) */
.m-plain .sk-hero{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end}
.m-plain .sk-hero .sk-arrow{align-self:center;margin-top:22px}.m-plain .sk-hero .sk-arrow::before{content:""}.m-plain .sk-hero .sk-arrow::after{content:" →"}
@media (max-width:820px){.m-plain .sk-hero{grid-template-columns:minmax(0,1fr);align-items:stretch}.m-plain .sk-hero .sk-arrow{align-self:auto;margin-top:0}.m-plain .sk-hero .sk-arrow::before{content:"↓ "}.m-plain .sk-hero .sk-arrow::after{content:" ↓"}} /* телефон: карточка шифра в столбик и в режиме «Простым языком» (29.10.2026) */
.m-plain .sec-hero{padding-bottom:20px}
.ps-h{font-size:clamp(22px,1rem + 1vw,30px);margin-bottom:14px}
.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ps-c{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border-radius:16px;padding:14px 16px}
.ps-c i{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--grad);color:#fff}.ps-c i svg{width:19px;height:19px}
.ps-c b{display:block;font-size:16px;margin-bottom:2px}.ps-c span{font-size:14px;line-height:1.4;color:var(--muted)}
.ps-note{margin-top:12px;font-size:14px;color:var(--muted);max-width:90ch}
@media (max-width:900px){.ps-grid{grid-template-columns:1fr 1fr}.m-plain .sk-hero{grid-template-columns:1fr;align-items:stretch}.m-plain .sk-hero .sk-arrow{margin-top:0}.m-plain .sk-hero .sk-arrow::before{content:"↓ "}.m-plain .sk-hero .sk-arrow::after{content:" ↓"}}
@media (max-width:560px){.ps-grid{grid-template-columns:1fr;gap:8px}.ps-c{padding:12px 14px}}
.m-plain .sec-psum{padding-bottom:24px}.m-plain .sec-hero .tr-sub{margin-bottom:18px}

/* Сцены первого экрана (28.10.2026): счёт по фото, отзыв → задача, сканер. Проигрываются при показе (класс go) */
/* счёт */
.hb{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(14px,2vw,28px);max-width:980px;margin:0 auto;align-items:center}
.hb-paper{position:relative;overflow:hidden;background:#fff;border-radius:14px;padding:18px;box-shadow:0 24px 50px -26px rgba(42,23,32,.45);transform:rotate(-2deg);display:flex;flex-direction:column;gap:8px}
.hb-paper b{font-size:16px}.hb-paper small{color:var(--muted)}.hb-paper i{display:block;height:8px;border-radius:4px;background:#efe6ea}.hb-paper i.s{width:60%}
.hb-paper p{display:flex;justify-content:space-between;margin-top:6px;font-size:14px}.hb-paper em{font-style:normal;font-weight:700}
.hb-scan{position:absolute;left:0;right:0;height:3px;top:0;background:linear-gradient(90deg,transparent,#FF5D86,transparent);box-shadow:0 0 14px #FF5D86;opacity:0}
.go .hb-scan{animation:hbscan 1.4s ease-in-out .2s 2}
@keyframes hbscan{0%{top:0;opacity:1}100%{top:100%;opacity:1}}
.hb-f{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.hb-f li{background:#fff;border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;gap:12px;font-size:14px;box-shadow:inset 0 0 0 1.5px #ecdfe5;opacity:.25;transition:opacity .4s,box-shadow .4s}
.hb-f small{color:var(--muted)}.hb-f b{text-align:right}
.go .hb-f li{animation:hbon .4s forwards}.go .hb-f li:nth-child(1){animation-delay:1.3s}.go .hb-f li:nth-child(2){animation-delay:1.7s}.go .hb-f li:nth-child(3){animation-delay:2.1s}.go .hb-f li:nth-child(4){animation-delay:2.5s}
@keyframes hbon{to{opacity:1;box-shadow:inset 0 0 0 1.5px rgba(47,166,127,.5)}}
.hb-st{grid-column:1/-1;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.hb-st span{padding:7px 14px;border-radius:99px;font-size:14px;font-weight:600;background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1.5px #ecdfe5}
.go .hb-st span{animation:hbst .4s forwards}.go .hb-st span:nth-child(1){animation-delay:3s}.go .hb-st span:nth-child(2){animation-delay:3.8s}.go .hb-st span:nth-child(3){animation-delay:4.8s}
@keyframes hbst{to{background:#2FA67F;color:#fff;box-shadow:none}}
/* отзыв */
.hr{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(12px,2vw,28px);align-items:center;max-width:920px;margin:0 auto}
.hr-card{background:#fff;border-radius:var(--r);padding:clamp(16px,2vw,24px);box-shadow:0 24px 50px -28px rgba(42,23,32,.45);display:flex;flex-direction:column;gap:8px}
.hr-card small{font-size:13px;font-weight:600;color:var(--muted)}.hr-card b{font-size:18px}.hr-card p{font-size:15px;color:var(--muted);margin:0}
.hr-stars{font-size:26px!important;color:#F2A03D;letter-spacing:2px}.hr-stars s{text-decoration:none;color:#e6dbe0}
.hr-arr{font-size:34px;color:#B8408F;font-weight:700}
.hr-task{box-shadow:inset 0 0 0 2px rgba(232,32,46,.35),0 24px 50px -28px rgba(42,23,32,.45)}.hr-task small{color:#E8202E}
.hr-ok{align-self:flex-start;padding:6px 12px;border-radius:99px;font-size:13px;font-weight:700;background:#E6F6EF;color:#17614F;opacity:0}
.go .hr-in{animation:hrin .5s cubic-bezier(.2,.8,.2,1) both}
.go .hr-arr{animation:hrin .4s 1s both}
.go .hr-task{animation:hrin .5s cubic-bezier(.2,.8,.2,1) 1.4s both}
.go .hr-ok{animation:hrok .4s 3s forwards}
@keyframes hrin{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes hrok{to{opacity:1}}
/* сканер */
.hk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,2vw,28px);align-items:center;max-width:900px;margin:0 auto}
.hk-desk{height:clamp(210px,20vw,280px);border-radius:var(--r);background:linear-gradient(135deg,#8A6E5C,#6E5546);display:grid;place-items:center;overflow:hidden}
.hk-sheet{position:relative;width:52%;aspect-ratio:3/4;background:#EFE7D8;border-radius:4px;padding:10%;display:flex;flex-direction:column;gap:8%;transform:perspective(600px) rotateX(14deg) rotateZ(-8deg) scale(.92);
  box-shadow:-30px 30px 40px -10px rgba(0,0,0,.45);filter:brightness(.82)}
.hk-sheet b{font-size:clamp(9px,.9vw,12px)}.hk-sheet i{display:block;height:5%;border-radius:3px;background:#cfc3b0}.hk-sheet i.s{width:60%}
.hk-c{position:absolute;width:14px;height:14px;border:3px solid #FF5D86;opacity:0}
.hk-c.c1{top:-4px;left:-4px;border-right:0;border-bottom:0}.hk-c.c2{top:-4px;right:-4px;border-left:0;border-bottom:0}.hk-c.c3{bottom:-4px;left:-4px;border-right:0;border-top:0}.hk-c.c4{bottom:-4px;right:-4px;border-left:0;border-top:0}
.go .hk-c{animation:hrok .3s .6s forwards}
.go .hk-sheet{animation:hkfix 1s cubic-bezier(.2,.8,.2,1) 1.5s forwards}
@keyframes hkfix{to{transform:none;background:#fff;filter:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}}
.hk-to{display:flex;flex-direction:column;gap:10px}
.hk-to span{padding:12px 16px;border-radius:14px;background:#fff;font-weight:600;box-shadow:inset 0 0 0 1.5px #ecdfe5;opacity:0}
.hk-to span:first-child{background:var(--grad);color:#fff;box-shadow:none}
.go .hk-to span{animation:hrin .5s forwards}.go .hk-to span:nth-child(1){animation-delay:2.7s}.go .hk-to span:nth-child(2){animation-delay:3.2s}
@media (max-width:760px){.hb{grid-template-columns:1fr}.hb-paper{display:none}.hr{grid-template-columns:1fr}.hr-arr{transform:rotate(90deg);justify-self:center}.hk{grid-template-columns:1fr}.hk-desk{height:200px}}
@media (prefers-reduced-motion:reduce){.go .hb-f li,.go .hb-st span,.go .hr-in,.go .hr-arr,.go .hr-task,.go .hr-ok,.go .hk-c,.go .hk-sheet,.go .hk-to span{animation-duration:.01s;animation-delay:0s}}
/* без анимации (настройка «меньше движения») — сразу итог: прятать только на время анимации (fill backwards) */
.hr-ok,.hk-c,.hk-to span{opacity:1}
.hb-f li{opacity:1;box-shadow:inset 0 0 0 1.5px rgba(47,166,127,.5)}
.hb-st span:last-child{background:#2FA67F;color:#fff;box-shadow:none}
.go .hr-ok{animation:hrfade .4s 3s backwards}
.go .hk-c{animation:hrfade .3s .6s backwards}
.go .hk-to span{animation:hrin .5s backwards}.go .hk-to span:nth-child(1){animation-delay:2.7s}.go .hk-to span:nth-child(2){animation-delay:3.2s}
.go .hb-f li{animation:hbon2 .4s both}.go .hb-f li:nth-child(1){animation-delay:1.3s}.go .hb-f li:nth-child(2){animation-delay:1.7s}.go .hb-f li:nth-child(3){animation-delay:2.1s}.go .hb-f li:nth-child(4){animation-delay:2.5s}
.go .hb-st span:last-child{animation:hbst2 .4s 4.8s both}
@keyframes hrfade{from{opacity:0}to{opacity:1}}
@keyframes hbon2{from{opacity:.25;box-shadow:inset 0 0 0 1.5px #ecdfe5}to{opacity:1;box-shadow:inset 0 0 0 1.5px rgba(47,166,127,.5)}}
@keyframes hbst2{from{background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1.5px #ecdfe5}to{background:#2FA67F;color:#fff;box-shadow:none}}
.hk-sheet{animation-fill-mode:forwards}

/* сцена «Счёт»: позиции на листке, пять статусов (согласование — скоро), строка про реестр (28.10.2026) */
.hb-it{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.hb-it li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px dashed #ecdfe5}.hb-it em{font-style:normal;font-weight:600}
.hb-st span:last-child{background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1.5px #ecdfe5}
.hb-st span:nth-child(4),.hb-st span:nth-child(5){background:#2FA67F;color:#fff;box-shadow:none}
.hb-st span:nth-child(5){background:var(--grad)}
.hb-st span.soon{background:#FFF7FA!important;color:#A81E4F!important;box-shadow:inset 0 0 0 1.5px rgba(184,64,143,.4)!important;animation:none!important}
.hb-st sup{font-size:10px;font-weight:700;margin-left:4px;text-transform:uppercase;letter-spacing:.04em}
.go .hb-st span{animation:none}
.go .hb-st span:nth-child(1){animation:hbst2 .4s 3s both}.go .hb-st span:nth-child(3){animation:hbst2 .4s 3.7s both}.go .hb-st span:nth-child(4){animation:hbst2 .4s 4.5s both}
.go .hb-st span:nth-child(5){animation:hbst3 .4s 5.2s both}
@keyframes hbst3{from{background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1.5px #ecdfe5}to{background:#B8408F;color:#fff;box-shadow:none}}
.hb-st span:nth-child(5){background:#B8408F;color:#fff}
.hb-st span:nth-child(1){background:#2FA67F;color:#fff;box-shadow:none}
.hb-note{grid-column:1/-1;text-align:center;font-size:14px;color:var(--muted);margin:0}
@media (max-width:760px){.hb-st span{font-size:13px;padding:6px 10px}}

/* сцена «Сканер» v2 (28.10.2026): кривой лист с тенью и пальцем → рамка углов → ровный белый PDF в тёмной рамке; справа — сохранён, зашифрован, куда дальше */
.hk2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,2.4vw,32px);align-items:center;max-width:960px;margin:0 auto}
.hk2-desk{position:relative;height:clamp(230px,22vw,300px);border-radius:var(--r);background:radial-gradient(120% 90% at 30% 20%,#9A7D69,#6B5243);overflow:hidden;display:grid;place-items:center}
.hk2-sheet{position:relative;height:74%;aspect-ratio:3/4;background:#E9DFCD;border-radius:3px;padding:7% 8%;display:flex;flex-direction:column;gap:7%;
  transform:perspective(700px) rotateX(16deg) rotateZ(-7deg) translate(-4%,2%);box-shadow:-24px 28px 34px -12px rgba(0,0,0,.5);transition:none}
.hk2-sheet b{font-size:clamp(8px,.75vw,11px);letter-spacing:.02em}
.hk2-sheet i{display:block;height:5%;border-radius:3px;background:#c9bca7}.hk2-sheet i.s{width:62%}
.hk2-shade{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(40,25,15,.35) 60%,rgba(40,25,15,.55) 100%)}
.hk2-pdf{position:absolute;right:-6px;top:-8px;padding:3px 7px;border-radius:6px;background:#E8202E;color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;opacity:0;transform:scale(.6)}
.hk2-finger{position:absolute;right:20%;bottom:-6%;width:15%;height:34%;border-radius:40% 40% 30% 30%;background:linear-gradient(180deg,#d9a88a,#b98468);box-shadow:-10px -6px 22px rgba(0,0,0,.35);transform:rotate(-18deg)}
.hk2-frame{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.hk2-frame polygon{fill:rgba(255,93,134,.12);stroke:#FF5D86;stroke-width:.8;vector-effect:non-scaling-stroke;stroke-dasharray:4 3}
.hk2-to{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.hk2-to li{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1.5px #ecdfe5}
.hk2-to li b{font-size:16px}.hk2-to li span{font-size:14px;color:var(--muted)}
.hk2-to li.a{background:var(--grad);box-shadow:none}.hk2-to li.a b,.hk2-to li.a span{color:#fff}
.hk2-to li.b{background:#2A1720;box-shadow:none}.hk2-to li.b b{color:#fff}.hk2-to li.b span{color:#D9C9CF}
/* итог без анимации */
.hs-scan .hk2-sheet{transform:none;background:#fff;box-shadow:0 0 0 2px #2A1720,0 14px 30px -12px rgba(0,0,0,.45)}
.hs-scan .hk2-sheet i{background:#ddd2d7}.hs-scan .hk2-shade,.hs-scan .hk2-finger{opacity:0}.hs-scan .hk2-pdf{opacity:1;transform:none}
/* анимация */
.go .hk2-sheet{animation:hk2fix .9s cubic-bezier(.2,.8,.2,1) 1.8s backwards}
@keyframes hk2fix{from{transform:perspective(700px) rotateX(16deg) rotateZ(-7deg) translate(-4%,2%);background:#E9DFCD;box-shadow:-24px 28px 34px -12px rgba(0,0,0,.5)}
  to{transform:none;background:#fff;box-shadow:0 0 0 2px #2A1720,0 14px 30px -12px rgba(0,0,0,.45)}}
.go .hk2-sheet i{animation:hk2ln .9s 1.8s backwards}@keyframes hk2ln{from{background:#c9bca7}to{background:#ddd2d7}}
.go .hk2-shade,.go .hk2-finger{animation:hk2out .6s 1.6s backwards}@keyframes hk2out{from{opacity:1}to{opacity:0}}
.go .hk2-frame{animation:hk2frame 2s .4s}@keyframes hk2frame{0%{opacity:0}20%,70%{opacity:1}100%{opacity:0}}
.go .hk2-pdf{animation:hk2pdf .4s 2.7s backwards}@keyframes hk2pdf{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.go .hk2-to li{animation:hrin .5s backwards}.go .hk2-to li.a{animation-delay:3s}.go .hk2-to li.b{animation-delay:3.5s}.go .hk2-to li.c{animation-delay:4s}
@media (max-width:760px){.hk2{grid-template-columns:1fr}.hk2-desk{height:210px}.hk2-to li{padding:10px 14px}}
.hs-wall{max-width:1180px;gap:8px}.hs-wall span{padding:8px 14px;font-size:clamp(13px,.75rem + .25vw,15px)}@media (max-width:560px){.hs-wall{gap:6px}.hs-wall span{padding:6px 10px;font-size:12px}}

/* «Сканер» v3 (28.10.2026): яркая рамка обводит лист, углы вспыхивают по очереди, луч, вспышка — и ровный PDF */
.hk2-trace{position:absolute;inset:-5px;width:calc(100% + 10px);height:calc(100% + 10px);overflow:visible;pointer-events:none;opacity:0}
.hk2-trace rect{fill:none;stroke:#FF4D85;stroke-width:3;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 6px #FF4D85) drop-shadow(0 0 14px rgba(255,77,133,.8))}
.hk2-dot{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #FF4D85,0 0 18px 4px rgba(255,77,133,.9);opacity:0;transform:scale(0)}
.hk2-dot.d1{left:-5px;top:-5px;margin:-2px}.hk2-dot.d2{left:calc(100% + 5px);top:-5px;margin:-2px -12px}.hk2-dot.d3{left:calc(100% + 5px);top:calc(100% + 5px);margin:-12px -12px}.hk2-dot.d4{left:-5px;top:calc(100% + 5px);margin:-12px -2px}
.hk2-beam{position:absolute;left:-4%;right:-4%;height:22%;top:-22%;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(255,77,133,.25) 70%,#FF4D85 98%,transparent);box-shadow:0 10px 24px -6px rgba(255,77,133,.9)}
.hk2-flash{position:absolute;inset:-20%;background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.7) 40%,transparent 70%);opacity:0;pointer-events:none}
.go .hk2-trace{animation:hk3show 3.2s .2s}
@keyframes hk3show{0%{opacity:0}6%,85%{opacity:1}100%{opacity:0}}
.go .hk2-trace rect{animation:hk3draw 1s .3s cubic-bezier(.6,0,.3,1) forwards}
@keyframes hk3draw{to{stroke-dashoffset:0}}
.go .hk2-dot{animation:hk3dot 2s cubic-bezier(.2,1.6,.4,1) backwards}
.go .hk2-dot.d1{animation-delay:1.3s}.go .hk2-dot.d2{animation-delay:1.5s}.go .hk2-dot.d3{animation-delay:1.7s}.go .hk2-dot.d4{animation-delay:1.9s}
@keyframes hk3dot{0%{opacity:0;transform:scale(0)}15%{opacity:1;transform:scale(1.4)}25%,80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.6)}}
.go .hk2-beam{animation:hk3beam .8s 2.1s ease-in-out}
@keyframes hk3beam{0%{top:-22%;opacity:1}100%{top:100%;opacity:1}}
.go .hk2-flash{animation:hk3flash .5s 2.9s ease-out}
@keyframes hk3flash{0%{opacity:0}25%{opacity:.95}100%{opacity:0}}
/* сдвиг остальных шагов под новый ритм */
.go .hk2-shade,.go .hk2-finger{animation:hk2out .4s 2.9s backwards}
.go .hk2-sheet{animation:hk2fix .8s cubic-bezier(.2,.8,.2,1) 3s backwards}
.go .hk2-sheet i{animation:hk2ln .8s 3s backwards}
.go .hk2-pdf{animation:hk2pdf .45s cubic-bezier(.2,1.6,.4,1) 3.7s backwards}
.go .hk2-to li.a{animation-delay:3.9s}.go .hk2-to li.b{animation-delay:4.3s}.go .hk2-to li.c{animation-delay:4.7s}
.hk2-sheet{overflow:visible}
.hk2-trace rect{stroke-width:4}.hk2-dot{width:16px;height:16px}
.hb-st span.lock{background:#2A1720!important;color:#fff!important;box-shadow:none!important}.hb-st span.lock sup{color:#FF9DB8}

/* сцена «Без установки — сразу на телефон» (28.10.2026): значки Портал, Сканер, Счёт на экране «Домой» (у портала три манифеста: портал, scan, bill) */
.hh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3vw,48px);align-items:center;max-width:860px;margin:0 auto}
.hh-phone{width:clamp(170px,15vw,210px);aspect-ratio:9/18.5;border-radius:34px;background:#1E1018;padding:9px;box-shadow:0 30px 60px -28px rgba(42,23,32,.7)}
.hh-scr{position:relative;height:100%;border-radius:26px;overflow:hidden;background:linear-gradient(160deg,#C9A8FF,#FF9DB8 60%,#FFD0B8);padding:34px 12px 12px}
.hh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 8px}
.ph-x{aspect-ratio:1;border-radius:11px;background:rgba(255,255,255,.35)}
.ph-a{display:flex;flex-direction:column;align-items:center;gap:3px}
.ph-a i{width:100%;aspect-ratio:1;border-radius:11px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:800;font-size:12px;box-shadow:0 6px 12px -6px rgba(0,0,0,.4)}
.ph-a i svg{width:58%;height:58%}
.ph-a small{font-size:8.5px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:nowrap}
.ic1{background:linear-gradient(135deg,#7B52D6,#FF5D86)}.ic2{background:linear-gradient(135deg,#5B3CC4,#A57CFF)}.ic3{background:linear-gradient(135deg,#E2873A,#FF5D86)}
.hh-tap{position:absolute;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 0 2px #fff;opacity:0;pointer-events:none;left:calc(12px + (100% - 24px) * .25 + 4px);top:118px}
.hh-cam{position:absolute;inset:0;background:#0d0a0c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0}
.hh-cam span{width:62%;aspect-ratio:3/4;border:2.5px solid #FF4D85;border-radius:6px;box-shadow:0 0 16px rgba(255,77,133,.7)}
.hh-cam b{color:#fff;font-size:11px}
.hh-txt{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.hh-txt li{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1.5px #ecdfe5}
.hh-txt li:nth-child(2){background:var(--grad);box-shadow:none}.hh-txt li:nth-child(2) b,.hh-txt li:nth-child(2) span{color:#fff}
.hh-txt b{font-size:16px}.hh-txt span{font-size:14px;color:var(--muted)}
.go .ph-a{animation:hhpop .5s cubic-bezier(.2,1.6,.4,1) backwards}.go .ph-a.a1{animation-delay:.4s}.go .ph-a.a2{animation-delay:.8s}.go .ph-a.a3{animation-delay:1.2s}
@keyframes hhpop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
.go .hh-tap{animation:hhtap .6s 2.2s}
@keyframes hhtap{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}
.go .hh-cam{animation:hhcam 2.4s 2.6s}
@keyframes hhcam{0%{opacity:0;transform:scale(.6)}15%,80%{opacity:1;transform:none}100%{opacity:0}}
.go .hh-txt li{animation:hrin .5s backwards}.go .hh-txt li:nth-child(1){animation-delay:.3s}.go .hh-txt li:nth-child(2){animation-delay:1.3s}.go .hh-txt li:nth-child(3){animation-delay:1.8s}
@media (max-width:640px){.hh{grid-template-columns:1fr;justify-items:center}.hh-phone{width:150px}.hh-txt li{padding:10px 14px}}
.ph-a i{position:relative}.hh-tap{left:50%!important;top:50%!important;margin:-17px 0 0 -17px}
.hh-phone{width:clamp(180px,16vw,220px);aspect-ratio:9/16}.hh-scr{padding:30px 14px 14px}.hh-grid{grid-template-columns:repeat(3,1fr);gap:16px 12px}.ph-a i{border-radius:14px;font-size:15px}.ph-a small{font-size:11px}.ph-x{border-radius:14px}
.hh .ph-a,.hh .ph-x{box-shadow:none}.hh .ph-a{background:none;padding:0;border-radius:0}.hh .ph-x{background:rgba(255,255,255,.35)}
@media (max-width:640px){.hh{grid-template-columns:120px minmax(0,1fr);justify-items:stretch;gap:14px}.hh-phone{width:120px;border-radius:24px;padding:6px}.hh-scr{border-radius:19px;padding:18px 8px 8px}.hh-grid{gap:10px 6px}.ph-a i{border-radius:9px;font-size:11px}.ph-a small{font-size:8px}.ph-x{border-radius:9px}.hh-txt li:nth-child(3){display:none}.hh-txt li{padding:9px 12px}.hh-txt b{font-size:14px}.hh-txt span{font-size:12px}}

/* сцена «Чек по карте» (28.10.2026): бухгалтер спрашивает → QR чека → распознан → долг по карте тает до нуля */
.hq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:clamp(12px,2vw,24px);align-items:center;max-width:1040px;margin:0 auto}
.hq-chat{display:flex;flex-direction:column;gap:10px}
.hq-msg{max-width:92%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.35;box-shadow:0 10px 24px -16px rgba(42,23,32,.45)}
.hq-msg small{display:block;font-size:12px;font-weight:700;margin-bottom:2px}
.hq-msg.in{background:#fff;border-bottom-left-radius:4px}.hq-msg.in small{color:#7B52D6}
.hq-msg.out{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:4px}.hq-msg.out small{color:#fff;opacity:.85}
.hq-cam{position:relative;height:clamp(210px,19vw,260px);border-radius:var(--r);background:#141014;display:grid;place-items:center;overflow:hidden}
.hq-rcpt{position:relative;width:52%;height:84%;background:#fff;border-radius:3px;padding:10% 9%;display:flex;flex-direction:column;gap:7%;transform:rotate(-4deg);
  -webkit-mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/12px 100% repeat-x;mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/12px 100% repeat-x}
.hq-rcpt b{font-size:11px;text-align:center;letter-spacing:.2em}.hq-rcpt i{display:block;height:5%;background:#e6dde1;border-radius:2px}.hq-rcpt i.s{width:60%}
.hq-qr{margin:auto auto 0;width:46%;aspect-ratio:1;background:
  conic-gradient(#000 25%,#fff 0 50%,#000 0 75%,#fff 0) 0 0/25% 25%;outline:3px solid transparent;outline-offset:4px;transition:outline-color .3s}
.hq-line{position:absolute;left:18%;right:18%;height:3px;top:20%;background:#2FE0A0;box-shadow:0 0 14px #2FE0A0;opacity:0}
.hq-ok{position:absolute;left:8%;right:8%;bottom:8%;padding:10px 12px;border-radius:12px;background:#2FA67F;color:#fff;font-weight:700;font-size:15px;text-align:center}
.hq-ok small{display:block;font-weight:500;font-size:12px;opacity:.9}
.hq-debt{background:#fff;border-radius:var(--r);padding:clamp(16px,2vw,22px);box-shadow:0 24px 50px -28px rgba(42,23,32,.45);display:flex;flex-direction:column;gap:6px}
.hq-debt small{font-size:13px;font-weight:600;color:var(--muted)}
.hq-debt b{font-size:clamp(34px,1.2rem + 1.8vw,48px);letter-spacing:-.03em;color:#2FA67F;font-variant-numeric:tabular-nums}
.hq-debt p{margin:0;font-size:14px;color:var(--muted)}
.hq-done{align-self:flex-start;padding:5px 12px;border-radius:99px;background:#E6F6EF;color:#17614F;font-weight:700;font-size:14px}
/* анимация (итог без анимации — всё закрыто) */
.go .hq-msg.in{animation:hrin .5s .2s backwards}.go .hq-msg.out{animation:hrin .5s 1s backwards}
.go .hq-line{animation:hqscan 1.2s 1.6s ease-in-out 2}
@keyframes hqscan{0%{top:20%;opacity:1}50%{top:78%;opacity:1}100%{top:20%;opacity:1}}
.go .hq-qr{animation:hqqr .4s 3.9s backwards}@keyframes hqqr{from{outline-color:transparent}}
.hq-qr{outline-color:#2FE0A0}
.go .hq-ok{animation:hrin .5s 4.1s backwards}
.go .hq-debt b{animation:hqred .4s 4.6s backwards}@keyframes hqred{from{color:#A81E4F}}
.go .hq-done{animation:hhpop .5s cubic-bezier(.2,1.6,.4,1) 5.8s backwards}
@media (max-width:760px){.hq{grid-template-columns:1fr 1fr}.hq-chat{grid-column:1/-1;flex-direction:row}.hq-msg{flex:1;font-size:13px}.hq-msg.out{align-self:auto}.hq-cam{height:190px}.hq-debt p{display:none}}
.cols>.c-l:only-child{grid-column:1/-1;max-width:760px}

/* «Сервис компаний, которые в нём работают» — в блоке миссии (28.10.2026): предложение → внедрено для всех → +1 бесплатный месяц */
.co{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,4vw,64px);align-items:center;margin-top:clamp(40px,5vw,72px);padding-top:clamp(32px,4vw,56px);border-top:1px solid #ecdfe5}
.co-txt h3{font-size:clamp(24px,1rem + 1.3vw,34px);line-height:1.15;letter-spacing:-.02em;max-width:22ch}
.co-txt p{margin-top:14px;font-size:clamp(16px,.95rem + .25vw,19px);line-height:1.5;max-width:52ch}
.co-steps{list-style:none;counter-reset:co;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.co-steps li{counter-increment:co;position:relative;padding:12px 16px 12px 52px;border-radius:14px;background:var(--surface);font-size:15px;line-height:1.4}
.co-steps li::before{content:counter(co);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font-weight:700;font-size:13px}
.co-steps li:last-child{background:var(--grad);color:#fff}.co-steps li:last-child::before{background:#fff;color:#B8408F}
.co-anim{display:flex;flex-direction:column;gap:12px}
.co-idea,.co-all,.co-gift{background:#fff;border-radius:var(--r);padding:16px 18px;box-shadow:0 20px 44px -28px rgba(42,23,32,.45)}
.co-anim small{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.co-idea b{font-size:17px;line-height:1.35}
.co-st{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.co-st span{padding:6px 12px;border-radius:99px;font-size:13px;font-weight:700;background:#f4ecf0;color:var(--muted);transition:background .35s,color .35s,transform .35s}
.co-st span.on{background:#2FA67F;color:#fff;transform:translateY(-1px)}
.co-dots{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}
.co-dots i{aspect-ratio:1;border-radius:6px;background:#efe6ea;transition:background .3s,transform .3s}
.co-dots i.on{background:var(--grad);transform:scale(1.08)}
.co-gift{display:flex;align-items:center;gap:16px;background:#2A1720;color:#fff}
.co-gift small{color:#D9C9CF}.co-gift b{font-size:clamp(32px,1.2rem + 1.6vw,44px);letter-spacing:-.03em;background:linear-gradient(120deg,#C9A8FF,#FF7AA2 60%,#FFC2A8);-webkit-background-clip:text;background-clip:text;color:transparent}
.co-plus{flex:none;padding:10px 14px;border-radius:14px;background:var(--grad);font-weight:800;font-size:16px;opacity:0;transform:translateY(10px) scale(.8);transition:opacity .4s,transform .5s cubic-bezier(.2,1.6,.4,1)}
.co-plus.on{opacity:1;transform:none}
@media (max-width:900px){.co{grid-template-columns:1fr}.co-dots{grid-template-columns:repeat(8,1fr)}.co-dots i:nth-child(n+17){display:none}}
.sec-vault .st-big{padding-right:52px;font-size:clamp(32px,3vw,48px)}.sec-vault .dk .st-big{font-size:clamp(80px,9vw,132px)}

/* «Контент-завод» (28.10.2026): календарь месяца и пост, который уходит сам — на первом экране */
.kz-hero{padding-bottom:clamp(28px,3.4vw,48px)}
.kz-top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(14px,1.8vw,24px);align-items:stretch}
.kz-cal{background:#fff;border-radius:var(--r);padding:clamp(14px,1.6vw,20px);box-shadow:0 24px 50px -30px rgba(42,23,32,.45)}
.kz-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.kz-head b{font-size:18px;margin-right:auto}
.kz-ch{font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px;background:#f4ecf0;color:var(--muted)}.kz-ch.on{background:#2AA3E6;color:#fff}
.kz-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.kz-grid .d{font-size:11px;font-weight:700;color:var(--muted);text-align:center;padding-bottom:2px}
.kz-grid i{position:relative;min-height:clamp(38px,4vw,54px);border-radius:8px;background:#faf5f7;padding:4px;font-style:normal;display:flex;flex-direction:column;gap:3px}
.kz-grid i:empty{background:none}.kz-grid i.today{box-shadow:inset 0 0 0 2px #B8408F}
.kz-grid em{font-style:normal;font-size:11px;color:var(--muted)}
.kz-grid b{font-size:10px;font-weight:700;line-height:1.1;padding:3px 4px;border-radius:5px;color:#fff;background:#2FA67F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kz-grid b.dr{background:#F2A03D}.kz-grid b.id{background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1.5px #e2d4db}
.kz-grid i.today b{background:#B8408F}
.kz-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--muted)}
.kz-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.kz-leg .g{background:#2FA67F}.kz-leg .y{background:#B8408F}.kz-leg .p{background:#F2A03D}.kz-leg .w{background:#fff;box-shadow:inset 0 0 0 1.5px #e2d4db}
.kz-post{background:#2A1720;color:#fff;border-radius:var(--r);padding:clamp(16px,2vw,24px);display:flex;flex-direction:column;gap:8px;justify-content:center}
.kz-post small{font-size:13px;font-weight:700;color:#7FD3FF}.kz-post b{font-size:clamp(18px,1rem + .5vw,23px);line-height:1.25}.kz-post p{margin:0;font-size:14px;color:#D9C9CF}
.kz-st{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.kz-st span{padding:6px 11px;border-radius:99px;font-size:13px;font-weight:700;background:rgba(255,255,255,.08);color:#D9C9CF}
.kz-st span:nth-child(-n+3){background:rgba(255,255,255,.16);color:#fff}.kz-st span:nth-child(4){background:#2FA67F;color:#fff}
.kz-note{font-size:12px!important;opacity:.8}
.go .kz-st span{animation:hbst2k .4s both}.go .kz-st span:nth-child(1){animation-delay:.4s}.go .kz-st span:nth-child(2){animation-delay:1s}.go .kz-st span:nth-child(3){animation-delay:1.6s}.go .kz-st span:nth-child(4){animation:kzpub .5s cubic-bezier(.2,1.6,.4,1) 2.4s both}
@keyframes hbst2k{from{background:rgba(255,255,255,.08);color:#D9C9CF}}
@keyframes kzpub{from{background:rgba(255,255,255,.08);color:#D9C9CF;transform:scale(.8)}to{transform:none}}
.go .kz-grid b{animation:hrin .4s backwards}
@media (max-width:900px){.kz-top{grid-template-columns:1fr}.kz-grid i{min-height:34px}.kz-grid b{font-size:8.5px;padding:2px 3px}}
.hs{cursor:pointer}.hs-nav [data-hs-dots] i{cursor:pointer;width:10px;height:10px}.hs-nav [data-hs-dots] i.on{width:24px}.hs-nav [data-hs-dots] i:hover{background:#d4b8c6}.hs-nav [data-hs-dots] i:focus-visible{outline:2px solid #B8408F;outline-offset:2px}

/* «До/после» на главной — крупно и живо (28.10.2026): на всю ширину, 8 пунктов, хаос в «До» качается, «47» пульсирует, галочки «После» выскакивают */
.ba-big h2{font-size:clamp(32px,1rem + 3vw,60px);letter-spacing:-.03em;line-height:1.05}
.ba-big .ba-l{padding-top:clamp(70px,6vw,92px);padding-bottom:clamp(28px,3.4vw,52px)}
.ba-big .ba-l li{min-height:clamp(110px,9vw,140px)}
.ba-big .ba-l li b{font-size:clamp(17px,.9rem + .7vw,26px)}
.ba-big .ba-l li span{font-size:clamp(14px,.85rem + .2vw,16px)}
.ba-big .ba-tag{font-size:15px;padding:8px 18px;top:22px}
.ba-badge{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;margin-left:8px;border-radius:99px;background:#E8202E;color:#fff;font-style:normal;font-size:13px;font-weight:800;vertical-align:3px;animation:babadge 1.4s ease-in-out infinite}
@keyframes babadge{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(232,32,46,.5)}50%{transform:scale(1.12);box-shadow:0 0 0 8px rgba(232,32,46,0)}}
.ba-big .ba-before li{animation:bawob 3.2s ease-in-out infinite}
.ba-big .ba-before li:nth-child(2n){animation-duration:2.7s;animation-direction:reverse}
.ba-big .ba-before li:nth-child(3n){animation-duration:3.8s}
@keyframes bawob{0%,100%{translate:0 0}50%{translate:0 -4px}}
.ba-big .ba-after li{position:relative;padding-right:46px}
.ba-ck{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#B8408F;font-style:normal;font-weight:800;font-size:15px;box-shadow:0 6px 14px -6px rgba(0,0,0,.35)}
.ba-big.swept .ba-ck{animation:baok .5s cubic-bezier(.2,1.6,.4,1) backwards}
.ba-big.swept li:nth-child(1) .ba-ck{animation-delay:.1s}.ba-big.swept li:nth-child(2) .ba-ck{animation-delay:.2s}.ba-big.swept li:nth-child(3) .ba-ck{animation-delay:.3s}.ba-big.swept li:nth-child(4) .ba-ck{animation-delay:.4s}
.ba-big.swept li:nth-child(5) .ba-ck{animation-delay:.5s}.ba-big.swept li:nth-child(6) .ba-ck{animation-delay:.6s}.ba-big.swept li:nth-child(7) .ba-ck{animation-delay:.7s}.ba-big.swept li:nth-child(8) .ba-ck{animation-delay:.8s}
@keyframes baok{from{transform:scale(0) rotate(-40deg)}to{transform:none}}
.ba-big .ba-line{width:4px;margin-left:-2px;box-shadow:0 0 18px rgba(255,255,255,.9),0 0 40px rgba(255,93,134,.6)}
.ba-big .ba-line i{width:56px;height:56px;margin:-28px 0 0 -28px}
@media (max-width:560px){.ba-big .ba-l li{min-height:0}.ba-big .ba-l li span{display:block}.ba-big .ba-after li{padding-right:12px}.ba-ck{width:22px;height:22px;font-size:12px;top:8px;right:8px}.ba-badge{min-width:20px;height:20px;font-size:11px}}
@media (prefers-reduced-motion:reduce){.ba-badge,.ba-big .ba-before li{animation:none}}
.ba-big .ba-after li b::before{content:none}
.ba-big{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}.ba-big .ba{min-height:clamp(460px,66vh,680px)}.ba-big .ba-l{display:flex;flex-direction:column;justify-content:center}.ba-big .ba-l ul{align-content:center}.ba-big .ba-l li{min-height:clamp(140px,13vw,200px);padding:clamp(16px,1.6vw,24px)}@media (max-width:560px){.ba-big .ba{min-height:0}.ba-big .ba-l li{min-height:0}}
.co-sec .co{margin-top:0;padding-top:0;border-top:0}
section[aria-label="Коротко о защите"] .sec-tiles{margin-top:0}

/* «Предложите улучшение — получите месяц бесплатно» v2 (28.10.2026): цикл из 4 шагов, точка бежит, шаги загораются, счётчик месяцев */
.cm{margin-top:clamp(40px,5vw,72px);padding-top:clamp(32px,4vw,56px);border-top:1px solid #ecdfe5}
.co-sec .cm{margin-top:0;padding-top:0;border-top:0}
.cm-head{text-align:center;max-width:760px;margin:0 auto}
.cm-head small{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#B8408F}
.cm-head h3{margin-top:10px;font-size:clamp(28px,1rem + 2.4vw,50px);line-height:1.05;letter-spacing:-.03em}
.cm-head p{margin-top:14px;font-size:clamp(16px,.95rem + .3vw,20px);line-height:1.5;color:var(--muted)}
.cm-flow{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(28px,3.4vw,48px)}
.cm-track{position:absolute;left:12%;right:12%;top:58px;height:4px;border-radius:4px;background:linear-gradient(90deg,#e9dce3,#e9dce3);z-index:0;overflow:visible}
.cm-track::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grad);transform-origin:left;transform:scaleX(var(--prog,0));transition:transform .5s ease}
.cm-dot{position:absolute;top:50%;left:calc(var(--prog,0) * 100%);width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #FF5D86,0 0 22px 6px rgba(255,93,134,.7);transition:left .5s ease}
.cm-s{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:22px 16px 20px;border-radius:var(--r);background:#fff;box-shadow:0 20px 44px -30px rgba(42,23,32,.45);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.cm-n{position:absolute;top:12px;left:14px;font-size:13px;font-weight:800;color:#C9B6C0}
.cm-ic{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:#f4ecf0;color:#B8408F;transition:background .4s,color .4s,transform .4s}
.cm-ic svg{width:34px;height:34px}
.cm-s h4{font-size:clamp(17px,1rem + .4vw,22px);letter-spacing:-.01em}.cm-s p{margin:0;font-size:14px;line-height:1.4;color:var(--muted)}
.cm-s.on{transform:translateY(-8px);box-shadow:0 30px 60px -28px rgba(184,64,143,.55)}
.cm-s.on .cm-ic{background:var(--grad);color:#fff;transform:scale(1.06)}
.cm-gift.on{background:#2A1720}.cm-gift.on h4{color:#fff}.cm-gift.on p{color:#D9C9CF}
.cm-foot{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;margin-top:clamp(18px,2vw,28px)}
.cm-idea,.cm-count{border-radius:var(--r);padding:16px 20px;display:flex;flex-direction:column;gap:4px;justify-content:center}
.cm-idea{background:var(--surface)}.cm-idea b{font-size:clamp(16px,.95rem + .3vw,19px);line-height:1.35;transition:opacity .3s}
.cm-count{background:#2A1720;color:#fff}
.cm-foot small{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cm-count small{color:#D9C9CF}
.cm-count b{position:relative;font-size:clamp(34px,1.2rem + 1.8vw,48px);letter-spacing:-.03em;line-height:1;background:linear-gradient(120deg,#C9A8FF,#FF7AA2 60%,#FFC2A8);-webkit-background-clip:text;background-clip:text;color:transparent}
.cm-pop{position:absolute;left:1.6em;top:-.2em;font-style:normal;font-size:.5em;font-weight:800;color:#2FE0A0;-webkit-text-fill-color:#2FE0A0;opacity:0}
.cm-pop.go{animation:cmpop 1s ease-out}
@keyframes cmpop{0%{opacity:0;transform:translateY(10px)}25%{opacity:1}100%{opacity:0;transform:translateY(-22px)}}
@media (max-width:900px){.cm-flow{grid-template-columns:1fr 1fr}.cm-track{display:none}.cm-foot{grid-template-columns:1fr}}
@media (max-width:520px){.cm-s{padding:16px 12px}.cm-ic{width:56px;height:56px;border-radius:16px}.cm-ic svg{width:26px;height:26px}.cm-s p{font-size:13px}}
@media (prefers-reduced-motion:reduce){.cm-s,.cm-ic,.cm-dot,.cm-track::before{transition:none}}

/* баннер cookie (28.10.2026) */
.ck{position:fixed;left:16px;bottom:16px;z-index:60;max-width:440px;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:0 20px 50px -18px rgba(42,23,32,.45),inset 0 0 0 1px #ecdfe5;display:flex;flex-direction:column;gap:12px}
.ck[hidden]{display:none}
.ck p{margin:0;font-size:14px;line-height:1.45}
.ck-b{display:flex;gap:8px;flex-wrap:wrap}.ck-b .btn{padding:10px 18px;font-size:15px}
.ck-no{font:inherit;font-size:15px;font-weight:600;border:0;border-radius:99px;padding:10px 16px;background:#f4ecf0;color:var(--ink);cursor:pointer}
@media (max-width:560px){.ck{left:8px;right:8px;bottom:8px;max-width:none}}

/* страницы по отраслям (28.10.2026): первый экран — три боли «было → стало» */
.ind-hero{padding-bottom:clamp(28px,3.4vw,48px)}
.ind-pains{list-style:none;margin:8px 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ind-pains li{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;box-shadow:0 20px 44px -30px rgba(42,23,32,.45)}
.ind-b{padding:14px 18px;background:#EDE7E4;color:#6B4A50;font-size:15px;line-height:1.35}.ind-b::before{content:"✕ ";color:#C0392B;font-weight:700}
.ind-a{flex:1;padding:16px 18px;background:var(--grad);color:#fff;font-weight:600;font-size:16px;line-height:1.35}.ind-a::before{content:"✓ ";font-weight:800}
@media (max-width:900px){.ind-pains{grid-template-columns:1fr}}

/* меню «Сервисы»: строка отраслей; подвал: «Ищем партнёров» (28.10.2026) */
.nav-ind{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;margin:6px 0 0;padding-top:10px;border-top:1px solid #ecdfe5;font-size:14px}
.nav-ind span{color:var(--muted);font-weight:600;margin-right:4px}
.nav .nav-ind a{padding:6px 12px!important;border-radius:99px;background:#f7f0f3;font-size:14px}
.foot-partners{margin:22px 0 0;padding:16px 20px;border-radius:16px;background:rgba(255,255,255,.06);color:#E8DCE2;font-size:15px;line-height:1.45}
.foot-partners b{color:#fff}.foot-partners a{color:#FF9DB8;font-weight:700;margin-left:6px}

/* баннер «Любая ваша функция — разработаем бесплатно*» (28.10.2026): запросы печатаются по очереди → «Сделано — для всех» */
.fr{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:calc(var(--r) + 8px);background:radial-gradient(120% 120% at 0% 0%,#7B52D6 0%,#B8408F 50%,#FF5D86 100%);color:#fff;box-shadow:0 40px 80px -40px rgba(184,64,143,.7)}
.fr::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 60% at 85% 20%,rgba(255,255,255,.25),transparent 70%);pointer-events:none}
.fr>*{position:relative}
.fr-l small{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.fr-l h2{margin-top:10px;font-size:clamp(30px,1rem + 2.6vw,56px);line-height:1.02;letter-spacing:-.03em;color:#fff}
.fr-l h2 sup{font-size:.45em;vertical-align:.9em;margin-left:2px}
.fr-l>p{margin-top:14px;font-size:clamp(16px,.95rem + .3vw,20px);line-height:1.45;opacity:.95}
.fr-act{margin-top:22px}.fr-btn{background:#fff!important;color:#B8408F!important;box-shadow:0 12px 26px -12px rgba(0,0,0,.4)!important}
.fr-note{margin-top:18px;font-size:13px;line-height:1.45;opacity:.85;max-width:56ch}.fr-note a{color:#fff;text-decoration:underline}
.fr-r{display:flex;flex-direction:column;gap:12px}
.fr-req,.fr-res{border-radius:18px;padding:16px 18px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.fr-req small{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.8;margin-bottom:6px}
.fr-req b{display:block;min-height:2.6em;font-size:clamp(17px,1rem + .4vw,22px);line-height:1.3}
.fr-cur{display:inline-block;width:2px;height:1.05em;margin-left:2px;background:#fff;vertical-align:-3px;animation:stblink 1s steps(1) infinite}
.fr-arrow{align-self:center;font-size:26px;font-weight:800;opacity:.9}
.fr-res{display:flex;align-items:center;gap:14px;background:#fff;color:#2A1720;box-shadow:0 16px 34px -18px rgba(0,0,0,.45);transition:transform .45s cubic-bezier(.2,1.6,.4,1),opacity .3s}
.fr-res b{display:block;font-size:17px}.fr-res small{font-size:14px;color:var(--muted)}
.fr-ok{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#2FA67F;color:#fff;font-weight:800;font-size:20px}
.fr-res.wait{opacity:.35;transform:scale(.96)}
@media (max-width:900px){.fr{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fr-cur{animation:none}.fr-res{transition:none}}

/* фон верха главной (28.10.2026): шёлк, стекло, плитка, волны — случайно при открытии; узор справа и снизу, слева под заголовком светло */
.hero-top{position:relative;isolation:isolate}
.hero-top::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hbg) right top/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent);pointer-events:none}
.hero-top[data-hbg="silk"]{--hbg:url(/img/bg/silk-d.webp)}
.hero-top[data-hbg="glass"]{--hbg:url(/img/bg/glass-d.webp)}
.hero-top[data-hbg="tiles"]{--hbg:url(/img/bg/tiles-d.webp)}
.hero-top[data-hbg="waves"]{--hbg:url(/img/bg/waves-d.webp)}
@media (max-width:760px){.hero-top[data-hbg="silk"]{--hbg:url(/img/bg/silk-m.webp)}.hero-top[data-hbg="glass"]{--hbg:url(/img/bg/glass-m.webp)}.hero-top[data-hbg="tiles"]{--hbg:url(/img/bg/tiles-m.webp)}.hero-top[data-hbg="waves"]{--hbg:url(/img/bg/waves-m.webp)}.hero-top::before{background-position:center top}}
.hero-top::before{bottom:auto;height:min(110vh,1100px)}

/* отрасли (28.10.2026): плашка «Сайт для: …» */
.ind-bar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:55;padding:8px 14px;border-radius:99px;background:#2A1720;color:#F6E8EF;font-size:13px;box-shadow:0 12px 30px -12px rgba(0,0,0,.5);white-space:nowrap}
.ind-bar b{color:#fff}.ind-bar a{color:#FF9DB8;margin-left:8px;font-weight:600}
[data-blk][hidden],.mx-c[hidden],.feat[hidden],.mx-g[hidden]{display:none!important}

/* ещё два узора фона (28.10.2026): точки и бумага */
.hero-top[data-hbg="dots"]{--hbg:url(/img/bg/dots-d.webp)}.hero-top[data-hbg="paper"]{--hbg:url(/img/bg/paper-d.webp)}@media (max-width:760px){.hero-top[data-hbg="dots"]{--hbg:url(/img/bg/dots-m.webp)}.hero-top[data-hbg="paper"]{--hbg:url(/img/bg/paper-m.webp)}}

/* сцена «Предложите улучшение» — компактная схема над заголовком (28.10.2026) */
.cm-mini{margin:0 auto!important;padding:0!important;border:0!important;max-width:1100px}
.cm-mini .cm-flow{margin-top:0;gap:12px}
.cm-mini .cm-track{top:40px}
.cm-mini .cm-s{padding:14px 12px;gap:5px}
.cm-mini .cm-ic{width:48px;height:48px;border-radius:15px}.cm-mini .cm-ic svg{width:24px;height:24px}
.cm-mini .cm-s h4{font-size:17px}.cm-mini .cm-s p{font-size:13px}
.cm-mini .cm-n{top:8px;left:10px;font-size:12px}
.cm-mini .cm-s.on{transform:translateY(-5px)}
.cm-mini .cm-foot{margin-top:12px;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr)}
.cm-mini .cm-idea,.cm-mini .cm-count{padding:10px 16px}
.cm-mini .cm-idea b{font-size:15px}.cm-mini .cm-count b{font-size:30px}
@media (max-width:900px){.cm-mini .cm-flow{grid-template-columns:1fr 1fr}.cm-mini .cm-s p{display:none}.cm-mini .cm-foot{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cm-mini .cm-idea{display:none}.cm-mini .cm-foot{grid-template-columns:1fr}}

/* «Как мы подключаем»: баннер над шагами — освоение бесплатно, свои функции под компанию (28.10.2026) */
.help-ban{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r);overflow:hidden;margin-bottom:10px}
.help-ban>div{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,3vw,36px)}
.help-ban b{font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.01em}
.help-ban span:not(.hb-tag){max-width:46ch;line-height:1.5}
.hb-a{background:#5A1732;color:#F4F4F1}.hb-b{background:#F6E8EF;color:var(--ink)}
.hb-tag{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14)}
.hb-b .hb-tag{background:rgba(194,37,92,.1);color:var(--accent)}
.hb-b .btn{align-self:flex-start;margin-top:auto}
@media (max-width:760px){.help-ban{grid-template-columns:1fr}}
.hs-help .help-ban{margin:0;box-shadow:0 18px 50px rgba(90,23,50,.18)}.hs-help .help-ban b{font-size:clamp(18px,1.8vw,24px)}.hs-help .help-ban>div{padding:22px 22px 26px}.hs-help .help-ban span:not(.hb-tag){font-size:14px}
/* вертикальный снимок портала (9:16, 3:4) в колонке — не выше экрана: на всю ширину колонки он не влезал (28.10.2026). Высота задана — ширина из aspect-ratio, картинка грузится как обычно */
.cols .c-r>.slot-img:is([style*="9/16"],[style*="3/4"]){width:auto;height:min(80vh,720px);max-width:100%;display:block;margin-inline:auto}
.cols .c-r>.slot-img:is([style*="9/16"],[style*="3/4"])+.ui-cap{text-align:center}

/* «Все модули»: складной нож рядом с заголовком (28.10.2026) — открываете только нужное лезвие; лёгко покачивается */
.mods-head{display:grid;grid-template-columns:1fr minmax(0,280px);grid-template-areas:"h k" "p k";column-gap:24px;align-items:end}
.mods-head h2{grid-area:h}.mods-head p{grid-area:p;align-self:start}
.mods-knife{grid-area:k;align-self:center;width:100%;height:auto;transform-origin:50% 60%;animation:knife-sway 6s ease-in-out infinite}
@keyframes knife-sway{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-8px)}}
@media (max-width:760px){.mods-head{grid-template-columns:1fr 104px;grid-template-areas:"h k" "p p";column-gap:8px}.mods-knife{align-self:end}}
@media (prefers-reduced-motion:reduce){.mods-knife{animation:none}}

/* «Все модули»: значки цветные — у каждого модуля свой цвет (28.10.2026), белый рисунок, лёгкий блик */
.mx-c i,.on-surface .mx-c i{background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0) 55%),var(--q,var(--grad));color:#fff;box-shadow:0 4px 10px -5px rgba(42,23,32,.45),inset 0 0 0 .5px rgba(255,255,255,.3)}
.mx-c[aria-pressed="true"] i,.on-surface .mx-c[aria-pressed="true"] i{background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0) 55%),var(--q,var(--grad));box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.mx-c:hover i{transform:rotate(-6deg) scale(1.06)}.mx-c i{transition:transform .2s}
.mx-ic{background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0) 55%),var(--q,var(--grad));box-shadow:0 10px 22px -12px rgba(42,23,32,.5)}
@media (prefers-reduced-motion:reduce){.mx-c:hover i{transform:none}}

/* подвал: наши каналы Telegram и MAX (28.10.2026) */
.foot-soc a{display:flex;align-items:center;gap:8px}
.foot-soc i{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#fff;background:linear-gradient(140deg,#4F8FF0,#2F62D6)}
.foot-soc a+a i{background:linear-gradient(140deg,#9B6FE0,#7B52D6)}
.foot-soc i svg{width:16px;height:16px}
.foot-soc small{display:block;margin-top:6px;font-size:13px;opacity:.7}

/* подвал — только официальное (28.10.2026): документы и данные, каналы */
.foot-cols.foot-off{grid-template-columns:repeat(2,minmax(0,280px));gap:24px 64px}
@media (max-width:760px){.foot-cols.foot-off{grid-template-columns:1fr 1fr;gap:24px 16px}}

/* «Все модули» на ПК: описание справа едет за прокруткой (28.10.2026); top ставит site.js — длинное прилипает низом */
@media (min-width:901px){.mx-panel{position:sticky;top:96px;max-height:none;overflow:visible;align-self:start}}

/* меню «Сервисы»: живые цветные значки (28.10.2026) — у каждого свой цвет; при открытии выпрыгивают по очереди, при наведении покачиваются */
.nav-ddp a i{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%),var(--q,var(--grad));box-shadow:0 6px 14px -8px rgba(42,23,32,.55),inset 0 0 0 .5px rgba(255,255,255,.3);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.nav-dd.open .nav-ddp a i{animation:ddpop .45s cubic-bezier(.3,1.6,.5,1);animation-delay:var(--d,0ms)}
.nav-ddp a:hover i,.nav-ddp a:focus-visible i{animation:ddwig .6s ease-in-out}
.nav-ddp a:hover i svg{transform:scale(1.08)}.nav-ddp a i svg{transition:transform .2s}
@keyframes ddpop{0%{transform:scale(.6) rotate(-14deg)}100%{transform:none}}
@keyframes ddwig{0%,100%{transform:none}25%{transform:rotate(-10deg) scale(1.08)}50%{transform:rotate(8deg) scale(1.1) translateY(-2px)}75%{transform:rotate(-4deg) scale(1.05)}}
@media (prefers-reduced-motion:reduce){.nav-dd.open .nav-ddp a i,.nav-ddp a:hover i{animation:none}}
.nav-ddg{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:16px 8px 6px;font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--g,#B8408F)}
.nav-ddg::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--g,#B8408F);box-shadow:0 0 0 4px color-mix(in srgb,var(--g,#B8408F) 18%,transparent)}
.nav-ddg::after{content:"";flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--g,#B8408F) 45%,transparent),transparent)}
.nav-ddh+.nav-ddg{margin-top:6px}

/* меню «Модули» (28.10.2026): все модули по группам — как в «Все модули» и в настройках портала; на компьютере 3 колонки, длинное — листается */
.nav-gb{display:contents}
@media (min-width:1101px){
  .nav-ddp{position:fixed;top:66px;left:50%;translate:-50% 0;width:min(1040px,95vw);max-height:calc(100vh - 80px);overflow:auto;overscroll-behavior:contain;column-count:3;column-gap:22px}
  .nav-dd.open .nav-ddp{display:block}
  .nav-ddh,.nav-ddp a.nav-all,.nav-ind{column-span:all}
  .nav-gb{display:block;break-inside:avoid;padding-bottom:6px}
  .nav-gb .nav-ddg{margin:6px 6px 2px}
  .nav-gb a{padding:4px 8px!important;gap:10px}
  .nav-gb a i{width:28px;height:28px;border-radius:8px}.nav-gb a i svg{width:16px;height:16px}
  .nav-gb a small{display:none}
  .nav-gb a b{font-size:14.5px}
  .nav-ddp a.nav-all{margin-top:6px;padding:8px 12px!important}
  .nav-ddp a.nav-all small{display:inline;margin-left:8px}.nav-ddp a.nav-all span{display:flex;align-items:baseline;justify-content:center}
}

.nav-ddp a.nav-all{grid-column:1/-1;margin-top:10px;justify-content:center;text-align:center;background:var(--surface)!important}
.nav-ddp a.nav-all b{color:var(--accent)}

/* «Все модули»: описание справа — компактнее (28.10.2026) */
.mx-in h3{font-size:clamp(20px,.9rem + .6vw,24px)}
.mx-in .sh-lead{font-size:15.5px;margin-bottom:12px}
.mx-in li{font-size:14.5px;padding-left:26px}.mx-in ul{gap:8px}
.mx-in .sh-solo{font-size:13.5px}

/* фон всего сайта (28.10.2026): узор у правого края, повторяется вниз, едет при прокрутке (site.js); верх главной — без своей картинки */
html{background:var(--bg)}
body{background:transparent}
.page-bg{position:fixed;inset:-8px;z-index:-1;pointer-events:none;background:right 0/calc(100% + 16px) auto repeat-y;opacity:0;transition:opacity .8s ease}
.page-bg.on{opacity:1}
@media (min-width:1500px){.page-bg{background-size:1500px auto}}
.hero-top::before{display:none}

/* телефон: карточка «видите вы / видим мы» всегда в столбик, шифр не шире карточки (29.10.2026) */
@media (max-width:820px){.sk-strip.sk-hero,.m-plain .sk-hero{grid-template-columns:minmax(0,1fr)!important}.sk-strip .sk-row,.sk-strip .sk-doc{min-width:0;max-width:100%}}

/* заголовок: слово меняется «печатью» (30.10.2026) — стирается справа налево, печатается слева направо, по буквам */
.swap.tw>span{opacity:1;transform:none;clip-path:inset(0 100% 0 0);transition:clip-path calc(var(--n,12) * 55ms) steps(var(--n,12),end) calc(var(--m,12) * 28ms + 120ms)}
.swap.tw>span.on{clip-path:inset(0 0 0 0)}
.swap.tw>span.out{clip-path:inset(0 100% 0 0);transition:clip-path calc(var(--n,12) * 28ms) steps(var(--n,12),end)}
