/* Главная CRM для анонима: коммерческая страница. Токены модуля; размеры
   картинок-макетов свои. */

/* Сцена первого экрана въезжает сбоку: без обрезки страница на телефоне уезжает вбок. */
.home-main{display:block;overflow-x:clip}
.home-section{padding:var(--sp-64) 0}
.home-band{background:var(--surface);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.home-title{font-size:var(--t-title);font-weight:var(--w-bold);line-height:var(--lh-head);
  letter-spacing:-.01em;margin:0 0 var(--sp-8);text-align:center}
.home-lead{font-size:var(--t-strong);color:var(--muted);margin:0 auto var(--sp-40);
  text-align:center;max-width:640px}
.home-banner{padding-top:var(--sp-24)}
.home-banner .banner{margin:0}

/* Шапка: якоря разделов. */
.home-nav{display:flex;gap:var(--sp-24);margin-left:var(--sp-24)}
.home-nav a{color:var(--ink);font-size:var(--t-ui);font-weight:var(--w-med)}

/* Первый экран. */
.home-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--sp-48);align-items:center}
.home-eyebrow{display:inline-block;font-size:var(--t-small);font-weight:var(--w-med);
  color:var(--accent);background:var(--info-bg);border-radius:var(--r-pill);
  padding:var(--sp-4) var(--sp-12);margin-bottom:var(--sp-16)}
.home-hero h1{font-size:var(--t-hero);line-height:var(--lh-tight);font-weight:var(--w-bold);
  letter-spacing:-.02em;margin:0 0 var(--sp-20)}
.home-hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;
  background-clip:text;color:transparent}
.home-sub{font-size:var(--t-big);color:var(--muted);line-height:var(--lh-base);
  margin:0 0 var(--sp-28)}
.home-acts{display:flex;gap:var(--sp-12);flex-wrap:wrap}
.home-note{font-size:var(--t-small);color:var(--muted);margin-top:var(--sp-14)}

/* «Живой город» на всю панель первого экрана: схема, ценники и история
   договор → карточка → булавка → срок. Сцена 2400×800, центр сцены — центр
   экрана; базовые стили — неподвижный кадр, он же без скрипта и без движения. */
.home-city-hero{position:relative;overflow:hidden;isolation:isolate;min-height:680px;
  display:flex;align-items:center}
.home-city-hero>.wrap{position:relative;z-index:1;width:100%}
.home-city{position:absolute;inset:0;z-index:0;pointer-events:none}
.home-city-stage{position:absolute;left:calc(50% - 1200px);top:calc(50% - 400px);
  width:2400px;height:800px}
.home-city-stage *{box-sizing:border-box}
.home-city-l{position:absolute;inset:0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.home-city-l1{transform:translate(calc(var(--mx,0) * -10px),calc(var(--my,0) * -6px))}
.home-city-l2{transform:translate(calc(var(--mx,0) * -18px),calc(var(--my,0) * -10px))}
.home-city-l3{transform:translate(calc(var(--mx,0) * -28px),calc(var(--my,0) * -14px))}
.home-city-map{position:absolute;left:0;top:0;max-width:none}
.home-city-fade{position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,var(--sunk) 0%,var(--sunk) 34%,52%,transparent 62%),
    linear-gradient(0deg,var(--sunk) 0,transparent 70px)}
/* Ценники: позиция и задержка у каждого свои; не виденные в кадре — скрыты. */
.home-cp{position:absolute;transform-origin:50% 100%}
.home-cp b,.home-cs-pin b{position:relative;display:block;font-size:var(--t-caption);
  font-weight:var(--w-bold);padding:var(--sp-4) var(--sp-10);border-radius:var(--r-pill);
  background:var(--surface);color:var(--ink);white-space:nowrap;box-shadow:var(--sh-modal)}
.home-cp b::after,.home-cs-pin b::after{content:"";position:absolute;left:calc(50% - 5px);
  bottom:-5px;border:5px solid transparent;border-bottom:0;border-top-color:var(--surface)}
.home-cp--warn b{background:var(--warn);color:var(--on-dark)}
.home-cp--warn b::after{border-top-color:var(--warn)}
/* История. */
.home-cs{position:absolute;left:1269px;top:140px;width:500px;height:520px}
.home-cs>*,.home-cs-doc>*,.home-cs-card>*,.home-cs-sig>*{position:absolute}
.home-cs-doc,.home-cs-card{left:120px;top:30px;width:260px;height:310px;opacity:0;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--sh-modal);backface-visibility:hidden}
.home-cs-doc-t{left:18px;top:18px;font-size:var(--t-ui);font-weight:var(--w-bold)}
.home-cs-doc-no{left:18px;top:40px;font-size:var(--t-caption);color:var(--muted)}
.home-cs-ln{left:18px;height:8px;border-radius:var(--r-pill);background:var(--sunk-2);
  transform-origin:left center}
.home-cs-ln0{top:74px;width:224px}
.home-cs-ln1{top:96px;width:190px;animation-delay:.12s}
.home-cs-ln2{top:118px;width:208px;animation-delay:.24s}
.home-cs-ln3{top:140px;width:170px;animation-delay:.36s}
.home-cs-ln4{top:162px;width:150px;animation-delay:.48s}
.home-cs-sig{left:18px;width:224px;height:34px;border-bottom:1px dashed var(--line);
  font-size:var(--t-caption);color:var(--muted);padding-top:2px}
.home-cs-sig1{top:196px}
.home-cs-sig2{top:240px}
.home-cs-ok{right:0;top:2px;width:20px;height:20px;border-radius:var(--r-dot);background:var(--ok);
  color:var(--on-dark);display:flex;align-items:center;justify-content:center}
.home-cs-pen{left:96px;top:-6px;overflow:visible}
.home-cs-pen path{stroke:var(--ink);stroke-width:2.2;fill:none;stroke-linecap:round;
  stroke-linejoin:round;stroke-dasharray:240}
.home-cs-stamp{left:112px;top:248px;padding:var(--sp-6) var(--sp-12);border:2px solid var(--ok);
  border-radius:var(--r-sm);color:var(--ok);font-size:var(--t-small);font-weight:var(--w-bold);
  letter-spacing:.08em;text-transform:uppercase;background:var(--ok-bg);white-space:nowrap;
  transform:rotate(-8deg)}
.home-cs-card{overflow:hidden;transform-origin:50% 60%}
.home-cs-cover{left:0;top:0;right:0;height:136px}
.home-cs-cover span{position:absolute;top:var(--sp-10);font-size:var(--t-caption);
  font-weight:var(--w-med);padding:var(--sp-4) var(--sp-10);border-radius:var(--r-pill)}
.home-cs-sale{left:var(--sp-10);background:var(--surface);color:var(--ink)}
.home-cs-badge{right:var(--sp-10);background:var(--ok-bg);color:var(--ok);display:flex;
  align-items:center;gap:var(--sp-4)}
.home-cs-v{left:10px;right:10px;padding:var(--sp-4) var(--sp-8);border-radius:var(--r-sm);
  white-space:nowrap;line-height:var(--lh-tight)}
.home-cs-v0{top:146px;font-size:var(--t-big);font-weight:var(--w-bold)}
.home-cs-v1{top:180px;font-size:var(--t-small);color:var(--muted);animation-delay:.15s}
.home-cs-v2{top:208px;font-size:var(--t-caption);display:flex;align-items:center;gap:var(--sp-6);
  animation-delay:.3s}
.home-cs-v3{top:246px;font-size:var(--t-caption);animation-delay:.45s}
.home-cs-v3 span{color:var(--warn);background:var(--warn-bg);font-weight:var(--w-med);
  padding:var(--sp-4) var(--sp-8);border-radius:var(--r-pill)}
.home-cs-ava{width:24px;height:24px;border-radius:var(--r-dot);background:var(--grad);
  color:var(--on-dark);font-size:var(--t-micro);font-weight:var(--w-bold);display:inline-flex;
  align-items:center;justify-content:center;flex:none}
.home-cs-pin{left:216px;top:230px;transform-origin:50% 100%}
.home-cs-pin b{font-size:var(--t-small);padding:var(--sp-6) var(--sp-14);background:var(--accent);
  color:var(--on-dark)}
.home-cs-pin b::after{border-top-color:var(--accent)}
.home-cs-pinw{position:absolute;left:0;top:0}
.home-cs-pinw b{background:var(--warn)}
.home-cs-pinw b::after{border-top-color:var(--warn)}
.home-cs-pulse{position:absolute;left:calc(50% - 35px);top:calc(50% - 35px);width:70px;
  height:70px;border-radius:var(--r-dot);border:2px solid var(--accent);opacity:0}
.home-cs-pin .home-cs-pulsew{border-color:var(--warn);opacity:1}
.home-cs-count{left:300px;top:0;height:40px;padding:0 var(--sp-14);background:var(--surface);
  border-radius:var(--r-ctl);box-shadow:var(--sh-modal);display:flex;align-items:center;
  gap:var(--sp-8);font-size:var(--t-caption);color:var(--muted)}
.home-cs-num,.home-cs-dv{position:relative;width:34px;height:20px}
.home-cs-num b,.home-cs-dv b{position:absolute;left:0;top:0;font-size:var(--t-ui);color:var(--ink)}
.home-cs-n1,.home-cs-d1{opacity:0}
.home-cs-route{left:0;top:0;overflow:visible}
.home-cs-route path{stroke:var(--accent);stroke-width:2;fill:none;stroke-dasharray:6 7;
  stroke-linecap:round}
.home-cs-agent{left:0;top:340px;height:44px;padding:0 var(--sp-14) 0 var(--sp-6);
  background:var(--surface);border-radius:var(--r-pill);box-shadow:var(--sh-modal);display:flex;
  align-items:center;gap:var(--sp-8);font-size:var(--t-caption);transform-origin:left center}
.home-cs-agent small{display:block;color:var(--muted);font-size:var(--t-micro)}
.home-cs-agent b{display:block;font-size:var(--t-caption)}
.home-cs-agent .home-cs-ava{width:32px;height:32px}
.home-cs-date{left:330px;top:300px;height:40px;padding:0 var(--sp-12);background:var(--surface);
  border-radius:var(--r-ctl);box-shadow:var(--sh-modal);display:flex;align-items:center;
  gap:var(--sp-8);color:var(--accent)}
.home-cs-date small{font-size:var(--t-caption);color:var(--muted)}
.home-cs-dv{width:44px}
.home-cs-toast{left:40px;top:430px;width:420px;background:var(--surface);
  border:1px solid var(--warn-line);border-left:4px solid var(--warn);border-radius:var(--r-ctl);
  box-shadow:var(--sh-modal);padding:var(--sp-12) var(--sp-16);display:flex;gap:var(--sp-12);
  align-items:center}
.home-cs-toast b{display:block;font-size:var(--t-small)}
.home-cs-toast span{display:block;font-size:var(--t-caption);color:var(--muted)}
.home-cs-toast svg{flex:none;color:var(--warn)}

.home-price{font-size:var(--t-big);font-weight:var(--w-bold)}
.home-addr{font-size:var(--t-small);color:var(--muted);margin:var(--sp-2) 0 var(--sp-10)}
.home-ava{width:24px;height:24px;flex:none;border-radius:var(--r-pill);background:var(--grad);
  color:var(--on-dark);display:grid;place-items:center;font-size:var(--t-micro);
  font-weight:var(--w-bold)}
.home-warn{display:inline-block;font-size:var(--t-caption);font-weight:var(--w-med);
  color:var(--warn-ink);background:var(--warn-bg);border-radius:var(--r-pill);
  padding:var(--sp-2) var(--sp-10)}

/* Короткие преимущества. */
.home-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-16)}
.home-perk{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  padding:var(--sp-20)}
.home-perk-ico{width:var(--h-icon);height:var(--h-icon);border-radius:var(--r-ctl);
  background:var(--info-bg);color:var(--accent);display:grid;place-items:center;
  margin-bottom:var(--sp-12)}
.home-perk b{display:block;font-size:var(--t-strong);margin-bottom:var(--sp-4)}
.home-perk span{font-size:var(--t-ui);color:var(--muted)}

/* Как это работает: цифра, картинка и текст шага на одной оси. */
.home-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--sp-24);counter-reset:s}
.home-step{position:relative;padding-top:var(--sp-48);text-align:center}
.home-step::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:50%;
  transform:translateX(-50%);z-index:var(--z-map);
  width:36px;height:36px;border-radius:var(--r-pill);background:var(--grad);
  color:var(--on-dark);display:grid;place-items:center;font-weight:var(--w-bold)}
/* Линия от центра первого кружка до центра третьего. */
.home-steps::after{content:"";position:absolute;top:17px;
  left:calc((100% - 2 * var(--sp-24)) / 6);height:2px;
  width:calc((100% - 2 * var(--sp-24)) / 3 * 2 + 2 * var(--sp-24));background:var(--line);
  transform-origin:left}
.home-step h3{font-size:var(--t-strong);margin:0 0 var(--sp-6)}
.home-step p{margin:0 auto;color:var(--muted);font-size:var(--t-ui);max-width:300px}
/* Сцены шагов и ролей: нарисованы в единицах x4/3 и уменьшены в .75 —
   так мелкие подписи сцены ложатся на токены кегля и радиуса. */
.home-si,.home-ro{position:relative;width:240px;height:190px;margin:0 auto var(--sp-16)}
.home-ro{height:150px}
.home-si-st{position:absolute;left:0;top:0;width:320px;height:254px;transform:scale(.75);transform-origin:0 0;
  color:var(--ink)}
.home-ro .home-si-st{height:200px}
.home-si-st *{box-sizing:border-box}
.home-si-st>*,.home-si-phone>*,.home-si-card>*,.home-si-map>*,.home-si-doc>*,
.home-ro-panel>*,.home-ro-row>*,.home-ro-phone>*,.home-ro-map>*,.home-ro-it>*{position:absolute}
.home-si-blob{left:53.3px;top:20px;width:213.3px;height:213.3px;border-radius:var(--r-dot);
  background:radial-gradient(circle at 40% 35%,var(--info-bg),var(--sunk) 70%,transparent 72%)}
.home-si-phone{left:106.7px;top:10.7px;width:112px;height:226.7px;border:4px solid var(--ink);border-radius:var(--r-card);
  background:var(--surface);box-shadow:var(--sh-modal);overflow:hidden}
.home-si-notch{left:50%;top:6.7px;width:34.7px;height:6.7px;transform:translateX(-50%);border-radius:var(--r-pill);background:var(--ink)}
.home-si-ph-t{left:13.3px;top:26.7px;font-size:var(--t-caption);font-weight:var(--w-bold);color:var(--ink)}
.home-si-l{left:13.3px;height:6.7px;border-radius:var(--r-pill);background:var(--sunk-2);transform-origin:left center}
.home-si-l0{top:50.7px;width:80px}
.home-si-l1{top:64px;width:64px}
.home-si-l2{top:77.3px;width:74.7px}
.home-si-l3{top:90.7px;width:53.3px}
.home-si-pen{left:10.7px;top:117.3px;overflow:visible}
.home-si-pen path{stroke:var(--ink);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120}
.home-si-sigline{left:13.3px;top:149.3px;width:77.3px;border-top:1.3px dashed var(--line)}
.home-si-btn{left:13.3px;bottom:16px;width:77.3px;height:24px;border-radius:var(--r-sm);background:var(--accent)}
.home-si-ok{left:200px;top:26.7px;width:48px;height:48px;border-radius:var(--r-dot);background:var(--ok);color:var(--on-dark);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-modal)}
.home-si-ok svg{width:24px;height:24px}
.home-si-ring{left:200px;top:26.7px;width:48px;height:48px;border-radius:var(--r-dot);border:2.7px solid var(--ok)}
.home-si-doc{left:18.7px;top:128px;width:61.3px;height:77.3px;border:1.3px solid var(--line);border-radius:var(--r-ctl);
  background:var(--surface);box-shadow:var(--sh-lift)}
.home-si-doc i{left:9.3px;height:5.3px;border-radius:var(--r-pill);background:var(--sunk-2)}
.home-si-doc .home-si-dl0{top:12px;width:40px}
.home-si-doc .home-si-dl1{top:22.7px;width:32px}
.home-si-doc .home-si-dl2{top:33.3px;width:37.3px}
.home-si-doc b{left:9.3px;bottom:8px;width:18.7px;height:18.7px;border-radius:var(--r-dot);background:var(--ok);color:var(--on-dark);
  display:flex;align-items:center;justify-content:center}
.home-si-doc b svg{width:10.7px;height:10.7px}
.home-si-arc{left:0;top:0;overflow:visible}
.home-si-arc path{stroke:var(--accent);stroke-width:1.6;fill:none;stroke-dasharray:4 5}
.home-si-arc-mask{stroke-dasharray:140}
.home-si-fly{left:0;top:0;width:29.3px;height:37.3px;border-radius:var(--r-sm);background:var(--surface);border:2px solid var(--accent);
  offset-path:path("M 64 133.3 C 93.3 40, 146.7 26.7, 186.7 80");offset-rotate:0deg;box-shadow:var(--sh-btn)}
.home-si-card{left:144px;top:29.3px;width:162.7px;height:200px;border:1.3px solid var(--line);border-radius:var(--r-card);
  background:var(--surface);box-shadow:var(--sh-modal);overflow:hidden}
.home-si-cover{left:0;top:0;right:0;height:77.3px}
.home-si-sk{left:13.3px;height:9.3px;border-radius:var(--r-pill);background:var(--sunk-2)}
.home-si-sk0{top:90.7px;width:106.7px}
.home-si-sk1{top:117.3px;width:128px}
.home-si-sk2{top:141.3px;width:80px}
.home-si-tx{left:13.3px;white-space:nowrap;line-height:1.2}
.home-si-tx0{top:88px;font-size:var(--t-body);font-weight:var(--w-bold);color:var(--ink)}
.home-si-tx1{top:114.7px;font-size:var(--t-caption);color:var(--muted)}
.home-si-tx2{top:138.7px;font-size:var(--t-caption);color:var(--ink);display:flex;align-items:center;gap:var(--sp-6)}
.home-si-tx2 i{width:18.7px;height:18.7px;border-radius:var(--r-dot);background:var(--grad);display:inline-block}
.home-si-pin2{right:10.7px;top:10.7px;width:29.3px;height:29.3px;border-radius:var(--r-dot) var(--r-dot) var(--r-dot) 0;
  transform-origin:50% 100%;rotate:-45deg;background:var(--accent);box-shadow:var(--sh-modal)}
.home-si-pin2::after{content:"";position:absolute;left:9.3px;top:9.3px;width:10.7px;height:10.7px;border-radius:var(--r-dot);
  background:var(--surface)}
.home-si-map{left:26.7px;top:10.7px;width:266.7px;height:133.3px;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-lift)}
.home-si-map img{left:0;top:0;width:100%;height:100%}
.home-si-pin3{left:117.3px;top:29.3px;transform-origin:50% 100%}
.home-si-pin3 b{display:block;position:relative;font-size:var(--t-small);font-weight:var(--w-bold);color:var(--on-dark);
  background:var(--accent);padding:var(--sp-4) var(--sp-10);border-radius:var(--r-pill);box-shadow:var(--sh-modal)}
.home-si-pin3 b::after{content:"";position:absolute;left:50%;bottom:-5.3px;transform:translateX(-50%);
  border:5.3px solid transparent;border-bottom:0;border-top-color:var(--accent)}
.home-si-rail{left:53.3px;top:178.7px;width:213.3px;height:4px;border-radius:var(--r-pill);background:var(--sunk-2)}
.home-si-track{left:53.3px;top:178.7px;width:213.3px;height:4px;border-radius:var(--r-pill);background:var(--ok);
  transform-origin:left center}
.home-si-dot{top:168px;width:25.3px;height:25.3px;transform:translateX(-50%);border-radius:var(--r-dot);display:flex;
  align-items:center;justify-content:center;border:2.7px solid var(--surface)}
.home-si-dot svg{width:13.3px;height:13.3px}
.home-si-lab{top:200px;width:106.7px;transform:translateX(-50%);text-align:center;font-size:var(--t-small);font-weight:var(--w-med)}
.home-si-dot0,.home-si-lab0{left:53.3px}
.home-si-dot1,.home-si-lab1{left:160px}
.home-si-dot2,.home-si-lab2{left:266.7px}
.home-ro-ava{width:24px;height:24px;border-radius:var(--r-dot);background:var(--info-bg);color:var(--accent);
  font-size:var(--t-micro);font-weight:var(--w-bold);display:flex;align-items:center;justify-content:center}
.home-ro-panel{left:13.3px;top:5.3px;width:293.3px;height:186.7px;border:1.3px solid var(--line);border-radius:var(--r-card);
  background:var(--sunk)}
.home-ro-cnt{left:16px;top:13.3px;font-size:var(--t-caption);color:var(--muted)}
.home-ro-cnt b{display:block;font-size:var(--t-title);line-height:1.1;color:var(--ink)}
.home-ro-chip{right:13.3px;top:16px;font-size:var(--t-caption);font-weight:var(--w-med);color:var(--warn);
  background:var(--warn-bg);padding:var(--sp-4) var(--sp-10);border-radius:var(--r-pill)}
.home-ro-row{left:16px;width:261.3px;height:24px}
.home-ro-row0{top:69.3px}
.home-ro-row1{top:98.7px}
.home-ro-row2{top:128px}
.home-ro-row3{top:157.3px}
.home-ro-row .home-ro-ava{left:0;top:0}
.home-ro-track{left:34.7px;top:8px;width:224px;height:9.3px;border-radius:var(--r-pill);background:var(--sunk-2)}
.home-ro-bar{left:34.7px;top:8px;height:9.3px;border-radius:var(--r-pill);background:var(--accent);transform-origin:left center}
.home-ro-bar0{width:146.7px}
.home-ro-bar1{width:114.7px}
.home-ro-bar2{width:85.3px}
.home-ro-bar3{width:53.3px}
.home-ro-exp{top:8px;height:9.3px;border-radius:0 var(--r-pill) var(--r-pill) 0;background:var(--warn)}
.home-ro-exp0{left:181.3px;width:24px}
.home-ro-exp2{left:120px;width:16px}
.home-ro-group{left:8px;top:18.7px;width:146.7px;height:162.7px;border:2px dashed var(--info-line);border-radius:var(--r-card);
  background:var(--sunk)}
.home-ro-lead{left:56px;top:34.7px;width:45.3px;height:45.3px;border-radius:var(--r-dot);background:var(--grad);color:var(--on-dark);
  font-size:var(--t-small);font-weight:var(--w-bold);display:flex;align-items:center;justify-content:center}
.home-ro-star{left:90.7px;top:29.3px;width:18.7px;height:18.7px;border-radius:var(--r-dot);background:var(--warn);
  border:2.7px solid var(--surface)}
.home-ro-mem{width:32px;height:32px;font-size:var(--t-micro)}
.home-ro-m1{left:18.7px;top:112px}
.home-ro-m2{left:61.3px;top:128px}
.home-ro-m3{left:104px;top:112px}
.home-ro-map{left:170.7px;top:18.7px;width:141.3px;height:162.7px;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-lift)}
.home-ro-map img{left:0;top:0;width:100%;height:100%}
.home-ro-dot{width:16px;height:16px;border-radius:var(--r-dot);background:var(--accent);border:2.7px solid var(--surface);
  box-shadow:var(--sh-modal)}
.home-ro-dot0{left:21.3px;top:29.3px}
.home-ro-dot1{left:98.7px;top:106.7px}
.home-ro-pin{left:58.7px;top:50.7px;width:29.3px;height:29.3px;border-radius:var(--r-dot);background:var(--accent);color:var(--on-dark);
  font-size:var(--t-micro);font-weight:var(--w-bold);display:flex;align-items:center;justify-content:center;
  border:2.7px solid var(--surface);box-shadow:var(--sh-modal)}
.home-ro-pulse{left:53.3px;top:45.3px;width:40px;height:40px;border-radius:var(--r-dot);border:2.7px solid var(--accent)}
.home-ro-fly{left:0;top:0;width:29.3px;height:29.3px;border-radius:var(--r-dot);background:var(--accent);color:var(--on-dark);
  font-size:var(--t-micro);font-weight:var(--w-bold);display:flex;align-items:center;justify-content:center;
  offset-path:path("M 77.3 144 C 146.7 53.3, 213.3 40, 244 84");offset-rotate:0deg}
.home-ro-phone{left:93.3px;top:0;width:133.3px;height:200px;border:4px solid var(--ink);border-radius:var(--r-card);
  background:var(--surface);box-shadow:var(--sh-modal);overflow:hidden}
.home-ro-notch{left:50%;top:6.7px;width:32px;height:6.7px;transform:translateX(-50%);border-radius:var(--r-pill);background:var(--ink)}
.home-ro-it{left:10.7px;width:104px;height:34.7px}
.home-ro-it0{top:26.7px}
.home-ro-it1{top:69.3px}
.home-ro-it2{top:112px}
.home-ro-th{left:0;top:0;width:34.7px;height:34.7px;border-radius:var(--r-sm)}
.home-ro-it b{left:42.7px;top:2.7px;font-size:var(--t-micro);color:var(--ink);white-space:nowrap}
.home-ro-ln{left:42.7px;top:20px;width:40px;height:5.3px;border-radius:var(--r-pill);background:var(--sunk-2)}
.home-ro-term{width:8px;height:8px;left:88px;top:5.3px;border-radius:var(--r-dot);background:var(--warn)}
.home-ro-ck{right:0;top:10.7px;width:16px;height:16px;border-radius:var(--r-dot);display:flex;align-items:center;justify-content:center}
.home-ro-ck svg{width:10.7px;height:10.7px}
.home-ro-pick{left:10.7px;bottom:13.3px;width:104px;height:24px;border-radius:var(--r-sm);background:var(--accent);color:var(--on-dark);
  font-size:var(--t-micro);font-weight:var(--w-med);display:flex;align-items:center;justify-content:center;white-space:nowrap}
.home-ro-side{width:40px;height:40px;border-radius:var(--r-ctl);background:var(--surface);box-shadow:var(--sh-lift);
  display:flex;align-items:center;justify-content:center;color:var(--accent)}
.home-ro-side svg{width:21.3px;height:21.3px}
.home-ro-side0{left:34.7px;top:40px}
.home-ro-side1{left:245.3px;top:112px}
/* Без движения сцены стоят кадром 4,5 с: всё уже на месте. */
.home-si-ring{opacity:0;transform:scale(2)}
.home-si-btn{background-color:var(--ok)}
.home-si-fly{opacity:0}
.home-si-sk0{opacity:0}
.home-si-sk1{opacity:0}
.home-si-sk2{opacity:0}
.home-si-dot0{background-color:var(--ok);color:var(--on-dark)}
.home-si-lab0{color:var(--ink)}
.home-si-dot1{background-color:var(--ok);color:var(--on-dark)}
.home-si-lab1{color:var(--ink)}
.home-si-dot2{background-color:var(--ok);color:var(--on-dark)}
.home-si-lab2{color:var(--ink)}
.home-ro-fly{opacity:0}
.home-ro-pulse{opacity:0;transform:scale(2.4)}
.home-ro-ck0{background-color:var(--accent);color:var(--on-dark)}
.home-ro-ck2{background-color:var(--accent);color:var(--on-dark)}

/* Возможности: текст и картинка экрана по очереди. */
.home-feat{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--sp-48);align-items:center}
.home-feat+.home-feat{margin-top:var(--sp-64)}
.home-feat--flip .home-feat-text{order:2}
.home-feat h3{font-size:var(--t-head);margin:0 0 var(--sp-12);line-height:var(--lh-head)}
.home-feat p{margin:0 0 var(--sp-14);color:var(--muted)}
.home-feat ul{margin:0;padding:0;list-style:none}
.home-feat li{position:relative;padding-left:var(--sp-24);margin-bottom:var(--sp-8);
  font-size:var(--t-ui)}
.home-feat li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:7px;
  border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}

/* Окно-картинка экрана CRM. */
.home-shot{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--sh-modal);overflow:hidden}
.home-shot-bar{display:flex;gap:var(--sp-6);padding:var(--sp-10) var(--sp-14);
  border-bottom:1px solid var(--line);background:var(--sunk)}
.home-shot-bar i{width:10px;height:10px;border-radius:var(--r-pill);background:var(--line)}
.home-shot-in{padding:var(--sp-16)}
.home-shot-chips{display:flex;gap:var(--sp-6);flex-wrap:wrap;margin-bottom:var(--sp-14)}
.home-shot-chip{font-size:var(--t-caption);border:1px solid var(--line);border-radius:var(--r-pill);
  padding:var(--sp-2) var(--sp-10);color:var(--muted);background:var(--surface)}
.home-shot-chip--on{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
.home-shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-10)}
.home-tile{border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden}
.home-tile-cover{height:56px;background-color:var(--sunk-2)}
.home-tile-b{padding:var(--sp-8)}
.home-tile-p{font-size:var(--t-small);font-weight:var(--w-bold)}
.home-tile-a{font-size:var(--t-micro);color:var(--muted)}
.home-tile .home-warn{margin-top:var(--sp-4);font-size:var(--t-micro)}
.home-doc-row{display:flex;align-items:center;gap:var(--sp-10);padding:var(--sp-10) 0;
  border-bottom:1px solid var(--line-soft);font-size:var(--t-ui)}
.home-doc-row:last-child{border-bottom:none}
.home-doc-row .chip{margin-left:auto}
.home-doc-ico{width:30px;height:30px;border-radius:var(--r-sm);background:var(--info-bg);
  color:var(--accent);display:grid;place-items:center;flex:none}
.home-sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:var(--sp-16);font-size:var(--t-small)}
.home-sheet-row{display:flex;gap:var(--sp-10);padding:var(--sp-8) 0;
  border-bottom:1px solid var(--line-soft)}
.home-sheet-img{width:64px;height:44px;flex:none;border-radius:var(--r-sm);
  background-color:var(--sunk-2)}
.home-roles{display:grid;gap:var(--sp-10)}
.home-role{display:flex;align-items:center;gap:var(--sp-12);border:1px solid var(--line);
  border-radius:var(--r-ctl);padding:var(--sp-12) var(--sp-14);font-size:var(--t-ui);
  background:var(--surface)}
.home-role b{display:block}
.home-role span{color:var(--muted);font-size:var(--t-small)}

/* Карта: подложка файлом на всю площадь, метки с ценой, фильтры и масштаб поверх.
   Метки — в разметке: подписи цен переводятся. Слой меток совпадает с подложкой,
   пока у обоих один viewBox и обрезка: cover у картинки = slice у слоя. */
.home-shot-map{position:relative;height:260px}
.home-mmap{display:block;width:100%;height:100%;object-fit:cover}
.home-mmap-pins{position:absolute;left:0;top:0;width:100%;height:100%}
.home-mmap-pins text{font-family:Inter,-apple-system,'Segoe UI',Roboto,sans-serif}
.home-map-lg,.home-map-sm{position:relative;height:100%}
.home-map-sm{display:none}
.home-pin{transform-box:fill-box;transform-origin:bottom center}
.home-pin-acc{fill:var(--accent)}
.home-pin-bg{fill:var(--surface)}
.home-pin-on{fill:var(--on-dark)}
.home-pin-ink{fill:var(--ink)}
.home-pin-warn{fill:var(--warn)}
.home-pin-ring{fill:none;stroke:var(--warn)}
.home-map-chips{position:absolute;top:var(--sp-12);left:var(--sp-12);display:flex;gap:var(--sp-6)}
.home-map-zoom{position:absolute;right:var(--sp-12);bottom:var(--sp-12);display:grid;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);
  box-shadow:var(--sh-card)}
.home-map-zoom span{width:30px;height:30px;display:grid;place-items:center;
  font-weight:var(--w-bold);color:var(--ink)}
.home-map-zoom span+span{border-top:1px solid var(--line)}

/* Руководителю и специалисту. */
.home-who{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-20)}
/* Соседние карточки в сетке: общий отступ .card+.card здесь сдвигал вторую вниз. */
.home-who .card+.card{margin-top:0}
.home-who .card-pad{padding:var(--sp-28)}
.home-who h3{font-size:var(--t-big);margin:0 0 var(--sp-16)}
.home-who ul{margin:0;padding:0;list-style:none}
.home-who li{position:relative;padding-left:var(--sp-24);margin-bottom:var(--sp-10)}
.home-who li::before{content:"";position:absolute;left:0;top:8px;width:12px;height:7px;
  border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(-45deg)}

/* В планах: три группы карточек с рисунком. */
.home-soon-group{font-size:var(--t-strong);font-weight:var(--w-bold);
  margin:var(--sp-32) 0 var(--sp-14)}
.home-soon-group:first-of-type{margin-top:0}
/* Колонок столько, сколько карточек в группе: группы разной длины. */
.home-soon{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--sp-14)}
.home-soon-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  padding:var(--sp-20) var(--sp-16);box-shadow:var(--sh-card)}
.home-soon-ico{width:52px;height:52px;border-radius:var(--r-card);display:grid;
  place-items:center;margin-bottom:var(--sp-14)}
.home-soon-ico--info{background:var(--info-bg);color:var(--accent)}
.home-soon-ico--ok{background:var(--ok-bg);color:var(--ok)}
.home-soon-ico--warn{background:var(--warn-bg);color:var(--warn)}
.home-soon-item b{display:block;font-size:var(--t-body);line-height:var(--lh-head);
  margin-bottom:var(--sp-6)}
.home-soon-item>span:last-child{display:block;font-size:var(--t-small);color:var(--muted)}

/* Вопросы. */
.home-faq{max-width:800px;margin:0 auto}
.home-faq details{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-ctl);margin-bottom:var(--sp-10)}
.home-faq summary{cursor:pointer;list-style:none;padding:var(--sp-16) var(--sp-20);
  font-weight:var(--w-med);display:flex;justify-content:space-between;gap:var(--sp-12);
  min-height:var(--h-tap)}
.home-faq summary::-webkit-details-marker{display:none}
.home-faq summary::after{content:"+";color:var(--accent);font-size:var(--t-sub);line-height:1}
.home-faq details[open] summary::after{content:"-"}
.home-faq p{margin:0;padding:0 var(--sp-20) var(--sp-16);color:var(--muted);font-size:var(--t-ui)}

/* Заявка: одна полоса; на компьютере связь кроме формы — под текстом слева,
   на телефоне — под формой: главное действие — заявка. */
.home-req{background:var(--grad);border-radius:var(--r-card);color:var(--on-dark);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:var(--sp-32);
  align-items:center;padding:var(--sp-32)}
.home-req h2{font-size:var(--t-head);margin:0 0 var(--sp-8);line-height:var(--lh-head);
  white-space:nowrap}
.home-req p{margin:0;font-size:var(--t-ui)}
.home-req-text{grid-column:1;grid-row:1}
.home-req-form,.home-req-done{grid-column:2;grid-row:1/span 2}
.home-req-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-10)}
.home-req-form .inp{background:var(--surface);border-color:transparent}
.home-req-form .btn{grid-column:2;grid-row:1;background:var(--surface);color:var(--ink)}
.home-req-form .btn:hover{color:var(--ink)}
.home-captcha{grid-column:1/-1}
.home-req-err{grid-column:1;grid-row:2;margin:0;min-height:18px;font-size:var(--t-small);
  font-weight:var(--w-med);color:var(--warn-bg)}
.home-req-form .inp[aria-invalid="true"]{box-shadow:0 0 0 2px var(--warn)}
.home-req .home-req-legal{grid-column:1/-1;font-size:var(--t-caption)}
.home-req-legal a{color:var(--on-dark);text-decoration:underline}
/* Строчная ссылка: область нажатия растёт невидимым слоем, строка текста не выше. */
.home-req-legal a,.home-req-alt span a{position:relative}
.home-req-legal a::after,.home-req-alt span a::after{content:"";position:absolute;left:0;right:0;
  top:50%;height:var(--h-tap);transform:translateY(-50%)}
.home-req-alt{grid-column:1;grid-row:2;display:flex;align-items:center;gap:var(--sp-12);
  flex-wrap:wrap;font-size:var(--t-ui)}
.home-req-alt a{color:var(--on-dark);text-decoration:underline}
.home-req-alt .btn{color:var(--ink);text-decoration:none}
.home-wa svg{color:var(--ok)}
.home-req-done{display:flex;align-items:center;gap:var(--sp-14);background:var(--surface);
  color:var(--ink);border-radius:var(--r-ctl);padding:var(--sp-16) var(--sp-20)}
.home-req-done b{display:block;font-size:var(--t-strong);color:var(--ink)}
.home-req-done span:last-child{font-size:var(--t-ui);color:var(--muted)}
.home-req-done-ico{width:var(--h-ctl);height:var(--h-ctl);flex:none;border-radius:var(--r-pill);
  background:var(--ok-bg);color:var(--ok);display:grid;place-items:center}
.home-req-field{display:flex;min-width:0}
.home-req-pre{display:none}
/* Кнопка окна заявки; без скрипта или без <dialog> её нет, форма в полосе. */
.home-req-open{grid-column:2;grid-row:1/span 2;align-self:center;justify-self:end;
  background:var(--surface);color:var(--ink);padding:0 var(--sp-32)}
.home-req-open:hover{color:var(--ink);box-shadow:var(--sh-lift)}
.home-req-open[hidden]{display:none}

/* Окно заявки: та же форма, перенесённая скриптом из полосы. */
.home-dlg{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:none;
  border-radius:var(--r-card);padding:0;background:var(--surface);color:var(--ink);
  box-shadow:var(--sh-modal);overflow:auto}
.home-dlg:not([open]){display:none}
.home-dlg::backdrop{background:var(--scrim);backdrop-filter:blur(3px)}
.home-dlg-box{position:relative;display:flex;flex-direction:column;
  padding:var(--sp-32) var(--sp-28) var(--sp-24)}
.home-dlg-x{position:absolute;right:var(--sp-12);top:var(--sp-12);width:var(--h-tap);
  height:var(--h-tap);border:none;border-radius:var(--r-pill);background:var(--sunk-2);
  color:var(--muted);cursor:pointer;display:grid;place-items:center}
.home-dlg-x:hover{color:var(--ink)}
.home-dlg-ico{position:relative;width:56px;height:56px;margin-bottom:var(--sp-16)}
.home-dlg-ico span{position:absolute;inset:0;border-radius:var(--r-dot);background:var(--grad);
  color:var(--on-dark);display:grid;place-items:center}
.home-dlg-ico i{position:absolute;inset:0;border-radius:var(--r-dot);
  border:2px solid var(--accent);opacity:0}
.home-dlg-h{font-size:var(--t-head);line-height:var(--lh-head);margin:0 0 var(--sp-6);
  padding-right:var(--sp-40)}
.home-dlg-sub{margin:0 0 var(--sp-20);color:var(--muted);font-size:var(--t-ui)}
.home-dlg-slot{min-width:0}
.home-dlg-ok{width:100%;margin-top:var(--sp-20)}
.home-dlg-ok[hidden]{display:none}
.home-dlg--done .home-dlg-ico,.home-dlg--done .home-dlg-h,
.home-dlg--done .home-dlg-sub{display:none}
/* Форма в окне: колонкой, поле с префиксом +7, ошибка под полем. */
.home-dlg .home-req-form{display:flex;flex-direction:column}
.home-dlg .sr-only{position:static;width:auto;height:auto;margin:0 0 var(--sp-6);
  overflow:visible;clip:auto;white-space:normal;font-size:var(--t-small);
  font-weight:var(--w-med);color:var(--muted)}
.home-dlg .home-req-field{order:1;align-items:center;height:56px;border:1.5px solid var(--line);
  border-radius:var(--r-ctl);background:var(--sunk);
  transition:border-color var(--tr) ease,box-shadow var(--tr) ease}
.home-dlg .home-req-field:focus-within{border-color:var(--accent);box-shadow:var(--focus);
  background:var(--surface)}
.home-dlg .home-req-field:has([aria-invalid="true"]){border-color:var(--warn)}
.home-dlg .home-req-pre{display:block;padding:0 var(--sp-12) 0 var(--sp-16);
  font-size:var(--t-lead);font-weight:var(--w-med);border-right:1px solid var(--line)}
.home-dlg .home-req-form .inp,.home-dlg .home-req-form .inp:focus,
.home-dlg .home-req-form .inp[aria-invalid="true"]{height:100%;border:none;background:transparent;
  box-shadow:none;padding:0 var(--sp-14);font-size:var(--t-lead);letter-spacing:.04em}
.home-dlg .home-req-err{order:2;margin:var(--sp-6) 0 0;min-height:20px;color:var(--warn)}
.home-dlg .home-captcha{order:3}
.home-dlg .home-req-form .btn{order:4;width:100%;margin-top:var(--sp-8);background:var(--grad);
  color:var(--on-dark)}
.home-dlg .home-req-form .btn:hover{color:var(--on-dark)}
.home-dlg .home-req-form .btn:disabled{background:var(--faint)}
.home-dlg .home-req-legal{order:5;margin:var(--sp-14) 0 0;font-size:var(--t-caption);
  color:var(--muted);text-align:center}
.home-dlg .home-req-legal a{color:var(--accent)}
.home-dlg .home-req-done{flex-direction:column;text-align:center;padding:var(--sp-16) 0 0}
.home-dlg .home-req-done-ico{width:64px;height:64px}

/* Фото макетов. */
.home-ph-facade,.home-ph-interior,.home-ph-commercial{background-size:cover;
  background-position:center}
.home-ph-facade{background-image:url(../../img/home/facade.webp)}
.home-ph-interior{background-image:url(../../img/home/interior.webp)}
.home-ph-commercial{background-image:url(../../img/home/commercial.webp)}

/* Нижняя плашка «Подключить агентство»: только на телефоне. */
.home-sticky{display:none}

@media (max-width:1180px){
  .home-cs{left:1230px}
}
@media (max-width:1024px){
  .home-nav{display:none}
  .home-perks{grid-template-columns:repeat(2,1fr)}
  /* Сцена роли шириной 240px: три колонки ролей помещаются только с этой ширины. */
  .home-who{grid-template-columns:1fr}
  .home-soon{grid-auto-flow:row;grid-template-columns:repeat(3,1fr)}
  .home-req{grid-template-columns:1fr}
  .home-req h2{white-space:normal}
  .home-req-text,.home-req-form,.home-req-done,.home-req-alt,
  .home-req-open{grid-column:auto;grid-row:auto}
  .home-req-open{justify-self:stretch}
}
@media (max-width:900px){
  /* То же у шагов: сцена 240px, три колонки уже экрана до этой ширины. */
  .home-hero,.home-feat,.home-steps{grid-template-columns:1fr}
  .home-steps::after{display:none}
  .home-feat--flip .home-feat-text{order:0}
  /* История города — под текстом, в масштабе; место под неё держит пустая
     вторая колонка первого экрана. */
  .home-city-hero{min-height:0;display:block}
  .home-city-gap{height:calc(520px * .74 - var(--sp-40))}
  .home-city-stage{top:auto;bottom:0}
  .home-cs{left:950px;top:auto;bottom:var(--sp-16);transform:scale(.74);transform-origin:50% 100%}
  .home-city-fade{background:linear-gradient(180deg,var(--sunk) 0%,var(--sunk) calc(100% - 470px),
    transparent calc(100% - 330px))}
  .home-city-l2{display:none}
}
@media (max-width:640px){
  .home-section{padding:var(--sp-40) 0}
  .home-hero h1{font-size:var(--t-head)}
  .home-sub{font-size:var(--t-strong)}
  .home-acts{flex-direction:column}
  .home-acts .btn{width:100%}
  .home-perks{grid-template-columns:1fr}
  .home-map-lg{display:none}
  .home-map-sm{display:block}
  .home-shot-map{height:300px}
  .home-shot-grid{grid-template-columns:repeat(2,1fr)}
  .home-title{font-size:var(--t-sub)}
  .home-req{padding:var(--sp-24) var(--sp-20)}
  .home-req-form{grid-template-columns:1fr}
  .home-req-form .btn,.home-req-err{grid-column:auto;grid-row:auto}
  .home-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-head);
    padding:var(--sp-10) var(--pad-page-sm) calc(var(--sp-10) + env(safe-area-inset-bottom));
    background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--sh-modal);
    transform:translateY(110%);transition:transform var(--tr-slow) ease}
  .home-sticky.home-show{transform:none}
  .home-sticky .btn{width:100%}
  /* «В планах» лентой: листается пальцем внутри блока, страница вбок не уезжает. */
  .home-soon{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--sp-10);
    scroll-padding:0 var(--pad-page-sm);margin:0 calc(-1 * var(--pad-page-sm));
    padding:0 var(--pad-page-sm) var(--sp-8);scrollbar-width:none}
  .home-soon::-webkit-scrollbar{display:none}
  .home-soon-item{flex:0 0 64%;scroll-snap-align:start;padding:var(--sp-14) var(--sp-12)}
  .home-soon-ico{width:var(--h-icon);height:var(--h-icon);border-radius:var(--r-ctl);
    margin-bottom:var(--sp-10)}
  /* Окно заявки — лист снизу экрана. */
  .home-dlg{width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0;
    border-radius:var(--r-card) var(--r-card) 0 0}
  .home-dlg-box{padding:var(--sp-28) var(--sp-20) calc(var(--sp-20) + env(safe-area-inset-bottom))}
}

/* ── Движение ─────────────────────────────────────────────────────
   Только под .home-motion: его ставит static/js/home.js, если человек не
   просил уменьшить движение. Без класса страница статична и видна целиком. */

/* Город: история и ценники по кругу 16 с. Только полные свойства, не
   сокращение animation: оно обнулило бы задержки строк, полей и ценников. */
.home-motion .home-city-map{animation:home-city-drift 32s ease-in-out infinite alternate}
@keyframes home-city-drift{from{transform:none}to{transform:scale(1.035) translateX(-14px)}}
.home-motion .home-cs *{animation-duration:16s;animation-timing-function:cubic-bezier(.45,0,.2,1);
  animation-iteration-count:infinite;animation-fill-mode:both}
.home-motion .home-cp{animation-name:home-cp-life;animation-duration:16s;
  animation-timing-function:cubic-bezier(.3,0,.2,1);animation-iteration-count:infinite;
  animation-fill-mode:both}
@keyframes home-cp-life{0%{opacity:0;transform:translateY(-16px) scale(.8)}2.19%{opacity:1;transform:translateY(2px) scale(1.04)}3.12%{opacity:1;transform:none}41.88%{opacity:1;transform:none}45%{opacity:0;transform:scale(.9)}100%{opacity:0;transform:scale(.9)}}
@keyframes home-cs-doc{0%{opacity:0;transform:translateY(20px)}1.25%{opacity:0;transform:translateY(20px)}5%{opacity:1;transform:none}15.12%{opacity:1;transform:none}15.5%{opacity:1;transform:translate(3px,2px)}15.94%{opacity:1;transform:translate(-3px,-1px)}16.38%{opacity:1;transform:none}18.75%{opacity:1;transform:perspective(900px) rotateY(0)}21.25%{opacity:1;transform:perspective(900px) rotateY(90deg)}21.31%{opacity:0;transform:perspective(900px) rotateY(90deg)}100%{opacity:0;transform:perspective(900px) rotateY(90deg)}}
@keyframes home-cs-ok{0%{opacity:0;transform:scale(0)}6.88%{opacity:0;transform:scale(0)}8.44%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
@keyframes home-cs-pen{0%{stroke-dashoffset:240}8.75%{stroke-dashoffset:240}13.75%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes home-cs-stamp{0%{opacity:0;transform:rotate(-8deg) scale(1.9)}13.75%{opacity:0;transform:rotate(-8deg) scale(1.9)}15.12%{opacity:1;transform:rotate(-8deg) scale(.94)}16.25%{opacity:1;transform:rotate(-8deg) scale(1)}100%{opacity:1;transform:rotate(-8deg) scale(1)}}
@keyframes home-cs-card{0%{opacity:0;transform:perspective(900px) rotateY(-90deg)}21.25%{opacity:0;transform:perspective(900px) rotateY(-90deg)}21.31%{opacity:1;transform:perspective(900px) rotateY(-90deg)}24.06%{opacity:1;transform:perspective(900px) rotateY(0)}32.5%{opacity:1;transform:none}36.88%{opacity:0;transform:translateY(90px) scale(.08)}100%{opacity:0;transform:translateY(90px) scale(.08)}}
@keyframes home-cs-pin{0%{opacity:0;transform:translateY(-60px) scale(.6)}35.62%{opacity:0;transform:translateY(-60px) scale(.6)}37.81%{opacity:1;transform:translateY(4px) scale(1.06)}38.75%{opacity:1;transform:none}81.25%{opacity:1;transform:none}85%{opacity:0;transform:scale(.9)}100%{opacity:0;transform:scale(.9)}}
@keyframes home-cs-pinw{0%{opacity:0;}61.88%{opacity:0;}63.75%{opacity:1;}100%{opacity:1;}}
@keyframes home-cs-pulse{0%{opacity:.55;transform:scale(.3)}38.12%{opacity:.55;transform:scale(.3)}44.38%{opacity:0;transform:scale(2.6)}45.62%{opacity:.55;transform:scale(.3)}51.88%{opacity:0;transform:scale(2.6)}53.12%{opacity:.55;transform:scale(.3)}59.38%{opacity:0;transform:scale(2.6)}63.75%{opacity:.55;transform:scale(.3)}70%{opacity:0;transform:scale(2.6)}71.25%{opacity:.55;transform:scale(.3)}77.5%{opacity:0;transform:scale(2.6)}78.75%{opacity:.55;transform:scale(.3)}85%{opacity:0;transform:scale(2.6)}100%{opacity:0;transform:scale(2.6)}}
@keyframes home-cs-pulsew{0%{opacity:0;}61.88%{opacity:0;}63.75%{opacity:1;}100%{opacity:1;}}
@keyframes home-cs-count{0%{opacity:0;transform:translateY(-8px)}36.88%{opacity:0;transform:translateY(-8px)}38.75%{opacity:1;transform:none}81.25%{opacity:1;transform:none}85%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-cs-n1{0%{opacity:1;transform:none}40.62%{opacity:1;transform:none}41.88%{opacity:0;transform:translateY(-10px)}100%{opacity:0;transform:translateY(-10px)}}
@keyframes home-cs-n2{0%{opacity:0;transform:translateY(10px)}40.62%{opacity:0;transform:translateY(10px)}42.19%{opacity:1;transform:none}100%{opacity:1;transform:none}}
@keyframes home-cs-route{0%{opacity:1;clip-path:inset(0 0 0 100%)}43.12%{opacity:1;clip-path:inset(0 0 0 100%)}49.38%{opacity:1;clip-path:inset(0 0 0 0)}81.25%{opacity:1;clip-path:inset(0 0 0 0)}85%{opacity:0;clip-path:inset(0 0 0 0)}100%{opacity:0;clip-path:inset(0 0 0 0)}}
@keyframes home-cs-agent{0%{opacity:0;transform:scale(.7)}48.12%{opacity:0;transform:scale(.7)}50%{opacity:1;transform:none}81.25%{opacity:1;transform:none}85%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-cs-date{0%{opacity:0;transform:translateY(-8px)}54.37%{opacity:0;transform:translateY(-8px)}56.25%{opacity:1;transform:none}81.25%{opacity:1;transform:none}85%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-cs-d1{0%{opacity:1;transform:none}58.75%{opacity:1;transform:none}60%{opacity:0;transform:translateY(-8px)}100%{opacity:0;transform:translateY(-8px)}}
@keyframes home-cs-d2{0%{opacity:0;transform:translateY(8px)}58.75%{opacity:0;transform:translateY(8px)}60.31%{opacity:1;transform:none}100%{opacity:1;transform:none}}
@keyframes home-cs-toast{0%{opacity:0;transform:translateY(18px)}64.38%{opacity:0;transform:translateY(18px)}66.56%{opacity:1;transform:none}81.25%{opacity:1;transform:none}85%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-cs-ln{0%{transform:scaleX(0)}3.75%{transform:scaleX(0)}6.25%{transform:scaleX(1)}100%{transform:scaleX(1)}}
@keyframes home-cs-v{0%{background-color:transparent}25%{background-color:transparent}26.25%{background-color:var(--info-bg)}28.75%{background-color:transparent}100%{background-color:transparent}}
.home-motion .home-cs-doc{animation-name:home-cs-doc}
.home-motion .home-cs-ok{animation-name:home-cs-ok}
.home-motion .home-cs-pen path{animation-name:home-cs-pen}
.home-motion .home-cs-stamp{animation-name:home-cs-stamp}
.home-motion .home-cs-card{animation-name:home-cs-card}
.home-motion .home-cs-pin{animation-name:home-cs-pin}
.home-motion .home-cs-pinw{animation-name:home-cs-pinw}
.home-motion .home-cs-pulse{animation-name:home-cs-pulse}
.home-motion .home-cs-pulsew{animation-name:home-cs-pulsew}
.home-motion .home-cs-count{animation-name:home-cs-count}
.home-motion .home-cs-n1{animation-name:home-cs-n1}
.home-motion .home-cs-n2{animation-name:home-cs-n2}
.home-motion .home-cs-route{animation-name:home-cs-route}
.home-motion .home-cs-agent{animation-name:home-cs-agent}
.home-motion .home-cs-date{animation-name:home-cs-date}
.home-motion .home-cs-d1{animation-name:home-cs-d1}
.home-motion .home-cs-d2{animation-name:home-cs-d2}
.home-motion .home-cs-toast{animation-name:home-cs-toast}
.home-motion .home-cs-ln{animation-name:home-cs-ln}
.home-motion .home-cs-v{animation-name:home-cs-v}
.home-cp--0{left:1120px;top:82px;animation-delay:2.3s;opacity:0}
.home-cp--1{left:1160px;top:622px;animation-delay:3.3s;opacity:0}
.home-cp--2{left:1810px;top:142px;animation-delay:5.4s}
.home-cp--3{left:1830px;top:512px;animation-delay:0.4s;opacity:0}
.home-cp--4{left:2000px;top:302px;animation-delay:2.4s;opacity:0}
.home-cp--5{left:2080px;top:612px;animation-delay:8.5s}
.home-cp--6{left:1600px;top:42px;animation-delay:7.2s}
.home-cp--7{left:1670px;top:692px;animation-delay:5.5s}
.home-cp--8{left:1970px;top:82px;animation-delay:5.5s}
.home-cp--9{left:2150px;top:412px;animation-delay:4.6s}
.home-cp--10{left:1790px;top:352px;animation-delay:5.8s}
.home-cp--11{left:1920px;top:222px;animation-delay:6.5s}
.home-cp--12{left:2030px;top:492px;animation-delay:2.8s;opacity:0}
.home-cp--13{left:1210px;top:692px;animation-delay:7.4s}
.home-cp--14{left:1530px;top:722px;animation-delay:6.2s}
.home-cp--15{left:1870px;top:662px;animation-delay:6.2s}
.home-cp--16{left:2210px;top:172px;animation-delay:3.5s;opacity:0}
.home-cp--17{left:2230px;top:592px;animation-delay:3.9s}
.home-cp--18{left:1760px;top:32px;animation-delay:7.5s}
.home-cp--19{left:300px;top:162px;animation-delay:1.4s;opacity:0}
.home-cp--20{left:390px;top:572px;animation-delay:8.2s}
.home-cp--21{left:220px;top:392px;animation-delay:5.4s}
.home-cp--22{left:530px;top:82px;animation-delay:4.5s}
/* Шаги и роли: сцены по кругу 6 с. */
.home-motion .home-si-st *{animation-duration:6s;animation-timing-function:cubic-bezier(.45,0,.2,1);
  animation-iteration-count:infinite;animation-fill-mode:both}
@keyframes home-si-l0{0%{transform:scaleX(0)}3.33%{transform:scaleX(0)}9.17%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-si-l1{0%{transform:scaleX(0)}5.33%{transform:scaleX(0)}11.17%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-si-l2{0%{transform:scaleX(0)}7.33%{transform:scaleX(0)}13.17%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-si-l3{0%{transform:scaleX(0)}9.33%{transform:scaleX(0)}15.17%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-si-pen{0%{stroke-dashoffset:120}16.67%{stroke-dashoffset:120}31.67%{stroke-dashoffset:0}90%{stroke-dashoffset:0}96.67%{stroke-dashoffset:120}100%{stroke-dashoffset:120}}
@keyframes home-si-ok{0%{opacity:0;transform:scale(.3)}33.33%{opacity:0;transform:scale(.3)}37.5%{opacity:1;transform:scale(1.15)}40%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:scale(.6)}100%{opacity:0;transform:scale(.6)}}
@keyframes home-si-ring{0%{opacity:.6;transform:scale(.6)}37.5%{opacity:.6;transform:scale(.6)}51.67%{opacity:0;transform:scale(2)}100%{opacity:0;transform:scale(2)}}
@keyframes home-si-btn{0%{background-color:var(--accent)}32.5%{background-color:var(--accent)}35.83%{background-color:var(--ok)}90%{background-color:var(--ok)}96.67%{background-color:var(--accent)}100%{background-color:var(--accent)}}
@keyframes home-si-fly{0%{opacity:0;offset-distance:0%}8.33%{opacity:0;offset-distance:0%}11.67%{opacity:1;offset-distance:0%}28.33%{opacity:1;offset-distance:100%}31.67%{opacity:0;offset-distance:100%}100%{opacity:0;offset-distance:100%}}
@keyframes home-si-arc{0%{stroke-dashoffset:140}5%{stroke-dashoffset:140}15%{stroke-dashoffset:0}90%{stroke-dashoffset:0;opacity:1}96.67%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes home-si-cover{0%{opacity:0}28.33%{opacity:0}33.33%{opacity:1}90%{opacity:1}96.67%{opacity:0}100%{opacity:0}}
@keyframes home-si-sk0{0%{opacity:1}33.33%{opacity:1}36.67%{opacity:0}93.33%{opacity:0}96.67%{opacity:1}100%{opacity:1}}
@keyframes home-si-tx0{0%{opacity:0;transform:translateY(5.3px)}33.33%{opacity:0;transform:translateY(5.3px)}37.5%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-si-sk1{0%{opacity:1}38.33%{opacity:1}41.67%{opacity:0}93.33%{opacity:0}96.67%{opacity:1}100%{opacity:1}}
@keyframes home-si-tx1{0%{opacity:0;transform:translateY(5.3px)}38.33%{opacity:0;transform:translateY(5.3px)}42.5%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-si-sk2{0%{opacity:1}43.33%{opacity:1}46.67%{opacity:0}93.33%{opacity:0}96.67%{opacity:1}100%{opacity:1}}
@keyframes home-si-tx2{0%{opacity:0;transform:translateY(5.3px)}43.33%{opacity:0;transform:translateY(5.3px)}47.5%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-si-pin2{0%{opacity:0;transform:translateY(-18.7px)}50%{opacity:0;transform:translateY(-18.7px)}55%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-si-pin3{0%{opacity:0;transform:translateY(-24px)}3.33%{opacity:0;transform:translateY(-24px)}8.33%{opacity:1;transform:translateY(2.7px)}10%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-si-track{0%{transform:scaleX(0)}15%{transform:scaleX(0)}55%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-si-dot0{0%{background-color:var(--sunk-2);color:transparent}15%{background-color:var(--sunk-2);color:transparent}18.33%{background-color:var(--ok);color:var(--on-dark)}90%{background-color:var(--ok);color:var(--on-dark)}96.67%{background-color:var(--sunk-2);color:transparent}100%{background-color:var(--sunk-2);color:transparent}}
@keyframes home-si-lab0{0%{color:var(--faint)}15%{color:var(--faint)}18.33%{color:var(--ink)}90%{color:var(--ink)}96.67%{color:var(--faint)}100%{color:var(--faint)}}
@keyframes home-si-dot1{0%{background-color:var(--sunk-2);color:transparent}35%{background-color:var(--sunk-2);color:transparent}38.33%{background-color:var(--ok);color:var(--on-dark)}90%{background-color:var(--ok);color:var(--on-dark)}96.67%{background-color:var(--sunk-2);color:transparent}100%{background-color:var(--sunk-2);color:transparent}}
@keyframes home-si-lab1{0%{color:var(--faint)}35%{color:var(--faint)}38.33%{color:var(--ink)}90%{color:var(--ink)}96.67%{color:var(--faint)}100%{color:var(--faint)}}
@keyframes home-si-dot2{0%{background-color:var(--sunk-2);color:transparent}55%{background-color:var(--sunk-2);color:transparent}58.33%{background-color:var(--ok);color:var(--on-dark)}90%{background-color:var(--ok);color:var(--on-dark)}96.67%{background-color:var(--sunk-2);color:transparent}100%{background-color:var(--sunk-2);color:transparent}}
@keyframes home-si-lab2{0%{color:var(--faint)}55%{color:var(--faint)}58.33%{color:var(--ink)}90%{color:var(--ink)}96.67%{color:var(--faint)}100%{color:var(--faint)}}
@keyframes home-ro-bar0{0%{transform:scaleX(0)}5%{transform:scaleX(0)}15%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-ro-bar1{0%{transform:scaleX(0)}7.5%{transform:scaleX(0)}17.5%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-ro-bar2{0%{transform:scaleX(0)}10%{transform:scaleX(0)}20%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-ro-bar3{0%{transform:scaleX(0)}12.5%{transform:scaleX(0)}22.5%{transform:scaleX(1)}90%{transform:scaleX(1)}96.67%{transform:scaleX(0)}100%{transform:scaleX(0)}}
@keyframes home-ro-exp0{0%{opacity:0}36.67%{opacity:0}41.67%{opacity:1}90%{opacity:1}96.67%{opacity:0}100%{opacity:0}}
@keyframes home-ro-exp2{0%{opacity:0}41.67%{opacity:0}46.67%{opacity:1}90%{opacity:1}96.67%{opacity:0}100%{opacity:0}}
@keyframes home-ro-chip{0%{opacity:0;transform:scale(.6)}45%{opacity:0;transform:scale(.6)}49.17%{opacity:1;transform:scale(1.08)}51.67%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-m0{0%{opacity:0;transform:scale(.5)}3.33%{opacity:0;transform:scale(.5)}7.5%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-m1{0%{opacity:0;transform:scale(.5)}5.33%{opacity:0;transform:scale(.5)}9.5%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-m2{0%{opacity:0;transform:scale(.5)}7.33%{opacity:0;transform:scale(.5)}11.5%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-m3{0%{opacity:0;transform:scale(.5)}9.33%{opacity:0;transform:scale(.5)}13.5%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-fly{0%{opacity:0;offset-distance:0%}20%{opacity:0;offset-distance:0%}22.5%{opacity:1;offset-distance:0%}36.67%{opacity:1;offset-distance:100%}38.33%{opacity:0;offset-distance:100%}100%{opacity:0;offset-distance:100%}}
@keyframes home-ro-pin{0%{opacity:0;transform:translateY(-13.3px)}36.67%{opacity:0;transform:translateY(-13.3px)}40.83%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-pulse{0%{opacity:.6;transform:scale(.5)}40.83%{opacity:.6;transform:scale(.5)}56.67%{opacity:0;transform:scale(2.4)}100%{opacity:0;transform:scale(2.4)}}
@keyframes home-ro-it0{0%{opacity:0;transform:translateX(13.3px)}5%{opacity:0;transform:translateX(13.3px)}10%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-it1{0%{opacity:0;transform:translateX(13.3px)}8.33%{opacity:0;transform:translateX(13.3px)}13.33%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-it2{0%{opacity:0;transform:translateX(13.3px)}11.67%{opacity:0;transform:translateX(13.3px)}16.67%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes home-ro-ck0{0%{background-color:var(--sunk-2);color:transparent}31.67%{background-color:var(--sunk-2);color:transparent}35%{background-color:var(--accent);color:var(--on-dark)}90%{background-color:var(--accent);color:var(--on-dark)}96.67%{background-color:var(--sunk-2);color:transparent}100%{background-color:var(--sunk-2);color:transparent}}
@keyframes home-ro-ck2{0%{background-color:var(--sunk-2);color:transparent}38.33%{background-color:var(--sunk-2);color:transparent}41.67%{background-color:var(--accent);color:var(--on-dark)}90%{background-color:var(--accent);color:var(--on-dark)}96.67%{background-color:var(--sunk-2);color:transparent}100%{background-color:var(--sunk-2);color:transparent}}
@keyframes home-ro-pick{0%{opacity:0;transform:translateY(10.7px)}46.67%{opacity:0;transform:translateY(10.7px)}51.67%{opacity:1;transform:none}90%{opacity:1;transform:none}96.67%{opacity:0;transform:none}100%{opacity:0;transform:none}}
.home-motion .home-si-l0{animation-name:home-si-l0}
.home-motion .home-si-l1{animation-name:home-si-l1}
.home-motion .home-si-l2{animation-name:home-si-l2}
.home-motion .home-si-l3{animation-name:home-si-l3}
.home-motion .home-si-pen path{animation-name:home-si-pen}
.home-motion .home-si-ok{animation-name:home-si-ok}
.home-motion .home-si-ring{animation-name:home-si-ring}
.home-motion .home-si-btn{animation-name:home-si-btn}
.home-motion .home-si-fly{animation-name:home-si-fly}
.home-motion .home-si-arc-mask{animation-name:home-si-arc}
.home-motion .home-si-cover{animation-name:home-si-cover}
.home-motion .home-si-sk0{animation-name:home-si-sk0}
.home-motion .home-si-tx0{animation-name:home-si-tx0}
.home-motion .home-si-sk1{animation-name:home-si-sk1}
.home-motion .home-si-tx1{animation-name:home-si-tx1}
.home-motion .home-si-sk2{animation-name:home-si-sk2}
.home-motion .home-si-tx2{animation-name:home-si-tx2}
.home-motion .home-si-pin2{animation-name:home-si-pin2}
.home-motion .home-si-pin3{animation-name:home-si-pin3}
.home-motion .home-si-track{animation-name:home-si-track}
.home-motion .home-si-dot0{animation-name:home-si-dot0}
.home-motion .home-si-lab0{animation-name:home-si-lab0}
.home-motion .home-si-dot1{animation-name:home-si-dot1}
.home-motion .home-si-lab1{animation-name:home-si-lab1}
.home-motion .home-si-dot2{animation-name:home-si-dot2}
.home-motion .home-si-lab2{animation-name:home-si-lab2}
.home-motion .home-ro-bar0{animation-name:home-ro-bar0}
.home-motion .home-ro-bar1{animation-name:home-ro-bar1}
.home-motion .home-ro-bar2{animation-name:home-ro-bar2}
.home-motion .home-ro-bar3{animation-name:home-ro-bar3}
.home-motion .home-ro-exp0{animation-name:home-ro-exp0}
.home-motion .home-ro-exp2{animation-name:home-ro-exp2}
.home-motion .home-ro-chip{animation-name:home-ro-chip}
.home-motion .home-ro-m0{animation-name:home-ro-m0}
.home-motion .home-ro-m1{animation-name:home-ro-m1}
.home-motion .home-ro-m2{animation-name:home-ro-m2}
.home-motion .home-ro-m3{animation-name:home-ro-m3}
.home-motion .home-ro-fly{animation-name:home-ro-fly}
.home-motion .home-ro-pin{animation-name:home-ro-pin}
.home-motion .home-ro-pulse{animation-name:home-ro-pulse}
.home-motion .home-ro-it0{animation-name:home-ro-it0}
.home-motion .home-ro-it1{animation-name:home-ro-it1}
.home-motion .home-ro-it2{animation-name:home-ro-it2}
.home-motion .home-ro-ck0{animation-name:home-ro-ck0}
.home-motion .home-ro-ck2{animation-name:home-ro-ck2}
.home-motion .home-ro-pick{animation-name:home-ro-pick}
.home-motion .home-ro-side{animation:home-ro-float 3s ease-in-out infinite alternate}
.home-motion .home-ro-side1{animation-delay:-1.5s}
@keyframes home-ro-float{from{transform:none}to{transform:translateY(-6px)}}
/* Вне экрана город и сцены стоят: data-live ставит наблюдатель home.js. */
.home-motion [data-live=""] *{animation-play-state:paused}

/* Появление блоков при прокрутке, соседи по очереди. */
.home-motion .home-reveal{opacity:0;transform:translateY(18px);
  transition:opacity .6s ease,transform .6s ease;transition-delay:var(--d,0s)}
.home-motion .home-reveal.home-in{opacity:1;transform:none}
/* Шаги: линия между кружками прорисовывается. */
.home-motion .home-steps::after{transform:scaleX(0);transition:transform 1.2s ease .3s}
.home-motion .home-steps.home-in::after{transform:scaleX(1)}

/* Доска: фильтр «Истекает» гасит остальные плитки. */
.home-tile,.home-shot-chip{transition:opacity .4s ease,transform .4s ease,
  background var(--tr-slow),color var(--tr-slow),border-color var(--tr-slow)}
.home-filtering .home-tile:not(.home-tile--warn){opacity:.28;transform:scale(.96)}
.home-filtering .home-tile--warn{box-shadow:0 0 0 2px var(--warn-line)}
/* Сделка: статус договора меняется со сжатием. */
.home-sign{transition:transform .2s ease}
.home-sign.home-flip{transform:scale(.85)}
/* Роли: подсвеченная строка. */
.home-role{transition:border-color var(--tr-slow),box-shadow var(--tr-slow),
  transform var(--tr-slow)}
.home-role.home-on{border-color:var(--accent);box-shadow:var(--focus);transform:translateX(6px)}
/* Наведение: карточки приподнимаются. */
.home-perk,.home-soon-item{transition:transform var(--tr-slow) ease,box-shadow var(--tr-slow)}
.home-perk:hover,.home-soon-item:hover{transform:translateY(-3px);box-shadow:var(--sh-lift)}

/* Окно заявки: появление, звонок трубки и волны, галочка «принято». */
@keyframes home-dlg-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes home-dlg-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes home-dlg-ring{0%,60%,100%{transform:none}64%,72%{transform:rotate(-12deg)}
  68%,76%{transform:rotate(12deg)}}
@keyframes home-dlg-wave{0%{opacity:.5;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.8)}}
@keyframes home-dlg-pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.home-motion .home-dlg[open]{animation:home-dlg-in .32s cubic-bezier(.2,.8,.2,1)}
.home-motion .home-dlg-ico span{animation:home-dlg-ring 2.4s ease-in-out infinite}
.home-motion .home-dlg-ico i{animation:home-dlg-wave 2.4s ease-out infinite}
.home-motion .home-dlg-ico i+i{animation-delay:.6s}
.home-motion .home-dlg .home-req-done-ico{animation:home-dlg-pop .45s cubic-bezier(.2,1.4,.4,1)}
@media (max-width:640px){
  .home-motion .home-dlg[open]{animation-name:home-dlg-up}
}

@media (prefers-reduced-motion:reduce){
  .home-main *,.home-main *::before,.home-main *::after{transition:none!important;
    animation:none!important}
}
