/* Модальное окно заявки */
.afm-lock{overflow:hidden}
.afm{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:28px;background:#fff;color:var(--ink,#16133a);box-shadow:0 40px 90px rgba(22,19,58,.35);overflow:auto}
.afm::backdrop{background:rgba(22,19,58,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.afm[open]{animation:afm-in .35s cubic-bezier(.2,1.2,.4,1)}
.afm[open]::backdrop{animation:afm-fade .3s}
@keyframes afm-in{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes afm-fade{from{opacity:0}}
.afm-box{position:relative;padding:26px 28px 24px}
.afm-x{position:absolute;right:14px;top:14px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:#f1effd;color:var(--ink,#16133a);cursor:pointer;transition:background .2s,transform .2s;z-index:2}
.afm-x:hover{background:#e5e1fb;transform:rotate(90deg)}
.afm-x svg{width:18px;height:18px}
.afm-head{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;margin:0 36px 18px 0}
.afm-head h2{font:800 26px/1.15 "Onest",system-ui,sans-serif;letter-spacing:-.02em;margin:0 0 6px}
.afm-head p{margin:0;font-size:14.5px;line-height:1.45;color:var(--soft2,#5d5a7e)}
.afm-form{display:grid;gap:12px}
.afm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.afm-form label{display:grid;gap:6px;font:600 13.5px/1.2 "Onest",system-ui,sans-serif;color:var(--ink,#16133a)}
.afm-form label small{font-weight:500;color:var(--soft2,#5d5a7e)}
.afm-form input:not([type=checkbox]),.afm-form select,.afm-form textarea{width:100%;box-sizing:border-box;min-height:50px;padding:12px 14px;border:2px solid #ebe7ff;border-radius:14px;background:#f8f7ff;font:500 15.5px/1.3 "Onest",system-ui,sans-serif;color:var(--ink,#16133a);transition:border-color .2s,background .2s}
.afm-form textarea{resize:vertical;min-height:84px}
.afm-form input:focus,.afm-form select:focus,.afm-form textarea:focus{outline:none;border-color:var(--acc,#5b45ff);background:#fff}
.afm-form .err{display:none;font-weight:500;font-size:12.5px;color:#e5484d}
.afm-form label.invalid input{border-color:#e5484d}
.afm-form label.invalid .err{display:block}
.afm-ok{grid-template-columns:20px 1fr!important;align-items:start;font-weight:500!important;font-size:12.5px!important;line-height:1.4!important;color:var(--soft2,#5d5a7e)!important}
.afm-ok input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--acc,#5b45ff)}
.afm-ok.invalid span{color:#e5484d}
.afm-ok a,.afm-alt a,.afm .form-fail a{color:var(--acc,#5b45ff)}
.afm .hp{position:absolute;left:-9999px}
.afm .form-fail{margin:0;padding:10px 12px;border-radius:12px;background:#fff1f1;font-size:13.5px;color:#b42318}
.afm-send{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;margin-top:4px;border:0;border-radius:16px;background:var(--acc,#5b45ff);color:#fff;font:700 16px/1 "Onest",system-ui,sans-serif;cursor:pointer;box-shadow:0 14px 30px rgba(91,69,255,.32);transition:transform .2s,box-shadow .2s}
.afm-send:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(91,69,255,.4)}
.afm-send:disabled{opacity:.6;cursor:wait}
.afm-send svg{width:18px;height:18px}
.afm-alt{margin:2px 0 0;text-align:center;font-size:13.5px;color:var(--soft2,#5d5a7e)}
/* мини-робот в шапке окна */
.rbt.rbt-mini{padding:0;max-width:92px;cursor:default}
.rbt-mini .rbt-say{display:none}
.rbt-mini .rbt-stage{width:92px}
@media(max-width:560px){.afm{border-radius:24px}.afm-box{padding:20px 16px 18px}.afm-head{grid-template-columns:64px 1fr;margin-right:40px}.rbt-mini .rbt-stage,.rbt.rbt-mini{width:64px;max-width:64px}.afm-head h2{font-size:21px}.afm-head p{font-size:13.5px}.afm-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.afm[open],.afm[open]::backdrop{animation:none}}

/* способ связи */
.via{display:grid;gap:7px;margin:2px 0 4px;text-align:left}
.via-t{font:600 13.5px/1.2 "Onest",system-ui,sans-serif;color:inherit;opacity:.9}
.via-o{display:flex;flex-wrap:wrap;gap:8px}
.via label{display:inline-flex!important;margin:0!important;padding:0!important;cursor:pointer}
.via input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.via label span{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid #e2ddfb;background:#fff;font:600 14px/1 "Onest",system-ui,sans-serif;color:#16133a;transition:border-color .2s,background .2s,color .2s}
.via label span svg{width:16px;height:16px;color:#5b45ff}
.via label:hover span{border-color:#5b45ff}
.via input:checked + span{background:#5b45ff;border-color:#5b45ff;color:#fff}
.via input:checked + span svg{color:#fff}
.via input:focus-visible + span{outline:2px solid #5b45ff;outline-offset:2px}
.afm .via{margin-top:0}

/* свои выпадающие списки */
.csel{position:relative;width:100%;font:500 15.5px/1.3 "Onest",system-ui,sans-serif}
.csel > select{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0!important;pointer-events:none!important;margin:0!important}
.csel-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:12px 14px 12px 16px;border:2px solid #ebe7ff;border-radius:14px;background:#f8f7ff;font:inherit;color:#16133a;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.csel-btn:hover{border-color:#cfc6ff}
.csel-btn:focus-visible,.csel.open .csel-btn{outline:none;border-color:#5b45ff;background:#fff;box-shadow:0 0 0 4px rgba(91,69,255,.12)}
.csel-v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csel-ch{flex:none;width:18px;height:18px;color:#5b45ff;transition:transform .25s}
.csel.open .csel-ch{transform:rotate(180deg)}
.csel-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:50;max-height:288px;overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #ece9f8;border-radius:16px;box-shadow:0 22px 50px rgba(22,19,58,.18);outline:none;animation:csel-in .18s ease-out;overscroll-behavior:contain}
.csel.up .csel-list{top:auto;bottom:calc(100% + 8px);animation-name:csel-up}
.csel-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:10px;color:#16133a;cursor:pointer;transition:background .12s,color .12s}
.csel-list li.act{background:#f1effd}
.csel-list li[aria-selected="true"]{color:#5b45ff;font-weight:700}
.csel-list li svg{flex:none;width:16px;height:16px;opacity:0}
.csel-list li[aria-selected="true"] svg{opacity:1}
.csel-list li[aria-disabled="true"]{opacity:.45;cursor:default}
@keyframes csel-in{from{opacity:0;transform:translateY(-6px)}}
@keyframes csel-up{from{opacity:0;transform:translateY(6px)}}
@media(prefers-reduced-motion:reduce){.csel-list{animation:none}}

/* Формы обратной связи в стиле тёмного баннера */
form.fx{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 70% at 85% 0%,#3b2aa8 0%,rgba(59,42,168,0) 60%),linear-gradient(160deg,#1d1655 0%,#15103f 55%,#1b1350 100%);border:1px solid rgba(139,123,255,.28)!important;border-radius:28px!important;box-shadow:0 30px 60px rgba(22,19,58,.28)!important;padding:22px 26px 26px!important;gap:14px}
form.fx::after{content:"";position:absolute;inset:auto -80px -120px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(#5b45ff55,transparent 70%);pointer-events:none}
.fx-art{position:relative;margin:-6px -10px 0;height:clamp(150px,16vw,190px)}
.fx-art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fx-art *{transform-box:fill-box}
.fx-f{animation:fx-float 4.5s ease-in-out infinite}
.fx-f2{animation-delay:-1.5s}.fx-f3{animation-delay:-3s}
.fx-plane{transform-origin:center;animation:fx-plane 6s ease-in-out infinite}
.fx-plant{transform-origin:50% 100%;animation:fx-sway 5s ease-in-out infinite}
.fx-dash path{animation:fx-dash 1.6s linear infinite}
.fx-line{stroke-dasharray:140;stroke-dashoffset:140;animation:fx-draw 3.5s ease-in-out infinite}
.fx-sp{animation:fx-tw 2.4s ease-in-out infinite}.fx-sp:nth-child(2){animation-delay:-.8s}.fx-sp:nth-child(3){animation-delay:-1.6s}
@keyframes fx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes fx-plane{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(6px,-6px) rotate(4deg)}}
@keyframes fx-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(2.5deg)}}
@keyframes fx-dash{to{stroke-dashoffset:-20}}
@keyframes fx-draw{0%{stroke-dashoffset:140}45%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-140}}
@keyframes fx-tw{0%,100%{opacity:.3}50%{opacity:1}}
form.fx h3{position:relative;color:#fff;font:800 clamp(22px,2vw,28px)/1.18 "Onest",var(--display),sans-serif;letter-spacing:-.02em;margin:0}
form.fx h3 span{color:#a99cff}
form.fx .sv-form-p,form.fx > p:not(.form-gift):not(.form-fail){color:#c9c6e6}
form.fx .form-gift{background:rgba(255,176,32,.14);color:#ffd28a}
form.fx label{color:#e9e6ff}
form.fx input:not([type=checkbox]):not([type=radio]),form.fx textarea{background:rgba(255,255,255,.07)!important;border:1.5px solid rgba(255,255,255,.16)!important;color:#fff!important;border-radius:14px!important}
form.fx input::placeholder,form.fx textarea::placeholder{color:#a9a6c9}
form.fx input:focus,form.fx textarea:focus{outline:none!important;border-color:#a99cff!important;background:rgba(255,255,255,.11)!important;box-shadow:0 0 0 4px rgba(139,123,255,.2)}
form.fx .csel-btn{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.16);color:#fff}
form.fx .csel-btn:hover{border-color:rgba(169,156,255,.6)}
form.fx .csel.open .csel-btn,form.fx .csel-btn:focus-visible{border-color:#a99cff;background:rgba(255,255,255,.11);box-shadow:0 0 0 4px rgba(139,123,255,.2)}
form.fx .csel-ch{color:#a99cff}
form.fx .via-t{color:#e9e6ff}
form.fx .via label span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
form.fx .via label span svg{color:#a99cff}
form.fx .via label:hover span{border-color:#a99cff}
form.fx .via input:checked + span{background:#fff;border-color:#fff;color:#2a1d7a}
form.fx .via input:checked + span svg{color:#5b45ff}
form.fx .consent,form.fx .consent span{color:#bdb9dc}
form.fx a{color:#c4baff}
form.fx .consent input{accent-color:#8b7bff}
form.fx .err{color:#ff9aa2}
form.fx label.invalid input{border-color:#ff7a85!important;background:rgba(255,122,133,.08)!important}
form.fx .form-fail{background:rgba(255,122,133,.12);color:#ffc2c7;border-radius:12px;padding:10px 12px}
form.fx button[type=submit]{position:relative;justify-self:start;display:inline-flex;align-items:center;gap:14px;min-height:58px;padding:0 10px 0 24px;border:0;border-radius:999px;background:#fff;color:#2a1d7a;font:800 15px/1 "Onest",var(--text),sans-serif;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 14px 30px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s}
form.fx button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.3)}
form.fx button[type=submit] svg{box-sizing:content-box;width:14px;height:14px;padding:11px;border-radius:50%;border:2px solid #5b45ff;color:#5b45ff;transition:background .2s,color .2s,transform .2s}
form.fx button[type=submit]:hover svg{background:#5b45ff;color:#fff;transform:translateX(2px)}
@media(max-width:640px){form.fx{padding:16px 16px 20px!important;border-radius:24px!important}.fx-art{height:140px;margin:-4px -6px 0}form.fx button[type=submit]{justify-self:stretch;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.fx-art *{animation:none!important}.fx-line{stroke-dashoffset:0}}

/* баннер-заявка на лендинге */
.leadbar.lb2{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(26px,4vw,52px);border-radius:32px;background:radial-gradient(90% 80% at 0% 0%,#5b45ff 0%,rgba(91,69,255,0) 55%),radial-gradient(70% 70% at 100% 100%,#3b2aa8 0%,rgba(59,42,168,0) 60%),linear-gradient(135deg,#2a1d8a 0%,#1d1655 45%,#140f3c 100%);box-shadow:0 30px 70px rgba(22,19,58,.3)}
.lb2::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask:linear-gradient(90deg,#000,transparent 60%);mask:linear-gradient(90deg,#000,transparent 60%);pointer-events:none}
.lb2 > div{position:relative}
.lb2 .label{color:#c9c1ff!important;letter-spacing:.16em}
.lb2 h2{font:800 clamp(30px,3.4vw,48px)/1.1 "Onest",var(--display),sans-serif;letter-spacing:-.03em;margin:10px 0 0;color:#fff}
.lb2 h2 span{color:#a99cff}
.lb-sub{margin:14px 0 0;max-width:40ch;color:#cfcbef;font-size:16px;line-height:1.5}
.lb-art{height:clamp(170px,17vw,220px)!important;margin:18px 0 0!important;max-width:460px}
.lb2 form.lb-form{position:relative;display:grid;grid-template-columns:1fr;gap:14px;padding:clamp(20px,2.4vw,30px)!important;border-radius:26px;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lb-form label{color:#e9e6ff!important;font-size:13.5px!important}
.lb-form input:not([type=checkbox]):not([type=radio]){min-height:52px;background:rgba(255,255,255,.08)!important;border:1.5px solid rgba(255,255,255,.18)!important;border-radius:14px!important;color:#fff!important}
.lb-form input::placeholder{color:#b4b0d6}
.lb-form input:focus{outline:none!important;border-color:#a99cff!important;background:rgba(255,255,255,.12)!important;box-shadow:0 0 0 4px rgba(139,123,255,.22)}
.lb-form .via-t{color:#e9e6ff}
.lb-form .via-o{gap:8px}
.lb-form .via label span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff}
.lb-form .via label span svg{color:#a99cff}
.lb-form .via label:hover span{border-color:#a99cff}
.lb-form .via input:checked + span{background:#fff;border-color:#fff;color:#2a1d7a}
.lb-form .via input:checked + span svg{color:#5b45ff}
.lb-form .consent,.lb-form .consent span{color:#c4c0e4!important;font-size:12.5px;line-height:1.45}
.lb-form .consent a{color:#d6cfff!important}
.lb-form .consent input{accent-color:#8b7bff}
.lb-form .err{color:#ff9aa2}
.lb-form label.invalid input{border-color:#ff7a85!important}
.lb-form .form-fail{background:rgba(255,122,133,.12);color:#ffc2c7;border-radius:12px;padding:10px 12px}
.lb2 .lb-form .btn{order:10;justify-self:stretch;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:0 10px 0 24px;border-radius:999px;background:#fff!important;color:#2a1d7a!important;font:800 15px/1 "Onest",var(--text),sans-serif;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 14px 30px rgba(0,0,0,.25)!important;transition:transform .2s,box-shadow .2s}
.lb2 .lb-form .btn:hover{transform:translateY(-2px)}
.lb2 .lb-form .btn svg{box-sizing:content-box;width:14px;height:14px;padding:11px;border-radius:50%;border:2px solid #5b45ff;color:#5b45ff;transition:background .2s,color .2s}
.lb2 .lb-form .btn:hover svg{background:#5b45ff;color:#fff}
.lb2 .lb-form .consent{order:9}
@media(max-width:900px){.leadbar.lb2{grid-template-columns:1fr}.lb-art{max-width:none;height:170px!important}}
@media(max-width:640px){.leadbar.lb2{padding:22px 16px;border-radius:26px}.lb2 form.lb-form{padding:16px!important}.lb2 h2{font-size:28px}}


/* Иллюстрация «Собираем сайт» */
.ill{display:block;width:100%;height:auto;overflow:visible}
.ill *{transform-box:fill-box}
.ill-drop{animation:ill-drop 6s cubic-bezier(.5,0,.3,1) infinite}
.ill-drone .prop{transform-origin:center;animation:ill-prop .18s linear infinite alternate}
.ill-slot{animation:ill-slot 6s ease-in-out infinite}
.ill-chart,.ill-chat,.ill-phone{animation:ill-float 5s ease-in-out infinite}
.ill-chat{animation-delay:-1.6s}.ill-phone{animation-delay:-3.2s}
.ill-chart .bar{transform-origin:50% 100%;animation:ill-bar 3s ease-in-out infinite}
.ill-chart .b2{animation-delay:-.4s}.ill-chart .b3{animation-delay:-.8s}.ill-chart .b4{animation-delay:-1.2s}.ill-chart .b5{animation-delay:-1.6s}
.ill-gear{transform-origin:center}.ill-gear.g1{animation:ill-spin 9s linear infinite}.ill-gear.g2{animation:ill-spin 6s linear infinite reverse}
.ill-plane{animation:ill-plane 7s ease-in-out infinite}
.ill-trail{animation:ill-dash 1.4s linear infinite}
.ill-cloud{animation:ill-cloud 12s ease-in-out infinite alternate}
.ill-leaf{transform-origin:50% 100%;animation:ill-sway 6s ease-in-out infinite}.ill-leaf.l2{animation-delay:-3s}
.ill-plant{transform-origin:50% 100%;animation:ill-sway 5s ease-in-out infinite}
.ill .arm-up{transform-origin:0 100%;animation:ill-point 3s ease-in-out infinite}
.ill .lap circle{animation:ill-blink 1.6s steps(1) infinite}
.ill .p-sit{animation:ill-bob 4s ease-in-out infinite}
@keyframes ill-drop{0%{transform:translateY(-70px);opacity:0}12%{opacity:1}45%,80%{transform:translateY(72px);opacity:1}92%,100%{transform:translateY(72px);opacity:0}}
@keyframes ill-slot{0%,40%{opacity:1}46%,85%{opacity:0}100%{opacity:1}}
@keyframes ill-prop{from{transform:scaleX(1)}to{transform:scaleX(.35)}}
@keyframes ill-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ill-bar{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.6)}}
@keyframes ill-spin{to{transform:rotate(360deg)}}
@keyframes ill-plane{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(10px,-8px) rotate(5deg)}}
@keyframes ill-dash{to{stroke-dashoffset:-24}}
@keyframes ill-cloud{to{transform:translateX(16px)}}
@keyframes ill-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg)}}
@keyframes ill-point{0%,100%{transform:rotate(0)}50%{transform:rotate(-12deg)}}
@keyframes ill-blink{50%{opacity:0}}
@keyframes ill-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.ill *{animation:none!important}.ill-drop{transform:translateY(72px)}.ill-slot{opacity:0}}

.ill .sync-dot{animation:ill-sync 1.8s linear infinite}.ill .sync-dot.d2{animation-name:ill-sync2}
.ill-tag{animation:ill-float 4s ease-in-out infinite}.ill-tag.t2{animation-delay:-2s}
@keyframes ill-sync{0%{transform:translateX(-10px);opacity:0}20%,80%{opacity:1}100%{transform:translateX(18px);opacity:0}}
@keyframes ill-sync2{0%{transform:translateX(10px);opacity:0}20%,80%{opacity:1}100%{transform:translateX(-18px);opacity:0}}
.ill-dark .ill-blob{fill:rgba(139,123,255,.16)}.ill-dark .leg{stroke:#7d6df0}.ill-dark .foot{stroke:#c9c1fb}.ill-b .g2{display:none}.ill-dark .ill-blob + path{opacity:.18}
/* размещение иллюстраций */
.ill-wrap{width:100%}
.tree .ill-wrap{max-width:560px;margin-top:auto;padding-top:10px}
.bx-hero-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,4vw,56px);align-items:center}
.bx-hero-g .ill-wrap{justify-self:end;max-width:540px}
@media(max-width:900px){.bx-hero-g{grid-template-columns:1fr}.bx-hero-g .ill-wrap{justify-self:center;max-width:460px}}
@media(max-width:767px){.tree .ill-wrap{max-width:420px}}

/* тёмный фон форм обратной связи не должен перебиваться белыми фонами блоков страниц (.prep, .ct-side, .sizepick, .audit) */
form.fx,.prep .formbox form.fx,.ct-side form.fx,.sizepick form.fx,.audit .side form.fx{background:radial-gradient(120% 70% at 85% 0%,#3b2aa8 0%,rgba(59,42,168,0) 60%),linear-gradient(160deg,#1d1655 0%,#15103f 55%,#1b1350 100%)!important;color:#fff!important}
form.fx h3{color:#fff!important}
form.fx label,form.fx .via-t{color:#e9e6ff!important}
