
@font-face{font-family:"DrukCyr";src:url("fonts/drukcyr-medium.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:block}

*{box-sizing:border-box;margin:0;padding:0}
:root{
  /* фирменные цвета из бренд-гайда */
  --turq:#06B2AF; --turq-d:#058E8C; --turq-l:#E4F7F6;
  --violet:#894E99; --violet-l:#F4EDF6;
  --ink:#16161D; --graphite:#2A2A33; --muted:#8C8A97;
  --panel:#F4F3F6; --panel2:#EBEAEF; --bg:#FFFFFF; --line:#E4E3E9;
  --fdisp:"DrukCyr",Impact,"Arial Black",sans-serif;
  --ftext:"Manrope",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fui:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --max:1120px;
}
html{scroll-behavior:smooth}
body{font:16px/1.65 var(--ftext);color:var(--graphite);background:var(--bg);
  -webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:inherit}
img{max-width:100%}

/* ── плашка прототипа ── */
.protobar{background:#1c1c1e;color:#fff;font-size:12.5px;padding:7px 0}
.protobar .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.protobar b{font-weight:600}
.protobar span{color:#b9b9c0}

/* ── шапка ── */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;gap:28px;height:74px}
.logo{display:block;text-decoration:none;line-height:0}
.logo img{height:46px;width:auto;display:block}
nav.main{display:flex;gap:22px;margin-left:8px;flex:1}
nav.main a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--graphite);padding:8px 0;
  border-bottom:2px solid transparent}
nav.main a:hover{color:var(--turq)}
nav.main a.on{color:var(--turq);border-bottom-color:var(--turq)}
.hcta{display:flex;align-items:center;gap:14px}
.tel{font-size:14.5px;font-weight:600;text-decoration:none;white-space:nowrap;color:var(--ink)}
.burger{display:none;border:0;background:var(--panel);width:42px;height:38px;border-radius:12px;cursor:pointer;font-size:16px}

.btn{display:inline-block;padding:14px 26px;border-radius:10px;background:var(--turq);color:#fff;
  text-decoration:none;font-size:14.5px;font-weight:600;border:1px solid var(--turq);cursor:pointer;
  font-family:var(--ftext);transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--turq-d);border-color:var(--turq-d)}
.btn.ghost{background:var(--panel);color:var(--ink);border-color:transparent}
.btn.ghost:hover{background:var(--panel2);color:var(--ink);border-color:transparent}
.btn.sm{padding:9px 16px;font-size:13.5px}

/* ── секции ── */
section{padding:66px 0}
section:nth-of-type(even){background:var(--panel)}
.kicker{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--turq);
  font-weight:700;margin-bottom:12px;font-family:var(--fui)}
h1{font-family:var(--fdisp);font-size:52px;line-height:1.04;letter-spacing:.005em;
  font-weight:500;text-transform:uppercase;color:var(--ink)}
h2{font-family:var(--fdisp);font-size:34px;line-height:1.1;font-weight:500;
  text-transform:uppercase;margin-bottom:10px;color:var(--ink)}
h3{font-size:18px;font-weight:700;margin-bottom:6px;color:var(--ink)}
h4{font-family:var(--fui)}
.lead{font-size:19px;line-height:1.6;color:var(--graphite);margin-top:16px;max-width:820px}
.sub{color:#5a5a64;margin-top:10px;max-width:880px}
b,strong{font-weight:700;color:var(--ink)}

/* ── герой ── */
.hero{padding:78px 0 60px}
.hero .wrap{position:relative;z-index:1}
h1 .acc{color:var(--turq)}
.hero .chain{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.hero .chain span{font-size:16px;font-weight:600;color:var(--ink)}
.hero .chain i{color:var(--turq);font-style:normal;font-size:17px}
.hero .acts{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.trust{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:48px}
.trust div{padding:22px;background:#fff;border-radius:18px;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 8px 24px rgba(22,22,29,.05)}
.trust b{display:block;font-family:var(--fdisp);font-size:30px;font-weight:500;color:var(--turq);
  text-transform:uppercase;line-height:1}
.trust div:nth-child(4) b{color:var(--violet)}
.trust span{font-size:12.5px;color:var(--muted);line-height:1.45;display:block;margin-top:8px}

/* ── сетки ── */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{border:0;border-radius:18px;padding:26px;background:#fff;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 8px 24px rgba(22,22,29,.05);
  transition:box-shadow .25s ease, transform .25s ease}
.card:hover{box-shadow:0 2px 4px rgba(22,22,29,.05), 0 14px 38px rgba(22,22,29,.09);
  transform:translateY(-2px)}
.card h3{margin-bottom:8px}
.card p{font-size:14.5px;color:#55555f}
.card .num{font-family:var(--fdisp);font-size:15px;color:var(--turq);font-weight:500;
  letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}
a.card{text-decoration:none;display:flex;flex-direction:column}
a.ilink .more{margin-top:auto;padding-top:14px;color:var(--turq);font-size:13.5px;font-weight:600}
a.ilink:hover .more{color:var(--turq-d)}

/* ── прямая речь ── */
.quotes{display:grid;gap:14px;margin-top:28px}
.q{border:0;border-radius:18px;overflow:hidden;background:#fff;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 8px 24px rgba(22,22,29,.05);
  transition:box-shadow .25s ease}
.q.open{box-shadow:0 2px 6px rgba(22,22,29,.06), 0 18px 44px rgba(22,22,29,.10)}
.q > button{width:100%;text-align:left;background:none;border:0;padding:26px 62px 26px 28px;cursor:pointer;
  position:relative;font-family:var(--ftext);display:block}
.q .qt{display:block;font-size:18px;line-height:1.5;font-weight:600;color:var(--ink)}
.q > button:after{content:"+";position:absolute;right:28px;top:28px;
  font-size:22px;font-weight:400;color:var(--turq);transition:transform .25s ease}
.q.open > button:after{content:"–"}
.q .body{display:none;padding:0 28px 28px}
.q.open .body{display:block}
.q .body .ctx{font-size:15px;color:#57575e;margin-bottom:16px}
.q .body .ans{background:var(--turq-l);border-radius:14px;padding:16px 18px;font-size:15px}
.q .body .ans b{display:block;margin-bottom:4px;color:var(--turq-d)}

/* ── шаги ── */
/* ── роадмап ── */
.road{display:grid;grid-template-columns:repeat(5,1fr);margin-top:38px}
.rstep{position:relative;padding-right:22px}
.rstep .dot{width:54px;height:54px;border-radius:50%;background:var(--turq);color:#fff;
  font-family:var(--fdisp);font-weight:500;font-size:25px;line-height:1;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.rstep:after{content:"";position:absolute;left:54px;top:26px;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,var(--turq),rgba(6,178,175,.28))}
.rstep:last-child{padding-right:0}
.rstep:last-child:after{display:none}
.rstep h3{margin-top:20px;font-size:16.5px}
.rstep p{font-size:13.5px;color:#55555f;margin-top:6px;padding-right:16px}
.rstep .free{display:inline-block;margin-top:12px;font-family:var(--fui);font-size:12px;
  font-weight:700;color:#fff;background:var(--violet);border-radius:100px;padding:4px 13px}

/* ── списки ── */
ul.plain{list-style:none;display:grid;gap:9px}
ul.plain li{padding-left:20px;position:relative;font-size:15px}
ul.plain li:before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--turq)}
ol.num{padding-left:20px;display:grid;gap:9px}
ol.num li{font-size:15px}

/* ── логотипы-заглушки ── */
.logos{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-top:26px}
.logos div{border:0;border-radius:14px;height:64px;display:flex;align-items:center;
  justify-content:center;font-family:var(--fui);font-size:11.5px;font-weight:500;color:#55555f;
  text-align:center;padding:6px;background:#fff;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 4px 14px rgba(22,22,29,.04)}

/* ── фильтры ── */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 6px}
.filters button{border:0;background:var(--panel);border-radius:10px;padding:9px 18px;
  font-size:13.5px;font-weight:500;cursor:pointer;font-family:var(--ftext);color:#55555f;
  transition:background .2s,color .2s}
.filters button:hover{background:var(--panel2);color:var(--ink)}
.filters button.on{background:var(--turq);color:#fff}

/* ── кейсы ── */
.case{border:0;border-radius:20px;padding:30px;margin-bottom:16px;background:#fff;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 8px 24px rgba(22,22,29,.05)}
.case .tag{font-family:var(--fui);font-size:11.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--turq)}
.case h3{margin:8px 0 14px;font-size:21px}
.case .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:18px;
  padding-top:20px;border-top:1px solid rgba(22,22,29,.07)}
.case .cols h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);
  font-weight:700;margin-bottom:9px}
.case .cols li{font-size:13.5px}

/* ── медиа ── */
.mlist{display:grid;gap:0;margin-top:8px}
.mitem{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:22px 18px;
  border-bottom:1px solid rgba(22,22,29,.06);align-items:baseline;text-decoration:none;
  border-radius:14px;transition:background .2s}
.mitem:last-child{border-bottom:0}
.mitem:hover{background:var(--panel)}
.mitem .rub{font-family:var(--fui);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--turq)}
.mitem .ttl{font-size:16.5px;font-weight:700;color:var(--ink)}
.mitem .ttl span{display:block;font-weight:400;font-size:14px;color:#5c5c66;margin-top:4px}

/* ── форма ── */
.formwrap{background:var(--panel);border-radius:24px;padding:44px;display:grid;grid-template-columns:1.35fr 1fr;gap:36px}
.formwrap h2{margin-bottom:6px}
form{display:grid;gap:12px;margin-top:22px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,textarea,select{width:100%;padding:14px 16px;border:0;border-radius:10px;
  font:15px var(--ftext);background:#fff;color:var(--ink);
  box-shadow:0 1px 2px rgba(22,22,29,.05)}
input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 3px rgba(6,178,175,.22)}
textarea{min-height:96px;resize:vertical}
label.chk{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--muted)}
label.chk input{width:auto;margin-top:3px;accent-color:var(--turq)}
.note{font-size:13px;color:var(--muted);margin-top:8px}
.ok{display:none;border:0;border-radius:14px;padding:20px;background:#fff;font-size:15px;
  box-shadow:0 1px 2px rgba(22,22,29,.05), 0 8px 24px rgba(6,178,175,.10)}
.ok.show{display:block}
.chan{display:grid;gap:16px;align-content:start}
.chan a{text-decoration:none;font-size:17px;font-weight:700;color:var(--turq)}
.chan p{font-size:13.5px;color:var(--muted)}

/* ── подвал ── */
footer{border-top:1px solid var(--line);padding:48px 0 32px;background:var(--panel);font-size:14px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}
footer h4{font-family:var(--fui);font-size:11.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:var(--turq);margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:9px}
footer a{text-decoration:none;color:#4a4a54}
footer a:hover{color:var(--turq)}
.fbot{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}

/* ── вендоры табами ── */
.vgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-top:22px}
.vcard{background:#fff;border:0;border-radius:14px;padding:18px 14px;
  min-height:64px;display:flex;align-items:center;justify-content:center;text-align:center;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 6px 18px rgba(22,22,29,.05);
  transition:box-shadow .25s ease, transform .25s ease}
.vcard:hover{box-shadow:0 2px 4px rgba(22,22,29,.05), 0 12px 30px rgba(22,22,29,.08);transform:translateY(-2px)}
.vcard b{font-size:14px;font-weight:700;color:var(--ink);line-height:1.3}

/* ── карточки кейсов ── */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.ccards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.ccard{background:#fff;border:0;border-radius:20px;padding:30px 30px 24px;
  display:flex;flex-direction:column;gap:14px;text-decoration:none;min-height:210px;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 8px 24px rgba(22,22,29,.05);
  transition:box-shadow .25s ease, transform .25s ease}
.ccard:hover{box-shadow:0 2px 6px rgba(22,22,29,.06), 0 18px 44px rgba(22,22,29,.10);transform:translateY(-3px)}
.cpill{align-self:flex-start;background:var(--turq-l);color:var(--turq-d);font-family:var(--fui);
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-radius:100px;padding:6px 14px}
.ccard h3{font-family:var(--fdisp);font-weight:500;font-size:23px;line-height:1.12;
  text-transform:uppercase;margin:0;color:var(--ink)}
.ccard p{font-size:14.5px;color:#55555f;margin:0}
.ccard .arrow{margin-top:auto;align-self:flex-end;width:40px;height:40px;border-radius:50%;
  border:0;background:var(--panel);display:flex;align-items:center;justify-content:center;
  color:var(--turq);font-size:15px;transition:background .2s,color .2s}
.ccard:hover .arrow{background:var(--turq);color:#fff}

/* ── карта ── */
.map{margin-top:22px;border:0;border-radius:20px;overflow:hidden;line-height:0;
  box-shadow:0 1px 2px rgba(22,22,29,.04), 0 8px 24px rgba(22,22,29,.06)}
.map iframe{display:block;border:0}

/* ── кнопка наверх ── */
#top{position:fixed;right:24px;bottom:24px;z-index:60;width:50px;height:50px;border-radius:50%;
  border:0;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);color:var(--turq);
  cursor:pointer;font-size:18px;line-height:1;
  box-shadow:0 2px 6px rgba(22,22,29,.08), 0 10px 30px rgba(22,22,29,.12);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s,background .15s,color .15s}
#top.show{opacity:1;visibility:visible}
#top:hover{background:var(--turq);color:#fff}

.crumbs{font-size:13px;color:var(--muted);padding-top:22px}
.crumbs a{text-decoration:none}
.tblock{max-width:760px}
.mt24{margin-top:24px} .mt32{margin-top:32px}

@media(max-width:1180px){ .vgrid{grid-template-columns:repeat(6,1fr)} }
@media(max-width:820px){ .vgrid{grid-template-columns:repeat(4,1fr)} }
@media(max-width:900px){
  .vgrid{grid-template-columns:repeat(3,1fr)}
  .ccards{grid-template-columns:1fr}
  .shead{align-items:flex-start}
  .road{grid-template-columns:1fr;gap:26px}
  .rstep{padding:0 0 0 74px;min-height:54px}
  .rstep .dot{position:absolute;left:0;top:0}
  .rstep:after{left:26px;top:54px;bottom:-26px;right:auto;width:2px;height:auto;
    background:linear-gradient(180deg,var(--turq),rgba(6,178,175,.28))}
  .rstep h3{margin-top:2px}
}
@media(max-width:900px){
  nav.main{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;padding:12px 24px;gap:2px}
  nav.main.open{display:flex}
  nav.main a{padding:11px 0;border-bottom:1px solid var(--line)}
  .burger{display:block}
  .tel{display:none}
  h1{font-size:29px}
  .trust{grid-template-columns:1fr 1fr}
  .trust div{border-right:0;border-bottom:1px solid var(--line)}
  .g2,.g3,.g4,.fgrid,.formwrap,.case .cols{grid-template-columns:1fr}
  .logos{grid-template-columns:repeat(3,1fr)}
  .mitem{grid-template-columns:1fr;gap:4px}
  .frow{grid-template-columns:1fr}
}

/* телефон в шапке на узких экранах: значок вместо номера (было display:none) */
@media (max-width:900px){
  .hcta{gap:8px}
  .hcta .tel{display:inline-flex !important;align-items:center;justify-content:center;
    width:44px;height:40px;padding:0;border-radius:10px;font-size:0 !important;
    background-color:#f1f1f4;
    background-image:url(../assets/figma-assets/imgBasilPhoneSolid.svg);
    background-repeat:no-repeat;background-position:center;background-size:18px}
  .hcta .btn.sm{white-space:nowrap;font-size:13px;padding:10px 30px 10px 13px}
}

/* узкий шрифт заголовков склеивает слова - раздвигаем пробелы */
h1,h2,.ccard h3{word-spacing:.12em}

/* кнопки: объём как у гитхаба, стрелка сбоку, ножка отрастает при наведении */
.btn{position:relative;padding-right:38px;transition:background .18s linear,color .18s linear,
  border-color .18s linear,box-shadow .18s linear;
  box-shadow:inset 0 0 0 1px rgba(27,31,36,.15),inset 0 1px 0 rgba(255,255,255,.07),
             0 1px 0 rgba(27,31,36,.10)}
.btn:hover{box-shadow:inset 0 0 0 1px rgba(27,31,36,.15),inset 0 0 0 999px rgba(0,0,0,.08),
             0 1px 0 rgba(27,31,36,.10)}
.btn:active{box-shadow:inset 0 0 0 1px rgba(27,31,36,.15),inset 0 1px 0 rgba(0,0,0,.15)}
.btn.sm{padding-right:32px}
.btn::after{content:"";position:absolute;right:17px;top:50%;width:7px;height:7px;
  border-right:1.8px solid currentColor;border-top:1.8px solid currentColor;
  transform:translate(0,-50%) rotate(45deg);transition:transform .24s cubic-bezier(.22,.61,.36,1)}
.btn::before{content:"";position:absolute;right:20px;top:50%;height:1.8px;width:0;
  background:currentColor;transform:translateY(-50%);opacity:0;
  transition:width .24s cubic-bezier(.22,.61,.36,1),opacity .12s linear}
.btn.sm::after{right:13px}
.btn.sm::before{right:16px}
.btn:hover::after{transform:translate(3px,-50%) rotate(45deg)}
.btn:hover::before{width:13px;opacity:1}
/* стрелку носят только ссылки на другую страницу: у кнопок отправки
   и у якорей на этой же странице её нет */
button.btn::after,button.btn::before,
a.btn[href^="#"]::after,a.btn[href^="#"]::before,
a.btn:not([href])::after,a.btn:not([href])::before{content:none}
button.btn,a.btn[href^="#"],a.btn:not([href]){padding-right:24px}
button.btn.sm,a.btn.sm[href^="#"]{padding-right:18px}

/* серая кнопка при наведении заливается акцентом */
.btn.ghost:hover{background:var(--turq);color:#fff;border-color:var(--turq)}

/* наведение как в Apple Store: подъём scale3d и мягкая тень.
   Значения сняты со store.apple.com, .rf-ccard-content */
.btn{box-shadow:none;
  transition:background .3s cubic-bezier(0,0,.5,1),color .3s cubic-bezier(0,0,.5,1),
  border-color .3s cubic-bezier(0,0,.5,1),box-shadow .3s cubic-bezier(0,0,.5,1),
  transform .3s cubic-bezier(0,0,.5,1)}
.btn:hover{transform:scale3d(1.02,1.02,1.02);
  box-shadow:inset 0 0 0 999px rgba(0,0,0,.2),2px 4px 16px rgba(22,22,29,.16)}
.btn:active{transform:scale3d(.99,.99,.99);
  box-shadow:inset 0 0 0 999px rgba(0,0,0,.26),2px 2px 8px rgba(22,22,29,.14)}
.btn.ghost:hover{background:var(--turq);color:#fff;border-color:var(--turq);
  box-shadow:2px 4px 16px rgba(22,22,29,.16)}
.card,.vcard,.ccard{transition:box-shadow .3s cubic-bezier(0,0,.5,1),
  transform .3s cubic-bezier(0,0,.5,1)}
.card:hover,.vcard:hover,.ccard:hover{transform:scale3d(1.01,1.01,1.01);
  box-shadow:2px 4px 16px rgba(22,22,29,.16)}

/* кнопка «Наверх»: тот же квадрат, что и на основном сайте */
#pf-top{position:fixed;right:24px;bottom:24px;z-index:390;width:48px;height:48px;
  padding:0;border:0;border-radius:10px;display:flex;align-items:center;
  justify-content:center;font:400 16px/1 Manrope,Arial,sans-serif;
  background:var(--turq);color:#fff;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .22s linear,visibility 0s .24s,
  transform .3s cubic-bezier(0,0,.5,1),box-shadow .3s cubic-bezier(0,0,.5,1)}
#pf-top.is-on{opacity:1;visibility:visible;transform:none;transition-delay:0s,0s,0s,0s}
#pf-top:hover{transform:scale3d(1.02,1.02,1.02);
  box-shadow:inset 0 0 0 999px rgba(0,0,0,.2),2px 4px 16px rgba(22,22,29,.16)}
#pf-top:active{transform:scale3d(.99,.99,.99);
  box-shadow:inset 0 0 0 999px rgba(0,0,0,.26),2px 2px 8px rgba(22,22,29,.14)}
#pf-top .arw{position:relative;display:inline-flex;width:19px;height:16px;
  transform:rotate(-90deg)}
#pf-top .arw::after{content:"";position:absolute;right:3px;top:50%;width:7px;height:7px;
  border-right:1.8px solid currentColor;border-top:1.8px solid currentColor;
  transform:translate(0,-50%) rotate(45deg);
  transition:transform .24s cubic-bezier(.22,.61,.36,1)}
#pf-top .arw::before{content:"";position:absolute;right:6px;top:50%;height:1.8px;width:0;
  background:currentColor;transform:translateY(-50%);opacity:0;
  transition:width .24s cubic-bezier(.22,.61,.36,1),opacity .12s linear}
#pf-top:hover .arw::after{transform:translate(3px,-50%) rotate(45deg)}
#pf-top:hover .arw::before{width:13px;opacity:1}
@media (max-width:767px){#pf-top{right:14px;bottom:14px;width:44px;height:44px}}
@media (hover:none),(prefers-reduced-motion:reduce){
  #pf-top:hover,#pf-top:active{transform:none}
}
/* старая кнопка «Наверх» из разметки перенесённых страниц (<button id="top">,
   её показывает legacy/app.js) стояла в том же углу, что и #pf-top */
#top{display:none !important}
@media (hover:none),(prefers-reduced-motion:reduce){
  .btn:hover,.btn:active,.card:hover,.vcard:hover,.ccard:hover{transform:none}
}

/* ---- медиацентр под формат внутренних страниц ---- */
.wrap{max-width:1260px;padding:0 40px}
.filters{margin:28px 0 0}
/* владелец убрал серую подложку у секции с фильтрами */
section:nth-of-type(even){background:transparent}
.mlist+.filters{margin-top:32px}
/* 14.09.2026 владелец: чипы - как фильтры «Проектов»: текст и рамка
   акцентным бирюзовым, без тёмного #058e8c; под курсором и выбранный -
   белый текст на бирюзовой заливке */
.filters button{background:#fff;border:1px solid #06b2af;color:#06b2af;
  border-radius:10px;padding:11px 24px;font-size:14px;font-weight:600;
  font-family:var(--ftext)}
.filters button:hover{background:#06b2af;color:#fff}
.filters button.on{background:#06b2af;color:#fff}
.filters button.on:hover{background:#06b2af;color:#fff}
.mlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;
  margin-top:28px}
.mitem{display:block;background:#fff;border:1px solid rgba(22,22,29,.1);
  border-radius:10px;padding:26px 28px;border-bottom:1px solid rgba(22,22,29,.1);
  transform-origin:center center;
  transition:box-shadow .3s cubic-bezier(0,0,.5,1),
    transform .3s cubic-bezier(0,0,.5,1)}
.mitem:last-child{border-bottom:1px solid rgba(22,22,29,.1)}
.mitem:hover{background:#fff;transform:scale3d(1.01,1.01,1.01);
  box-shadow:2px 4px 16px rgba(22,22,29,.16)}
.mitem:active{transform:scale3d(.99,.99,.99)}
/* 14.09.2026 владелец: рубрика над заголовком («Новости», «Экспертиза»,
   «Проект») - плашкой, как тип заказчика в чипе «Проектов» («Коммерческий
   банк»): серый текст #6e6e77 на серой #cfcfd2, как тип заказчика после правки
   14.09 днём (белый читался слабо, плашку владелец затемнять не стал) */
.mitem .rub,.tblock>.kicker{display:flex;align-items:center;width:max-content;
  max-width:100%;margin:0 0 12px;padding:6px 12px;border:1px solid #cfcfd2;
  border-radius:999px;background:#cfcfd2;color:#6e6e77;
  font:600 13px/1.3 Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none}
.mitem .ttl{font-size:20px;line-height:1.3}
.mitem .ttl span{font-size:15px;margin-top:8px}
.mform,.subscribe{border-radius:20px}
/* форма старых страниц под вид внутренних: «Компания» убрана, «Имя» на всю
   строку, контакты тёмные и жирные */
.formwrap .frow:first-of-type{grid-template-columns:1fr}
.chan a{color:#16161d;font-weight:700;font-size:17px;text-decoration:none}
.chan a:hover{color:#06b2af}
.chan p{color:#5c5c66;font-size:14px;margin-top:2px}

@media (hover:none),(prefers-reduced-motion:reduce){
  .mitem:hover,.mitem:active{transform:none}
}
@media (max-width:900px){
  .wrap{padding:0 20px}
  .mlist{grid-template-columns:1fr}
}

/* ---- шрифты только со своего сервера ----------------------------------
   Раньше Manrope и Inter на старых и служебных страницах тянулись с Google
   Fonts: там, где Google недоступен, страница уезжала на системный шрифт, а
   рядом одностраничник показывал свой. Объявляем Manrope из той же папки
   сборки, а Inter как отдельное семейство снимаем - у интерфейса тот же
   Manrope. font-display:block - шрифт ждём, подменой не показываем. */
@font-face{font-family:"Manrope";src:url("/assets/manrope-400-BEIO-tX3.woff2") format("woff2");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"Manrope";src:url("/assets/manrope-500-C3q1kWH5.woff2") format("woff2");font-weight:500;font-style:normal;font-display:block}
@font-face{font-family:"Manrope";src:url("/assets/manrope-600-DBphNC1-.woff2") format("woff2");font-weight:600;font-style:normal;font-display:block}
@font-face{font-family:"Manrope";src:url("/assets/manrope-700-DbNN7f-K.woff2") format("woff2");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:"Manrope";src:url("/assets/manrope-800-CNT0ON31.woff2") format("woff2");font-weight:800;font-style:normal;font-display:block}
:root{
  --ftext:"Manrope",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fui:"Manrope",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fdisp:"Druk Cyr","DrukCyr",Impact,"Arial Narrow",sans-serif;
}
/* служебные страницы (404, 403, 500, thanks, карта сайта) своего правила
   шрифта не имели - задаём его явно */
body{font-family:var(--ftext)}
.tech-page h1,.tech-page h2,.tech-page h3{font-family:var(--fdisp)}

/* ---- колонка контактов рядом с формой ---------------------------------
   На главной «Или напрямую» - чёрная строка, телефон и почта серые, а
   Telegram и подписи под контактами сняты. Здесь заголовок был бирюзовой
   надстрочной подписью с инлайновым стилем - отсюда !important */
.chan h4{color:#16161d !important;font-size:20px !important;
  font-weight:700 !important;text-transform:none !important;
  letter-spacing:normal !important;margin-bottom:14px !important}
.chan a[href^="tel"],.chan a[href^="mailto"]{color:#9f9fa2 !important}
.chan a[href^="mailto"]+p{display:none !important}
.chan div:has(>a[href="#"]){display:none !important}

/* ---- старые страницы: гасим их собственную шапку и подвал, дальше всё
   рисуют правила внутренних страниц, вырезанные ниже из index.html ---- */
header.ip-header{position:relative;border-bottom:0}
footer.ids2-footer{border-top:0}
/* класс .internal-page нужен ради переменных цвета, но у сборки он несёт
   overflow:clip - на body это запирало прокрутку страницы */
body.internal-page{overflow:visible !important;height:auto !important}
/* сборка зовёт шрифт «Druk Cyr», у старых страниц он объявлен как DrukCyr -
   заголовок падал на Impact. Объявляем то же начертание под вторым именем */
@font-face{font-family:"Druk Cyr";src:url("fonts/drukcyr-medium.woff2") format("woff2");
  font-weight:400 700;font-style:normal;font-display:block}
.ids2-page-intro .ids2-breadcrumbs ol{list-style:none;display:flex;gap:6px;
  margin:0;padding:0}
.ip-header__cta-mobile{display:none}
/* реквизиты под логотипом: набор тот же, что на главной - 12px, строки
   врозь, текст выделяется мышью */
.ids2-footer__req{font-size:12px;line-height:1.9;color:#55555c;
  margin-top:14px;max-width:280px;user-select:text}
@media (max-width:900px){
  .ip-header__cta-desktop{display:none}
  .ip-header__cta-mobile{display:inline}
}

/* липкое меню: появляется при прокрутке, по центру, логотип подтягивается слева */
      #pf-bar{position:fixed;top:0;left:0;right:0;z-index:400;display:flex;justify-content:center;
        padding:0;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-135%);
        transition:transform .34s cubic-bezier(.22,.61,.36,1),opacity .22s linear,visibility 0s .36s}
#pf-bar.is-on{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s,0s,0s}
#pf-bar .pf-bar__inner{pointer-events:auto;display:flex;align-items:center;gap:6px;
        transform-origin:top center;
        max-width:100%;padding:9px 16px;border-radius:0 0 16px 16px;
        background:rgba(255,255,255,.82);
        -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
        box-shadow:0 12px 34px rgba(22,22,29,.12);transform:scale(.93);transform-origin:top center;
        transition:transform .34s cubic-bezier(.22,.61,.36,1) .05s}
#pf-bar.is-on .pf-bar__inner{transform:scale(1)}
#pf-bar .pf-bar__logo{display:flex;align-items:center;margin:0 12px 0 4px;flex:none;
        opacity:0;transform:translate(-120px,-40px);
        transition:transform .42s cubic-bezier(.22,.61,.36,1) .1s,opacity .3s linear .1s}
#pf-bar.is-on .pf-bar__logo{opacity:1;transform:translate(0,0)}
#pf-bar .pf-bar__logo img{display:block;width:86px;height:auto}
#pf-bar nav{display:flex;align-items:center;gap:2px;margin:0 auto}
/* размер пунктов - как в шапке страницы до скролла: 12px и поля 9/16.
         Было 16px и 13/16, липкое меню выглядело крупнее обычного */
      #pf-bar a{display:inline-flex;align-items:center;padding:9px 16px;border-radius:10px;
        font:400 12px/1 Manrope,Arial,sans-serif;color:#16161d;text-decoration:none;white-space:nowrap}
#pf-bar nav a:hover{background:#e4f7f6;color:#058e8c}
#pf-bar nav a.is-active{background:#e4f7f6;color:#058e8c;font-weight:600}
#pf-bar .pf-bar__phone{font-weight:600}
/* у телефона плашки нет ни в шапке первого экрана, ни здесь */
      #pf-bar .pf-bar__phone{color:#5d5b65;
        transition:color .18s linear,transform .3s cubic-bezier(0,0,.5,1)}
#pf-bar .pf-bar__phone:hover{background:0 0;color:#06b2af;
        transform:scale3d(1.06,1.06,1.06)}
@media (hover:none),(prefers-reduced-motion:reduce){
        #pf-bar .pf-bar__phone:hover{transform:none}
      }
#pf-bar .pf-bar__cta{background:#06b2af;color:#fff;font-weight:600;margin-left:4px}
#pf-bar .pf-bar__cta:hover{background:#058e8c}
@media (max-width:1100px){#pf-bar .pf-bar__phone{display:none}}
@media (max-width:1000px){
        #pf-bar a{font-size:12px;padding:9px 12px}
        #pf-bar .pf-bar__logo{margin:0 8px 0 2px}
        #pf-bar .pf-bar__logo img{width:66px}
      }
/* до 767 работает мобильный макет сборки: там штатная шапка и бургер */
      @media (max-width:767px){#pf-bar{display:none}}
/* липкое меню: кнопка запроса поднимается так же */
      #pf-bar .pf-bar__cta{transition:background-color .3s cubic-bezier(0,0,.5,1),
        transform .3s cubic-bezier(0,0,.5,1),box-shadow .3s cubic-bezier(0,0,.5,1)}
#pf-bar .pf-bar__cta:hover{transform:scale3d(1.02,1.02,1.02);
        box-shadow:2px 4px 16px rgba(22,22,29,.18)}
@media (hover:none),(prefers-reduced-motion:reduce){
        #pf-bar .pf-bar__cta:hover{transform:none}
      }
/* F. в липком меню выделение было плашкой - владелец просил без неё:
         только жирный и акцентный цвет. Наведение тоже без плашки, иначе
         пункт под курсором читается как текущая страница */
      #pf-bar nav a.is-active{font-weight:800 !important;color:#06b2af !important;
        background:0 0 !important}
#pf-bar nav a:hover{background:0 0 !important;color:#058e8c !important}
#pf-bar nav a.is-active:hover{color:#06b2af !important}
/* у /tasks/ встроенная шапка тоже липкая: прячем её, пока висит наша полоса.
         position и высоту не трогаем - по ним сборка считает отступ липкого заголовка */
      @media (min-width:768px){
        .ip-header{transition:opacity .2s linear}
        body.pf-stuck .ip-header{opacity:0;pointer-events:none}
      }
button:not(.ip-menu-button):not(.mobile-menu-button),
      a.ip-button,a.ids2-button,a.mobile-button,a.mobile-topbar__request,
      a.ip-skip-link,a.mobile-skip-link,a.ip-header__cta,
      .projects-showcase__header a,.expertise-showcase__header>a,
      .ip-project-card__content>a,.mobile-expertise-card>span,
      [class*="rounded-[100px]"],a[class*="bg-[#06b2af]"],
      .ip-case__cta{border-radius:10px !important}
/* у /tasks/ встроенная шапка тоже липкая: прячем её, пока висит наша полоса.
         position и высоту не трогаем - по ним сборка считает отступ липкого заголовка */
      @media (min-width:768px){
        .ip-header{transition:opacity .2s linear}
        body.pf-stuck .ip-header{opacity:0;pointer-events:none}
      }
/* телефон в шапке на узких экранах: значок вместо номера, чтобы влезал */
      .pf-phone,.ip-header__phone{flex:none}
@media (max-width:1180px){
        .ip-header__phone{display:inline-flex !important;align-items:center;justify-content:center;
          width:44px;height:40px;padding:0 !important;border-radius:10px !important;
          font-size:0 !important;background-color:#f1f1f4 !important;
          background-image:url(../assets/figma-assets/imgBasilPhoneSolid.svg) !important;
          background-repeat:no-repeat !important;background-position:center !important;
          background-size:18px !important}
      }
@media (max-width:900px){
        .ip-header__actions>.ip-button{display:inline-flex !important}
      }
/* телефон в меню: в покое тёмно-серый, под курсором бирюзовый и крупнее */
      .figma-canvas .desktop-header-contents nav>a[href^="tel:"],
      .ip-header__phone{transition:transform .3s cubic-bezier(0,0,.5,1),
        color .18s linear}
/* текст телефона лежит во вложенных span, а не в p */
      .figma-canvas .desktop-header-contents nav>a[href^="tel:"],
      .figma-canvas .desktop-header-contents nav>a[href^="tel:"] *,
      .ip-header__phone,.internal-page .ip-header__phone{
        color:#5d5b65 !important;transition:color .18s linear}
.figma-canvas .desktop-header-contents nav>a[href^="tel:"]:hover,
      .ip-header__phone:hover{transform:scale3d(1.06,1.06,1.06)}
.figma-canvas .desktop-header-contents nav>a[href^="tel:"]:hover,
      .figma-canvas .desktop-header-contents nav>a[href^="tel:"]:hover *,
      .ip-header__phone:hover,.internal-page .ip-header__phone:hover{
        color:#06b2af !important}
@media (hover:none),(prefers-reduced-motion:reduce){
        .figma-canvas .desktop-header-contents nav>a[href^="tel:"]:hover,
        .ip-header__phone:hover{transform:none}
      }
/* кнопка запроса на внутренних страницах: у сборки текст тёмный
         на бирюзовой заливке - возвращаем белый */
      .internal-page .ip-header__actions>.ip-button--small.ip-button--primary,
      .internal-page .ip-header__actions>.ip-button--small.ip-button--primary *{
        color:#fff !important}
.ip-top-shell>.ip-header{background:rgba(255,255,255,.88) !important}
/* перекрытая карточка стопки «С чем к нам приходят»: содержимое
         подтягивается к верху, чтобы заголовок не уходил под соседнюю */

      /* страница, на которой посетитель сейчас, выделяется в меню жирным:
         цвет у активного пункта был, а вес совпадал с соседями */
      /* у сборки ниже по файлу лежит своё правило .ip-nav a.is-active с
         !important и тем же весом - перебиваем его через .ip-header */
      .ip-header .ip-nav a.is-active,
      .ip-header .ip-nav a.is-active:hover{
        font-weight:800 !important;color:#06b2af !important}
/* внутренние страницы: шапка повторяет главную. Размеры сняты с
         .desktop-header-contents на ширине 1440: логотип 87x40 в 40px от края
         колонки, плашка меню высотой 47 с отступом 6 и шрифтом 12px,
         правый край - в 43px от края колонки */
      /* Шапка внутренних страниц повторяет главную. Канва главной сжимается
         как min(1, innerWidth/1440), поэтому и здесь каждый размер задан парой
         min(Npx, N/14.4 vw) - совпадение держится на всей ширине, а не в одной
         точке. Чанк внутренних страниц грузится в head позже, отсюда !important */
      @media (min-width:901px){
        /* колонка канвы на главной - 1260 из 1440, то есть 87.5vw, по центру.
           Ставим внутренней шапке ту же колонку, иначе на 1100px логотип
           уезжает на 40px левее, чем на главной */
        .ip-header__inner{min-height:min(127px,8.8194vw) !important;
          width:min(1260px,87.5vw) !important;max-width:none !important;
          margin-left:auto !important;margin-right:auto !important;
          box-sizing:border-box !important;
          padding-left:min(40px,2.7778vw) !important;
          padding-right:min(43px,2.9861vw) !important}
        /* телефон сборка прячет ниже 1200px, на главной он остаётся */
        .ip-header__phone{display:inline-flex !important}
        .ip-header__brand{min-height:min(40px,2.7778vw) !important;
          height:min(40px,2.7778vw) !important;flex:0 0 auto !important}
        .ip-brand{width:min(87px,6.0417vw) !important}
        .ip-brand img{height:min(40px,2.7778vw) !important;object-fit:contain}
        .ip-nav,.ip-header__actions{
          padding-top:min(6px,.4167vw) !important;
          padding-bottom:min(6px,.4167vw) !important;
          gap:min(4px,.2778vw) !important}
        /* 10.09.2026: пропорция с главной уводила меню в 8,5px на 1024 и
           10,7px на 1280 - читать невозможно. Ниже 12px не опускаемся,
           остальные размеры по-прежнему тянутся за шириной */
        .ip-nav a,.ip-header__phone,
        .ip-header__actions>.ip-button--small{
          font-size:max(12px,min(12px,.8333vw)) !important;
          padding:min(9px,.625vw) min(16px,1.1111vw) !important;
          min-height:max(30px,min(36px,2.5vw)) !important;
          border-radius:min(8px,.5556vw) !important}
        .ip-header__actions>.ip-button--small{
          border-radius:min(10px,.6944vw) !important}
        /* плашка меню на главной лежит на картинке, здесь - на белом фоне;
           чтобы читалась так же, даём ей ту же рамку, что у полей сборки */
        .ip-nav,.ip-header__actions{box-shadow:inset 0 0 0 1px #eaeaea}
        .ip-nav{box-shadow:inset 1px 0 0 #eaeaea,inset 0 1px 0 #eaeaea,
          inset 0 -1px 0 #eaeaea}
        .ip-header__actions{box-shadow:inset -1px 0 0 #eaeaea,
          inset 0 1px 0 #eaeaea,inset 0 -1px 0 #eaeaea}
        /* наведение на пункт - той же плашкой, что на главной.
           У телефона плашки нет ни там, ни здесь: он только меняет цвет */
        .ip-nav a:hover{background:#e4f7f6 !important}
        .ip-header__phone,.ip-header__phone:hover,
        .internal-page .ip-header__phone,.internal-page .ip-header__phone:hover{
          background:0 0 !important;font-weight:400 !important}
      }
/* владелец отдельно попросил про внутренние страницы: телефон жирнеет
         при наведении. Правило выше (>=901px) сбрасывает вес в 400 и на
         hover тоже - перебиваем его тем же условием ширины, но позже в файле */
      @media (min-width:901px){
        .ip-header__phone:hover,.internal-page .ip-header__phone:hover{
          font-weight:700 !important}
      }
@media (max-width:900px){
        .ip-header__phone:hover,.internal-page .ip-header__phone:hover{
          font-weight:700 !important}
      }
/* у чанка внутренних страниц своё .ip-nav a:after с пустым content
         и display:none, и грузится он позже - отсюда !important */
      .pf-swap::after{content:attr(data-pf-swap) !important;
        position:absolute !important;inset:0 !important;
        display:flex !important;align-items:center;justify-content:center;
        font:var(--pf-swap-font,inherit);color:#06b2af;white-space:nowrap;
        background:0 0 !important;height:auto !important;
        pointer-events:none;
        /* у .ip-nav a:after сборки свой transform:scaleX(0) и вес больше.
           Сдвиг берём в пикселях по ширине самого пункта: внутри у него
           отступы, и 102% своей ширины текст из кнопки не выводят */
        transform:translateX(calc(-1 * var(--pf-swap-dx,102%))) !important;
        transition:transform .34s cubic-bezier(.4,0,.2,1)}
/* перекрытая карточка стопки «С чем к нам приходят»: содержимое
         подтягивается к верху, чтобы заголовок не уходил под соседнюю */

      /* страница, на которой посетитель сейчас, выделяется в меню жирным:
         цвет у активного пункта был, а вес совпадал с соседями */
      /* у сборки ниже по файлу лежит своё правило .ip-nav a.is-active с
         !important и тем же весом - перебиваем его через .ip-header */
      .ip-header .ip-nav a.is-active,
      .ip-header .ip-nav a.is-active:hover{
        font-weight:800 !important;color:#06b2af !important}
/* внутренние страницы: шапка повторяет главную. Размеры сняты с
         .desktop-header-contents на ширине 1440: логотип 87x40 в 40px от края
         колонки, плашка меню высотой 47 с отступом 6 и шрифтом 12px,
         правый край - в 43px от края колонки */
      /* Шапка внутренних страниц повторяет главную. Канва главной сжимается
         как min(1, innerWidth/1440), поэтому и здесь каждый размер задан парой
         min(Npx, N/14.4 vw) - совпадение держится на всей ширине, а не в одной
         точке. Чанк внутренних страниц грузится в head позже, отсюда !important */
      @media (min-width:901px){
        /* колонка канвы на главной - 1260 из 1440, то есть 87.5vw, по центру.
           Ставим внутренней шапке ту же колонку, иначе на 1100px логотип
           уезжает на 40px левее, чем на главной */
        .ip-header__inner{min-height:min(127px,8.8194vw) !important;
          width:min(1260px,87.5vw) !important;max-width:none !important;
          margin-left:auto !important;margin-right:auto !important;
          box-sizing:border-box !important;
          padding-left:min(40px,2.7778vw) !important;
          padding-right:min(43px,2.9861vw) !important}
        /* телефон сборка прячет ниже 1200px, на главной он остаётся */
        .ip-header__phone{display:inline-flex !important}
        .ip-header__brand{min-height:min(40px,2.7778vw) !important;
          height:min(40px,2.7778vw) !important;flex:0 0 auto !important}
        .ip-brand{width:min(87px,6.0417vw) !important}
        .ip-brand img{height:min(40px,2.7778vw) !important;object-fit:contain}
        .ip-nav,.ip-header__actions{
          padding-top:min(6px,.4167vw) !important;
          padding-bottom:min(6px,.4167vw) !important;
          gap:min(4px,.2778vw) !important}
        /* 10.09.2026: пропорция с главной уводила меню в 8,5px на 1024 и
           10,7px на 1280 - читать невозможно. Ниже 12px не опускаемся,
           остальные размеры по-прежнему тянутся за шириной */
        .ip-nav a,.ip-header__phone,
        .ip-header__actions>.ip-button--small{
          font-size:max(12px,min(12px,.8333vw)) !important;
          padding:min(9px,.625vw) min(16px,1.1111vw) !important;
          min-height:max(30px,min(36px,2.5vw)) !important;
          border-radius:min(8px,.5556vw) !important}
        .ip-header__actions>.ip-button--small{
          border-radius:min(10px,.6944vw) !important}
        /* плашка меню на главной лежит на картинке, здесь - на белом фоне;
           чтобы читалась так же, даём ей ту же рамку, что у полей сборки */
        .ip-nav,.ip-header__actions{box-shadow:inset 0 0 0 1px #eaeaea}
        .ip-nav{box-shadow:inset 1px 0 0 #eaeaea,inset 0 1px 0 #eaeaea,
          inset 0 -1px 0 #eaeaea}
        .ip-header__actions{box-shadow:inset -1px 0 0 #eaeaea,
          inset 0 1px 0 #eaeaea,inset 0 -1px 0 #eaeaea}
        /* наведение на пункт - той же плашкой, что на главной.
           У телефона плашки нет ни там, ни здесь: он только меняет цвет */
        .ip-nav a:hover{background:#e4f7f6 !important}
        .ip-header__phone,.ip-header__phone:hover,
        .internal-page .ip-header__phone,.internal-page .ip-header__phone:hover{
          background:0 0 !important;font-weight:400 !important}
      }
/* пробелы в заголовках узким шрифтом раздвигает скрипт: только там,
         где от этого не прибавляется строка */
      .ip-brand,.mobile-brand{word-spacing:normal !important}
/* внутренние страницы: шапка повторяет главную. Размеры сняты с
         .desktop-header-contents на ширине 1440: логотип 87x40 в 40px от края
         колонки, плашка меню высотой 47 с отступом 6 и шрифтом 12px,
         правый край - в 43px от края колонки */
      /* Шапка внутренних страниц повторяет главную. Канва главной сжимается
         как min(1, innerWidth/1440), поэтому и здесь каждый размер задан парой
         min(Npx, N/14.4 vw) - совпадение держится на всей ширине, а не в одной
         точке. Чанк внутренних страниц грузится в head позже, отсюда !important */
      @media (min-width:901px){
        /* колонка канвы на главной - 1260 из 1440, то есть 87.5vw, по центру.
           Ставим внутренней шапке ту же колонку, иначе на 1100px логотип
           уезжает на 40px левее, чем на главной */
        .ip-header__inner{min-height:min(127px,8.8194vw) !important;
          width:min(1260px,87.5vw) !important;max-width:none !important;
          margin-left:auto !important;margin-right:auto !important;
          box-sizing:border-box !important;
          padding-left:min(40px,2.7778vw) !important;
          padding-right:min(43px,2.9861vw) !important}
        /* телефон сборка прячет ниже 1200px, на главной он остаётся */
        .ip-header__phone{display:inline-flex !important}
        .ip-header__brand{min-height:min(40px,2.7778vw) !important;
          height:min(40px,2.7778vw) !important;flex:0 0 auto !important}
        .ip-brand{width:min(87px,6.0417vw) !important}
        .ip-brand img{height:min(40px,2.7778vw) !important;object-fit:contain}
        .ip-nav,.ip-header__actions{
          padding-top:min(6px,.4167vw) !important;
          padding-bottom:min(6px,.4167vw) !important;
          gap:min(4px,.2778vw) !important}
        /* 10.09.2026: пропорция с главной уводила меню в 8,5px на 1024 и
           10,7px на 1280 - читать невозможно. Ниже 12px не опускаемся,
           остальные размеры по-прежнему тянутся за шириной */
        .ip-nav a,.ip-header__phone,
        .ip-header__actions>.ip-button--small{
          font-size:max(12px,min(12px,.8333vw)) !important;
          padding:min(9px,.625vw) min(16px,1.1111vw) !important;
          min-height:max(30px,min(36px,2.5vw)) !important;
          border-radius:min(8px,.5556vw) !important}
        .ip-header__actions>.ip-button--small{
          border-radius:min(10px,.6944vw) !important}
        /* плашка меню на главной лежит на картинке, здесь - на белом фоне;
           чтобы читалась так же, даём ей ту же рамку, что у полей сборки */
        .ip-nav,.ip-header__actions{box-shadow:inset 0 0 0 1px #eaeaea}
        .ip-nav{box-shadow:inset 1px 0 0 #eaeaea,inset 0 1px 0 #eaeaea,
          inset 0 -1px 0 #eaeaea}
        .ip-header__actions{box-shadow:inset -1px 0 0 #eaeaea,
          inset 0 1px 0 #eaeaea,inset 0 -1px 0 #eaeaea}
        /* наведение на пункт - той же плашкой, что на главной.
           У телефона плашки нет ни там, ни здесь: он только меняет цвет */
        .ip-nav a:hover{background:#e4f7f6 !important}
        .ip-header__phone,.ip-header__phone:hover,
        .internal-page .ip-header__phone,.internal-page .ip-header__phone:hover{
          background:0 0 !important;font-weight:400 !important}
      }
/* блок «Экспертиза» снят с главной по просьбе владельца. Секция своя,
         в обычном потоке, поэтому дыры под ней не остаётся, а возврат - это
         снять одно правило. Ленту материалов держим готовой: разметка,
         картинки и ссылки на медиацентр остаются в сборке нетронутыми */
      /* прячем не стилем, а скриптом: сначала надо снять высоту секции,
         иначе под ней остаётся пустое место в её рост (см. hideExpertise) */

      /* ссылки подвала: в покое серые, под курсором жирные и со стрелкой.
         Бирюзовый убран по просьбе владельца - цвет под курсором не меняется */
      .desktop-footer-contents .interactive-nav-link,
      .ids2-footer a,.mobile-footer a{color:#5d5b65 !important}
.desktop-footer-contents .interactive-nav-link:hover,
      .ids2-footer a:hover,.mobile-footer a:hover{
        color:#5d5b65 !important;font-weight:700 !important}
/* стрелка встаёт сразу за словом и выезжает вместе с проявлением */
      .desktop-footer-contents .interactive-nav-link::after,
      .ids2-footer a::after,.mobile-footer a::after{
        content:"→" !important;display:inline-block !important;
        margin-left:8px;opacity:0;transform:translateX(-4px);
        background:0 0 !important;width:auto !important;height:auto !important;
        transition:opacity .18s linear,transform .18s cubic-bezier(.4,0,.2,1)}
.desktop-footer-contents .interactive-nav-link:hover::after,
      .ids2-footer a:hover::after,.mobile-footer a:hover::after{
        opacity:1;transform:translateX(0)}
@media (hover:none),(prefers-reduced-motion:reduce){
        .desktop-footer-contents .interactive-nav-link::after,
        .ids2-footer a::after,.mobile-footer a::after{display:none !important}
      }
/* копия блока «Кому мы вряд ли будем полезны» на главной. Стиль
         внутренних страниц сюда не загружается, поэтому раскладку и набор
         держим свои, а вид карточек берут правила .ip-fit-card */
      /* подвал главной, собранный разметкой для остальных страниц. Сетка
         та же: полоса 1260px, логотип и реквизиты слева, три колонки на
         356/660/962, черта и нижняя строка */
      .ids2-footer .ids2-container>.pf-foot2{max-width:1260px;margin:0 auto;
        padding:78px 0 34px;position:relative;
        font:400 12px/1.35 Manrope,Arial,sans-serif;color:#5d5b65}
/* 11.09.2026 владелец: у подвала внутренних страниц «какой-то верх» -
         над логотипом было 160 px вместо ~80 на главной: стиль внутренних
         страниц давал подвалу свои 80 px сверху поверх 78 px .pf-foot2 */
      .ids2-footer:has(>.ids2-container>.pf-foot2){padding-top:0 !important}
/* шаг пунктов держим равным главной - 40px: строка 12px и поле 24.
         !important нужен: у пакета своё правило .ids2-footer nav a с тем же
         весом, и оно шло позже - шаг разъезжался до 70px */
      /* 09.09.2026 владелец попросил названия колонок жирными - прежнее
         решение «как на главной, обычным весом» отменено. Ниже по файлу
         лежит правило .ids2-footer h3 с тем же весом селектора и !important,
         поэтому вес поднимаем ещё одним предком */
      .pf-foot2__col h3{margin:0 0 24px !important;
        font:700 12px/1.35 Manrope,Arial,sans-serif !important;
        color:#5d5b65 !important;text-transform:none;letter-spacing:0}
.ids2-footer .pf-foot2__col h3{font-weight:700 !important;
        color:#5d5b65 !important}
/* 11.09.2026 - один в один с главной (замеры в scratch_patch58.py):
         колонки на 360/667/973 от края, логотип 172 px, реквизиты на 102 px
         ниже заголовков, шаг пунктов 41, черта на 266, под документами 35 */
      .ids2-footer .ids2-container>.pf-foot2{padding-bottom:0 !important}
.pf-foot2__col h3,.ids2-footer .pf-foot2__col h3{margin:0 0 25px !important}
.ids2-footer .pf-foot2__bottom a{color:#9f9fa2 !important;
        text-decoration:underline !important;margin:0 !important}
.ids2-footer .pf-foot2__bottom a::after{content:none !important;display:none !important}
.ids2-footer .pf-foot2__bottom a:hover{color:#06b2af !important}
/* 14.09.2026 владелец: документы в подвале - гиперссылки, под курсором
         жирнее. Место под жирное начертание заранее держит невидимая копия
         подписи нулевой высоты (data-t) - соседние ссылки не сдвигаются.
         Правила уходят и в legacy/style.css (статические страницы) */
      body .pf-foot-legal a[data-t],
      body .ids2-footer .pf-foot2__bottom a[data-t],
      body .ids2-footer__bottom a[data-t],
      body .mobile-footer__legal a[data-t]{
        display:inline-flex !important;flex-direction:column;align-items:center;
        vertical-align:baseline}
body .pf-foot-legal a[data-t]::after,
      body .ids2-footer .pf-foot2__bottom a[data-t]::after,
      body .ids2-footer__bottom a[data-t]::after,
      body .mobile-footer__legal a[data-t]::after{
        content:attr(data-t) !important;display:block !important;height:0 !important;
        margin:0 !important;padding:0 !important;overflow:hidden !important;
        visibility:hidden !important;font-weight:700 !important;
        pointer-events:none;user-select:none}
body .pf-foot-legal a[data-t]:hover,
      body .ids2-footer .pf-foot2__bottom a[data-t]:hover,
      body .ids2-footer__bottom a[data-t]:hover,
      body .mobile-footer__legal a[data-t]:hover,
      body .pf-foot-legal a[data-t]:focus-visible,
      body .ids2-footer .pf-foot2__bottom a[data-t]:focus-visible,
      body .ids2-footer__bottom a[data-t]:focus-visible,
      body .mobile-footer__legal a[data-t]:focus-visible{font-weight:700 !important}
/* остатки прежней подгонки чужого подвала: пригодятся, если
         разметку почему-то не удалось подменить */
      .ids2-footer h3{font:400 12px/1.35 Manrope,Arial,sans-serif !important;
        color:#06b2af !important;margin-bottom:14px !important}
.ids2-footer nav a{font:400 12px/1.35 Manrope,Arial,sans-serif !important;
        color:#5d5b65 !important}
.ids2-footer__req{font-size:12px !important;line-height:1.9 !important;
        color:#16161d !important;opacity:1 !important;max-width:300px;
        user-select:text}
.ids2-footer__bottom{font-size:12px !important}
.ids2-footer__bottom span,.ids2-footer__bottom a{
        font-size:12px !important;color:#9f9fa2 !important}
.ids2-footer__bottom a{margin:0 6px}
/* подвал: названия столбцов были бирюзовые и полужирные - делаем
         тёмными и жирными, а бирюзовый отдаём ссылкам при наведении */
      /* названия колонок владелец попросил как на главной: акцентным и
         обычным весом - прежнее правило (чёрный, 700) снято */
      .ids2-footer a{transition:color .18s linear}
.ids2-footer a:hover{color:#06b2af !important}
/* копия блока «Кому мы вряд ли будем полезны» на главной. Стиль
         внутренних страниц сюда не загружается, поэтому раскладку и набор
         держим свои, а вид карточек берут правила .ip-fit-card */
      /* подвал главной, собранный разметкой для остальных страниц. Сетка
         та же: полоса 1260px, логотип и реквизиты слева, три колонки на
         356/660/962, черта и нижняя строка */
      .ids2-footer .ids2-container>.pf-foot2{max-width:1260px;margin:0 auto;
        padding:78px 0 34px;position:relative;
        font:400 12px/1.35 Manrope,Arial,sans-serif;color:#5d5b65}
/* 11.09.2026 владелец: у подвала внутренних страниц «какой-то верх» -
         над логотипом было 160 px вместо ~80 на главной: стиль внутренних
         страниц давал подвалу свои 80 px сверху поверх 78 px .pf-foot2 */
      .ids2-footer:has(>.ids2-container>.pf-foot2){padding-top:0 !important}
.pf-foot2__grid{display:grid;
        grid-template-columns:356px 304px 302px 1fr;align-items:start}
.pf-foot2__logo{display:block;width:170px;height:auto;margin:0 0 22px}
.pf-foot2__req{margin:0;max-width:300px;color:#16161d;
        font-size:12px;line-height:1.9;user-select:text}
/* шаг пунктов держим равным главной - 40px: строка 12px и поле 24.
         !important нужен: у пакета своё правило .ids2-footer nav a с тем же
         весом, и оно шло позже - шаг разъезжался до 70px */
      /* 09.09.2026 владелец попросил названия колонок жирными - прежнее
         решение «как на главной, обычным весом» отменено. Ниже по файлу
         лежит правило .ids2-footer h3 с тем же весом селектора и !important,
         поэтому вес поднимаем ещё одним предком */
      .pf-foot2__col h3{margin:0 0 24px !important;
        font:700 12px/1.35 Manrope,Arial,sans-serif !important;
        color:#5d5b65 !important;text-transform:none;letter-spacing:0}
.ids2-footer .pf-foot2__col h3{font-weight:700 !important;
        color:#5d5b65 !important}
.pf-foot2__col a{display:block;margin:0 0 24px !important;
        padding:0 !important;min-height:0 !important;height:auto !important;
        color:#5d5b65 !important;text-decoration:none;
        font:400 12px/1.35 Manrope,Arial,sans-serif !important;
        transition:color .18s linear}
.pf-foot2__col a:last-child{margin-bottom:0 !important}
.pf-foot2__col a:hover{color:#06b2af}
.pf-foot2__line{height:1px;background:#eaeaea;margin:38px 0 0}
.pf-foot2__bottom{margin:18px 0 0;color:#9f9fa2;
        font:400 12px/1.6 Manrope,Arial,sans-serif}
.pf-foot2__bottom a{color:#9f9fa2;text-decoration:none;margin:0 6px;
        transition:color .18s linear}
.pf-foot2__bottom a:hover{color:#06b2af}
/* 11.09.2026 - один в один с главной (замеры в scratch_patch58.py):
         колонки на 360/667/973 от края, логотип 172 px, реквизиты на 102 px
         ниже заголовков, шаг пунктов 41, черта на 266, под документами 35 */
      .ids2-footer .ids2-container>.pf-foot2{padding-bottom:0 !important}
/* сетка 360/307/306 - только на широком экране: без условия её
         !important перебивал раскладку подвала до 1300px ниже по файлу */
      @media (min-width:1301px){
        .pf-foot2__grid{grid-template-columns:360px 307px 306px 1fr !important}
      }
.pf-foot2__logo{width:172px !important;margin:2px 0 20px !important}
/* ссылка вокруг логотипа строчная и добавляла 16 px высоты - реквизиты
         стояли ниже, чем на главной. На главной реквизиты с прозрачностью 0.4 */
      .pf-foot2__brand>a{display:block !important;line-height:0 !important}
.pf-foot2__req{opacity:.4}
.pf-foot2__col h3,.ids2-footer .pf-foot2__col h3{margin:0 0 25px !important}
.pf-foot2__col a{margin:0 0 25px !important}
.pf-foot2__col a:last-child{margin-bottom:0 !important}
.pf-foot2__line{margin-top:27px !important}
.pf-foot2__bottom{margin-top:18px !important;line-height:1.3 !important}
.ids2-footer .pf-foot2__bottom a{color:#9f9fa2 !important;
        text-decoration:underline !important;margin:0 !important}
.ids2-footer .pf-foot2__bottom a::after{content:none !important;display:none !important}
.ids2-footer .pf-foot2__bottom a:hover{color:#06b2af !important}
/* 14.09.2026 владелец: документы в подвале - гиперссылки, под курсором
         жирнее. Место под жирное начертание заранее держит невидимая копия
         подписи нулевой высоты (data-t) - соседние ссылки не сдвигаются.
         Правила уходят и в legacy/style.css (статические страницы) */
      body .pf-foot-legal a[data-t],
      body .ids2-footer .pf-foot2__bottom a[data-t],
      body .ids2-footer__bottom a[data-t],
      body .mobile-footer__legal a[data-t]{
        display:inline-flex !important;flex-direction:column;align-items:center;
        vertical-align:baseline}
body .pf-foot-legal a[data-t]::after,
      body .ids2-footer .pf-foot2__bottom a[data-t]::after,
      body .ids2-footer__bottom a[data-t]::after,
      body .mobile-footer__legal a[data-t]::after{
        content:attr(data-t) !important;display:block !important;height:0 !important;
        margin:0 !important;padding:0 !important;overflow:hidden !important;
        visibility:hidden !important;font-weight:700 !important;
        pointer-events:none;user-select:none}
body .pf-foot-legal a[data-t]:hover,
      body .ids2-footer .pf-foot2__bottom a[data-t]:hover,
      body .ids2-footer__bottom a[data-t]:hover,
      body .mobile-footer__legal a[data-t]:hover,
      body .pf-foot-legal a[data-t]:focus-visible,
      body .ids2-footer .pf-foot2__bottom a[data-t]:focus-visible,
      body .ids2-footer__bottom a[data-t]:focus-visible,
      body .mobile-footer__legal a[data-t]:focus-visible{font-weight:700 !important}
@media (max-width:900px){
        .pf-foot2__grid{grid-template-columns:1fr;gap:28px}
      }
/* 901-1300: три колонки по 356/304/302 не помещаются в колонку
         контента - «Клиентам» уезжала за экран и тянула прокрутку вбок */
      @media (min-width:901px) and (max-width:1300px){
        .pf-foot2__grid{grid-template-columns:repeat(2,minmax(0,1fr));
          gap:32px 28px}
      }
/* шапка внутренних страниц по образцу «Задач»: без картинки и без
         пустот вокруг заголовка. Высоту держали min-height контейнера
         (600px), сетки (510px) и колонки с картинкой (430px) - снимаем все три.
         Картинку и высоты гасим на любой ширине: до правки правило стояло
         под (min-width:901px), и на телефоне в шапке каждой внутренней
         страницы оставался кадр 303x250 */
      .ids2-page-intro .ids2-page-intro__visual{display:none !important}
.ids2-page-intro .ids2-page-intro__grid{
        grid-template-columns:minmax(0,1fr) !important;
        min-height:0 !important}
.ids2-page-intro>.ids2-container{min-height:0 !important}
.ids2-page-intro>.ids2-container{
        background:#f4f4f5 !important;border-radius:20px !important}
@media (min-width:901px){
        .ids2-page-intro>.ids2-container{padding:26px 40px 40px !important}
        .ids2-page-intro .ids2-page-intro__copy{
          padding-block:20px 4px !important}
        .ids2-page-intro{padding-bottom:16px !important}
      }
/* «Компания»: подзаголовок переезжает в правую колонку шапки, на место
         картинки; сам блок под картинку убран */
      .internal-page--about .ids2-page-intro__grid{
        grid-template-columns:1fr 1fr !important;gap:40px !important;
        align-items:end !important}
.internal-page--about .ids2-page-intro__copy{display:contents !important}
.internal-page--about .ids2-page-intro__lead{
        max-width:none !important;margin:0 0 6px !important}
.internal-page--about .ids2-page-intro__visual,
      .internal-page--about .ip-page-intro__visual{display:none !important}
@media (max-width:900px){
        .internal-page--about .ids2-page-intro__grid{
          grid-template-columns:1fr !important;gap:14px !important}
      }
/* «Компания»: заголовок стоял по нижнему краю колонки, а текст занимал
         ровно половину строки. Владелец попросил заголовок наверх, а текст
         придвинуть вплотную к слову */
      @media (min-width:901px){
        .ids2-page-intro--about .ids2-page-intro__grid{
          grid-template-columns:max-content minmax(0,1fr) !important;
          align-items:start !important}
      }
/* подзаголовок «Компании»: владелец попросил миссию с новой строки.
         Строка приходит из данных сборки, разметку туда не вставить -
         поэтому перевод строки в самой строке, а показывает его стиль */
      .ids2-page-intro--about .ids2-page-intro__lead{white-space:pre-line}
.ids2-page-intro>.ids2-container{min-height:0 !important}
.ids2-page-intro>.ids2-container{
        background:#f4f4f5 !important;border-radius:20px !important}
@media (min-width:901px){
        .ids2-page-intro>.ids2-container{padding:26px 40px 40px !important}
        .ids2-page-intro .ids2-page-intro__copy{
          padding-block:20px 4px !important}
        .ids2-page-intro{padding-bottom:16px !important}
      }
/* копия блока «Кому мы вряд ли будем полезны» на главной. Стиль
         внутренних страниц сюда не загружается, поэтому раскладку и набор
         держим свои, а вид карточек берут правила .ip-fit-card */
      /* подвал главной, собранный разметкой для остальных страниц. Сетка
         та же: полоса 1260px, логотип и реквизиты слева, три колонки на
         356/660/962, черта и нижняя строка */
      .ids2-footer .ids2-container>.pf-foot2{max-width:1260px;margin:0 auto;
        padding:78px 0 34px;position:relative;
        font:400 12px/1.35 Manrope,Arial,sans-serif;color:#5d5b65}
/* 11.09.2026 владелец: у подвала внутренних страниц «какой-то верх» -
         над логотипом было 160 px вместо ~80 на главной: стиль внутренних
         страниц давал подвалу свои 80 px сверху поверх 78 px .pf-foot2 */
      .ids2-footer:has(>.ids2-container>.pf-foot2){padding-top:0 !important}
/* 11.09.2026 - один в один с главной (замеры в scratch_patch58.py):
         колонки на 360/667/973 от края, логотип 172 px, реквизиты на 102 px
         ниже заголовков, шаг пунктов 41, черта на 266, под документами 35 */
      .ids2-footer .ids2-container>.pf-foot2{padding-bottom:0 !important}
/* баннер про cookie: показываем один раз, выбор помним в браузере.
         09.09.2026 владелец попросил снять полосу во всю ширину: теперь это
         прямоугольная плашка слева. Обёртка встаёт ровно на колонку контента
         (1260 по центру), плашка прижата к её левому краю; текст и кнопка
         идут друг под другом, кнопка того же вида, что остальные на сайте */
      #pf-cookie{position:fixed;left:24px;right:auto;bottom:24px;z-index:420;
        display:none;justify-content:flex-start;pointer-events:none}
#pf-cookie.is-on{display:flex}
#pf-cookie .pf-cookie__box{pointer-events:auto;box-sizing:border-box;
        display:block;width:min(420px,calc(100vw - 48px));
        padding:20px 22px;border-radius:16px;
        background:#fff;box-shadow:0 8px 32px rgba(22,22,29,.18);
        font:400 14px/1.45 Manrope,Arial,sans-serif;color:#16161d}
#pf-cookie p{margin:0 0 16px}
#pf-cookie a{color:#058e8c}
#pf-cookie button{border:0;cursor:pointer;height:44px;
        padding:0 26px;border-radius:10px;background:#06b2af;color:#fff;
        font:600 15px/1 Manrope,Arial,sans-serif;
        transition:background-color .18s linear,
          transform .3s cubic-bezier(0,0,.5,1)}
#pf-cookie button:hover{background:#058e8c;
        transform:scale3d(1.02,1.02,1.02)}
@media (max-width:600px){
        #pf-cookie{left:12px;bottom:12px}
        #pf-cookie .pf-cookie__box{width:calc(100vw - 24px);padding:14px 16px}
        #pf-cookie button{width:100%}
      }
@media (hover:none),(prefers-reduced-motion:reduce){
        #pf-cookie button:hover{transform:none}
      }


/* ---- 14.09.2026: мобильные форма и подвал главной на внутренних страницах
   (capture_mref.py). Граница та же, что у главной: max-width 767px ---- */
.pf-lead-m,.pf-m-foot{display:none}
@media (max-width:767px){
  section.pf-lead:has(>.pf-lead-m){padding:0 !important;background:transparent !important}
  section.pf-lead:has(>.pf-lead-m)>.pf-lead__surface{display:none !important}
  footer.ids2-footer:has(+.pf-m-foot){display:none !important}
  .pf-lead-m,.pf-m-foot{display:block;letter-spacing:normal}
  .pf-lead-m form{margin-top:0}
  .pf-m-foot .mobile-footer{border-top:0}
}
/* снято capture_mref.py 14.09.2026 10:58 с мобильной главной (390 px): правил 92 из 1513 */
:is(.pf-lead-m,.pf-m-foot) * { box-sizing: border-box; }
:is(.pf-lead-m,.pf-m-foot) .lead-form input, :is(.pf-lead-m,.pf-m-foot) .lead-form textarea, .mobile-contact-form input, .mobile-contact-form textarea, :is(.pf-lead-m,.pf-m-foot) .ip-form input, :is(.pf-lead-m,.pf-m-foot) .ip-form textarea, :is(.pf-lead-m,.pf-m-foot) .ip-form select, :is(.pf-lead-m,.pf-m-foot) .ip-form-success { border-radius: 10px !important; }
:is(.pf-lead-m,.pf-m-foot) .lead-form input[type="checkbox"], .mobile-contact-form input[type="checkbox"], :is(.pf-lead-m,.pf-m-foot) .ip-form input[type="checkbox"] { border-radius: 4px !important; }
:is(.pf-lead-m,.pf-m-foot) button:not(.ip-menu-button):not(.mobile-menu-button), :is(.pf-lead-m,.pf-m-foot) a.ip-button, :is(.pf-lead-m,.pf-m-foot) a.ids2-button, a.mobile-button, a.mobile-topbar__request, :is(.pf-lead-m,.pf-m-foot) a.ip-skip-link, a.mobile-skip-link, :is(.pf-lead-m,.pf-m-foot) a.ip-header__cta, :is(.pf-lead-m,.pf-m-foot) .projects-showcase__header a, :is(.pf-lead-m,.pf-m-foot) .expertise-showcase__header > a, :is(.pf-lead-m,.pf-m-foot) .ip-project-card__content > a, .mobile-expertise-card > span, :is(.pf-lead-m,.pf-m-foot) [class*="rounded-[100px]"], :is(.pf-lead-m,.pf-m-foot) a[class*="bg-[#06b2af]"], :is(.pf-lead-m,.pf-m-foot) .ip-case__cta { border-radius: 10px !important; }
@media (min-width: 768px){
:is(.pf-lead-m,.pf-m-foot) .lead-form, :is(.pf-lead-m,.pf-m-foot) #contact-form, :is(.pf-lead-m,.pf-m-foot) .ip-form, :is(.pf-lead-m,.pf-m-foot) #form, .mobile-contact-form { scroll-margin-top: 110px; }
}
:is(.pf-lead-m,.pf-m-foot) .ip-brand, .mobile-brand { word-spacing: normal !important; }
.pf-btn { transform-origin: center center; transition: background-color 0.3s cubic-bezier(0, 0, 0.5, 1), color 0.3s cubic-bezier(0, 0, 0.5, 1), border-color 0.3s cubic-bezier(0, 0, 0.5, 1), box-shadow 0.3s cubic-bezier(0, 0, 0.5, 1), transform 0.3s cubic-bezier(0, 0, 0.5, 1) !important; }
.pf-btn.pf-filled { box-shadow: none !important; }
.pf-btn.pf-filled:hover { transform: scale3d(1.02, 1.02, 1.02) !important; box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 999px inset, rgba(22, 22, 29, 0.16) 2px 4px 16px !important; }
.pf-btn.pf-filled:active, .pf-btn.pf-outline:active { transform: scale3d(0.99, 0.99, 0.99) !important; box-shadow: rgba(0, 0, 0, 0.26) 0px 0px 0px 999px inset, rgba(22, 22, 29, 0.14) 2px 2px 8px !important; transition-duration: 0.1s !important; }
@media (hover: none), (prefers-reduced-motion: reduce){
.pf-btn.pf-filled:hover, .pf-btn.pf-outline:hover, .pf-btn.pf-filled:active, .pf-btn.pf-outline:active, :is(.pf-lead-m,.pf-m-foot) .expertise-card:hover, :is(.pf-lead-m,.pf-m-foot) .ids2-icon-card:hover, :is(.pf-lead-m,.pf-m-foot) .ids2-lifecycle-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-contact-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-fit-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-icon-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-industry-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-lead-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-lifecycle-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-project-card:hover, :is(.pf-lead-m,.pf-m-foot) .ip-team-card:hover, .mobile-advice-card:hover, .mobile-expertise-card:hover, .mobile-icon-card:hover, .mobile-industry-card:hover, .mobile-infrastructure-card:hover, .mobile-license-card:hover, .mobile-mode-card:hover, .mobile-project-card:hover, .mobile-why-card:hover, :is(.pf-lead-m,.pf-m-foot) .project-card:hover { transform: none !important; }
}
.pf-teal-accent { color: rgb(6, 178, 175) !important; }
.pf-teal-accent { color: rgb(6, 178, 175) !important; }
:is(.pf-lead-m,.pf-m-foot) .desktop-footer-contents .interactive-nav-link, :is(.pf-lead-m,.pf-m-foot) .ids2-footer a, .mobile-footer a { color: rgb(93, 91, 101) !important; }
:is(.pf-lead-m,.pf-m-foot) .desktop-footer-contents .interactive-nav-link:hover, :is(.pf-lead-m,.pf-m-foot) .ids2-footer a:hover, .mobile-footer a:hover { color: rgb(93, 91, 101) !important; font-weight: 700 !important; }
:is(.pf-lead-m,.pf-m-foot) .desktop-footer-contents .interactive-nav-link::after, :is(.pf-lead-m,.pf-m-foot) .ids2-footer a::after, .mobile-footer a::after { margin-left: 8px; opacity: 0; transform: translateX(-4px); transition: opacity 0.18s linear, transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); content: "→" !important; display: inline-block !important; background: 0px 0px !important; width: auto !important; height: auto !important; }
:is(.pf-lead-m,.pf-m-foot) .desktop-footer-contents .interactive-nav-link:hover::after, :is(.pf-lead-m,.pf-m-foot) .ids2-footer a:hover::after, .mobile-footer a:hover::after { opacity: 1; transform: translateX(0px); }
@media (hover: none), (prefers-reduced-motion: reduce){
:is(.pf-lead-m,.pf-m-foot) .desktop-footer-contents .interactive-nav-link::after, :is(.pf-lead-m,.pf-m-foot) .ids2-footer a::after, .mobile-footer a::after { display: none !important; }
}
body .pf-foot-legal a[data-t], body .ids2-footer .pf-foot2__bottom a[data-t], :is(.pf-lead-m,.pf-m-foot) body .ids2-footer__bottom a[data-t], body .mobile-footer__legal a[data-t] { flex-direction: column; align-items: center; vertical-align: baseline; display: inline-flex !important; }
body .pf-foot-legal a[data-t]::after, body .ids2-footer .pf-foot2__bottom a[data-t]::after, :is(.pf-lead-m,.pf-m-foot) body .ids2-footer__bottom a[data-t]::after, body .mobile-footer__legal a[data-t]::after { pointer-events: none; user-select: none; content: attr(data-t) !important; display: block !important; height: 0px !important; margin: 0px !important; padding: 0px !important; overflow: hidden !important; visibility: hidden !important; font-weight: 700 !important; }
body .pf-foot-legal a[data-t]:hover, body .ids2-footer .pf-foot2__bottom a[data-t]:hover, :is(.pf-lead-m,.pf-m-foot) body .ids2-footer__bottom a[data-t]:hover, body .mobile-footer__legal a[data-t]:hover, body .pf-foot-legal a[data-t]:focus-visible, body .ids2-footer .pf-foot2__bottom a[data-t]:focus-visible, :is(.pf-lead-m,.pf-m-foot) body .ids2-footer__bottom a[data-t]:focus-visible, body .mobile-footer__legal a[data-t]:focus-visible { font-weight: 700 !important; }
:is(.pf-lead-m,.pf-m-foot) .ip-geography-map__canvas iframe, :is(.pf-lead-m,.pf-m-foot) iframe[src*="yandex.ru/map"] { filter: grayscale(1) !important; }
.mobile-contact-form label:has(input[name="company"]) { display: none !important; }
.mobile-direct-contact .mobile-eyebrow { color: rgb(22, 22, 29) !important; font-size: 20px !important; font-weight: 700 !important; letter-spacing: normal !important; text-transform: none !important; }
.mobile-direct-contact a[href^="tel"], .mobile-direct-contact a[href^="mailto"] { color: rgb(159, 159, 162) !important; }
.mobile-direct-contact a[href*="t.me"] { display: none !important; }
.mobile-contact-form label > span:first-child { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; white-space: nowrap !important; margin: -1px !important; padding: 0px !important; }
.mobile-footer .mobile-brand { display: block !important; width: max-content !important; }
.mobile-footer .mobile-brand > .mobile-brand__profit, .mobile-footer .mobile-brand > .mobile-brand__it { display: inline !important; }
.mobile-footer .mobile-brand > small { display: block !important; }
:is(.pf-lead-m,.pf-m-foot) .lead-form input[name="company"], :is(.pf-lead-m,.pf-m-foot) form input[name="company"] { display: none !important; }
.pf-req { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14'><text x='0' y='11' font-family='Arial,sans-serif' font-size='14' fill='%23d92d20'>*</text></svg>") !important; background-repeat: no-repeat !important; background-position: right 12px top 12px !important; padding-right: 28px !important; }
textarea.pf-req { background-position: right 12px top 10px !important; }
.pf-req-mark { color: rgb(217, 45, 32); margin-left: 2px; }
.pf-lead .pf-lead__consent input[type="checkbox"], :is(.pf-lead-m,.pf-m-foot) .lead-form label input[type="checkbox"], .mobile-contact-form__consent input[type="checkbox"] { appearance: none; box-sizing: border-box; flex: 0 0 auto; width: 20px; height: 20px; min-height: 0px; margin: 0px; padding: 0px; border: 1px solid rgb(159, 159, 162); border-radius: 4px; background: center center / 14px 14px no-repeat rgb(255, 255, 255); cursor: pointer; transition: background-color 0.18s linear, border-color 0.18s linear; }
.mobile-contact-form__consent input[type="checkbox"] { width: 24px; height: 24px; background-size: 16px 16px; }
.pf-lead .pf-lead__consent input[type="checkbox"]:hover, :is(.pf-lead-m,.pf-m-foot) .lead-form label input[type="checkbox"]:hover, .mobile-contact-form__consent input[type="checkbox"]:hover { border-color: rgb(6, 178, 175); }
.pf-lead .pf-lead__consent input[type="checkbox"]:checked, :is(.pf-lead-m,.pf-m-foot) .lead-form label input[type="checkbox"]:checked, .mobile-contact-form__consent input[type="checkbox"]:checked { border-color: rgb(6, 178, 175); background-color: rgb(6, 178, 175); background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M3 7.3l2.7 2.7L11 4.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
.pf-lead .pf-lead__consent input[type="checkbox"]:focus-visible, :is(.pf-lead-m,.pf-m-foot) .lead-form label input[type="checkbox"]:focus-visible, .mobile-contact-form__consent input[type="checkbox"]:focus-visible { outline: rgb(6, 178, 175) solid 2px; outline-offset: 2px; }
.pf-lead__map a.pf-map-open, .yandex-map a.pf-map-open, .mobile-map a.pf-map-open { position: absolute; top: 12px; right: 12px; z-index: 5; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; height: 36px; margin: 0px; padding: 0px 14px; border: 1px solid rgba(22, 22, 29, 0.12); border-radius: 999px; background: rgb(255, 255, 255); white-space: nowrap; font: 600 14px / 1 Manrope, Arial, sans-serif; letter-spacing: 0px; transition: background-color 0.18s linear, border-color 0.18s linear, color 0.18s linear; color: rgb(22, 22, 29) !important; text-decoration: none !important; pointer-events: auto !important; }
.pf-map-open svg { flex: 0 0 auto; display: block; width: 16px; height: 16px; color: rgb(6, 178, 175); transition: color 0.18s linear; }
.pf-lead__map a.pf-map-open:hover, .yandex-map a.pf-map-open:hover, .mobile-map a.pf-map-open:hover, .pf-lead__map a.pf-map-open:focus-visible, .yandex-map a.pf-map-open:focus-visible, .mobile-map a.pf-map-open:focus-visible { background: rgb(6, 178, 175); border-color: rgb(6, 178, 175); color: rgb(255, 255, 255) !important; }
.pf-map-open:hover svg, .pf-map-open:focus-visible svg { color: rgb(255, 255, 255); }
.pf-map-open:focus-visible { outline: rgb(6, 178, 175) solid 2px; outline-offset: 2px; }
.mobile-map a.pf-map-open { position: static; margin: 12px 0px 0px; width: max-content; max-width: 100%; place-self: flex-start start; }
.mobile-home { display: none; }
@media (width <= 767px){
.mobile-home { --mobile-ink: #16161d; --mobile-muted: #6f6f74; --mobile-line: #e7e7e9; --mobile-soft: #f5f5f6; --mobile-teal: #06b2af; --mobile-teal-dark: #058e8c; --mobile-purple: #894e99; --mobile-purple-dark: #6e3e7a; width: 100%; min-width: 320px; color: var(--mobile-ink); font-synthesis: none; text-rendering: geometricprecision; background: rgb(255, 255, 255); font-family: Manrope, Arial, sans-serif; font-size: 16px; line-height: 1.45; display: block; overflow-x: clip; }
.mobile-home *, .mobile-home ::before, .mobile-home ::after { box-sizing: border-box; }
.mobile-home img, .mobile-home svg { display: block; }
.mobile-home a, .mobile-home button, .mobile-home input, .mobile-home textarea, .mobile-home summary { font: inherit; }
.mobile-home a { color: inherit; }
.mobile-home button, .mobile-home summary { -webkit-tap-highlight-color: transparent; }
.mobile-home :focus-visible { outline-offset: 3px; outline: rgba(6, 178, 175, 0.48) solid 3px; }
.mobile-brand { color: var(--mobile-teal); letter-spacing: -0.7px; grid-template-columns: auto auto; align-items: baseline; font: 500 42px / 0.86 "Druk Cyr", Impact, "Arial Narrow", sans-serif; display: inline-grid; }
.mobile-brand__it { color: var(--mobile-purple); }
.mobile-brand small { letter-spacing: 0.7px; text-transform: uppercase; grid-column: 1 / -1; margin-top: 7px; font: 600 10px / 1 Manrope, Arial, sans-serif; }
.mobile-eyebrow { letter-spacing: 1px; text-transform: uppercase; margin: 0px 0px 10px; color: var(--mobile-teal-dark) !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1.2 !important; }
.mobile-hero h1 span, .mobile-section-heading h2 > span { color: var(--mobile-teal); }
.mobile-section-heading .is-purple, .mobile-hero .is-purple { color: var(--mobile-purple); }
.mobile-button { text-align: center; cursor: pointer; border: 1px solid rgba(0, 0, 0, 0); border-radius: 999px; justify-content: center; align-items: center; gap: 10px; min-height: 50px; padding: 13px 20px; font-size: 16px; font-weight: 700; line-height: 1.25; text-decoration: none; transition: background-color 0.18s, color 0.18s, transform 0.18s; display: inline-flex; }
.mobile-button:active { transform: translateY(1px); }
.mobile-button--primary { background: var(--mobile-teal); color: rgb(255, 255, 255) !important; }
.mobile-button--wide { width: 100%; }
.mobile-section-heading { z-index: 4; margin-bottom: 30px; position: relative; }
.mobile-section-heading h2, .mobile-technical h2 { letter-spacing: -0.45px; text-transform: uppercase; max-width: 680px; margin: 0px; font: 500 clamp(36px, 10.6vw, 58px) / 0.96 "Druk Cyr", Impact, "Arial Narrow", sans-serif; }
.mobile-section-heading > p:not(.mobile-eyebrow) { max-width: 620px; color: var(--mobile-muted); margin: 14px 0px 0px; font-size: 17px; line-height: 1.45; }
.mobile-mode-card h3, .mobile-icon-card h3, .mobile-infrastructure-card h3, .mobile-path-step h3, .mobile-why-card h3, .mobile-advice-card h3, .mobile-industry-card h3, .mobile-project-card h3, .mobile-license-card h3, .mobile-map h3 { letter-spacing: -0.35px; margin: 0px; font-size: 21px; font-weight: 700; line-height: 1.22; }
.mobile-contact { background: rgb(246, 246, 247); padding: 72px 16px; }
.mobile-contact-form { gap: 14px; display: grid; }
.mobile-contact-form > label:not(.mobile-contact-form__consent) { gap: 7px; font-size: 14px; font-weight: 700; display: grid; }
.mobile-contact-form input, .mobile-contact-form textarea { width: 100%; min-height: 52px; color: var(--mobile-ink); background: rgb(255, 255, 255); border: 1px solid rgb(222, 222, 225); border-radius: 12px; outline: none; padding: 13px 15px; font-size: 16px; line-height: 1.35; }
.mobile-contact-form textarea { resize: vertical; min-height: 148px; }
.mobile-contact-form input:focus, .mobile-contact-form textarea:focus { border-color: var(--mobile-teal); box-shadow: none; outline: rgba(6, 178, 175, 0.2) solid 3px; }
.mobile-contact-form__consent { grid-template-columns: 24px minmax(0px, 1fr); align-items: center; gap: 12px; min-height: 48px; font-size: 14px; display: grid; }
.mobile-contact-form__consent input { width: 24px; min-height: 24px; accent-color: var(--mobile-teal); margin: 0px; padding: 0px; }
.mobile-direct-contact { background: rgb(255, 255, 255); border-radius: 18px; gap: 8px; margin-top: 40px; padding: 22px; display: grid; }
.mobile-direct-contact a { align-items: center; min-height: 44px; font-size: 18px; font-weight: 700; text-decoration: none; display: flex; }
.mobile-map { margin-top: 28px; }
.mobile-map > p { color: var(--mobile-muted); margin: 10px 0px 16px; }
.mobile-map__frame { background: rgb(232, 232, 233); border-radius: 18px; height: 260px; position: relative; overflow: hidden; }
.mobile-map__frame img, .mobile-map__frame iframe { border: 0px; width: 100%; height: 100%; position: absolute; inset: 0px; }
.mobile-map__frame img { object-fit: cover; }
.mobile-footer { background: rgb(244, 244, 245); gap: 24px; padding: 48px 16px 36px; display: grid; }
.mobile-footer > p { max-width: 360px; color: var(--mobile-muted); margin: 0px; font-size: 16px; }
.mobile-footer nav { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 4px 14px; display: grid; }
.mobile-footer nav a { min-height: 44px; color: var(--mobile-ink); align-items: center; font-size: 16px; text-decoration: none; display: flex; }
.mobile-footer__legal { color: rgb(139, 139, 144) !important; max-width: none !important; font-size: 14px !important; }
.mobile-footer__legal a { color: inherit; }
}
@media (width >= 560px) and (width <= 767px){
.mobile-topbar, .mobile-hero, .mobile-section, .mobile-technical, .mobile-contact, .mobile-footer { padding-left: 24px; padding-right: 24px; }
.mobile-contact-form { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.mobile-contact-form > label:nth-child(n+5), .mobile-contact-form > button, .mobile-contact-form > .mobile-form-status { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce){
.mobile-home *, .mobile-home ::before, .mobile-home ::after { scroll-behavior: auto !important; transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; }
}

/* profit2_edits */

html body .pf-swap::after{transform:translateX(var(--pf-swap-dx,102%)) !important}
html body .pf-swap:hover>*{transform:translateX(calc(-1 * var(--pf-swap-dx,102%)))}
html body .pf-swap:hover::after{transform:translateX(0) !important}
@media (hover:none),(prefers-reduced-motion:reduce){html body .pf-swap:hover>*{transform:none}}

html body .pf-ind-tech__chip:hover,
html body .pf-ind-tech__chip:focus-visible{background:#e4f7f6 !important;color:#06b2af !important;
  border-color:#06b2af !important}
html body .internal-page--projects .ip-filters button:hover:not(.is-active):not([aria-selected="true"]):not([aria-pressed="true"]){
  background:#e4f7f6 !important;color:#06b2af !important;border-color:#06b2af !important}
html body .internal-page:not(.internal-page--projects) .ip-filters button:hover:not(.is-active):not([aria-selected="true"]):not([aria-pressed="true"]){
  background:rgba(137,78,153,.1) !important;color:#894e99 !important;border-color:#894e99 !important}

html body .internal-page--services .pf-svc-shot img{object-fit:contain !important;background:#eef0f2 !important}
html body .internal-page--services .pf-svc-shot{background:#eef0f2 !important}

html body .internal-page--services .pf-svc-shot img{padding:26px 40px !important;box-sizing:border-box !important}
html body .pf-do-title{background:0 0 !important;-webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;color:#06b2af !important;padding:0 !important}

html body .pf-lic-card .pf-lic-bg{object-fit:contain !important;object-position:center !important;
  padding:14px !important;box-sizing:border-box !important;background:#fff !important}
html body .pf-lic-card .pf-lic-go{bottom:56px !important}

/* 16.09.2026 владелец: кружок с иконкой - в правый верхний угол, белая иконка на акцентном кружке
   (как значок в «Почему выбирают»); под курсором инверсия - светлый кружок и акцентная иконка.
   При наведении иконка остаётся на месте, а не гаснет */
.pf-lic-card .pf-lic-ico{position:absolute;right:20px;top:20px;width:40px;height:40px;
  border-radius:50%;background:#06b2af;color:#fff;display:grid;place-items:center;
  z-index:5;transition:background-color .18s linear,color .18s linear}
.pf-lic-card .pf-lic-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
/* 16.09.2026 владелец уточнил: под курсором - бирюзовая иконка на белом кружке.
   ~22:40 владелец: при инверсии окантовку убрать, белый фон кружка заменить светлой бирюзой (#e4f7f6 - как у кнопки
   «развернуть» в покое); иконка остаётся бирюзовой */
.pf-lic-card:hover .pf-lic-ico{background:#e4f7f6;color:#06b2af;box-shadow:none}

.figma-canvas [data-node-id="249:107"]{top:5822px !important;gap:14px !important}

html body .pf-do-shot{transition:transform .3s cubic-bezier(0,0,.5,1),filter .35s cubic-bezier(0,0,.5,1);
  filter:grayscale(1)}   /* 15:05 владелец: до наведения чёрно-белый, под курсором цветной */
html body .pf-cd-plate.pf-cd-on .pf-do-shot{transform:scale(1.03) !important;filter:none}
html body .pf-cd-plate:has(>.pf-do-shot){transition:background-color .25s linear}
html body .pf-cd-plate.pf-cd-on:has(>.pf-do-shot){background:rgba(255,255,255,.55) !important;
  -webkit-backdrop-filter:blur(18px) !important;backdrop-filter:blur(18px) !important}
html body .pf-do-title{transition:background-color .18s linear,transform .18s cubic-bezier(0,0,.5,1),
  padding .18s linear;border-radius:8px !important;transform-origin:left center}
/* вес селектора выше правил сборки (.pf-do-title.pf-lift-title.pf-cd-on и вариант row2), иначе scale не доезжает */
html body .pf-do-title.pf-do-title.pf-cd-on,
html body .pf-do-title.pf-do-title.pf-do-row2.pf-cd-on{background:#e4f7f6 !important;padding:6px 11px !important;
  transform:translateY(var(--pf-do-up,0px)) scale(1.04) !important}

.figma-canvas [data-node-id="245:12"]{top:3256px !important}
.figma-canvas [data-node-id="245:13"]{top:3256px !important}
.figma-canvas [data-node-id="245:14"]{top:3256px !important}
.figma-canvas [data-node-id="245:15"]{top:3609px !important}
.figma-canvas [data-node-id="245:16"]{top:3609px !important}
.figma-canvas [data-node-id="245:17"]{top:3410px !important}
.figma-canvas [data-node-id="245:18"]{top:3464px !important}
.figma-canvas [data-node-id="245:19"]{top:3410px !important}
.figma-canvas [data-node-id="245:20"]{top:3464px !important}
.figma-canvas [data-node-id="245:21"]{top:3376px !important}
.figma-canvas [data-node-id="245:22"]{top:3464px !important}
.figma-canvas [data-node-id="245:23"]{top:3729px !important}
.figma-canvas [data-node-id="245:24"]{top:3783px !important}
.figma-canvas [data-node-id="245:25"]{top:3729px !important}
.figma-canvas [data-node-id="245:26"]{top:3783px !important}
.figma-canvas [data-node-id="245:27"]{top:3276px !important}
.figma-canvas [data-node-id="245:28"]{top:3276px !important}
.figma-canvas [data-node-id="245:29"]{top:3276px !important}
.figma-canvas [data-node-id="245:30"]{top:3629px !important}
.figma-canvas [data-node-id="245:31"]{top:3629px !important}

/* .pf-swap задаёт position:relative - у заголовков канвы это выбивает их из абсолютных координат */
html body .pf-do-title.pf-swap,html body .pf-exp-title.pf-swap{overflow:hidden;position:absolute !important}
html body .pf-do-title.pf-swap::after,html body .pf-exp-title.pf-swap::after{transform:translateX(var(--pf-swap-dx,102%)) !important}
html body .pf-do-title.pf-swap.pf-cd-on>*,html body .pf-exp-title.pf-swap.pf-cd-on>*{transform:translateX(calc(-1 * var(--pf-swap-dx,102%)))}
html body .pf-do-title.pf-swap.pf-cd-on::after,html body .pf-exp-title.pf-swap.pf-cd-on::after{transform:translateX(0) !important}

html body .pf-do-title.pf-do-title,
html body .pf-do-title.pf-do-title.pf-do-row2{padding:6px 11px !important;transform-origin:0 50% !important}
/* свой текст заголовка лежит в строчном span - transform к нему не применялся, уходящий текст стоял на месте
   и двойник въезжал поверх него */
html body .pf-do-title.pf-swap>*,html body .pf-exp-title.pf-swap>*{display:inline-block !important}
html body .pf-cd-plate:has(>.pf-do-shot){background:rgba(255,255,255,.55) !important;
  -webkit-backdrop-filter:blur(18px) !important;backdrop-filter:blur(18px) !important;
  border-color:transparent !important}
html body .pf-do-text.pf-do-text{color:#16161d !important;background:rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter:blur(6px) saturate(110%) !important;backdrop-filter:blur(6px) saturate(110%) !important;
  border-radius:14px !important}
html body .pf-do-text.pf-do-text *{color:#16161d !important}

html body .pf-cd-plate.pf-cd-plate:has(>.pf-do-shot),
html body .pf-cd-plate.pf-cd-plate.pf-cd-on:has(>.pf-do-shot),
html body .pf-cd-plate.pf-exp-card.pf-exp-card,
html body .pf-cd-plate.pf-exp-card.pf-exp-card.pf-cd-on{
  background:
    linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,.25)),
    radial-gradient(58% 64% at 16% 24%,rgba(217,221,225,1) 0%,rgba(217,221,225,.36) 48%,rgba(217,221,225,0) 76%),
    radial-gradient(64% 52% at 76% 10%,rgba(217,221,225,.81) 0%,rgba(217,221,225,0) 70%),
    radial-gradient(70% 62% at 48% 92%,rgba(217,221,225,.76) 0%,rgba(217,221,225,0) 74%),
    radial-gradient(38% 46% at 97% 72%,rgba(217,221,225,.62) 0%,rgba(217,221,225,0) 72%),
    #fff !important;
  background-size:100% 100%,378.38% 291.41%,378.38% 291.41%,378.38% 291.41%,378.38% 291.41% !important;
  background-position:0 0,87.64% 74.87%,87.64% 74.87%,87.64% 74.87%,87.64% 74.87% !important;
  background-repeat:no-repeat !important;
  -webkit-backdrop-filter:none !important;backdrop-filter:none !important}
/* 16.09.2026 13:15 владелец: кнопка «Подробнее о каждом направлении» упала - от нижнего ряда карточек до неё
   101 px экрана (1440), а эталон «Возьмёмся и за один этап» - 31.6 px (32 px макета). Поднимаем на 70:
   поле сборки 32px -> -38px */
html body .pf-do-cta.pf-do-cta{margin-top:-38px !important}
/* 16.09.2026 13:35 владелец: кружку со стрелкой в карточках - подсвечивающий контур акцентным бирюзовым, как галочка.
   Внутренней тенью, чтобы кружок не менял размер; под курсором он заливается тем же цветом */
/* 13:58 владелец: контур приглушить в половину - бирюзовый .5 */
html body .pf-cd-plate>.pf-do-go.pf-do-go,html body .pf-cd-plate>.pf-exp-go.pf-exp-go{box-shadow:inset 0 0 0 1.5px rgba(6,178,175,.5) !important}
/* 16.09.2026 ~22:00 владелец: в «Покажем опыт» окантовку кружка со стрелкой - прозрачнее наполовину (.5 -> .25);
   в «Что мы делаем» остаётся .5 */
html body .pf-cd-plate>.pf-exp-go.pf-exp-go.pf-exp-go{box-shadow:inset 0 0 0 1.5px rgba(6,178,175,.25) !important}
/* 16.09.2026 14:40 владелец: карточки «Покажем опыт вашей отрасли» - в формат «Что мы делаем»: серая подложка
   (правило выше), кружок с приглушённым контуром (выше), заголовок и его перемотка (правила .pf-swap выше, скрипт
   doSwap), кадр - целиком в карточке, в цвете и без наезда. Кадры - свои копии industries-card (фон прозрачный,
   сцена вписана в 92% x 86% карточки, бирюза к #06b2af -28%), страница «Отрасли» и телефон берут прежние файлы */
/* 15:05 владелец: кадр до наведения чёрно-белый, под курсором цветной; карточка и кадр не растут, тени нет */
html body .pf-exp-card>.pf-exp-shot.pf-exp-shot{left:0 !important;top:0 !important;width:100% !important;
  height:100% !important;object-fit:contain !important;border-radius:0 !important;filter:grayscale(1) !important;
  transform:none !important;transition:filter .35s cubic-bezier(0,0,.5,1) !important}
html body .pf-cd-plate.pf-exp-card.pf-cd-on>.pf-exp-shot.pf-exp-shot{filter:none !important;transform:none !important}
/* заголовок - как .pf-do-title: бирюзовый текст без плашки, под курсором светлая плашка и +4% от левого края.
   Сдвиг заголовка к верху карточки стоит в style.transform (expCards сборки), поэтому рост - свойством scale */
html body .pf-exp-title.pf-exp-title{color:#06b2af !important;background:0 0 !important;
  -webkit-backdrop-filter:none !important;backdrop-filter:none !important;
  font-weight:600 !important;line-height:1.25 !important;letter-spacing:-.78px !important;z-index:4 !important;
  transform-origin:0 50% !important;
  transition:background-color .18s linear,transform .18s cubic-bezier(0,0,.5,1) !important}
html body .pf-exp-title.pf-exp-title.pf-cd-on{background:#e4f7f6 !important}
/* рост - одним transform «сдвиг, потом +4%»: свойство scale применяется раньше transform и растягивало сам сдвиг
   (-108px -> -112px, заголовок уезжал вверх на 5px). Сдвиг сборки копирует в --pf-exp-tf скрипт ниже */
html body .pf-exp-title.pf-exp-title[data-pf-tf].pf-cd-on{transform:var(--pf-exp-tf) scale(1.04) !important}

@media (min-width:901px){
  /* 15:05 владелец: последняя «Карточка компании» - слева, а не посередине */
  :is(.internal-page--about,.internal-page--media) #docs .ip-grid--4{display:flex !important;flex-wrap:wrap;justify-content:flex-start;gap:20px}
  :is(.internal-page--about,.internal-page--media) #docs .ip-license{flex:0 1 calc((100% - 20px)/2);max-width:calc((100% - 20px)/2);
    display:grid !important;grid-template-columns:1fr 200px;align-items:center;column-gap:24px;
    min-height:0 !important;padding:26px 28px !important}
  :is(.internal-page--about,.internal-page--media) #docs .ip-license h3{grid-column:1;margin:0 0 10px !important}
  :is(.internal-page--about,.internal-page--media) #docs .ip-license>p{grid-column:1;margin:0 !important}
  :is(.internal-page--about,.internal-page--media) #docs .ip-license .pf-lic-row{grid-column:2;grid-row:1 / span 4;
    margin:0 !important;justify-content:flex-end}
  :is(.internal-page--about,.internal-page--media) #docs .ip-license .pf-lic-thumb{width:100% !important}
}
:is(.internal-page--about,.internal-page--media) #docs .pf-lic-item{position:relative}
.pf-lic-zoom-b{position:absolute;right:8px;bottom:8px;width:36px;height:36px;border-radius:50%;
  background:#06b2af;color:#fff;display:grid;place-items:center;border:0;padding:0;cursor:pointer;z-index:3;
  box-shadow:0 2px 8px rgba(22,22,29,.18);transition:background-color .18s linear,color .18s linear}
.pf-lic-zoom-b:hover{background:#e4f7f6;color:#06b2af}
/* 17:35 владелец: до наведения кнопка была прозрачной (стили кнопок раздела перебивали фон) - в покое как под курсором */
html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-zoom-b,
html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-zoom-b:hover{background:#e4f7f6 !important;color:#06b2af !important}
.pf-lic-zoom-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
/* 16.09.2026 ~21:30 владелец, «Допуски, лицензии, сертификаты»: под курсором квадратик - акцентный бирюзовый, стрелки
   белые и расходятся в противоположные углы: верхняя - вправо вверх, нижняя - влево вниз. Сдвиг 3 из 24 единиц
   значка (2,25px на 18px); overflow:visible - чтобы скругления стрелок у края не обрезались. Реагирует наведение на сам
   квадратик. Наведение - только на устройствах с мышью (после касания на телефоне квадратик не остаётся бирюзовым),
   клавиатурный фокус - везде */
@media (hover:hover){
  html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-item .pf-lic-zoom-b:hover{background:#06b2af !important;color:#fff !important}
  .pf-lic-zoom-b:hover .pf-zoom-ne{transform:translate(3px,-3px)}
  .pf-lic-zoom-b:hover .pf-zoom-sw{transform:translate(-3px,3px)}
}
html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-item .pf-lic-zoom-b:focus-visible{background:#06b2af !important;color:#fff !important}
.pf-lic-zoom-b:focus-visible .pf-zoom-ne{transform:translate(3px,-3px)}
.pf-lic-zoom-b:focus-visible .pf-zoom-sw{transform:translate(-3px,3px)}
.pf-lic-zoom-b svg{overflow:visible}
.pf-lic-zoom-b svg g{transition:transform .22s cubic-bezier(0,0,.5,1)}
@media (prefers-reduced-motion:reduce){.pf-lic-zoom-b svg g{transition:none}}

html body .internal-page--services .ids2-lifecycle-card,
html body .internal-page--services .ids2-lifecycle-card:hover,
html body .internal-page--industries .ids2-icon-card,
html body .internal-page--industries .ids2-icon-card:hover{transform:none !important;box-shadow:none !important}
html body .internal-page--services .pf-svc-shot img{filter:grayscale(1);transition:filter .35s cubic-bezier(0,0,.5,1)}
html body .internal-page--services .ids2-lifecycle-card:hover .pf-svc-shot img{filter:none}
html body .pf-lic-card .pf-lic-ico{width:76px !important;height:76px !important}
html body .pf-lic-card .pf-lic-ico svg{width:40px !important;height:40px !important}
html body .pf-lic-card .pf-lic-go{right:20px !important;bottom:20px !important;top:auto !important}
html body .pf-lic-card .pf-lic-go svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
button.pf-lic-go.pf-lic-go{border:0;padding:0;cursor:pointer;font:inherit;border-radius:13px !important}   /* у кнопок сайта общее скругление 10px */
/* 16.09.2026 ~22:10 владелец: кнопка «развернуть» в карточках «Допуски и лицензии» на главной - как квадратик на
   «Компании»: скруглённый квадрат (там 36px и скругление 10px, здесь 48px - скругление 13px в той же пропорции),
   в покое светлая бирюза #e4f7f6 и бирюзовые стрелки, при наведении на карточку - акцентная бирюза #06b2af, стрелки
   белые (цвета уже стояли так) и расходятся в свои углы на 3 из 24 единиц значка. Размер 48px не менялся */
.pf-lic-go svg{overflow:visible}
.pf-lic-go svg g{transition:transform .22s cubic-bezier(0,0,.5,1)}
@media (hover:hover){
  .pf-lic-card:hover .pf-lic-go .pf-zoom-ne{transform:translate(3px,-3px)}
  .pf-lic-card:hover .pf-lic-go .pf-zoom-sw{transform:translate(-3px,3px)}
}
.pf-lic-go:focus-visible .pf-zoom-ne{transform:translate(3px,-3px)}
.pf-lic-go:focus-visible .pf-zoom-sw{transform:translate(-3px,3px)}
@media (prefers-reduced-motion:reduce){.pf-lic-go svg g{transition:none}}

@media (min-width:768px) and (max-width:1183px){
  html body .ip-header .ip-header__phone{font-size:0 !important;color:transparent !important;width:40px !important;
    height:40px !important;min-width:40px;padding:0 !important;border-radius:50% !important;overflow:hidden;
    display:inline-block !important;flex:none;background:#e4f7f6 no-repeat center / 20px 20px !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306b2af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2'/%3E%3C/svg%3E") !important}
}
html body .ids2-breadcrumbs{position:relative;z-index:3}
html body .internal-page--technologies .ip-grid--3{pointer-events:none}
html body .internal-page--technologies .ip-grid--3>*{pointer-events:auto}
@media (min-width:768px) and (max-width:1100px){
  html body .pf-deck-btn.pf-deck-btn--prev{left:12px !important;right:auto !important}
  html body .pf-deck-btn.pf-deck-btn--next{right:12px !important;left:auto !important}
}
@media (min-width:768px){ html body .internal-page--about .ip-metrics strong{white-space:nowrap} }
@media (min-width:768px) and (max-width:1180px){ html body .internal-page--about .ip-metrics strong{font-size:30px !important} }
/* 19:40 владелец: карточки «Цифры» на «Компании» под курсором подрастают - как плашки под шапкой главной (6%) */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  html body .internal-page--about .ip-metrics article{transition:transform .3s cubic-bezier(0,0,.5,1)}
  html body .internal-page--about .ip-metrics article:hover{transform:scale3d(1.06,1.06,1.06)}
}
html body .internal-page--services .ids2-lifecycle-card{grid-column:1 / -1 !important}
html body .pf-exp-card,html body .pf-exp-title{cursor:pointer}

.mobile-why-card h3{white-space:pre-line}

.pf-lic-dot,.pf-lic-zoom{display:none !important}
.pf-lic-card .pf-lic-go{position:absolute;top:20px;right:20px;z-index:4}
.pf-lic-card:hover .pf-lic-go,.pf-lic-go:focus-visible{background:#06b2af !important;color:#fff !important}
.pf-lic-card:hover .pf-lic-go .pf-arw::after{transform:translate(2px,-50%) rotate(45deg)}
.pf-lic-card:hover .pf-lic-go .pf-arw::before{width:11px;opacity:1}
.pf-lic-go .pf-arw{margin:0}
.mobile-license-card{position:relative}
.mobile-license-card .pf-lic-go-m{position:absolute;top:16px;right:16px}

.pf-lic-card .pf-lic-go{top:auto !important;bottom:20px !important}
.mobile-license-card{padding-bottom:80px !important}
.mobile-license-card .pf-lic-go-m{top:auto !important;bottom:16px !important}

:is(.internal-page--about,.internal-page--media) #docs .ip-license .ip-glyph{display:none !important}
/* раскладка карточек документов задаётся ниже: с 16.09 они горизонтальные, по две в ряд */

.figma-canvas [data-node-id="260:15"]{top:6289px !important}
.figma-canvas [data-node-id="260:26"]{top:6289px !important}
.figma-canvas [data-node-id="260:34"]{top:6449px !important}
.figma-canvas [data-node-id="260:23"]{top:6449px !important}
.figma-canvas [data-node-id="260:32"]{top:6565px !important}
.figma-canvas [data-node-id="260:35"]{top:6625px !important}
.figma-canvas [data-node-id="260:36"]{top:6625px !important}
.figma-canvas [data-node-id="260:22"]{width:100px !important}
.figma-canvas [data-node-id="260:32"]{width:170px !important}

.figma-canvas [data-node-id="245:38"],.figma-canvas [data-node-id="245:39"],.figma-canvas [data-node-id="245:40"],.figma-canvas [data-node-id="245:50"],.figma-canvas [data-node-id="245:51"],.figma-canvas [data-node-id="245:52"],.figma-canvas [data-node-id="246:101"],.figma-canvas [data-node-id="246:102"],.figma-canvas [data-node-id="246:103"],.figma-canvas [data-node-id="246:104"],.figma-canvas [data-node-id="246:105"],.figma-canvas [data-node-id="260:21"],.figma-canvas [data-node-id="260:37"],.figma-canvas [data-node-id="260:24"],.figma-canvas [data-node-id="260:38"],.figma-canvas [data-node-id="260:27"],.figma-canvas [data-node-id="260:39"]{pointer-events:none !important}

.internal-page--tasks .ip-section-conclusion{white-space:pre-line}

html body .pf-why-card.pf-why-card{outline:1px solid rgba(22,22,29,.05);outline-offset:-1px;
  transition:background-color .3s cubic-bezier(0,0,.5,1),outline-color .3s cubic-bezier(0,0,.5,1)}
html body .pf-why-card.pf-why-card.pf-why-hot{outline-color:rgba(22,22,29,0)}
/* до наведения - тот же значок, что в кружке, светло-серым контуром без кружка и заливки; под курсором его сменяет
   кружок со значком (.pf-why-on). Значок-двойник стоит в тех же координатах, что и кружок (стиль копирует скрипт) */
.pf-why-ghost{position:absolute;display:grid;place-items:center;pointer-events:none;background:0 0;
  transition:opacity .28s cubic-bezier(0,0,.5,1)}
.pf-why-ghost svg{fill:none !important;stroke:#c3c7cc !important;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pf-why-ico.pf-why-on+.pf-why-ghost{opacity:0}
@media (prefers-reduced-motion:reduce){.pf-why-ghost{transition:none}}

html body .pf-adv-card.pf-cd-on,html body .pf-adv-card.pf-cd-on.pf-adv-on{box-shadow:none !important}
.pf-wswap{position:relative;display:inline-block;overflow:hidden;vertical-align:top;white-space:nowrap;
  padding-bottom:.14em;margin-bottom:-.14em}
.pf-wswap>span{display:inline-block;transition:transform .34s cubic-bezier(.4,0,.2,1)}
.pf-wswap::after{content:attr(data-pf-swap);position:absolute;left:0;top:0;white-space:nowrap;color:#06b2af;
  pointer-events:none;transform:translateX(var(--pf-swap-dx,102%));transition:transform .34s cubic-bezier(.4,0,.2,1)}
.pf-wswap.pf-ws-on>span{transform:translateX(calc(-1 * var(--pf-swap-dx,102%)))}
.pf-wswap.pf-ws-on::after{transform:translateX(0)}
@media (hover:none),(prefers-reduced-motion:reduce){.pf-wswap::after{display:none}.pf-wswap.pf-ws-on>span{transform:none}}

/* подвал внутренних страниц: у ссылки-логотипа «На главную» под курсором появлялась стрелка «→» - правило сборки
   .ids2-footer a::after (у нижней строки подвала его уже сняли, у логотипа - нет) */
html body .ids2-footer .pf-foot2__brand>a::after{content:none !important;display:none !important}
/* «Отрасли»: в карточках без технологий («Серверы и СХД», «Сетевое оборудование»...) и их подписей */
html body .internal-page--industries .pf-ind-tech{display:none !important}
/* «Компания» → «Допуски, лицензии, сертификаты»: карточка под курсором без тени и без увеличения */
html body :is(.internal-page--about,.internal-page--media) #docs .ip-license,
html body :is(.internal-page--about,.internal-page--media) #docs .ip-license:hover{transform:none !important;box-shadow:none !important}
/* меню: пункт текущей страницы (обычная шапка .ip-nav и липкая) под курсором не перематывается, без плашки и без руки -
   он не ссылка. pointer-events:none снимает и наведение, и щелчок; остальные пункты работают как раньше */
html body a.pf-swap.is-active,html body a.pf-swap[aria-current="page"]{pointer-events:none !important;cursor:default !important}
html body a.pf-swap.is-active::after,html body a.pf-swap[aria-current="page"]::after{display:none !important}

.pf-step-card::before{transition:background-color .3s cubic-bezier(0,0,.5,1),border-color .3s cubic-bezier(0,0,.5,1)}
html body .pf-step-card.pf-step-sel::before{background:rgba(6,178,175,.1) !important;border-color:transparent !important}

html body .projects-showcase__grid .project-card__media img{position:absolute !important;inset:0 !important;
  left:0 !important;top:0 !important;width:100% !important;height:100% !important;padding:0 !important;margin:0 !important;
  object-fit:cover !important;object-position:center !important;transform:none !important;translate:none !important}
html body .projects-showcase__grid .project-card,
html body .projects-showcase__grid .project-card__media{background:#fff !important}

html body #pf-bar nav a.pf-swap:not(.is-active):not([aria-current="page"]):hover{background:#e4f7f6 !important}
html body a.pf-swap.pf-support-link::after{font-weight:inherit !important}

.mobile-stats>div:nth-child(4) dt{color:#894e99 !important}

html body .ip-license.ip-license:hover{border-color:rgba(6,178,175,.4) !important}

html body .pf-cd-plate>.pf-do-go.pf-do-go.pf-do-go{box-shadow:inset 0 0 0 1.5px rgba(6,178,175,.25) !important}

html body .internal-page--media #docs .pf-lic-thumb img{box-shadow:0 0 0 1px rgba(22,22,29,.12);border-radius:inherit}

html body .internal-page--about .pf-lead__head>.pf-lead__title:not(.pf-ct-title),
html body .internal-page--about .pf-lead__head>.pf-lead__sub,
html body .internal-page--about .pf-lead__form,
html body .internal-page--about .pf-lead__side>:not(.pf-lead__map){display:none !important}
html body .internal-page--about .pf-ct{margin-top:40px}
html body .internal-page--about .pf-ct .pf-lead__h--office{margin-top:40px}
html body .internal-page--about .pf-ct .pf-lead__addr{margin:10px 0 0}
html body .internal-page--about .pf-ct .pf-lead__addr.pf-ct-office{margin-top:25px}
/* ~12:55 владелец: «расстояние между строчками чуть больше во всём блоке, а то текст сливается» - 1.2/1.3 -> 1.5 */
html body .internal-page--about .pf-ct .pf-lead__line,
html body .internal-page--about .pf-ct .pf-lead__addr{line-height:1.5 !important}
html body .internal-page--about .pf-ct .pf-lead__addr.pf-ct-org{margin-top:40px}
html body .internal-page--about .pf-ct .pf-ct-org+.pf-lead__addr{margin-top:0}
@media (min-width:901px){
  html body .internal-page--about .pf-lead__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:"head side" !important;grid-template-rows:auto !important;align-items:stretch !important}
  html body .internal-page--about .pf-lead__side{display:flex !important;flex-direction:column}
  html body .internal-page--about .pf-lead__side>.pf-lead__map{flex:1 1 auto;height:auto !important;min-height:480px;margin:0 !important}
}
@media (max-width:900px){
  html body .internal-page--about .pf-lead__side>.pf-lead__map{margin-top:0 !important;height:360px !important}
}

@media (min-width:1184px){
  html body .ip-header a.ip-header__phone{flex-direction:column !important;align-items:center !important;justify-content:center !important}
  html body .ip-header a.ip-header__phone::after{content:"+7 (495) 988-95-56";display:block;height:0;overflow:hidden;
    visibility:hidden;pointer-events:none;font-weight:700;white-space:nowrap}
}

html body .internal-page--services .ids2-lifecycle-card{position:relative}

.figma-canvas [data-node-id="245:35"]{top:4292px !important;height:300px !important}
.figma-canvas [data-node-id="245:41"]{top:4434px !important}
.figma-canvas [data-node-id="245:42"]{top:4510px !important;width:367px !important}
.figma-canvas [data-node-id="245:36"]{top:4292px !important;height:300px !important}
.figma-canvas [data-node-id="245:43"]{top:4413px !important}
.figma-canvas [data-node-id="245:44"]{top:4489px !important;width:367px !important}
.figma-canvas [data-node-id="245:37"]{top:4292px !important;height:300px !important}
.figma-canvas [data-node-id="245:45"]{top:4413px !important}
.figma-canvas [data-node-id="245:46"]{top:4489px !important;width:367px !important}
.figma-canvas [data-node-id="245:47"]{top:4612px !important;height:300px !important}
.figma-canvas [data-node-id="245:53"]{top:4754px !important}
.figma-canvas [data-node-id="245:56"]{top:4830px !important;width:367px !important}
.figma-canvas [data-node-id="245:48"]{top:4612px !important;height:300px !important}
.figma-canvas [data-node-id="245:54"]{top:4754px !important}
.figma-canvas [data-node-id="245:57"]{top:4830px !important;width:367px !important}
.figma-canvas [data-node-id="245:49"]{top:4612px !important;height:300px !important}
.figma-canvas [data-node-id="245:55"]{top:4754px !important}
.figma-canvas [data-node-id="245:58"]{top:4830px !important;width:367px !important}

html body .pf-exp-card>.pf-exp-shot.pf-exp-shot.pf-exp-shot{transform-origin:50% 50% !important;
  transition:filter .35s cubic-bezier(0,0,.5,1),transform .35s cubic-bezier(0,0,.5,1) !important}
html body .pf-cd-plate.pf-exp-card.pf-cd-on>.pf-exp-shot.pf-exp-shot.pf-exp-shot{transform:scale(1.06) !important}
@media (prefers-reduced-motion:reduce){
  html body .pf-cd-plate.pf-exp-card.pf-cd-on>.pf-exp-shot.pf-exp-shot.pf-exp-shot{transform:none !important}
}

html body .stack-switcher__logo-slot:not(:hover) .official-company-logo[src*="veeam.svg"]{filter:grayscale(1) brightness(.75) contrast(2.35) !important}
html body .stack-switcher__logo-slot:not(:hover) .official-company-logo[src*="logos-complete/f5.svg"]{filter:grayscale(1) brightness(2.06) contrast(1.2) !important}

.figma-canvas img[data-pf-ctr-art="workplace"]{position:absolute;left:256px;top:4308px;width:225px;height:159px;object-fit:contain;object-position:right top;pointer-events:none;z-index:2}
.figma-canvas img[data-pf-ctr-art="network"]{position:absolute;left:661px;top:4308px;width:246px;height:159px;object-fit:contain;object-position:right top;pointer-events:none;z-index:2}
.figma-canvas img[data-pf-ctr-art="datacenter"]{position:absolute;left:1122px;top:4308px;width:212px;height:159px;object-fit:contain;object-position:right top;pointer-events:none;z-index:2}
.figma-canvas img[data-pf-ctr-art="compute"]{position:absolute;left:253px;top:4628px;width:228px;height:159px;object-fit:contain;object-position:right top;pointer-events:none;z-index:2}
.figma-canvas img[data-pf-ctr-art="security"]{position:absolute;left:682px;top:4628px;width:225px;height:159px;object-fit:contain;object-position:right top;pointer-events:none;z-index:2}
.figma-canvas img[data-pf-ctr-art="ops"]{position:absolute;left:1101px;top:4628px;width:233px;height:159px;object-fit:contain;object-position:right top;pointer-events:none;z-index:2}

html body .figma-canvas [data-node-id="260:31"]{width:100px !important}
html body .figma-canvas [data-node-id="260:22"]{width:170px !important}
html body .figma-canvas [data-node-id="260:32"]{width:262px !important}
html body .figma-canvas [data-node-id="260:33"]{width:207px !important}
html body .figma-canvas [data-node-id="260:34"]{width:347px !important}
html body .figma-canvas [data-node-id="260:23"]{width:347px !important}
html body .figma-canvas [data-node-id="260:35"]{width:240px !important}
html body .figma-canvas [data-node-id="260:36"]{width:280px !important}

html body .figma-canvas [data-node-id="260:29"],html body .figma-canvas [data-node-id="260:30"]{height:156px !important}

@media (max-width:767px){
  /* ---- первый экран: строка этапов и кнопка паузы - как на десктопе (15.09-16.09) ---- */
  html body .p2h-m .p2h-steps{box-shadow:none;gap:4px;margin-left:-10px;min-width:calc(100% + 10px);max-width:calc(100% + 10px)}
  html body .p2h-m .p2h-step{position:relative;overflow:hidden;padding:6px 10px;border-radius:8px;color:#06b2af;font-weight:400;
    transition:background-color .2s ease}
  html body .p2h-m .p2h-step:hover,html body .p2h-m .p2h-step.is-on{color:#06b2af;background:none}
  html body .p2h-m .p2h-step::before{content:attr(data-t);display:block;height:0;overflow:hidden;visibility:hidden;font-weight:700}
  html body .p2h-m .p2h-step-t{display:inline-block;transition:transform .34s cubic-bezier(.4,0,.2,1)}
  html body .p2h-m .p2h-step::after{content:attr(data-t);display:block;position:absolute;left:0;right:0;top:0;bottom:0;height:auto;
    padding:inherit;box-sizing:border-box;white-space:nowrap;text-align:left;font-weight:700;color:#06b2af;background:none;
    border-radius:0;pointer-events:none;transform:translateX(100%);transition:transform .34s cubic-bezier(.4,0,.2,1)}
  html body .p2h-m .p2h-step.is-on .p2h-step-t{transform:translateX(calc(-100% - 24px))}
  html body .p2h-m .p2h-step.is-on::after{transform:translateX(0)}
  html body .p2h-m .p2h-play,html body .p2h-m .p2h-play:hover{background:#e8eaed;color:#06b2af;border-radius:50% !important}

  /* ---- кнопки, которых не было на телефоне ---- */
  html body .mobile-home .pf-m-cta{margin-top:18px}
  html body .mobile-home .mobile-button .pf-arw{margin-left:2px}
  html body .mobile-home a.mobile-button.pf-m-btn-gray{background:#f2f2f4 !important;color:#5d5b65 !important;border-color:transparent !important;
    font-weight:600}

  /* ---- «Возьмёмся»: плашка с клиентами ---- */
  html body .mobile-home .pf-m-trust-plate{margin-top:14px;padding:20px;border-radius:10px;background:#fafafa}
  html body .mobile-home .pf-m-trust-plate>p{margin:0;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:-.3px;color:#16161d}
  html body .mobile-home .pf-m-trust-logos{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:18px}
  html body .mobile-home .pf-m-logo{position:relative;display:block;height:19px;overflow:hidden}
  html body .mobile-home .pf-m-logo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
  html body .mobile-home .pf-m-logo--sber{width:122px}
  html body .mobile-home .pf-m-logo--rtk{width:70px}
  html body .mobile-home .pf-m-logo--rtk img{inset:auto;left:-7.41%;top:-24%;width:114.82%;height:148%}
  html body .mobile-home .pf-m-logo--ozon{width:84px}

  /* ---- «Что мы делаем»: изометрия, бирюзовый заголовок и кружок на кадре; в полосе экрана кадр цветной ---- */
  html body .mobile-home .mobile-icon-grid{grid-template-columns:minmax(0,1fr) !important}
  html body .mobile-home a.mobile-icon-card.pf-m-do{display:block !important;min-height:0 !important;padding:0 !important;
    border:1px solid rgba(22,22,29,.08) !important;border-radius:10px !important;overflow:hidden;background:#fff !important;
    color:inherit;text-decoration:none}
  html body .mobile-home .pf-m-do__shot{position:relative;display:block;height:236px;
    background:linear-gradient(160deg,#fefefe 30%,#f1f3f4 100%)}
  html body .mobile-home .pf-m-do__shot img{position:absolute;inset:0;width:100%;height:100%;padding:44px 24px 8px;object-fit:contain;
    filter:grayscale(1);transition:filter .35s cubic-bezier(0,0,.5,1),transform .3s cubic-bezier(0,0,.5,1)}
  html body .mobile-home .pf-m-do__shot h3{position:absolute;left:12px;top:12px;margin:0;padding:6px 11px;border-radius:8px;
    font-size:18px;font-weight:600;line-height:1.25;color:#06b2af;background:transparent;transition:background-color .18s linear}
  html body .mobile-home .pf-m-do .pf-card-arw{right:14px;bottom:14px}
  html body .mobile-home .pf-m-do>p{margin:0;padding:16px 18px 20px;font-size:16px;line-height:1.4;color:#16161d}
  html body .mobile-home .pf-m-do.pf-m-hot .pf-m-do__shot img{filter:none;transform:scale(1.03)}
  html body .mobile-home .pf-m-do.pf-m-hot .pf-m-do__shot h3{background:#e4f7f6}

  /* ---- «Работаем со всем контуром»: сцена справа вверху, заголовок и текст снизу; в полосе экрана - подъём и засвет ---- */
  html body .mobile-home .mobile-infrastructure-grid{grid-template-columns:minmax(0,1fr) !important}
  html body .mobile-home .mobile-infrastructure-card{position:relative;min-height:0 !important;padding:150px 20px 20px !important;
    border-radius:10px !important;background:linear-gradient(150deg,#fcfefe 25%,#eaf8f8 100%) !important;
    transition:transform .3s cubic-bezier(0,0,.5,1),box-shadow .3s cubic-bezier(0,0,.5,1),background .3s linear}
  html body .mobile-home .pf-m-ctr-art{position:absolute;right:14px;top:14px;width:auto;max-width:64%;height:126px;object-fit:contain;
    object-position:right top;pointer-events:none}
  html body .mobile-home .mobile-infrastructure-card h3{margin:0 !important;font-size:22px !important;font-weight:600 !important;
    line-height:1.3 !important;color:#16161d}
  html body .mobile-home .mobile-infrastructure-card p{margin:8px 0 0 !important;font-size:16px !important;line-height:1.35 !important;color:#16161d !important}
  html body .mobile-home .mobile-infrastructure-card.pf-m-hot{transform:translateY(-4px);box-shadow:0 12px 30px rgba(6,178,175,.14);
    background:linear-gradient(150deg,#fbfefe 20%,#d7f3f3 100%) !important}

  /* ---- «Почему выбирают»: серая окантовка, значок-контур справа; в полосе экрана - белая карточка и бирюзовый кружок ---- */
  html body .mobile-home .mobile-why-card{position:relative;border-radius:10px !important;outline:1px solid rgba(22,22,29,.05);outline-offset:-1px;
    transition:background-color .3s cubic-bezier(0,0,.5,1),box-shadow .3s cubic-bezier(0,0,.5,1),outline-color .3s cubic-bezier(0,0,.5,1)}
  html body .mobile-home .mobile-why-card h3{padding-right:52px;font-size:22px !important;font-weight:700 !important;line-height:1.1 !important}
  html body .mobile-home .mobile-why-card p{color:#505050 !important;font-size:15px !important}
  html body .mobile-home .pf-m-why-ico{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;display:grid;
    place-items:center;background:transparent;color:#c3c7cc;transition:background-color .28s cubic-bezier(0,0,.5,1),color .28s cubic-bezier(0,0,.5,1)}
  html body .mobile-home .pf-m-why-ico svg,html body .mobile-home .pf-m-lic-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;
    stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  html body .mobile-home .mobile-why-card.pf-m-hot{background:#fff !important;box-shadow:0 10px 28px rgba(22,22,29,.08);outline-color:transparent}
  html body .mobile-home .mobile-why-card.pf-m-hot .pf-m-why-ico{background:#06b2af;color:#fff}

  /* ---- «Иногда советуем»: бирюзовая подложка, бирюзовый заголовок, без значков; слово перематывается ---- */
  html body .mobile-home .mobile-advice-card{min-height:0 !important;padding:20px !important;border:0 !important;border-radius:10px !important;
    background:rgba(6,178,175,.1) !important;box-shadow:none !important}
  html body .mobile-home .mobile-advice-card h3{color:#06b2af !important;font-size:20px !important;font-weight:600 !important;line-height:1.3 !important}
  html body .mobile-home .mobile-advice-card p{color:#16161d !important;font-size:15px !important}

  /* ---- «Единый стек»: вкладки полными названиями переносятся, а не уходят за край; белые буквы Veeam и F5 ---- */
  html body .mobile-home .mobile-stack__tabs{flex-wrap:wrap;overflow:visible;margin:0 0 22px;padding:2px 0 0}
  html body .mobile-home .mobile-logo img[src*="veeam.svg"]{filter:grayscale(1) brightness(.75) contrast(2.35) !important}
  html body .mobile-home .mobile-logo img[src*="logos-complete/f5.svg"]{filter:grayscale(1) brightness(2.06) contrast(1.2) !important}

  /* ---- «Покажем опыт»: кадр целиком на светлой подложке, бирюзовое название без плашки; в полосе экрана - цвет и +6% ---- */
  html body .mobile-home .mobile-industry-card.pf-m-ind{min-height:0 !important;aspect-ratio:300/248;padding:0 !important;border-radius:10px !important;
    background:linear-gradient(160deg,#fefefe 30%,#f1f3f4 100%) !important}
  html body .mobile-home .mobile-industry-card.pf-m-ind .pf-m-ind-shot{object-fit:contain !important;filter:grayscale(1);transform-origin:50% 50%;
    transition:filter .35s cubic-bezier(0,0,.5,1),transform .35s cubic-bezier(0,0,.5,1)}
  html body .mobile-home .mobile-industry-card.pf-m-ind>h3.pf-m-ind-title{left:6px !important;top:6px !important;padding:4px 7px !important;
    border-radius:8px !important;background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;
    box-shadow:none !important;color:#06b2af !important;font-size:15px !important;font-weight:600 !important;line-height:1.25 !important;
    transition:background-color .18s linear}
  html body .mobile-home .mobile-industry-card.pf-m-ind>.pf-m-ind-go{width:40px !important;height:40px !important;right:8px !important;bottom:8px !important}
  html body .mobile-home .mobile-industry-card.pf-m-ind.pf-m-hot .pf-m-ind-shot{filter:none;transform:scale(1.06)}
  html body .mobile-home .mobile-industry-card.pf-m-ind.pf-m-hot>h3.pf-m-ind-title{background:#e4f7f6 !important}

  /* ---- «Что мы уже сделали»: фото на всю ширину до верха, белые карточки, кружок справа внизу ---- */
  html body .mobile-home .mobile-project-card{position:relative;border:0 !important;border-radius:20px !important;background:#fff !important;
    box-shadow:2px 4px 12px rgba(0,0,0,.08);transition:box-shadow .3s cubic-bezier(0,0,.5,1)}
  html body .mobile-home .mobile-project-card__visual{height:172px !important;padding:0 !important;background:none !important}
  html body .mobile-home .mobile-project-card__visual img{width:100% !important;height:100% !important;padding:0 !important;object-fit:cover !important}
  html body .mobile-home .mobile-project-card__content{padding:18px 20px 84px !important}
  html body .mobile-home .mobile-project-card h3{font-size:20px !important;font-weight:600 !important;line-height:1.25 !important}
  html body .mobile-home .mobile-project-card__content>p:not(.mobile-project-card__eyebrow){color:rgba(22,22,29,.72) !important;line-height:1.4 !important}
  html body .mobile-home .mobile-project-card .pf-card-arw{right:20px;bottom:20px}
  html body .mobile-home .mobile-project-card.pf-m-hot{box-shadow:2px 10px 28px rgba(0,0,0,.14)}

  /* ---- «Допуски и лицензии»: одна колонка, значок в кружке справа вверху, квадрат «развернуть» справа внизу ---- */
  html body .mobile-home .mobile-licenses__grid{grid-template-columns:minmax(0,1fr) !important}
  html body .mobile-home .mobile-license-card{position:relative;min-height:0 !important;padding:22px 20px 80px !important;border:1px solid rgba(22,22,29,.1);
    border-radius:10px !important;background:#fff !important;transition:box-shadow .3s cubic-bezier(0,0,.5,1)}
  html body .mobile-home .mobile-license-card h3{padding-right:70px;min-height:56px;font-size:22px !important;font-weight:700 !important;line-height:1.2 !important;color:#16161d}
  html body .mobile-home .mobile-license-card p{color:#16161d !important;font-size:16px !important;line-height:1.35 !important}
  html body .mobile-home .pf-m-lic-ico{position:absolute;right:16px;top:16px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
    background:#06b2af;color:#fff;transition:background-color .18s linear,color .18s linear}
  html body .mobile-home .pf-m-lic-ico svg{width:28px;height:28px}
  html body .mobile-home .mobile-license-card a.pf-lic-go-m.pf-m-sq{position:absolute;right:16px;bottom:16px;top:auto;width:44px;height:44px;
    border-radius:12px;display:grid;place-items:center;background:#e4f7f6;color:#06b2af;transition:background-color .18s linear,color .18s linear}
  html body .mobile-home .pf-m-sq svg{width:18px;height:18px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  html body .mobile-home .pf-m-sq svg g{transition:transform .22s cubic-bezier(0,0,.5,1)}
  html body .mobile-home .mobile-license-card.pf-m-hot{box-shadow:0 10px 28px rgba(22,22,29,.1)}
  html body .mobile-home .mobile-license-card.pf-m-hot .pf-m-lic-ico{background:#e4f7f6;color:#06b2af}
  html body .mobile-home .mobile-license-card.pf-m-hot a.pf-lic-go-m.pf-m-sq{background:#06b2af;color:#fff}
  html body .mobile-home .mobile-license-card.pf-m-hot .pf-zoom-ne{transform:translate(3px,-3px)}
  html body .mobile-home .mobile-license-card.pf-m-hot .pf-zoom-sw{transform:translate(-3px,3px)}

  /* ---- кружок со стрелкой в полосе экрана: заливка и ножка стрелки, как под курсором ---- */
  html body .pf-m-hot .pf-card-arw{background:#06b2af !important;color:#fff !important}
  html body .pf-m-hot .pf-card-arw .pf-arw::after,html body .pf-m-hot .pf-sit-case__c .pf-arw::after{transform:translate(2px,-50%) rotate(45deg)}
  html body .pf-m-hot .pf-card-arw .pf-arw::before,html body .pf-m-hot .pf-sit-case__c .pf-arw::before{width:11px;opacity:1}
  html body .pf-m-hot .pf-sit-case__c{background:#06b2af;border-color:#06b2af;color:#fff}

  /* ---- перемотка слова (.pf-wswap): на сенсорных экранах общее правило её выключает - на телефоне включаем ---- */
  html body .mobile-home .pf-wswap::after{display:block}
  html body .mobile-home .pf-wswap.pf-ws-on>span{transform:translateX(calc(-1 * var(--pf-swap-dx,102%)))}

  /* ---- подвал: колонки Решения / Компания / Клиентам ---- */
  html body .mobile-footer nav{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:22px 14px !important;align-items:start}
  html body .mobile-footer nav .pf-mf-col{display:grid;align-content:start}
  html body .mobile-footer nav .pf-mf-col:first-child{grid-row:span 2}
  html body .mobile-footer nav .pf-mf-h{margin:0 0 2px;font-size:14px;font-weight:600;line-height:1.3;color:#6f6f74}

  /* ---- «Компания»: вместо формы - «Контактная информация», как на десктопе (блок .pf-ct строит скрипт слоя) ---- */
  html body .internal-page--about .pf-lead>.pf-lead__surface{display:block !important}
  html body .internal-page--about .pf-lead>.pf-lead-m{display:none !important}

  /* ---- «Компания» и «Медиацентр», документы: превью крупнее, без пустого низа карточки ---- */
  html body :is(.internal-page--about,.internal-page--media) #docs .ip-license{min-height:0 !important}
  html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-row,
  html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-item{width:100%}
  html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-thumb{width:min(100%,260px)}
  html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-thumb img{width:100% !important;height:auto !important;max-height:260px;
    object-fit:contain;object-position:left top}

  /* ---- ~20:40 после критика: графика, которая расходилась с десктопом ---- */
  /* строка этапов первого экрана - вровень с текстом, без выступа влево (обрезалось крайнее слово) */
  html body .p2h-m .p2h-steps{margin-left:0;min-width:100%;max-width:100%}
  html body .p2h-m .p2h-steps li:first-child .p2h-step{padding-left:0}
  /* плашки под первым экраном - светло-бирюзовые, в полосе экрана +6%, как под курсором */
  html body .mobile-home .mobile-stats>div{background:#e6f7f7 !important;-webkit-backdrop-filter:none;backdrop-filter:none;
    transition:transform .3s cubic-bezier(0,0,.5,1)}
  /* 18.09 владелец: «карточки под хироблоком при скролле увеличиваются - на телефоне не должно быть, статичные» */
  /* «Цифры» на «Компании» - так же */
  html body .internal-page--about .ip-metrics article{transition:transform .3s cubic-bezier(0,0,.5,1)}
  html body .internal-page--about .ip-metrics article.pf-m-hot{transform:scale3d(1.06,1.06,1.06)}
  /* «Возьмёмся» - белые карточки с тонкой рамкой, без тени */
  html body .mobile-home .mobile-mode-card{background:#fff !important;border:1px solid rgba(22,22,29,.1) !important;
    box-shadow:none !important;border-radius:10px !important}
  /* 18.09 владелец: «карточки Возьмёмся смещены влево, не на всю ширину». Десктопный shotFit() считает ширину слота
     картинки по соседней плашке с рамкой; на телефоне слотом оказывается вся карточка, а соседи с рамкой - «плашкой»:
     карточке ставилась ширина 265px и сдвиг -8px (.pf-shot-card). На телефоне - во всю колонку, без сдвига */
  html body .mobile-home .mobile-mode-card.pf-shot-card{width:auto !important;max-width:none !important;margin:0 !important;
    transform:none !important;border-radius:10px !important}
  /* «Единый стек» - белые ячейки логотипов с рамкой; подпись - белая с бирюзовой рамкой, кружок светлый */
  html body .mobile-home .mobile-stack__logos .mobile-logo{background:#fff !important;border:1px solid rgba(22,22,29,.1);border-radius:10px !important}
  html body .mobile-home .mobile-stack__note{background:#fff !important;border:1px solid #06b2af !important;color:#06b2af !important}
  html body .mobile-home .mobile-stack__note .mobile-glyph{background:#e4f7f6 !important;color:#06b2af !important}
  /* ТЗ - серая плашка, строка «ТЗ не обязательно. Расскажите…» обычным шрифтом, как на десктопе */
  html body .mobile-home .mobile-technical{margin:0 16px;padding:28px 20px !important;border-radius:10px;background:#fafafa !important}
  html body .mobile-home .mobile-technical h2{font:500 22px/1.3 Manrope,Arial,sans-serif !important;text-transform:none !important;
    letter-spacing:-.4px !important;color:#16161d}
  html body .mobile-home .mobile-technical p:not(.mobile-eyebrow){margin-top:12px !important;font-size:16px !important;color:#16161d !important}
  html body .mobile-home .mobile-technical>img{width:180px !important;height:180px !important;justify-self:center !important;
    margin:0 auto !important;display:block}   /* 18.09 владелец: шарик над кнопкой - посередине */
  html body .mobile-home .mobile-technical>canvas.pf-orb{justify-self:center !important;margin:0 auto !important}   /* шарик - анимация canvas, не img */
  /* подпись отрасли и заказчика в карточке проекта - в одну строку даже у «Промышленность · Распределённое производство» */
  html body .mobile-home .mobile-project-card__eyebrow{font-size:12px !important;padding:6px 10px !important;white-space:nowrap;max-width:100%;letter-spacing:-.2px !important}
  /* «Путь к стабильности»: шаг в полосе экрана - бирюзовая подложка, как выбранная карточка на десктопе */
  html body .mobile-home .mobile-path-step{border-radius:10px;transition:background-color .3s cubic-bezier(0,0,.5,1),opacity .24s}
  html body .mobile-home .mobile-path-step[data-pf-hot]{background:rgba(6,178,175,.1)}
  html body .mobile-home .mobile-path-step[data-pf-hot] h3{color:#06b2af}

  /* ---- «Делаем»: в полосе экрана кадр карточки цветной, как под курсором ---- */
  html body .internal-page--services .ids2-lifecycle-card.pf-m-hot .pf-svc-shot img{filter:none}
}
@media (max-width:900px){
  /* «Делаем»: подпись «Кейсы» с кружком уходила за правый край карточки - поля как у текста карточки */
  html body .internal-page--services .ids2-lifecycle-card>a.pf-svc-go{margin:4px 24px 24px !important}
}
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  html body .mobile-home .pf-wswap::after{display:none}
  html body .mobile-home .pf-wswap.pf-ws-on>span{transform:none}
  html body .mobile-home .mobile-infrastructure-card.pf-m-hot{transform:none}
  html body .mobile-home .pf-m-hot img{transform:none !important}
}

html body .figma-canvas .why-profit-visual{width:840px !important;height:1001px !important;left:540px !important;top:-171px !important;
  object-fit:contain !important;object-position:right center !important;opacity:1 !important;transform:scaleX(-1) !important}
@media (max-width:767px){
  /* 18.09 владелец: «картинка в мобильной версии должна быть растянута по всему блоку и быть сзади фоном; пропали
     засветы с левой стороны - должны быть побольше». Рисунок - на весь блок под карточками; засвет слева -
     бирюзово-фиолетовый, как .why-profit-accent десктопа, но крупнее */
  html body .mobile-home .mobile-why__art{top:0 !important;right:0 !important;left:0 !important;bottom:0 !important;
    width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;
    opacity:.6 !important;transform:scale(-1.2,1.2) !important;z-index:0 !important}   /* 18.09 владелец: «увеличь зумом на 20%» (отражение сохранено) */
  html body .mobile-home .mobile-why::before{content:"";position:absolute;z-index:1;pointer-events:none;left:-90px;top:12%;
    width:230px;height:70%;border-radius:999px;background:linear-gradient(rgba(6,178,175,.58) 4%,rgba(137,78,153,.52) 96%);
    filter:blur(56px);opacity:.55}
}

@media (max-width:767px){
  /* ---- меню главной: при открытии сборка фиксирует body со сдвигом, и липкая шапка вместе с меню уезжала
     за верхний край - страница «замирала» без видимого меню. На время открытого меню шапка фиксированная ---- */
  html body .mobile-topbar:has(nav.mobile-navigation.is-open),
  html.pf-m-menu body .mobile-topbar{position:fixed !important;top:0 !important;left:0;right:0;z-index:300}
  html body .mobile-topbar:has(nav.mobile-navigation.is-open) nav.mobile-navigation,
  html.pf-m-menu body nav.mobile-navigation.is-open{max-height:calc(100vh - 88px);overflow:auto}

  /* ---- кнопка «Наверх» перекрывала правый край полей формы и кнопку «Отправить» ---- */
  html.pf-m-form body #pf-top{opacity:0 !important;visibility:hidden !important;pointer-events:none !important}
  /* поле с ошибкой больше не уезжает под липкую шапку */
  html body .mobile-contact-form input,html body .mobile-contact-form textarea,
  html body .pf-lead-m__form input,html body .pf-lead-m__form textarea,
  html body .pf-lead__form input,html body .pf-lead__form textarea{scroll-margin-top:88px}

  /* ---- «Путь к стабильности»: липкая карточка с фото закрывала заголовки шагов.
     18.09 владелец: «перед карточкой Консультации пустой белый блок, сзади появляются картинки - убрать; иконок в
     карточках нет на десктопе - убрать». Без липкости фото этапов теряли рамку и вставали за карточки шагов - карточка
     с фото снята целиком (на десктопе её нет), значки шагов тоже ---- */
  html body .mobile-home .mobile-path__visual{display:none !important}
  html body .mobile-home .mobile-path__list{margin-top:0 !important}
  html body .mobile-home .mobile-path-step__head{grid-template-columns:34px minmax(0,1fr) !important}
  html body .mobile-home .mobile-path-step__head .mobile-glyph{display:none !important}

  /* ---- плашка cookie на узких экранах закрывала обе кнопки первого экрана ---- */
  html body #pf-cookie .pf-cookie__box{padding:12px 14px !important;font-size:13px !important;line-height:1.4 !important}
  html body #pf-cookie p{margin:0 0 10px !important}
  html body #pf-cookie a{display:inline-block;padding:6px 0}
  html body #pf-cookie button{height:44px}

  /* ---- карта перехватывала вертикальный свайп: поверх неё прозрачный слой, он снимается первым касанием ---- */
  html body .pf-m-mapguard{position:absolute;inset:0;z-index:5;display:grid;align-items:end;justify-items:center;
    padding-bottom:10px;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
  html body .pf-m-mapguard span{background:rgba(255,255,255,.92);color:#16161d;border-radius:999px;padding:7px 12px;
    font:600 12px/1.2 Manrope,Arial,sans-serif;box-shadow:0 2px 10px rgba(22,22,29,.14)}

  /* ---- цели нажатия меньше 44px ---- */
  html body .p2h-m .p2h-step{padding-top:13px !important;padding-bottom:13px !important}
  html body .p2h-m .p2h-play{width:44px !important;height:44px !important;margin-top:-22px !important}
  html body .mobile-home .mobile-topbar__request{min-height:44px !important;font-size:13px !important}
  html body .mobile-home a.pf-phone,html body .ip-header a.pf-phone{min-height:44px !important;flex:0 0 auto}
  html body .mobile-home .mobile-menu-button,html body .ip-menu-button{flex:0 0 auto}
  html body .mobile-footer__legal a[data-t]{display:inline-flex;align-items:center;min-height:40px;margin-right:6px}
  html body a.pf-map-open,html body .pf-map-open{min-height:44px !important}
  html body .pf-ind-tech__chip{min-height:36px;display:inline-flex;align-items:center}
  html body button.pf-lic-zoom-b{width:44px !important;height:44px !important}
  html body .pf-doc-modal__x{width:44px !important;height:44px !important;display:grid;place-items:center}
  html body .ids2-sitemap a,html body .pf-404 a,html body .wrap li a{display:inline-block;padding:6px 0}

  /* ---- контраст ---- */
  /* телефон, почта, адрес и строка реквизитов светло-серые и на десктопе (решение владельца) - цвет не трогаем,
     контраст 2,5 вынесен вопросом в отчёт */
  /* мелкий бирюзовый текст - затемнённый фирменный #058e8c, как в мелком тексте десктопа */
  html body .mobile-home .mobile-card-link,html body .mobile-home .mobile-stack__note,
  html body .mobile-home .mobile-industry-card .pf-m-ind-title,html body .pf-sit-case__t{color:#058e8c !important}

  /* ---- мелкий текст ---- */
  html body .mobile-home .mobile-eyebrow{font-size:13px !important}
  html body .mobile-home .mobile-brand small{font-size:11px !important}

  /* ---- скачки вёрстки при загрузке: место под превью документов и кадр карточки «Делаем» ---- */
  html body :is(.internal-page--about,.internal-page--media) #docs .pf-lic-thumb{min-height:120px}
  html body .internal-page--services .pf-svc-shot{aspect-ratio:1/1}

  /* ---- бургер на внутренних страницах - бирюзовый, как на главной ---- */
  html body .ip-menu-button{background:#06b2af !important}
  /* маркеры списков на правовых страницах уходили за край */
  html body .wrap ul,html body .wrap ol{padding-left:22px}
}
@media (max-width:390px){
  /* логотипы в плашке «Мы делали проекты» не помещались в строку на 360 и 375 */
  html body .mobile-home .pf-m-trust-logos{gap:10px 12px}
  html body .mobile-home .pf-m-logo{height:17px}
  html body .mobile-home .pf-m-logo--sber{width:109px}
  html body .mobile-home .pf-m-logo--rtk{width:63px}
  html body .mobile-home .pf-m-logo--ozon{width:75px}
}
@media (max-width:340px){
  /* на 320 логотипы не помещались даже уменьшенными */
  html body .mobile-home .pf-m-trust-logos{gap:8px 10px}
  html body .mobile-home .pf-m-logo{height:14px}
  html body .mobile-home .pf-m-logo--sber{width:90px}
  html body .mobile-home .pf-m-logo--rtk{width:52px}
  html body .mobile-home .pf-m-logo--ozon{width:62px}
}
@media (max-width:360px){
  /* на 320 шапка не помещалась: бургер сплющивался, кнопка ломалась на три строки */
  html body .mobile-home .mobile-topbar__request,html body .ip-header__cta-mobile{padding:8px 10px !important;font-size:12px !important}
  html body .mobile-home .mobile-menu-button{width:44px !important;height:44px !important}
  html body .mobile-home .mobile-industry-card .pf-m-ind-title{font-size:14px !important}
  html body .mobile-home .mobile-project-card__eyebrow{font-size:11px !important}
}

html body .figma-canvas .pf-adv-card{transition:transform .3s cubic-bezier(0,0,.5,1) !important}
html body .figma-canvas .pf-adv-card.pf-cd-on{transform:scale3d(1.03,1.03,1.03) !important}
html body .figma-canvas .pf-adv-txt{transition:transform .3s cubic-bezier(0,0,.5,1) !important}
html body .figma-canvas .pf-adv-txt.pf-adv-grow{transform:scale3d(1.03,1.03,1.03) !important}
@media (max-width:767px){
  html body .mobile-home .mobile-advice-card{transition:transform .3s cubic-bezier(0,0,.5,1) !important}
  html body .mobile-home .mobile-advice-card.pf-m-hot{transform:scale3d(1.03,1.03,1.03) !important}
}
@media (prefers-reduced-motion:reduce){
  html body .figma-canvas .pf-adv-card.pf-cd-on,html body .figma-canvas .pf-adv-txt.pf-adv-grow,
  html body .mobile-home .mobile-advice-card.pf-m-hot{transform:none !important}
}

@media (max-width:767px){
  /* первый экран - до строки этапов: высота по содержимому, снизу обычное поле */
  html body .mobile-home .mobile-hero{min-height:0 !important;padding-bottom:28px !important}
  html body .mobile-home .pf-m-stats-wrap{background:#fff;padding:24px 16px 8px}
  html body .mobile-home .pf-m-stats-wrap .mobile-stats{margin:0}
  /* лента логотипов: два ряда навстречу, медленнее */
  html body .mobile-home .pf-m-trust-row .mobile-trust__track{animation-duration:44s !important}
  html body .mobile-home .pf-m-trust-row.is-rev{margin-top:12px}
  html body .mobile-home .pf-m-trust-row.is-rev .mobile-trust__track{animation-direction:reverse !important}
}

html body .ip-menu-button{position:relative !important;display:grid !important;place-items:center !important;padding:0 !important}
html body .ip-menu-button>span{position:absolute !important;left:50% !important;top:50% !important;width:20px !important;height:2px !important;
  margin:-1px 0 0 -10px !important;border-radius:2px !important;background:currentColor !important;transition:transform .18s !important}
html body .ip-menu-button>span:nth-child(1){transform:translateY(-4px) !important}
html body .ip-menu-button>span:nth-child(2){transform:translateY(4px) !important}
html body .ip-menu-button>span:nth-child(3){display:none !important}
html body .ip-menu-button[aria-expanded="true"]>span:nth-child(1){transform:rotate(45deg) !important}
html body .ip-menu-button[aria-expanded="true"]>span:nth-child(2){transform:rotate(-45deg) !important}
/* 19.09.2026 владелец: «на внутренних страницах справа появился гамбургер, его не должно быть - как изначально на стенде».
   Правило 18.09 выше включало кнопку на любой ширине; изначально она только до 900 px (InternalPages: width<=900px) */
@media not all and (max-width:900px){html body .ip-menu-button{display:none !important}}

@media (max-width:767px){
  html body .ids2-situations__mobile summary>span:first-child{display:none !important}
  html body .ids2-situations__mobile summary{grid-template-columns:minmax(0,1fr) 24px !important}
  html body .ids2-situations__mobile summary>i{background:#06b2af !important}

  html body .internal-page .ids2-section-heading__action,html body .internal-page .pf-svc-cta,html body .internal-page .pf-case-cta{
    display:block !important;width:100% !important;margin-left:0 !important;margin-right:0 !important}
  /* только эти три: общее правило по .ip-section показывало скрытые кнопки «Запросить документ» на «Компании» */
  html body .internal-page .ids2-section-heading__action>a,html body .internal-page .pf-svc-cta>a,html body .internal-page .pf-case-cta>a{
    display:flex !important;width:100% !important;box-sizing:border-box !important;justify-content:center !important;text-align:center !important}
}

@media (max-width:767px){
  html body .mobile-home .mobile-project-card__visual img{filter:grayscale(1);transition:filter .35s cubic-bezier(0,0,.5,1) !important}
  html body .mobile-home .mobile-project-card.pf-m-hot .mobile-project-card__visual img{filter:none}
  html body .mobile-home .pf-m-lic-ico{transition:background-color .18s linear,color .18s linear,transform .3s cubic-bezier(0,0,.5,1) !important}
  html body .mobile-home .mobile-license-card.pf-m-hot .pf-m-lic-ico{transform:scale3d(1.15,1.15,1.15)}
  html body .mobile-home .mobile-hero .mobile-actions{display:none !important}
}
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  html body .mobile-home .mobile-license-card.pf-m-hot .pf-m-lic-ico{transform:none}
}

@media (max-width:767px){
  html body .p2h-m .p2h-steps{flex-wrap:wrap !important;overflow:visible !important;width:auto !important;min-width:0 !important;
    max-width:100% !important;row-gap:0 !important;column-gap:0 !important}
  html body .p2h-m .p2h-steps li{display:flex !important;align-items:center}
  html body .p2h-m .p2h-steps li:not(:last-child)::after{content:"";flex:none;width:6px;height:6px;margin:0 8px 0 2px;
    border-right:1.7px solid currentColor;border-top:1.7px solid currentColor;transform:rotate(45deg);color:#e1e3e6;
    transition:color .3s ease}
  html body .p2h-m .p2h-steps li:has(.p2h-step.is-on):not(:last-child)::after{color:#8a8d94}
  html body .p2h-m .p2h-steps li .p2h-step{padding-left:0 !important;padding-right:0 !important}
}
@media (max-width:360px){
  /* на узких телефонах три пункта в строку не помещались - строк выходило три */
  html body .p2h-m .p2h-step{font-size:13px !important}
  html body .p2h-m .p2h-steps li:not(:last-child)::after{margin:0 6px 0 1px}
}

@media (max-width:767px){
  html body .mobile-home .mobile-hero h1,html body .mobile-home .mobile-section-heading h2{line-height:1.06 !important}
  html body .mobile-home .mobile-path__list{gap:10px !important}
}

@media (max-width:767px){
  html body .mobile-home .mobile-path-step{border:1px solid rgba(22,22,29,.1) !important;
    transition:background-color .3s cubic-bezier(0,0,.5,1),border-color .3s cubic-bezier(0,0,.5,1),opacity .24s !important}
  html body .mobile-home .mobile-path-step[data-pf-hot]{border-color:transparent !important}
}

@media (max-width:767px){
  html body .mobile-home .mobile-path__list::before{top:var(--pf-l-top,28px) !important;bottom:var(--pf-l-bot,28px) !important}
  html body .mobile-home .mobile-path__list::after{top:var(--pf-l-top,28px) !important;bottom:auto !important;
    height:var(--pf-l-fill,0px) !important;max-height:none !important}
}

@media (max-width:767px){
  html body .mobile-home .mobile-why__art{top:calc(50% + 40px) !important;bottom:auto !important;left:32% !important;right:auto !important;
    width:auto !important;height:75% !important;max-width:none !important;object-fit:contain !important;
    transform:translateY(-50%) scaleX(-1) !important}
}

@media (max-width:767px){
  html body .mobile-home .mobile-why-card{background:rgba(255,255,255,.55) !important;
    -webkit-backdrop-filter:blur(6px) !important;backdrop-filter:blur(6px) !important}
  html body .mobile-home .mobile-why-card.pf-m-hot{background:rgba(255,255,255,.78) !important}
}

@media (min-width:768px){
  html body .figma-canvas .why-profit-accent{width:200px !important;height:620px !important;left:60px !important;top:6105px !important;
    filter:blur(72px) !important;opacity:.55 !important;
    background:linear-gradient(rgba(6,178,175,.85) 8%,rgba(6,178,175,.6) 58%,rgba(137,78,153,.45) 100%) !important}
}

