:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0;font:14px system-ui,sans-serif}img{max-width:100%}[hidden]{display:none!important}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}

/* Layout: centered stack. Nav, then hero (badge, serif headline, buttons) with a live service console beneath it, then centered section heads over card grids. */
:root{
  --bg:#000000;
  --card:#050607;
  --fg:#ffffff;
  --muted:#b3b3b3;
  --steel:#808080;
  --graphite:#333333;
  --violet:#9984d8;
  --mint:#3fcb7f;
  --bone:#e8eaee;
  --line:rgba(128,128,128,.28);
  --line-2:rgba(128,128,128,.55);
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:'Cormorant Garamond','EB Garamond','PT Serif',Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:dark;
}

/* ---------- Base ---------- */
html{scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font:400 16px/1.55 var(--sans);letter-spacing:-.015em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;
}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.wrap{
  width:100%;max-width:1200px;margin-inline:auto;
  padding-left:max(clamp(20px,5vw,40px),env(safe-area-inset-left,0px));
  padding-right:max(clamp(20px,5vw,40px),env(safe-area-inset-right,0px));
}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.display{font-family:var(--serif);font-weight:500;letter-spacing:-.012em}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:6px;border:1px solid transparent;
  font:500 15px/1 var(--sans);letter-spacing:-.02em;text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background .2s,border-color .2s,color .2s,opacity .2s;
}
.btn .ico{width:16px;height:16px}
.btn--solid{background:var(--fg);color:#000}
.btn--solid:hover{background:var(--bone)}
.btn--line{background:transparent;color:var(--fg);border-color:var(--line-2)}
.btn--line:hover{border-color:var(--fg)}
.btn--sm{height:36px;padding:0 16px;font-size:14px}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
.link{color:var(--muted);text-decoration:none;font-size:14px;transition:color .2s}
.link:hover{color:var(--fg);text-decoration:underline}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;transition:background .3s}
.site-header[data-stuck]{background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}
.logo svg{width:26px;height:26px;display:block}
.nav{display:none;gap:28px}
.nav a{color:var(--muted);text-decoration:none;font-size:14px;transition:color .2s}
.nav a:hover{color:var(--fg)}
.bar-cta{display:flex;align-items:center;gap:20px}
.bar-cta .link{display:none;white-space:nowrap}
@media (max-width:859.98px){
  .bar-cta .link{display:flex;order:-1;font-size:14px}
}
@media (min-width:900px){
  .bar{display:grid;grid-template-columns:1fr auto 1fr}
  .nav{display:flex;justify-self:center}
  .bar-cta{justify-self:end}
}
@media (min-width:860px) and (max-width:1039.98px){.bar-cta .link{display:inline;font-size:13.5px}}
@media (min-width:1040px){.bar-cta .link{display:inline;font-size:14px}}

/* ---------- Hero ---------- */
.hero{padding-block:clamp(40px,7vw,96px) clamp(40px,6vw,80px);text-align:center}
.badge{
  display:inline-flex;align-items:center;gap:10px;max-width:100%;
  padding:6px 14px;border:1px solid var(--line-2);border-radius:999px;
  font:500 13px/1.35 var(--sans);letter-spacing:-.01em;
}
.live{position:relative;width:8px;height:8px;border-radius:50%;background:var(--mint);flex:none}
.hero h1{margin:30px auto 0;max-width:15ch;font-size:clamp(3.1rem,8.2vw,5.75rem);line-height:.98;text-wrap:balance}
.lead{margin:26px auto 0;max-width:54ch;color:var(--muted);font-size:clamp(1.0625rem,.9vw + .85rem,1.25rem);line-height:1.5;text-wrap:pretty}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}
.trust{margin:22px auto 0;max-width:60ch;color:var(--steel);font-size:13px}

/* ---------- Live console ---------- */
.console{max-width:1100px;margin:clamp(44px,6vw,72px) auto 0;border:1px solid var(--line);border-radius:16px;background:var(--card);text-align:left;overflow:hidden}
.c-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 20px}
.live-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500}
.c-title{color:var(--muted);font-size:13px}
.c-note{margin-left:auto;color:var(--steel);font-size:12px}
.c-body{display:grid}
.c-body>*{border-top:1px solid var(--line);min-width:0}
.c-map{order:-1;padding:20px}
.c-feed{padding:20px}
.c-metrics{display:grid}
.m{padding:20px;min-width:0}
.m+.m{border-top:1px solid var(--line)}
.m-label{color:var(--muted);font-size:13px}
.m-val{margin-top:6px;font-size:clamp(1.9rem,3vw,2.3rem);font-weight:600;letter-spacing:-.045em;line-height:1.1;font-variant-numeric:tabular-nums}
.m-delta{margin-top:4px;color:var(--mint);font-size:12.5px;font-variant-numeric:tabular-nums}
.m-note{margin-top:4px;color:var(--steel);font-size:12.5px}
.spark-wrap{position:relative;margin-top:12px}
.spark{display:block;width:100%;height:36px;overflow:visible}

.spark .ln{fill:none;stroke:var(--violet);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.spark-dot{position:absolute;right:-3px;top:calc(25% - 3px);width:6px;height:6px;border-radius:50%;background:var(--mint)}
@media (min-width:640px) and (max-width:999px){
  .c-metrics{grid-template-columns:repeat(3,1fr)}
  .m+.m{border-top:0;border-left:1px solid var(--line)}
}
@media (min-width:1000px){
  .c-body{grid-template-columns:240px minmax(0,1fr) 320px;border-top:1px solid var(--line)}
  .c-body>*{border-top:0}
  .c-body>*+*{border-left:1px solid var(--line)}
  .c-map{order:0}
}

.topo{display:block;width:100%;max-width:440px;height:auto;margin-inline:auto}
.topo text{font:500 11.5px var(--sans);fill:var(--muted);text-anchor:middle;letter-spacing:-.01em}
.topo .links line{stroke:var(--line-2);stroke-width:1;opacity:.55}
.topo .packet{fill:var(--violet)}
.topo .ico{stroke:var(--fg);stroke-width:1.5}
.hub .body{fill:var(--bg);stroke:var(--line-2);stroke-width:1.2}
.hub .orbit{fill:none;stroke:var(--violet);stroke-width:1;stroke-dasharray:2 6;stroke-linecap:round;opacity:.8;transform-box:fill-box;transform-origin:center}
.node .body{fill:var(--bg);stroke:var(--line-2);stroke-width:1.2;transition:stroke .3s}
.node .dot{fill:var(--mint);stroke:var(--bg);stroke-width:2;transition:fill .3s}
.node .pulse{fill:none;stroke:var(--fg);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center}
.node[data-state="issue"] .body{stroke:var(--fg)}
.node[data-state="issue"] .dot{fill:var(--bg);stroke:var(--fg);stroke-width:1.5}
.node[data-state="fixed"] .body{stroke:var(--mint)}

.c-feed-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;font-size:13px}
.c-feed-head span:first-child{font-weight:500}
.c-feed-head span:last-child{color:var(--steel);font-size:12px;font-variant-numeric:tabular-nums}
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-height:288px}
.t{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:6px}
.t-ico{position:relative;width:16px;height:16px;margin-top:2px}
.t-ico::before{content:"";position:absolute;inset:1px;border-radius:50%;border:1.5px solid var(--steel)}
.t-ico svg{position:absolute;inset:0;display:none;fill:none;stroke:var(--mint);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t[data-state="work"] .t-ico::before{border-color:var(--violet);border-top-color:transparent}
.t[data-state="done"] .t-ico::before{display:none}
.t[data-state="done"] .t-ico svg{display:block}
.t-title{font-size:14px;font-weight:500;line-height:1.3;letter-spacing:-.02em}
.t-meta{display:flex;justify-content:space-between;gap:12px;margin-top:3px;color:var(--muted);font-size:12.5px}
.t-status{font-weight:500;white-space:nowrap}
.t[data-state="work"] .t-status{color:var(--violet)}
.t[data-state="done"] .t-status{color:var(--mint)}

/* ---------- Sections ---------- */
.section{padding-block:clamp(72px,10vw,128px)}
.head{max-width:720px;margin-inline:auto;text-align:center}
.section h2{margin:0;font-size:clamp(2.5rem,5.4vw,3.75rem);line-height:1;text-wrap:balance}
.sub{margin:20px auto 0;max-width:56ch;color:var(--muted);text-wrap:pretty}
.grid{display:grid;gap:16px;margin-top:clamp(40px,5vw,64px)}
@media (min-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.card{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--card);transition:border-color .25s}
.card:hover{border-color:var(--line-2)}
.card .ico{width:20px;height:20px;color:var(--steel);transition:color .25s}
.card:hover .ico{color:var(--fg)}
.card h3{margin:22px 0 8px;font-size:1.125rem;font-weight:600;letter-spacing:-.03em;line-height:1.3}
.card p{margin:0;color:var(--muted);font-size:.95rem}
.meta{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);color:var(--steel);font-size:13px}

.steps{display:grid;gap:36px;margin-top:clamp(40px,5vw,64px)}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.step{padding-top:24px;border-top:1px solid var(--line-2)}
.step .n{font-family:var(--serif);font-weight:500;font-size:3.5rem;line-height:1;color:var(--steel)}
.step h3{margin:20px 0 8px;font-size:1.125rem;font-weight:600;letter-spacing:-.03em}
.step p{margin:0;color:var(--muted);font-size:.95rem;max-width:34ch}

.box{border:1px solid var(--line);border-radius:16px;background:var(--card)}

/* ---------- Forms ---------- */
.input{
  width:100%;height:48px;padding:0 14px;border-radius:6px;border:1px solid var(--line-2);
  background:var(--bg);color:var(--fg);font:400 16px/1 var(--sans);letter-spacing:-.01em;
  transition:border-color .2s;
}
.input::placeholder{color:var(--steel)}
.input:focus{outline:1px solid var(--violet);outline-offset:0;border-color:var(--violet)}
.lead-form{display:grid;gap:10px}
.lead-form .btn{width:100%;margin-top:4px}
.done{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:1.0625rem;line-height:1.4}
.done .ico{width:22px;height:22px;margin-top:1px;color:var(--mint);stroke-width:1.8}
.fine{margin:14px 0 0;color:var(--steel);font-size:12px}

/* ---------- Calculator ---------- */
.calc-grid{display:grid;gap:16px;margin-top:clamp(40px,5vw,64px);align-items:start}
@media (min-width:960px){
  .calc-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .result{position:sticky;top:88px}
}
.calc-form{padding:4px clamp(20px,3vw,32px)}
.field{padding:26px 0;border-top:1px solid var(--line)}
.field:first-child{border-top:0}
.field-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.field-head label,.field-head .lbl{font-weight:500;font-size:1rem;letter-spacing:-.02em}
.big{font-size:clamp(2rem,4vw,2.5rem);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.hint{margin:10px 0 0;color:var(--steel);font-size:13px}
.ticks{display:flex;justify-content:space-between;color:var(--steel);font-size:12px;font-variant-numeric:tabular-nums}

input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:28px;margin:12px 0 0;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--fg) var(--p,0%),var(--graphite) var(--p,0%))}
input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--graphite)}
input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--fg)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--fg);border:0}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--fg);border:0}

.opts,.seg{display:grid;gap:10px;margin-top:16px}
@media (min-width:560px){.seg{grid-template-columns:1fr 1fr}}
.opt,.seg button{
  display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 16px;
  border:1px solid var(--line-2);border-radius:6px;background:transparent;color:var(--fg);
  font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s;
}
.opt:hover,.seg button:hover{border-color:var(--fg)}
.opt:has(input:checked),.seg button[aria-pressed="true"]{border-color:var(--fg);background:rgba(255,255,255,.04)}
.t1{display:block;font-weight:500;line-height:1.3;letter-spacing:-.02em}
.opt small,.seg small{display:block;margin-top:2px;color:var(--muted);font-size:12.5px;line-height:1.4}
.seg button{display:block}
.switch{-webkit-appearance:none;appearance:none;position:relative;width:42px;height:24px;flex:none;margin:0;border-radius:999px;background:var(--graphite);cursor:pointer;transition:background .25s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--steel);transition:transform .3s var(--ease),background .25s}
.switch:checked{background:var(--fg)}
.switch:checked::after{transform:translateX(18px);background:#000}

.result{padding:28px clamp(20px,3vw,32px) 28px}
.plan{display:inline-block;padding:6px 14px;border:1px solid var(--line-2);border-radius:999px;font:500 13px/1.35 var(--sans);letter-spacing:-.01em}
.total{margin:22px 0 0;font-size:clamp(2.6rem,5.5vw,3.6rem);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums;word-break:break-word}
.per{margin:10px 0 0;color:var(--muted);font-size:13px}
.lines{list-style:none;margin:24px 0 0;padding:0}
.lines li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line);font-size:.92rem}
.lines li span:first-child{color:var(--muted)}
.lines li span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.lead-wrap{margin-top:24px;padding-top:24px;border-top:1px solid var(--line-2)}
.note{margin:16px 0 0;color:var(--steel);font-size:12px;line-height:1.55}

/* ---------- Audit ---------- */
.audit-box{max-width:880px;margin-inline:auto;padding:clamp(36px,6vw,72px) clamp(20px,5vw,64px);text-align:center}
.audit-form{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
.audit-form .input{flex:1 1 200px;max-width:260px}
.audit-form .btn{flex:0 0 auto}
.audit-box .done{justify-content:center;margin-top:32px;text-align:left}
.audit-box .fine{margin-top:18px}

/* ---------- FAQ ---------- */
.faq{max-width:780px;margin:clamp(40px,5vw,56px) auto 0;border-top:1px solid var(--line-2)}
details{border-bottom:1px solid var(--line)}
summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 0;cursor:pointer;list-style:none;font-weight:500;font-size:1.0625rem;letter-spacing:-.025em;line-height:1.35;
}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--muted)}
.plus{position:relative;width:20px;height:20px;flex:none;transition:transform .4s var(--ease)}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.6px;margin:-.8px 0 0 -7px;border-radius:2px;background:var(--fg)}
.plus::after{transform:rotate(90deg)}
details[open] .plus{transform:rotate(135deg)}
.ans{margin:0;padding:0 0 24px;max-width:62ch;color:var(--muted)}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  details::details-content{block-size:0;overflow:clip;transition:block-size .4s var(--ease),content-visibility .4s allow-discrete}
  details[open]::details-content{block-size:auto}
}

/* ---------- Footer ---------- */
.site-footer{padding-block:clamp(48px,6vw,72px) 36px;border-top:1px solid var(--line)}
.foot-grid{display:grid;gap:36px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-brand{grid-column:1/-1}
.foot-brand p{margin:14px 0 0;max-width:34ch;color:var(--muted);font-size:.95rem}
.foot-col h4{margin:0 0 14px;color:var(--steel);font-size:13px;font-weight:500;letter-spacing:-.01em}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-col a,.foot-col span{color:var(--fg);text-decoration:none;font-size:.95rem}
.foot-col a:hover{text-decoration:underline}
@media (min-width:860px){
  .foot-grid{grid-template-columns:1.6fr repeat(3,minmax(0,1fr))}
  .foot-brand{grid-column:auto}
}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:clamp(40px,5vw,64px);padding-top:22px;border-top:1px solid var(--line);color:var(--steel);font-size:13px}
.foot-bottom a{text-decoration:none}
.foot-bottom a:hover{color:var(--fg)}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .9s var(--ease) both;animation-delay:calc(var(--d,0) * 90ms)}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}}

  .live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--mint);animation:ring 2.2s ease-out infinite}
  @keyframes ring{from{opacity:.8;transform:scale(.55)}to{opacity:0;transform:scale(1.5)}}

  .hub .orbit{animation:spin 60s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  .node[data-state="issue"] .pulse{animation:ping 1.3s ease-out infinite}
  @keyframes ping{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}

  .t.enter{animation:tin .55s var(--ease)}
  @keyframes tin{from{opacity:0;transform:translateY(-10px)}}
  .t[data-state="work"] .t-ico::before{animation:spin .9s linear infinite}

  .spark{clip-path:inset(-4px 100% -4px 0);animation:reveal 1.8s .5s var(--ease) forwards}
  @keyframes reveal{to{clip-path:inset(-4px -4px -4px 0)}}
  .spark-dot{animation:fade .5s 2s both}
  @keyframes fade{from{opacity:0}}
  .bump{animation:bump .6s var(--ease)}
  @keyframes bump{40%{color:var(--mint)}}
}
@media (prefers-reduced-motion:reduce){.topo .packet{display:none}}

/* --- Шапка: телефон для связи виден на мобильных --- */
@media (max-width:1039.98px){
  .bar-cta{gap:12px}
  .bar-cta .link{display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;
    color:var(--fg);text-decoration:none;white-space:nowrap;letter-spacing:-.01em}
  .bar-cta .link:hover{color:var(--mint)}
}
@media (max-width:519.98px){
  .bar-cta .btn{display:none}
  .bar-cta .link{font-size:14px}
}

/* ---------- Подвал: длинные контакты не вылезают за край ---------- */
.foot-col li{max-width:100%}
.foot-col li a{overflow-wrap:anywhere}
