  @font-face { font-family:Unbounded; font-weight:700; font-display:swap; src:url(/fonts/unbounded-cyrillic-700.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
  @font-face { font-family:Unbounded; font-weight:700; font-display:swap; src:url(/fonts/unbounded-latin-700.woff2) format("woff2"); unicode-range:U+0000-00FF,U+2000-206F,U+20BD; }
  @font-face { font-family:Unbounded; font-weight:600; font-display:swap; src:url(/fonts/unbounded-cyrillic-600.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
  @font-face { font-family:Unbounded; font-weight:600; font-display:swap; src:url(/fonts/unbounded-latin-600.woff2) format("woff2"); unicode-range:U+0000-00FF,U+2000-206F,U+20BD; }
  @font-face { font-family:Golos; font-weight:400; font-display:swap; src:url(/fonts/golos-text-cyrillic-400.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
  @font-face { font-family:Golos; font-weight:400; font-display:swap; src:url(/fonts/golos-text-latin-400.woff2) format("woff2"); unicode-range:U+0000-00FF,U+2000-206F,U+20BD; }
  @font-face { font-family:Golos; font-weight:500; font-display:swap; src:url(/fonts/golos-text-cyrillic-500.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
  @font-face { font-family:Golos; font-weight:500; font-display:swap; src:url(/fonts/golos-text-latin-500.woff2) format("woff2"); unicode-range:U+0000-00FF,U+2000-206F,U+20BD; }
  @font-face { font-family:Golos; font-weight:600; font-display:swap; src:url(/fonts/golos-text-cyrillic-600.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
  @font-face { font-family:Golos; font-weight:600; font-display:swap; src:url(/fonts/golos-text-latin-600.woff2) format("woff2"); unicode-range:U+0000-00FF,U+2000-206F,U+20BD; }

  :root {
    --bg:#0B0D12; --bg-2:#11141B; --bg-3:#171B24; --line:#252B37;
    --fg:#F2F3F5; --muted:#A3A9B4; --accent:#8FBAFF; --accent-deep:#6EA2FF;
    --display:Unbounded, Golos, sans-serif; --text:Golos, system-ui, sans-serif;
    --ease:cubic-bezier(.16,1,.3,1); --pad:clamp(1rem,5vw,4.5rem);
  }
  * { box-sizing:border-box; margin:0; }
  html { background:var(--bg); scrollbar-color:#343B49 var(--bg); scroll-behavior:smooth; }
  @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
  body { font-family:var(--text); color:var(--fg); background:var(--bg); -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums; line-height:1.55; }
  ::selection { background:var(--accent); color:var(--bg); }
  a { color:inherit; text-underline-offset:.22em; text-decoration-thickness:1px; }
  :focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }
  svg { display:block; }

  h1, h2, h3 { font-family:var(--display); font-weight:700; letter-spacing:-.03em; line-height:1.06; text-wrap:balance; }
  h2 { font-size:clamp(1.8rem,3.6vw,3.2rem); max-width:22ch; }
  h3 { font-size:1.15rem; letter-spacing:-.015em; line-height:1.2; }
  .section { padding:clamp(4rem,9vw,8rem) var(--pad) 0; }
  .section > p.sub { margin-top:1rem; color:var(--muted); font-size:1.1rem; max-width:58ch; }

  /* Кнопки */
  .btn { display:inline-flex; align-items:center; gap:.6rem; padding:1rem 1.6rem; border-radius:999px; font:700 1rem/1 var(--text);
         text-decoration:none; cursor:pointer; border:1px solid transparent; transition:transform .2s var(--ease), background-color .2s; }
  .btn svg { width:1.15em; height:1.15em; flex:none; }
  .btn--main { background:var(--fg); color:var(--bg); }
  .btn--main:hover { transform:translateY(-2px); }
  .btn--ghost { border-color:#3A4252; color:var(--fg); background:transparent; }
  .btn--ghost:hover { background:var(--bg-3); }
  .btn--small { padding:.7rem 1.1rem; font-size:.92rem; }

  /* Шапка */
  .top { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:1rem;
         padding:.9rem var(--pad); background:rgba(11,13,18,.9); border-bottom:1px solid var(--line); }
  .mark { font-family:var(--display); font-weight:700; font-size:1.05rem; letter-spacing:-.02em; text-decoration:none; display:flex; align-items:center; gap:.6rem; }
  .mark i { width:.6rem; height:.6rem; border-radius:50%; background:var(--accent); }
  .top nav { display:flex; align-items:center; gap:1.5rem; font-weight:500; font-size:.95rem; }
  .top nav a:not(.btn) { text-decoration:none; color:var(--muted); }
  .top nav a:not(.btn):hover { color:var(--fg); }

  /* Первый экран */
  .hero { position:relative; min-height:calc(100svh - 4rem); display:flex; align-items:center; padding:clamp(2rem,5vw,4rem) var(--pad); overflow:hidden;
          background:radial-gradient(60rem 40rem at 75% 50%, #16203a 0%, transparent 70%); }
  .hero canvas { position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:pan-y; }
  .hero .copy { position:relative; z-index:1; max-width:40rem; pointer-events:none; }
  .hero .copy a { pointer-events:auto; }
  .hero h1 { font-size:clamp(1.8rem,4.3vw,3.95rem); letter-spacing:-.035em; line-height:1.03; }
  .hero .lead { margin-top:1.5rem; color:var(--muted); font-size:clamp(1.05rem,1.4vw,1.2rem); max-width:36rem; }
  .hero .actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
  .facts { display:flex; flex-wrap:wrap; gap:.5rem 1.6rem; margin-top:2.2rem; padding:0; list-style:none; color:var(--muted); font-size:.95rem; }
  .facts b { color:var(--fg); font-weight:600; }

  /* Боли */
  .pains { margin-top:3rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; border-top:1px solid var(--line); list-style:none; padding:0; }
  .pains li { padding:1.6rem 0; border-bottom:1px solid var(--line); font-size:1.15rem; font-weight:500; }
  .pains li span { display:block; margin-top:.4rem; color:var(--muted); font-size:1rem; font-weight:400; max-width:34rem; }
  .answer { margin-top:2.5rem; font-family:var(--display); font-weight:600; font-size:clamp(1.25rem,2.2vw,1.8rem); letter-spacing:-.02em; line-height:1.25; max-width:34ch; }
  .answer em { font-style:normal; color:var(--accent); }

  /* Услуги: панель клавиш */
  .panel { margin-top:3rem; padding:1rem; border-radius:20px; background:var(--bg-2); border:1px solid var(--line);
           display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,26rem); gap:1rem; }
  .keys { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; list-style:none; padding:0; }
  .keys li:last-child { grid-column:span 2; }
  .svc { position:relative; width:100%; height:100%; min-height:5.6rem; display:flex; flex-direction:column; justify-content:flex-end; gap:.35rem;
         padding:.8rem 1.8rem .85rem .9rem; text-align:left; font:600 .95rem/1.2 var(--text); color:var(--fg); cursor:pointer;
         background:var(--bg-3); border:1px solid var(--line); border-radius:12px; transition:border-color .2s, background-color .2s, transform .12s var(--ease); }
  .svc:hover { border-color:#3A4252; }
  .svc:active { transform:translateY(2px); }
  .svc[aria-pressed="true"] { border-color:var(--accent-deep); background:#141C2C; }
  .svc kbd { font:500 .75rem/1 var(--text); color:var(--muted); }
  .svc .led { position:absolute; top:.8rem; right:.8rem; width:.5rem; height:.5rem; border-radius:50%; background:#3A4252; transition:background-color .2s; }
  .svc[aria-pressed="true"] .led { background:var(--accent); }
  .readout { border-radius:12px; padding:1.3rem 1.4rem; background:#07090D; border:1px solid var(--line); display:flex; flex-direction:column; }
  .readout h3 { font-size:1.2rem; }
  .readout p { margin-top:.6rem; color:var(--muted); }
  .readout ul { margin-top:.8rem; padding-left:1.1rem; }
  .readout li + li { margin-top:.3rem; }
  .readout small { margin-top:auto; padding-top:1rem; color:#7C8491; font-size:.8rem; }
  @media (pointer:coarse) { .svc kbd, .readout small { display:none; } }

  .when-h { margin-top:3rem; font-size:clamp(1.3rem,2vw,1.7rem); }
  .when { margin-top:1.2rem; padding:0; list-style:none; max-width:60rem; border-top:1px solid var(--line); }
  .when li { padding:1rem 0; border-bottom:1px solid var(--line); color:var(--muted); }
  .when b { color:var(--fg); font-weight:600; }

  /* Как начнём */
  .steps { margin-top:3rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; counter-reset:s; }
  .steps li { padding:1.6rem 1.6rem 0 0; border-top:1px solid var(--line); }
  .steps li::before { counter-increment:s; content:counter(s); display:grid; place-items:center; width:2.2rem; height:2.2rem; margin-bottom:1.2rem;
                      border-radius:50%; border:1px solid #3A4252; font:600 .9rem/1 var(--text); color:var(--accent); }
  .steps p { margin-top:.6rem; color:var(--muted); }

  /* Кейсы */
  .cases { margin-top:3rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,3vw,3rem); }
  .case { padding-top:1.6rem; border-top:1px solid var(--line); }
  .case .who { color:var(--muted); font-size:.95rem; }
  .case h3 { margin-top:.5rem; font-size:clamp(1.3rem,2vw,1.7rem); }
  .case p { margin-top:.9rem; color:var(--muted); max-width:36rem; }
  .case ul { margin-top:1rem; padding-left:1.1rem; }
  .case li + li { margin-top:.35rem; }
  .case a { display:inline-block; margin-top:1.1rem; color:var(--accent); }

  /* Цены */
  .prices { margin-top:3rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
  .price { padding:1.8rem; border-radius:18px; border:1px solid var(--line); background:var(--bg-2); display:flex; flex-direction:column; }
  .price.hit { border-color:var(--accent-deep); background:#101727; }
  .price .sum { margin-top:1rem; font-family:var(--display); font-weight:700; font-size:clamp(1.6rem,2.4vw,2.1rem); letter-spacing:-.03em; }
  .price .sum small { font-family:var(--text); font-weight:500; font-size:1rem; color:var(--muted); letter-spacing:0; }
  .price p { margin-top:.8rem; color:var(--muted); }
  .price ul { margin:1.2rem 0 1.6rem; padding-left:1.1rem; }
  .price li + li { margin-top:.35rem; }
  .price .btn { margin-top:auto; align-self:flex-start; }
  .note { margin-top:1.4rem; color:var(--muted); max-width:60ch; }

  /* Сравнение */
  .scroll-x { overflow-x:auto; margin-top:3rem; }
  .compare { width:100%; min-width:40rem; border-collapse:collapse; }
  .compare th, .compare td { padding:1rem 1.2rem 1rem 0; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
  .compare thead th { font-family:var(--display); font-weight:600; font-size:1rem; letter-spacing:-.01em; }
  .compare thead th.me, .compare td.me { color:var(--accent); }
  .compare td.me { font-weight:600; }
  .compare tbody th { color:var(--muted); font-weight:500; width:22%; }
  .compare td { color:var(--muted); }
  .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

  /* Вопросы */
  .faq { margin-top:2.5rem; border-top:1px solid var(--line); max-width:56rem; }
  .faq details { border-bottom:1px solid var(--line); }
  .faq summary { cursor:pointer; list-style:none; padding:1.3rem 2.5rem 1.3rem 0; position:relative; font-weight:600; font-size:1.1rem; }
  .faq summary::-webkit-details-marker { display:none; }
  .faq summary::after { content:""; position:absolute; right:.4rem; top:50%; width:.6rem; height:.6rem; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
                        transform:translateY(-70%) rotate(45deg); transition:transform .25s var(--ease); }
  .faq details[open] summary::after { transform:translateY(-30%) rotate(-135deg); }
  .faq details p { padding:0 0 1.4rem; color:var(--muted); max-width:62ch; }

  /* Заявка */
  .cta { margin:clamp(4rem,9vw,8rem) var(--pad) 0; padding:clamp(1.6rem,4vw,3.5rem); border-radius:24px; background:var(--bg-2); border:1px solid var(--line);
         display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); }
  .cta .sub { margin-top:1rem; color:var(--muted); max-width:34rem; }
  .cta .or { margin-top:1.8rem; display:flex; flex-wrap:wrap; gap:.8rem 1rem; align-items:center; color:var(--muted); }
  form { display:grid; gap:1rem; align-content:start; }
  label { display:grid; gap:.4rem; font-weight:500; font-size:.95rem; }
  input, textarea { font:inherit; color:var(--fg); background:#07090D; border:1px solid #333A48; border-radius:12px; padding:.9rem 1rem; width:100%; caret-color:var(--accent); }
  input::placeholder, textarea::placeholder { color:#7C8491; }
  input:focus-visible, textarea:focus-visible { outline:none; border-color:var(--accent); }
  textarea { min-height:6.5rem; resize:vertical; }
  .check { grid-template-columns:auto 1fr; align-items:start; gap:.7rem; font-weight:400; color:var(--muted); font-size:.9rem; }
  .check input { width:1.15rem; height:1.15rem; margin-top:.15rem; accent-color:var(--accent); }
  .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .status { min-height:1.5rem; font-weight:500; }
  .status.ok { color:#8FE0A6; } .status.err { color:#FF9B8F; }
  form button[disabled] { opacity:.6; cursor:progress; }

  /* Подвал */
  .foot { margin-top:clamp(4rem,8vw,6rem); padding:2.5rem var(--pad) 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem;
          display:flex; flex-wrap:wrap; gap:1rem 2.5rem; justify-content:space-between; }
  .foot a { color:var(--muted); }
  .todo { color:#FFB86B; }

  @media (max-width:1000px) {
    .panel { grid-template-columns:1fr; }
    .steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:2rem; }
    .prices { grid-template-columns:1fr; max-width:36rem; }
    .cta { grid-template-columns:1fr; }
  }
  @media (max-width:760px) {
    .top nav .hide-m { display:none; }
    /* робот крупно у правого края, за текстом; тень держит читаемость белого текста поверх него */
    .hero { min-height:auto; padding-top:clamp(2.5rem,12svh,6rem);
            background:radial-gradient(24rem 26rem at 95% 18%, #16203a 0%, transparent 70%); }
    .hero .copy { text-shadow:0 1px 2px rgba(11,13,18,.9), 0 0 18px rgba(11,13,18,.85); }
    .hero .copy .btn { text-shadow:none; }
    .pains, .cases { grid-template-columns:1fr; }
    .keys { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .steps { grid-template-columns:1fr; }
  }

  /* Кнопка «наверх» */
  .to-top { position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:6; width:3rem; height:3rem; border-radius:50%;
            display:grid; place-items:center; cursor:pointer; color:var(--fg); background:var(--bg-3); border:1px solid #3A4252;
            opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s, background-color .2s; }
  .to-top.show { opacity:1; visibility:visible; transform:none; }
  .to-top:hover { background:#141C2C; border-color:var(--accent-deep); }
  .to-top svg { width:1.2rem; height:1.2rem; }
  @media (prefers-reduced-motion:reduce) { .to-top { transition:none; } }

  /* Страницы услуг */
  .crumbs { padding:1.2rem var(--pad) 0; font-size:.9rem; color:var(--muted); }
  .crumbs a { color:var(--muted); text-decoration:none; } .crumbs a:hover { color:var(--fg); }
  .page-hero { padding:clamp(2rem,5vw,4rem) var(--pad) 0; background:radial-gradient(50rem 30rem at 85% 0%, #16203a 0%, transparent 70%); }
  .page-hero h1 { font-size:clamp(1.8rem,3.6vw,3.2rem); max-width:24ch; }
  .page-hero .lead { margin-top:1.3rem; color:var(--muted); font-size:1.1rem; max-width:44rem; }
  .page-hero .actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
  .incl { margin-top:2.5rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; list-style:none; padding:0; border-top:1px solid var(--line); }
  .incl li { padding:1rem 0 1rem 2rem; border-bottom:1px solid var(--line); position:relative; }
  .incl li::before { content:""; position:absolute; left:.2rem; top:1.45rem; width:.7rem; height:.4rem; border-left:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(-45deg); }
  .price-line { margin-top:2rem; padding:1.6rem 1.8rem; border-radius:18px; border:1px solid var(--accent-deep); background:#101727; max-width:46rem; }
  .price-line .sum { font-family:var(--display); font-weight:700; font-size:clamp(1.6rem,2.4vw,2.1rem); letter-spacing:-.03em; }
  .price-line p { margin-top:.6rem; color:var(--muted); }
  .related { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.6rem; padding:0; list-style:none; }
  .related a { display:inline-block; padding:.6rem 1rem; border-radius:999px; border:1px solid #3A4252; text-decoration:none; font-weight:500; }
  .related a:hover { background:var(--bg-3); }
  .svc-list { margin-top:2.5rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; padding:0; list-style:none; border-top:1px solid var(--line); }
  .svc-list a { display:block; padding:1.4rem 0; border-bottom:1px solid var(--line); text-decoration:none; }
  .svc-list b { font-family:var(--display); font-weight:600; font-size:1.15rem; letter-spacing:-.015em; }
  .svc-list span { display:block; margin-top:.4rem; color:var(--muted); }
  .svc-list a:hover b { color:var(--accent); }
  .readout .more { margin-top:1rem; color:var(--accent); font-weight:600; }
  @media (max-width:760px) { .incl, .svc-list { grid-template-columns:1fr; } }

  /* Меню с выпадающими списками */
  .nav .dd { position:relative; }
  .nav .dd summary { list-style:none; cursor:pointer; color:var(--muted); display:flex; align-items:center; gap:.35rem; padding:.4rem 0; }
  .nav .dd summary::-webkit-details-marker { display:none; }
  .nav .dd summary::after { content:""; width:.4rem; height:.4rem; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-25%) rotate(45deg); transition:transform .2s var(--ease); }
  .nav .dd[open] summary::after { transform:translateY(15%) rotate(-135deg); }
  .nav .dd summary:hover, .nav .dd[open] summary { color:var(--fg); }
  .nav .nav-link { text-decoration:none; color:var(--muted); }
  .nav .nav-link:hover { color:var(--fg); }
  .dd-menu { position:absolute; top:calc(100% + .6rem); left:-1rem; min-width:17rem; padding:.5rem; border-radius:14px; background:var(--bg-2);
             border:1px solid var(--line); box-shadow:0 18px 40px -12px rgba(0,0,0,.6); display:grid; z-index:10; }
  .dd-menu a { padding:.55rem .75rem; border-radius:8px; text-decoration:none; color:var(--fg); font-size:.95rem; }
  .dd-menu a:hover, .dd-menu a:focus-visible { background:var(--bg-3); color:var(--accent); }
  .dd-menu .dd-all { color:var(--accent); font-weight:600; }
  .dd-menu b { padding:.8rem .75rem .3rem; font-size:.8rem; color:#7C8491; font-weight:600; }
  .nav .mob { display:none; }

  /* Подвал со всеми страницами */
  .foot { display:block; }
  .foot-cols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 3rem; }
  .foot-cols div { display:grid; align-content:start; gap:.5rem; }
  .foot-cols b { color:var(--fg); font-family:var(--display); font-weight:600; font-size:.95rem; letter-spacing:-.01em; margin-bottom:.3rem; }
  .foot-cols b.gap { margin-top:1.4rem; }
  .foot-cols a { text-decoration:none; } .foot-cols a:hover { color:var(--fg); text-decoration:underline; }
  .foot-legal { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }

  @media (max-width:900px) {
    .nav .dd:not(.mob), .nav .nav-link { display:none; }
    .nav .mob { display:block; }
    .nav .mob .dd-menu { position:fixed; top:4.2rem; left:.75rem; right:.75rem; max-height:calc(100svh - 5rem); overflow:auto; min-width:0; }
    .foot-cols { grid-template-columns:1fr; }
  }
  .mark { white-space:nowrap; }
  @media (max-width:900px) {
    .nav .mob { position:static; }
    .nav .mob .dd-menu { position:absolute; top:calc(100% + .4rem); left:.75rem; right:.75rem; max-height:calc(100svh - 6rem); }
  }
  @media (max-width:420px) {
    .mark { font-size:.92rem; gap:.45rem; }
    .top { gap:.6rem; }
    .top .nav { gap:.9rem; }
    .nav-cta .btn-txt { display:none; }
    .nav-cta { padding:.7rem; }
  }

  /* Чат AI-ассистента */
  .chat-fab { position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:7; display:flex; align-items:center; gap:.55rem;
              padding:.85rem 1.2rem; border-radius:999px; border:0; cursor:pointer; background:var(--fg); color:var(--bg); font:700 .95rem/1 var(--text);
              box-shadow:0 12px 30px -10px rgba(0,0,0,.7); transition:transform .2s var(--ease); }
  .chat-fab:hover { transform:translateY(-2px); }
  .chat-fab i { width:.6rem; height:.6rem; border-radius:50%; background:var(--accent-deep); }
  .to-top { bottom:calc(clamp(1rem,3vw,2rem) + 4rem); }
  .chat { position:fixed; right:clamp(1rem,3vw,2rem); bottom:calc(clamp(1rem,3vw,2rem) + 4rem); z-index:8; width:min(24rem, calc(100vw - 2rem));
          height:min(36rem, calc(100svh - 7rem)); display:flex; flex-direction:column; border-radius:20px; background:var(--bg-2);
          border:1px solid var(--line); box-shadow:0 30px 60px -20px rgba(0,0,0,.8); overflow:hidden; }
  .chat[hidden] { display:none; }
  .chat-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.1rem; border-bottom:1px solid var(--line); }
  .chat-head b { font-family:var(--display); font-weight:600; font-size:1rem; display:block; }
  .chat-head small { color:var(--muted); font-size:.8rem; }
  .chat-x { width:2.2rem; height:2.2rem; border-radius:50%; border:1px solid #3A4252; background:transparent; color:var(--fg); font-size:1.3rem; line-height:1; cursor:pointer; }
  .chat-log { flex:1; overflow-y:auto; padding:1rem 1.1rem; display:flex; flex-direction:column; gap:.6rem; }
  .msg { max-width:85%; padding:.65rem .9rem; border-radius:14px; font-size:.95rem; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; }
  .msg--bot { align-self:flex-start; background:var(--bg-3); border:1px solid var(--line); border-bottom-left-radius:4px; }
  .msg--user { align-self:flex-end; background:#141C2C; border:1px solid var(--accent-deep); border-bottom-right-radius:4px; }
  .msg--wait { color:var(--muted); }
  .chat-consent { padding:0 1.1rem 1.1rem; display:grid; gap:.8rem; }
  .chat-consent[hidden] { display:none; }
  .chat-consent p { color:var(--muted); font-size:.95rem; }
  .chat-consent .chat-small { font-size:.9rem; }
  .chat-consent a { color:var(--accent); }
  .chat-form { display:flex; gap:.5rem; align-items:flex-end; padding:.8rem; border-top:1px solid var(--line); }
  .chat-form[hidden] { display:none; }
  .chat-form textarea { flex:1; resize:none; min-height:2.8rem; max-height:140px; padding:.7rem .9rem; border-radius:12px; }
  .chat-send { width:2.8rem; height:2.8rem; flex:none; border-radius:50%; border:0; background:var(--fg); color:var(--bg); display:grid; place-items:center; cursor:pointer; }
  .chat-send svg { width:1.2rem; height:1.2rem; }
  .chat-del { margin:0 .8rem .6rem; align-self:flex-start; background:none; border:0; color:#7C8491; font:500 .8rem var(--text); text-decoration:underline; cursor:pointer; }
  .chat-del[hidden] { display:none; }

  /* Плашка cookie */
  .cookie-bar { position:fixed; left:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:9; max-width:34rem; padding:1.1rem 1.2rem;
                border-radius:16px; background:var(--bg-2); border:1px solid var(--line); box-shadow:0 20px 50px -15px rgba(0,0,0,.8); display:grid; gap:.9rem; }
  .cookie-bar p { color:var(--muted); font-size:.9rem; }
  .cookie-bar a { color:var(--accent); }
  .cookie-actions { display:flex; flex-wrap:wrap; gap:.6rem; }

  @media (max-width:600px) {
    .chat { inset:0; width:auto; height:auto; border-radius:0; }
    .chat-open .chat-fab, .chat-open .to-top { display:none; }
    .chat-fab { padding:.8rem 1rem; }
    .cookie-bar { left:.75rem; right:.75rem; bottom:5rem; max-width:none; }
  }

  /* Реплика робота на первом экране: облачко с хвостиком к роботу, текст печатается */
  .hero .lead.say { position:relative; color:#D5DAE3; background:rgba(23,27,36,.88); border:1px solid var(--line);
                    border-radius:18px 18px 4px 18px; padding:1rem 1.2rem; text-shadow:none; max-width:34rem; }
  .say .ch { opacity:0; } .say .ch.on { opacity:1; }
  .say.typing { min-height:1em; }
  .say .caret { display:inline-block; width:2px; height:1.1em; margin-left:1px; vertical-align:-.15em; background:var(--accent);
                animation:caret 1s steps(1) infinite; }
  .say .caret.off { display:none; }
  @keyframes caret { 50% { opacity:0; } }
  @media (max-width:760px) {
    .hero .lead.say { border-radius:18px 4px 18px 18px; }   /* на телефоне робот выше и справа — хвостик вверх вправо */
  }
  @media (prefers-reduced-motion:reduce) { .say .caret { display:none; } }

  /* Робот: до первого действия — картинка, затем плавно 3D */
  .hero canvas { opacity:0; transition:opacity .6s var(--ease); }
  .hero canvas.on { opacity:1; }
  /* место картинки = место 3D-робота на холсте (измерено по отрисовке сцены) */
  .robot-poster { position:absolute; left:60.38%; top:20.93%; height:69.26%; width:auto; pointer-events:none; user-select:none; transition:opacity .6s var(--ease); }
  @media (max-width:760px) { .robot-poster { left:43.76%; top:0; height:68.64%; } }
  .robot-poster.off { opacity:0; }
  @media (prefers-reduced-motion:reduce) { .hero canvas, .robot-poster { transition:none; } }

.tools { margin-top:3rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.tool { padding:1.8rem; border-radius:18px; border:1px solid var(--line); background:var(--bg-2); display:flex; flex-direction:column; }
.tool h3 { font-family:var(--display); font-weight:700; font-size:1.15rem; line-height:1.2; letter-spacing:-.015em; }
.tool .gain { margin-top:.8rem; font-size:1.05rem; font-weight:500; }
.tool .vs { margin:1.4rem 0 0; display:grid; gap:.6rem; }
.tool .vs div { padding:.8rem 1rem; border-radius:12px; background:var(--bg); }
.tool .vs .me { background:#101727; box-shadow:inset 0 0 0 1px var(--accent-deep); }
.tool dt { font-size:.8rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.tool .me dt { color:var(--accent); }
.tool dd { margin:.25rem 0 0; color:var(--muted); }
.tool .me dd { color:var(--fg); }
.tool .tag { margin-top:auto; padding-top:1.4rem; font-family:var(--display); font-weight:700; font-size:1.25rem; letter-spacing:-.02em; }
.tool .tag small { font-family:var(--text); font-weight:500; font-size:.95rem; color:var(--muted); letter-spacing:0; }
.tool .more { margin-top:.6rem; }
@media (max-width:1000px) { .tools { grid-template-columns:1fr; max-width:36rem; } }


/* Облачко-реплика у рта робота, как в комиксе: хвостик ко рту */
.robot-say { position:absolute; z-index:2; max-width:min(20rem, calc(100% - 2rem)); padding:.85rem 1.1rem; border-radius:18px;
             background:#161A23; border:1px solid var(--line); color:#D5DAE3; font:500 1rem/1.45 var(--text); text-align:left;
             box-shadow:0 12px 32px rgba(0,0,0,.45); cursor:pointer; animation:pop .35s var(--ease) both; }
.robot-say::after { content:""; position:absolute; width:16px; height:16px; background:#161A23; transform:rotate(45deg); }
.robot-say[data-side="left"] { transform-origin:100% 85%; }
.robot-say[data-side="left"]::after { right:-9px; bottom:26px; border-right:1px solid var(--line); border-top:1px solid var(--line); }
.robot-say[data-side="below"] { transform-origin:85% 0; }
.robot-say[data-side="below"]::after { right:2.6rem; top:-9px; border-left:1px solid var(--line); border-top:1px solid var(--line); }
.robot-say:not(.talk), .robot-say:not(.talk)::after { border-color:var(--accent-deep); }
.robot-say:not(.talk) { color:var(--fg); }
.robot-say svg { display:inline-block; width:1.1rem; height:1.1rem; margin-right:.45rem; vertical-align:-.2em; color:var(--accent); }
.robot-say:not(.talk) { white-space:nowrap; }
.robot-say[hidden] { display:none; }
@keyframes pop { from { opacity:0; transform:scale(.85); } }
@media (prefers-reduced-motion:reduce) { .robot-say { animation:none; } }
@media (max-width:760px) {
  .hero .lead.say { display:none; }                     /* на телефоне вместо вступления — облачко робота */
  .hero .copy .robot-say { position:relative; display:block; width:fit-content; max-width:100%; margin-top:1.5rem; pointer-events:auto; text-shadow:none; }
}

/* Кнопка «Поделиться»: значок в шапке и строка в подвале */
.share-btn { padding:.7rem; line-height:0; }
.share-btn svg { width:1.05rem; height:1.05rem; }
.share-btn[data-done] { border-color:var(--accent-deep); color:var(--accent); }
.foot-share { display:block; margin-top:.5rem; padding:0; background:none; border:0; color:var(--muted); font:inherit; text-align:left; cursor:pointer; }
.foot-share:hover { color:var(--fg); }
@media (max-width:380px) {                              /* самые узкие телефоны: шапка помещается в экран */
  .top { gap:.4rem; }
  .top .nav { gap:.5rem; }
  .mark { font-size:.92rem; gap:.4rem; }
  .share-btn, .nav-cta { padding:.6rem; }
}
@media (max-width:340px) { .mark i { display:none; } .mark { font-size:.86rem; } .top .nav { gap:.4rem; } }
.nw { white-space:nowrap; }

/* Телефон: «одно в моменте» — робот на экране, только пока говорит; в это время текст первого экрана скрыт */
@media (max-width:760px) {
  .hero canvas.on, .robot-poster { transition:opacity .45s var(--ease), transform .45s var(--ease); }
  .hero:not(.talking) canvas.on, .hero:not(.talking) .robot-poster { opacity:0; transform:translateY(24px) scale(.96); pointer-events:none; }
  .hero .robot-poster { left:50%; translate:-50% 0; }
  .hero .copy > * { transition:opacity .35s var(--ease); }
  .hero.talking .copy > :not(.robot-say) { opacity:0; pointer-events:none; }
}
@media (max-width:760px) {
  .hero:not(.talking) .copy .robot-say::after { display:none; }                 /* плашка «Послушать» без хвостика: робота ещё нет */
  .hero.talking .copy .robot-say::after { right:auto; left:50%; margin-left:-8px; }   /* хвостик — к роботу по центру */
}
