*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
img,svg{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:820px}
.mono{font-family:var(--mono)}
.hand{font-family:var(--hand);font-weight:700}
.dim{color:var(--dim)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:12px;font-weight:700;text-decoration:none;border:0;cursor:pointer;transition:transform .15s ease,background .15s ease;color:var(--text)}
.btn:hover{transform:translateY(-1px)}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:#F0303A}
.btn-ghost{border:1px solid var(--line);color:var(--text);background:transparent}
.btn-yellow{background:#FACC15;color:var(--ink)}
.lead{margin:0;font-size:18px;line-height:1.55;color:#B7BED3;font-weight:300}
.pt0{padding-top:0!important}
.mb{margin-bottom:32px}

/* header */
header.top{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line2);background:rgba(12,20,48,.82);backdrop-filter:blur(12px)}
header.top::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ring)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{display:block;height:58px;width:auto;margin:-6px 0}
nav.main{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
nav.main a{position:relative;text-decoration:none;color:var(--soft)}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--text)}
nav.main a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--ring)}
.langs{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.langs a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;border-radius:8px;color:var(--muted);font-family:var(--mono);font-size:13px;font-weight:700;text-decoration:none}
.langs a[aria-current="true"]{background:var(--text);color:var(--ink)}
.hdr-right{display:flex;align-items:center;gap:10px}
@media (max-width:960px){nav.main{display:none}}
@media (max-width:560px){.hdr-right .btn{display:none}.logo img{height:48px}}
/* knowledge base: the article sheet */
.kb-card{cursor:pointer;text-align:left;font:inherit;color:inherit}
.kb-card .r{color:var(--acc)}
.kb-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.kb-modal[hidden]{display:none}
.kb-backdrop{position:absolute;inset:0;background:rgba(5,8,20,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s}
.kb-sheet{position:relative;width:min(760px,100%);max-height:88vh;overflow:auto;margin:0 16px;border-radius:24px 24px 0 0;padding:22px 28px 28px;background:var(--surface);border:1px solid var(--line);box-shadow:0 -30px 80px -30px rgba(0,0,0,.9);transform:translateY(40px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s}
.kb-modal.on .kb-backdrop{opacity:1}
.kb-modal.on .kb-sheet{transform:none;opacity:1}
.kb-sheet header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kb-sheet header .c{font-size:12px;color:var(--acc)}
.kb-close{all:unset;cursor:pointer;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:26px;color:var(--muted)}
.kb-close:hover{background:rgba(255,255,255,.08);color:var(--text)}
.kb-close:focus-visible{outline:2px solid var(--acc)}
.kb-sheet h3{margin:6px 0 14px;font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.kb-body p{margin:0 0 12px;font-size:16px;line-height:1.6;color:var(--soft)}
.kb-note{margin:16px 0 0;font-size:12px;color:var(--muted)}
.kb-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.kb-close-btn{margin-left:auto}
body.kb-open{overflow:hidden}
@media (min-width:761px){.kb-modal{align-items:center}.kb-sheet{border-radius:24px;margin:24px}}

/* phones: the language switch leaves the header and lives at the bottom of the burger sheet */
.catmenu-langs{display:none}
@media (max-width:760px){.hdr-right .langs{display:none}.catmenu-langs{display:flex;justify-content:center;padding-top:6px}}

/* decorations */
.deco{position:absolute;inset:0;pointer-events:none}
.deco > *{position:absolute}
.dots{top:0;bottom:-40px;left:-600px;right:-600px;background-image:radial-gradient(#26315E 1.2px,transparent 1.3px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 50% 60% at 50% 40%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 50% 60% at 50% 40%,#000 10%,transparent 75%)}
@keyframes fl{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-16px) rotate(calc(var(--r,0deg) + 5deg))}}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes steam{0%{opacity:0;transform:translateY(4px)}50%{opacity:1}100%{opacity:0;transform:translateY(-8px)}}
.fl{animation:fl 8s ease-in-out infinite;transform:rotate(var(--r,0deg))}
.slow{animation-duration:12s}.d2{animation-delay:-3s}.d3{animation-delay:-6s}
.glowline{filter:drop-shadow(0 0 10px rgba(143,166,255,.35))}
.caret{display:inline-block;width:9px;height:18px;background:var(--acc);vertical-align:-3px;margin-left:6px;animation:blink 1.1s steps(1) infinite}
.steam{animation:steam 2.6s ease-in-out infinite}
.sticky{background:var(--sticky);color:var(--sticky-ink);font-family:var(--hand);font-weight:700;line-height:1.1;box-shadow:0 18px 30px -14px rgba(0,0,0,.8);border-radius:2px 2px 16px 2px}
@media (max-width:1200px){.hide-md{display:none!important}}
@media (max-width:760px){.hide-sm{display:none!important}}

/* reveal on scroll */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease var(--d,0s),transform .8s cubic-bezier(.2,.8,.2,1) var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fl,.caret,.steam{animation:none}.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

section.blk{padding:96px 0}
.h2{margin:0;font-weight:800;font-size:clamp(34px,4.6vw,66px);letter-spacing:-.045em;line-height:1}
.h2-s{font-size:clamp(32px,4vw,54px)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}
.sec-intro{display:flex;flex-direction:column;gap:14px;max-width:700px}

/* footer */
footer.ft{padding:56px 0 48px;color:var(--muted);font-size:14px}
footer.ft .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-start}
footer.ft .logo img{height:66px;margin:-8px 0 -4px -10px}
.ft-brand{display:flex;flex-direction:column;gap:12px;max-width:520px}
.ft-brand .legal{font-size:12px;color:var(--dim)}
.ft-links{display:flex;flex-direction:column;gap:10px}
.ft-links a{text-decoration:none}
.ft-links a:hover{color:var(--text)}

/* floating WhatsApp: phones only, where the header button is hidden */
.wa-float{display:none;position:fixed;right:16px;bottom:16px;z-index:30;align-items:center;gap:10px;min-height:56px;padding:0 20px 0 16px;border-radius:999px;background:#25D366;color:#06210F;font-weight:800;text-decoration:none;box-shadow:0 16px 30px -10px rgba(0,0,0,.6)}
@media (max-width:560px){.wa-float{display:flex}}

/* owner mockup switches */
.mock-tools{position:fixed;right:12px;top:96px;z-index:25;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border-radius:10px;background:rgba(12,20,48,.9);border:1px solid var(--line);font:600 11px/1 var(--mono);color:var(--muted);max-width:calc(100vw - 120px)}
.mock-tools span{opacity:.6;margin:0 2px 0 6px}
.mock-tools a{padding:6px 7px;border-radius:6px;text-decoration:none;color:var(--soft)}
.mock-tools a[aria-current="true"]{background:var(--text);color:var(--ink)}
@media (max-width:560px){.mock-tools{display:none}}

/* ===== category menu: dropdown under "Услуги" on desktop, full sheet behind the burger on phones ===== */
.navbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--soft);font:inherit;padding:6px 0}
.navbtn:hover,.navbtn[aria-expanded="true"]{color:var(--text)}
.navbtn svg{transition:transform .25s}
.navbtn[aria-expanded="true"] svg{transform:rotate(180deg)}
.navbtn:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform .25s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:960px){.burger{display:flex}}
.catmenu{position:fixed;left:0;right:0;top:83px;z-index:30;background:#0E1736;border-bottom:1px solid var(--line);box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.catmenu-in{max-width:1240px;margin:0 auto;padding:18px 24px 22px;display:grid;grid-template-columns:1fr;gap:16px}
.catmenu-search{position:relative;max-width:560px}
.catmenu-search .box{display:flex;align-items:center;gap:12px;height:50px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}
.catmenu-search .box:focus-within{border-color:var(--acc)}
.catmenu-search input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text);font-size:16px}
.catmenu-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.cres{display:none;flex-direction:column;gap:2px;margin-top:8px;padding:6px;border-radius:12px;border:1px solid var(--line);background:#111A3A}
.cres.on{display:flex}
.cres a{display:flex;gap:10px;align-items:baseline;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--text);font-size:15px}
.cres a:hover,.cres a:focus-visible{background:var(--surface2)}
.cres a b{font-family:var(--mono);font-weight:500;font-size:12px;color:var(--acc);min-width:30px}
.cres mark{background:rgba(142,168,255,.25);color:inherit;border-radius:3px;padding:0 2px}
.catlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.catlist a{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 12px;border-radius:12px;text-decoration:none;color:var(--text);border:1px solid transparent}
.catlist a:hover,.catlist a:focus-visible{background:var(--surface);border-color:var(--line)}
.catlist a .ico{color:var(--acc);flex:none}
.catlist a .cn{flex:1;font-weight:600;font-size:15px}
.catlist a .cc{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
.catlist a.hi{background:var(--cream);color:var(--ink)}
.catlist a.hi .ico{color:var(--blue)}
.catlist a.hi .cc{color:var(--ink);border-color:rgba(12,20,48,.3)}
.catmenu-foot{display:flex;flex-wrap:wrap;gap:10px}
@media (min-width:961px){.catmenu-foot{display:none}}
@media (max-width:960px){
  .catmenu{top:0;bottom:0;overflow:auto;padding-top:76px;border:0;z-index:19}
  .catmenu-in{padding:12px 16px 40px}
  .catlist{grid-template-columns:1fr;gap:4px}
  .catlist a{min-height:56px}
  .catmenu-foot .btn{flex:1 1 200px}
  body.menu-open{overflow:hidden}
}

/* hero: quick picks under the search and the trust line under the buttons */
.hchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;justify-content:center}
.hchip{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(17,26,58,.6);color:var(--soft);font-size:14px;font-weight:600;cursor:pointer}
.hchip:hover{border-color:var(--acc);color:var(--text)}
.trust{list-style:none;margin:28px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;color:var(--muted);font-size:15px}
.trust li{display:inline-flex;align-items:center;gap:8px}
.trust svg{color:#25D366;flex:none}
@media (max-width:560px){.trust{flex-direction:column;align-items:flex-start;gap:8px;margin:22px auto 0;width:max-content;max-width:100%;font-size:14px}.trust li{align-items:flex-start}.trust svg{margin-top:3px}}

/* phones: WhatsApp lives in the header as a green round button; nothing floats over the content but the basket */
.wa-top{display:none;width:44px;height:44px;border-radius:50%;background:#25D366;color:#06210F;align-items:center;justify-content:center;text-decoration:none;flex:none}
@media (max-width:560px){.wa-top{display:inline-flex}}
.wa-float{display:none}

/* glass floating arrows for swipeable rows */
[data-carousel]{position:relative}
.carr{display:none;position:absolute;top:50%;z-index:3;width:40px;height:40px;transform:translateY(-50%);animation:arrfloat 4s ease-in-out infinite;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(17,26,58,.55);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 24px -10px rgba(0,0,0,.8);cursor:pointer;align-items:center;justify-content:center;transition:opacity .2s,transform .2s}
.carr.prev{left:-6px}.carr.next{right:-6px}
.carr:active{transform:translateY(-50%) scale(.94)}
@keyframes arrfloat{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 4px))}}
[data-carousel].no-scroll .carr{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.carr{animation:none}}
@media (max-width:760px){.carr{display:inline-flex}}

/* ===== the assistant as a chat widget ===== */
.chat-fab{position:fixed;right:32px;bottom:32px;z-index:40;width:58px;height:58px;border-radius:50%;border:0;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 18px 36px -12px rgba(229,32,43,.7);transition:transform .2s}
.chat-fab:hover{transform:translateY(-2px)}
.chat-fab[aria-expanded="true"]{transform:scale(.9)}
.chat-fab-dot{position:absolute;right:4px;top:4px;width:12px;height:12px;border-radius:50%;background:#25D366;border:2px solid var(--bg)}
.chat{position:fixed;right:18px;bottom:88px;z-index:41;width:min(420px,calc(100vw - 36px));height:min(640px,calc(100vh - 110px));display:flex;flex-direction:column;border-radius:22px;background:#0E1736;border:1px solid var(--line);box-shadow:0 40px 90px -30px rgba(0,0,0,.9);overflow:hidden;animation:chatin .25s ease}
.chat[hidden]{display:none}
@keyframes chatin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.chat-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;border-bottom:1px solid var(--line2);background:var(--surface)}
.chat-avatar{width:36px;height:36px;border-radius:50%;background:var(--paper2);display:inline-flex;align-items:center;justify-content:center;flex:none}
.chat-title{flex:1;display:flex;flex-direction:column;font-weight:700;font-size:15px;line-height:1.2}
.chat-title small{font-weight:500;font-size:12px;color:#25D366}
.chat-clear{font-size:12px;padding:6px}
.chat-close{all:unset;cursor:pointer;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:24px;color:var(--muted)}
.chat-close:hover{background:var(--surface2);color:var(--text)}
.chat-log{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.chat-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 12px 0;scrollbar-width:none}
.chat-chips::-webkit-scrollbar{display:none}
.chat-chips .hchip{flex:none;min-height:32px;font-size:13px;padding:0 12px}
.chat-form{padding:8px 12px 12px;position:relative}
.chat-form .bot-suggest{position:absolute;left:12px;right:12px;bottom:calc(100% - 4px);padding:8px;border-radius:12px;background:#111A3A;border:1px solid var(--line);box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}
.chat-row{display:flex;gap:8px;align-items:center;min-height:50px;padding:0 6px 0 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}
.chat-row:focus-within{border-color:var(--acc)}
.chat-row input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text);font-size:16px}
.chat-send{flex:none;width:40px;height:40px;border-radius:11px;border:0;background:var(--coral);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:760px){
  .chat{left:0;right:0;bottom:0;width:auto;height:min(88vh,100dvh - 60px);border-radius:22px 22px 0 0;border-bottom:0}
  .chat-fab{right:20px;bottom:20px;width:54px;height:54px}
  body.chat-open{overflow:hidden}
  .cart{left:14px;bottom:14px;transform:none}
}
@media (min-width:761px){.cart{left:24px;transform:none}.cart[hidden],.cart.away{transform:translateY(80px)}}

/* ===== shared: service rows with +, chat bubbles, predictions (moved from the landing) ===== */
@keyframes listin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.svc{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 10px;border-radius:12px;min-height:52px;transition:background .2s}
.svc:hover{background:rgba(142,168,255,.08)}
.svc .n{color:var(--acc);font-size:13px;min-width:28px}
.svc .t{flex:1;font-size:15px;line-height:1.35}
.svc .t small{display:inline-block;margin-left:6px;font-size:11px;color:var(--dim)}
.svc.in{background:rgba(37,211,102,.1)}
.svc.flash{animation:flash 1.6s ease}
@keyframes flash{0%,60%{box-shadow:inset 0 0 0 2px var(--acc)}100%{box-shadow:none}}
.add{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--acc);background:transparent;color:var(--acc);cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s}
.add:hover{transform:scale(1.08);background:rgba(142,168,255,.15)}
.add .tick{display:none}
.add[aria-pressed="true"]{background:#25D366;border-color:#25D366;color:#06210F}
.add[aria-pressed="true"] .plus{display:none}
.add[aria-pressed="true"] .tick{display:block}
.add.pop{animation:pop .35s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}

.bubble{max-width:100%;border-radius:18px;padding:12px 16px;font-size:15px;line-height:1.5;animation:listin .3s ease}
.bubble.you{align-self:flex-end;background:var(--text);color:var(--ink);border-bottom-right-radius:6px;font-weight:600}
.bubble.bot{align-self:stretch;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px;display:flex;flex-direction:column;gap:12px}
.bubble .who{font-family:var(--mono);font-size:11px;color:var(--acc);letter-spacing:.08em;text-transform:uppercase}
.bubble h3{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.bubble p{margin:0;color:#C9D0E2}
.bubble .lbl{font-size:12px;font-weight:600;color:var(--muted)}
.bubble .svcs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.bubble .svc{padding:6px 2px 6px 6px;min-height:46px;border-radius:10px}
.bubble .svc .t a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--dim)}
.bubble .svc .t a:hover{color:var(--acc);border-color:var(--acc)}
.bubble .svc .w{font-family:var(--mono);font-size:11px;color:var(--dim);margin-left:8px}
.bubble .acts{display:flex;flex-wrap:wrap;gap:8px}
.bubble .acts .btn{min-height:42px;padding:0 16px;font-size:14px}
.bubble .crumbs{display:flex;flex-wrap:wrap;gap:6px}
.crumb{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--soft);font-size:13px;font-weight:600;cursor:pointer}
.crumb:hover{border-color:var(--acc);color:var(--text)}
.bot-clear{margin-top:6px;font-size:13px}
@media (max-width:760px){.bubble{padding:12px 12px}.bubble h3{font-size:18px}}

.bot-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bot-suggest[hidden]{display:none}
.sug{min-height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#111A3A;color:var(--text);font-size:14px;cursor:pointer;text-align:left}
.sug:hover{border-color:var(--acc)}
.sug[data-kind="service"]{color:var(--soft)}
.sug[data-kind="service"]::before{content:"№ ";color:var(--acc);font-family:var(--mono);font-size:12px}
/* the assistant is typing */
.typing{display:inline-flex;gap:5px;padding:4px 2px}
.typing i{width:8px;height:8px;border-radius:50%;background:var(--acc);opacity:.4;animation:typing 1s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
