*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}

:root{
  --paper:#f4f4f1; --surface:#ffffff; --surface-2:#fbfbf9;
  --ink:#0c0d10; --muted:#6c7077; --line:#e6e6e1;
  --accent:#2540ff; --accent-soft:rgba(37,64,255,.08); --accent-ink:#ffffff;
  --lime:#cdf522; --lime-ink:#0c0d10; --panel:#101218; --err:#e5484d;
  --fd:'Space Grotesk',system-ui,sans-serif;
  --fb:'Manrope',system-ui,sans-serif;
  --fm:'Space Mono',ui-monospace,monospace;
}
:root[data-theme="dark"]{
  --paper:#0a0b0d; --surface:#121317; --surface-2:#15171c;
  --ink:#f2f2ef; --muted:#9a9ea7; --line:#23262d;
  --accent:#5570ff; --accent-soft:rgba(85,112,255,.16); --accent-ink:#0a0b0d; --err:#ff6369;
}

@keyframes vfloat{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-16px) rotate(-1.2deg)}}
@keyframes vfloat2{0%,100%{transform:translateY(0) rotate(2.5deg)}50%{transform:translateY(14px) rotate(2.5deg)}}
@keyframes vspin{to{transform:rotate(360deg)}}
@keyframes vmarq{to{transform:translateX(-50%)}}
@keyframes vblob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-20px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.95)}}
@keyframes vgrad{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes vpulse{0%{box-shadow:0 0 0 0 var(--accent-soft)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes vpulseL{0%{box-shadow:0 0 0 0 rgba(205,245,34,.5)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes procflow{0%{background-position:-45% 0}100%{background-position:145% 0}}
@keyframes vbounce{0%{transform:translateY(0)}18%{transform:translateY(-44%)}38%{transform:translateY(0)}56%{transform:translateY(-21%)}72%{transform:translateY(0)}86%{transform:translateY(-8%)}100%{transform:translateY(0)}}
@keyframes fmarq{to{transform:translateX(-50%)}}
@keyframes n4float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(-3deg)}}
@keyframes n4spin{to{transform:rotate(360deg)}}

.vgrad{background:linear-gradient(90deg,var(--accent),#7c5cff,#b06bff,#7c5cff,var(--accent));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:vgrad 6s linear infinite}
.is-hidden{display:none!important}

.vhero{position:relative;overflow:hidden}
.vhero>*:not(.vdeco){position:relative;z-index:1}
.vblobdeco{position:absolute;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle at 40% 40%,var(--accent-soft),transparent 70%);filter:blur(8px);animation:vblob 16s ease-in-out infinite}
.vpill{display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 12px;border-radius:40px;background:var(--surface);border:1px solid var(--line);font-family:var(--fm);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.vdot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:vpulse 2.4s ease-out infinite;flex:none}

@media (prefers-reduced-motion: no-preference){
  [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
  [data-reveal].in{opacity:1;transform:none}
}

.vblueprint{background-color:transparent;background-image:
  linear-gradient(rgba(37,64,255,.05) 1px,transparent 1px),
  linear-gradient(90deg,rgba(37,64,255,.05) 1px,transparent 1px),
  linear-gradient(rgba(37,64,255,.085) 1px,transparent 1px),
  linear-gradient(90deg,rgba(37,64,255,.085) 1px,transparent 1px);
  background-size:34px 34px,34px 34px,170px 170px,170px 170px;background-position:center}
:root[data-theme="dark"] .vblueprint{display:none}

#vintro{display:none}
:root[data-intro="on"] #vintro{display:flex}

.scard{transition:transform .3s ease,border-color .3s ease}
.scard:hover{transform:translateY(-6px);border-color:var(--ink)}
.scard:hover .sarrow{transform:translate(4px,-4px)}
.sarrow{transition:transform .3s ease}

.ccard{transition:transform .35s ease}
.ccard:hover{transform:translateY(-6px)}
.ccard:hover .cthumb{transform:scale(1.05)}
.ccard:hover .ctitle{color:var(--accent)}
.cthumb{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.ctitle{transition:color .25s ease}

.ccard.ccard-bordered:hover{transform:translateY(-5px);border-color:var(--ink)}
.ccard.ccard-bordered{transition:transform .3s ease,border-color .3s ease}

.bigcta:hover{transform:translateY(-2px)}
.bigcta{transition:transform .2s ease}

.vdotlime{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:vpulseL 2.4s ease-out infinite;flex:none}
.procflow{position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(90deg,transparent 0%,rgba(85,112,255,.95) 42%,#cdf522 58%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:procflow 3.2s linear infinite}
.procstep{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.procstep:hover{transform:translateY(-8px)}
.procnode{width:46px;height:46px;border-radius:50%;background:var(--panel);border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:14px;color:var(--lime);margin-bottom:22px;transition:transform .35s ease,background .35s ease,box-shadow .35s ease,color .35s ease,border-color .35s ease}
.procstep:hover .procnode{transform:scale(1.12);border-color:transparent;background:linear-gradient(135deg,var(--accent),#b06bff);color:#fff;box-shadow:0 0 0 6px var(--accent-soft)}
.procttl{transition:color .25s ease}
.procstep:hover .procttl{color:var(--lime)}

.vlink{position:relative}
.vlink::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--accent);transition:width .3s ease}
.vlink:hover::after{width:100%}
.vlink.is-active::after{width:100%}
.themetoggle[aria-pressed="true"]{border-color:var(--accent)!important}
.themetoggle[aria-pressed="true"] .themeknob{transform:translateX(26px)!important}
.themeknob .ic-moon{display:none}
.themetoggle[aria-pressed="true"] .ic-sun{display:none}
.themetoggle[aria-pressed="true"] .ic-moon{display:block}
.nav-cta:hover{transform:translateY(-2px)}
.menubtn{display:none}
.mobilemenu{display:none}
@media(max-width:880px){
  .navlinks{display:none!important}
  .menubtn{display:inline-flex!important}
  .nav-cta-desktop{display:none!important}
  .mobilemenu[data-open="true"]{display:flex!important}
}

.flink{transition:color .2s ease}
.flink:hover{color:var(--accent)!important}
.fmarq{display:flex;width:max-content;animation:fmarq 30s linear infinite}

.fbtn[aria-pressed="true"]{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}

.tmember:hover .tphoto{transform:scale(1.04)}
.tphoto{transition:transform .4s ease}

.vinput{width:100%;font-family:var(--fb);font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px 16px;outline:none;transition:border-color .2s ease}
.vinput::placeholder{color:var(--muted)}
.vinput:focus{border-color:var(--accent)}
.vinput.bad{border-color:var(--err)}
textarea.vinput{resize:vertical;min-height:120px;line-height:1.5}
select.vinput{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236c7077' stroke-width='1.6'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.chiprow{transition:border-color .2s,background .2s}
.chip[aria-pressed="true"]{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent)!important}
.submitbtn:hover{transform:translateY(-2px)}
.submitbtn{transition:transform .2s ease}
.consentbox{position:relative;flex:none;transition:all .2s}
.consent[aria-pressed="true"] .consentbox,
.consent input:checked + .consentbox{background:var(--accent)!important;border-color:var(--accent)!important}
.consent[aria-pressed="true"] .consentbox::after,
.consent input:checked + .consentbox::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

.codeinput{flex:1;font-family:var(--fm);font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:16px 18px;outline:none;transition:border-color .2s}
.codeinput:focus{border-color:var(--accent)}
.codeinput::placeholder{color:var(--muted);letter-spacing:.12em}

.typecard{cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.typecard:hover{transform:translateY(-3px)}
.typecard[aria-pressed="true"]{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.typecard[aria-pressed="true"] .tcicon{background:var(--accent)!important}
.typecard[aria-pressed="true"] .tcicon svg{stroke:var(--accent-ink)!important}
.seg[aria-pressed="true"]{background:var(--ink)!important;color:var(--paper)!important}
.optrow{cursor:pointer;transition:border-color .2s ease,background .2s ease}
.optrow:hover{border-color:var(--muted)}
.optrow[aria-pressed="true"]{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.optbox{position:relative;flex:none}
.optrow[aria-pressed="true"] .optbox{background:var(--accent)!important;border-color:var(--accent)!important}
.optrow[aria-pressed="true"] .optbox::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.pkgcard{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.pkgcard:hover{transform:translateY(-6px);border-color:var(--ink)}
.pkgcard[aria-pressed="true"]{border-color:var(--accent)!important;box-shadow:0 22px 60px -26px var(--accent)}
.supcard{transition:transform .25s ease,border-color .25s ease}
.supcard:hover{transform:translateY(-5px);border-color:var(--ink)}
.faqitem summary{cursor:pointer;list-style:none}
.faqitem summary::-webkit-details-marker{display:none}
.faqitem[open] .faqplus{transform:rotate(45deg)}
.faqplus{transition:transform .25s ease}

@media(max-width:880px){
  [data-calc-grid]{grid-template-columns:1fr!important}
  #calc-result{position:static!important;top:auto!important}
}

.legal p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 14px}
.legal h2{font-family:var(--fd);font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--ink);margin:38px 0 14px}
.legal ul{margin:0 0 14px;padding-left:20px;color:var(--muted);font-size:16px;line-height:1.65}
.legal li{margin-bottom:7px}

.n4link{transition:transform .2s ease}
.n4link:hover{transform:translateY(-2px)}

/* honeypot: visually removed but present for bots */
.vhp{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}

.fi-success{display:flex;align-items:center;gap:12px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:16px;padding:16px 18px;color:var(--ink);font-size:15px;line-height:1.5;margin-bottom:20px}
.fi-success:empty{display:none}
/* «Наши каналы» pills (verstaChannels) — layout is inline, only hover lives here */
.vchannel:hover{transform:scale(1.05)}
.vchannel-max:hover{border-color:#0050FF}
.vchannel-tg:hover{border-color:#27A7E7}
.fi-error{background:color-mix(in srgb,var(--err) 12%,transparent);border:1px solid var(--err);border-radius:13px;padding:12px 15px;color:var(--err);font-size:13.5px;line-height:1.45;margin-bottom:4px}
.fi-error:empty{display:none}
.fi-err{color:var(--err);font-size:12.5px;margin-top:6px}
.fi-err:empty{display:none}
#quote-summary{display:none;gap:10px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:13px;padding:13px 15px;font-size:13.5px;line-height:1.45;color:var(--ink)}
#quote-summary.show{display:flex}

/* ---- homepage reviews: equal-height aligned cards with single-line names ---- */
.home-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.home-review-card{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px}
.home-review-card > p{flex:1}
.home-review-card-dark{background:var(--panel);color:#f2f2ef;border-color:rgba(255,255,255,.09)}
.home-review-author{display:flex;align-items:center;gap:12px;min-width:0}
.home-review-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700}
.home-review-meta{min-width:0}
.home-review-name{font-weight:700;font-size:15px;white-space:nowrap}
.home-review-role{font-size:13px;color:var(--muted);white-space:nowrap}
.home-review-card-dark .home-review-role{color:rgba(255,255,255,.55)}
@media (max-width:900px){.home-reviews{grid-template-columns:1fr}}

/* ---- /status lead preview card (vlp) — public sales-presentation panel.
   Markup is built by status.js previewHTML(); frames keep the .vprev-vp /
   .vprev-zoom hooks that fitFrames() sizes. Desktop ≥1024px: browser + phone
   side by side; 768–1023px: stacked; <768px: «Десктоп/Мобайл» tabs, one
   preview at a time (default Мобайл). */
.vlp-wrap{width:min(1240px,94vw);position:relative;left:50%;transform:translateX(-50%);margin-top:6px}
.vlp-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,2.6vw,36px);box-shadow:0 34px 80px -50px rgba(0,0,0,.4)}
.vlp-head{display:flex;gap:32px;align-items:flex-start;justify-content:space-between;margin-bottom:24px}
.vlp-headl{max-width:660px;min-width:0}
.vlp-pill{font-family:var(--fm);font-size:12px;color:var(--lime-ink);background:var(--lime);display:inline-block;padding:6px 14px;border-radius:30px;margin-bottom:12px}
.vlp-title{font-family:var(--fd);font-weight:700;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;line-height:1.12;margin:0 0 10px;text-wrap:balance}
.vlp-msg{font-size:15.5px;line-height:1.6;color:var(--muted);margin:0;white-space:pre-line}
.vlp-msg b{color:var(--ink)}
.vlp-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vlp-badges span{font-family:var(--fm);font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 12px;white-space:nowrap}
.vlp-bens{list-style:none;margin:6px 0 0;padding:18px 20px;display:grid;gap:11px;min-width:240px;background:var(--surface-2);border:1px solid var(--line);border-radius:16px}
.vlp-bens li{font-size:13.5px;line-height:1.45;color:var(--muted);display:flex;gap:9px;align-items:flex-start}
.vlp-bens li::before{content:"✓";color:var(--accent);font-weight:700;flex:none}
.vlp-tabs{display:none}
.vlp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(252px,312px);gap:24px;align-items:start}
.vlp-grid.vlp-single{grid-template-columns:minmax(0,1fr)}
.vlp-pane{min-width:0}
.vlp-cap{font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.vlp-pane-phone .vlp-cap{text-align:center}
.vlp-deskhint{display:none}
.vlp-browser{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:0 28px 60px -40px rgba(0,0,0,.5)}
.vlp-chrome{display:flex;align-items:center;gap:12px;height:40px;padding:0 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.vlp-dots{display:flex;gap:7px;flex:none}
.vlp-dots i{width:11px;height:11px;border-radius:50%;display:block}
.vlp-url{flex:1;min-width:0;max-width:420px;margin:0 auto;text-align:center;font-family:var(--fm);font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vlp-chrome > b{width:40px;flex:none}
.vlp-phoneframe{box-sizing:border-box;width:min(300px,100%);margin:0 auto;border:9px solid var(--ink);border-radius:36px;overflow:hidden;background:var(--surface);box-shadow:0 22px 50px -30px rgba(0,0,0,.45)}
.vlp-notch{height:20px;background:var(--ink);display:flex;justify-content:center;align-items:flex-start}
.vlp-notch span{width:84px;height:13px;background:var(--ink);border-radius:0 0 11px 11px;display:block}
.vlp-note{margin-top:12px;font-size:12.5px;color:var(--muted);text-align:center}
.vlp-cta{margin-top:28px;border-top:1px solid var(--line);padding-top:24px;display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.vlp-ctat{font-size:13.5px;color:var(--muted);line-height:1.6;max-width:580px}
.vlp-ctat b{color:var(--ink)}
.vlp-ctat a{color:var(--accent);text-decoration:none}
.vlp-btnwrap{display:flex;flex-direction:column;gap:9px;align-items:flex-end}
.vlp-btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--fb);font-weight:700;font-size:16px;background:var(--accent);color:var(--accent-ink);padding:15px 32px;border-radius:40px;transition:transform .15s ease}
.vlp-btn:hover{transform:translateY(-1px)}
.vlp-sub{font-size:12.5px;color:var(--muted)}
@media (max-width:1023px){
  .vlp-head{flex-direction:column;gap:16px}
  .vlp-bens{min-width:0;width:100%;grid-template-columns:1fr 1fr;padding:14px 16px}
  .vlp-grid{grid-template-columns:minmax(0,1fr)}
  .vlp-pane-phone{margin-top:28px}
}
@media (max-width:767px){
  .vlp-wrap{width:100%;left:0;transform:none}
  .vlp-card{border-radius:18px;padding:18px 14px}
  .vlp-bens{display:none}
  .vlp-tabs{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px;margin:2px 0 16px}
  .vlp-tabs button{flex:1;font-family:var(--fb);font-weight:600;font-size:14px;padding:11px 8px;border:none;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}
  .vlp-tabs button.on{background:var(--accent);color:var(--accent-ink)}
  .vlp-pane{display:none}
  .vlp-pane.on{display:block}
  .vlp-pane-phone{margin-top:0}
  .vlp-deskhint{display:block;font-size:12.5px;color:var(--muted);margin:-2px 0 10px}
  .vlp-phoneframe{width:min(320px,88vw)}
  .vlp-cta{flex-direction:column;align-items:stretch;text-align:center;gap:14px}
  .vlp-ctat{max-width:none}
  .vlp-btnwrap{align-items:stretch}
  .vlp-btn{justify-content:center;padding:16px 20px}
}
/* While a lead preview is open, the /status hero must not clip the wide
   breakout card (.vhero normally clips its decorative canvas/blobs).
   Page-level overflow is still clipped by #vpage, so no scrollbar appears. */
.vhero.vlp-open{overflow:visible}
