/* KeyKompas — общий стиль публичных страниц (главная и посадочные). Версия в ссылке ?v=N. */
    :root { --navy:#0b1220; --navy-2:#111a2e; --panel:#141d31; --line:rgba(255,255,255,.08); --ink:#e8edf6; --muted:#98a4b8; --brand:#22b8f0; --brand-deep:#0c8fc4; --brass:#d9a94a; --brass-2:#f0c96b; --ok:#4ade80; --warn:#fbbf24; --bad:#f87171; --white:#fff; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--navy); color:var(--ink); font-family:"Golos Text","Segoe UI",Roboto,system-ui,sans-serif; font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; }
    h1,h2,h3,h4 { font-family:"Unbounded","Golos Text",sans-serif; margin:0; text-wrap:balance; }
    h4 { font-size:14px; font-weight:500; color:var(--brass-2); letter-spacing:.02em; margin-top:10px; }
    p { margin:0; }
    a { color:inherit; }
    .wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
    .eyebrow { color:var(--brass); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:600; }
    .btn { display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:14px; font-weight:600; text-decoration:none; font-size:16px; border:1px solid transparent; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background .15s; font-family:inherit; }
    .btn:hover { transform:translateY(-1px); }
    .btn.primary { background:var(--brand); color:#031321; box-shadow:0 12px 40px rgba(34,184,240,.28); }
    .btn.primary:hover { background:#3ec6f7; }
    .btn.ghost { background:rgba(255,255,255,.05); color:var(--white); border-color:rgba(255,255,255,.14); }
    .btn.ghost:hover { background:rgba(255,255,255,.1); }
    .btn.brass { background:var(--brass); color:#1a1200; }
    .btn:focus-visible { outline:2px solid var(--brass-2); outline-offset:3px; }
    .more { display:inline-block; margin-top:18px; color:var(--brand); text-decoration:none; font-size:15px; }
    .more:hover { text-decoration:underline; }

    header.top { position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); background:rgba(11,18,32,.78); border-bottom:1px solid var(--line); }
    header.top .wrap { display:flex; align-items:center; justify-content:space-between; min-height:68px; gap:16px; }
    .logo { flex-shrink:0; display:flex; align-items:center; gap:10px; font-family:"Unbounded",sans-serif; font-weight:700; letter-spacing:.06em; color:var(--white); text-decoration:none; font-size:18px; }
    .logo img { width:32px; height:32px; border-radius:9px; }
    nav.menu { display:flex; gap:12px; font-size:13px; color:var(--muted); }
    nav.menu a { text-decoration:none; white-space:nowrap; } nav.menu a:hover { color:var(--white); }
    .top .actions { display:flex; gap:10px; flex-shrink:0; }
    .top .btn { padding:10px 16px; font-size:14px; border-radius:10px; white-space:nowrap; justify-content:center; }

    .hero { position:relative; overflow:hidden; padding:88px 0 64px; }
    .hero::before { content:""; position:absolute; inset:-40% -20% auto auto; width:900px; height:900px; border-radius:50%; background:radial-gradient(circle, rgba(34,184,240,.22), transparent 60%); pointer-events:none; }
    .hero::after { content:""; position:absolute; right:-140px; top:-140px; width:560px; height:560px; border-radius:50%; border:56px solid var(--brass); opacity:.10; pointer-events:none; }
    .hero .wrap { position:relative; display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr); gap:52px; align-items:center; }
    .hero h1 { font-size:clamp(27px, 3.3vw, 42px); line-height:1.1; color:var(--white); font-weight:900; }
    .hero h1 em { font-style:normal; color:var(--brand); }
    .hero .lead { margin-top:24px; font-size:clamp(17px, 1.5vw, 20px); color:var(--muted); max-width:58ch; }
    .hero .cta { margin-top:32px; display:flex; gap:12px; flex-wrap:wrap; }
    .hero .facts { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
    .hero .fact { padding:22px; border:1px solid rgba(34,184,240,.18); border-radius:18px; background:linear-gradient(150deg, rgba(34,184,240,.07), rgba(20,29,49,.8)); }
    .hero .fact-icon { width:40px; height:40px; margin-bottom:16px; display:grid; place-items:center; border-radius:12px; color:var(--brand); background:rgba(34,184,240,.12); }
    .hero .fact-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
    .hero .fact h2 { min-height:2.6em; color:var(--white); font-family:"Golos Text","Segoe UI",sans-serif; font-size:20px; font-weight:600; line-height:1.3; text-wrap:balance; }
    .hero .fact p { margin-top:10px; font-size:14px; line-height:1.6; color:var(--muted); }
    .hero .video { position:relative; border-radius:22px; overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,.55), 0 0 0 1px var(--line); background:#000 url(/static/landing/poster.jpg) center/cover no-repeat; aspect-ratio:16/9; }
    .hero video { width:100%; height:100%; display:block; object-fit:cover; }
    .hero .play { position:absolute; inset:0; display:grid; place-items:center; background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.4)); cursor:pointer; border:0; padding:0; }
    .hero .play span { width:84px; height:84px; border-radius:50%; background:var(--brass); display:grid; place-items:center; color:#1a1200; font-size:34px; box-shadow:0 20px 50px rgba(217,169,74,.45); transition:transform .15s; }
    .hero .play:hover span { transform:scale(1.06); }
    .hero .play[hidden] { display:none; }
    .hero .play small { position:absolute; bottom:18px; left:0; right:0; text-align:center; color:#fff; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }

    section { padding:84px 0; border-top:1px solid var(--line); }
    .sec-head { max-width:820px; margin-bottom:40px; }
    .sec-head h2 { font-size:clamp(25px, 3.1vw, 38px); color:var(--white); margin-top:12px; line-height:1.15; }
    .sec-head p { margin-top:16px; color:var(--muted); font-size:18px; }

    .pains { display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
    .pain { background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:22px; display:flex; flex-direction:column; }
    .pain .n { font-family:"Unbounded",sans-serif; color:var(--warn); font-size:12px; letter-spacing:.06em; }
    .pain h3 { font-size:17px; margin:10px 0 8px; color:var(--white); font-weight:500; line-height:1.3; }
    .pain p { color:var(--muted); font-size:14px; }
    .pain .fix { margin-top:auto; padding-top:12px; border-top:1px dashed var(--line); font-size:14px; color:var(--ok); }
    .pain .fix::before { content:"→ "; color:var(--brass); }
    .pain .fix b { color:#bff5d0; font-weight:600; }

    .flow { display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; counter-reset:step; }
    .step { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:22px 16px 18px; position:relative; }
    .step::before { counter-increment:step; content:counter(step); position:absolute; top:-11px; left:14px; background:var(--brass); color:#1a1200; font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; font-family:"Unbounded",sans-serif; }
    .step h3 { font-size:15px; color:var(--white); font-weight:500; margin-bottom:8px; line-height:1.3; }
    .step p { color:var(--muted); font-size:13.5px; line-height:1.4; }
    .flow-note { margin-top:18px; color:var(--muted); font-size:15px; }

    .mods { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
    .mod { background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:24px; display:flex; flex-direction:column; gap:10px; }
    .mod .ic { width:42px; height:42px; border-radius:12px; background:rgba(34,184,240,.12); color:var(--brand); display:grid; place-items:center; font-size:20px; }
    .mod h3 { font-size:17px; color:var(--white); font-weight:500; line-height:1.3; }
    .mod p { color:var(--muted); font-size:14.5px; }
    .mod ul { margin:0; padding:0; list-style:none; display:grid; gap:6px; color:var(--muted); font-size:14px; }
    .mod li { padding-left:14px; position:relative; }
    .mod li::before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; background:var(--brass); transform:rotate(45deg); border-radius:1px; }
    .mods.four { grid-template-columns:repeat(4, 1fr); }
    .tiles { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:16px; }
    .tile { background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:14px; padding:16px 18px; color:var(--ink); font-size:15px; }
    .tile b { display:block; color:var(--white); font-weight:600; margin-bottom:4px; }
    .tile span { color:var(--muted); font-size:13.5px; }

    .setup { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
    .setup-list { display:grid; gap:12px; }
    .setup-item { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:18px 20px; display:grid; grid-template-columns:44px 1fr; gap:14px; }
    .setup-item .ic { width:44px; height:44px; border-radius:12px; background:rgba(217,169,74,.14); color:var(--brass); display:grid; place-items:center; font-size:22px; }
    .setup-item h4 { margin:0 0 4px; color:var(--white); font-weight:600; font-size:16px; font-family:"Golos Text",sans-serif; }
    .setup-item p { color:var(--muted); font-size:14px; }
    .how { background:linear-gradient(135deg, #10233a, #0e1a2c); border:1px solid rgba(34,184,240,.25); border-radius:22px; padding:28px; position:sticky; top:92px; }
    .how h3 { font-size:20px; color:var(--white); font-weight:500; }
    .how ol { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:14px; counter-reset:how; }
    .how li { position:relative; padding-left:44px; color:var(--muted); font-size:15px; }
    .how li b { color:var(--white); display:block; font-weight:600; }
    .how li::before { counter-increment:how; content:counter(how); position:absolute; left:0; top:2px; width:30px; height:30px; border-radius:50%; background:var(--brand); color:#031321; font-family:"Unbounded",sans-serif; font-weight:700; font-size:13px; display:grid; place-items:center; }
    .how .note { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); font-size:14px; color:var(--muted); }

    .shots { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
    .shot { border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.5), 0 0 0 1px var(--line); background:#fff; margin:0; }
    .shot img { display:block; width:100%; height:auto; }
    .shot figcaption { padding:12px 16px; background:var(--panel); color:var(--muted); font-size:14px; border-top:1px solid var(--line); }
    .shot figcaption b { color:var(--white); font-weight:600; }
    .shots.wide { grid-template-columns:1.45fr 1fr; }
    .shots.one { grid-template-columns:1fr; }
    .phones { display:flex; gap:16px; justify-content:center; }
    .phone { flex:1 1 0; min-width:0; border-radius:34px; padding:9px; background:#0b0f1a; box-shadow:0 30px 80px rgba(0,0,0,.6), 0 0 0 2px #2a3550; }
    .phone img { display:block; width:100%; border-radius:26px; }
    .phones-cap { text-align:center; color:var(--muted); font-size:14px; margin-top:14px; }

    .money { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
    .split { background:var(--panel); border:1px solid var(--line); border-radius:22px; padding:30px; }
    .split .row { display:flex; justify-content:space-between; align-items:baseline; padding:14px 0; border-bottom:1px solid var(--line); gap:16px; }
    .split .row:last-child { border-bottom:0; }
    .split .row b { font-family:"Unbounded",sans-serif; font-size:26px; color:var(--white); font-variant-numeric:tabular-nums; white-space:nowrap; }
    .split .row.master b { color:var(--brass); } .split .row.company b { color:var(--ok); }
    .split .row span { color:var(--muted); font-size:14px; }
    .split .chain { margin-top:18px; padding-top:16px; border-top:1px dashed var(--line); font-size:14px; color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
    .split .chain i { font-style:normal; background:rgba(255,255,255,.06); border:1px solid var(--line); border-radius:999px; padding:4px 10px; color:var(--white); }
    .money .col h3 { font-size:17px; color:var(--white); font-weight:500; margin-top:22px; }
    .money .col h3:first-child { margin-top:0; }
    .money .col p { color:var(--muted); margin-top:8px; font-size:15px; }

    table.compare { width:100%; border-collapse:collapse; font-size:14.5px; background:var(--panel); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
    table.compare th, table.compare td { padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
    table.compare th { color:var(--white); font-weight:600; background:rgba(255,255,255,.04); }
    table.compare td:first-child { color:var(--ink); }
    table.compare td { color:var(--muted); }
    table.compare td.yes { color:var(--ok); } table.compare td.no { color:var(--bad); } table.compare td.part { color:var(--warn); }
    .table-wrap { overflow-x:auto; }
    .price-note { color:var(--muted); font-size:13px; margin-top:10px; }

    .story { display:grid; grid-template-columns:1.2fr .8fr; gap:36px; align-items:center; }
    .story p { color:var(--muted); font-size:17px; margin-top:14px; }
    .story .nums { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .story .nums div { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:20px; }
    .story .nums b { display:block; font-family:"Unbounded",sans-serif; font-size:26px; color:var(--white); }
    .story .nums span { color:var(--muted); font-size:13px; }

    .price { background:linear-gradient(135deg, #1c2a12, #0e1a2c 70%); border:1px solid rgba(74,222,128,.28); border-radius:26px; padding:44px; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; }
    .price h2 { font-size:clamp(25px, 3vw, 36px); color:var(--white); }
    .price p { color:var(--muted); margin-top:14px; }
    .price ul { margin:22px 0 0; padding:0; list-style:none; display:grid; gap:10px; color:var(--ink); font-size:15px; }
    .price li { padding-left:24px; position:relative; }
    .price li::before { content:"◆"; position:absolute; left:0; color:var(--ok); font-size:12px; top:4px; }
    .price .card { background:rgba(11,18,32,.6); border:1px solid var(--line); border-radius:18px; padding:26px; }
    .price .card b { display:block; color:var(--white); font-size:18px; font-family:"Unbounded",sans-serif; font-weight:500; }
    .price .card p { font-size:14px; }

    .faq { display:grid; gap:10px; max-width:900px; }
    .faq details { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:0 20px; }
    .faq summary { list-style:none; cursor:pointer; padding:16px 0; display:flex; justify-content:space-between; gap:16px; align-items:center; }
    .faq summary::-webkit-details-marker { display:none; }
    .faq summary h3 { font-size:16px; color:var(--white); font-weight:500; font-family:"Golos Text",sans-serif; }
    .faq summary::after { content:"+"; color:var(--brass); font-size:22px; line-height:1; flex-shrink:0; }
    .faq details[open] summary::after { content:"–"; }
    .faq details p { color:var(--muted); font-size:15px; padding:0 0 18px; }

    .request { background:linear-gradient(135deg, #10233a, #0e1a2c); border:1px solid rgba(34,184,240,.25); border-radius:26px; padding:44px; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
    .request h2 { font-size:clamp(25px, 3vw, 36px); color:var(--white); }
    .request p { color:var(--muted); margin-top:14px; }
    form { display:grid; gap:12px; }
    .f2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    label.fld { display:grid; gap:6px; font-size:13px; color:var(--muted); }
    input, textarea, select { width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:var(--white); border-radius:12px; padding:13px 14px; font:inherit; font-size:15px; }
    input:focus, textarea:focus, select:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(34,184,240,.2); }
    select { color-scheme:dark; }
    select option { color:#0f172a; background:#fff; }
    textarea { min-height:90px; resize:vertical; }
    .purpose { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .purpose label { display:flex; gap:10px; align-items:flex-start; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:12px 14px; cursor:pointer; font-size:14px; color:var(--ink); }
    .purpose label:has(input:checked) { border-color:var(--brand); background:rgba(34,184,240,.12); }
    .purpose input { width:auto; margin-top:3px; accent-color:var(--brand); }
    .purpose small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
    .hint { font-size:12px; color:var(--muted); }
    .ok-box { background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.3); border-radius:14px; padding:20px; color:var(--ok); }
    .err { color:#fca5a5; font-size:14px; }

    footer { padding:40px 0 60px; color:var(--muted); font-size:14px; border-top:1px solid var(--line); }
    footer .wrap { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
    @media (max-width: 1100px) { .pains, .mods.four { grid-template-columns:repeat(2, 1fr); } .mods, .tiles { grid-template-columns:repeat(2, 1fr); } .hero .facts { grid-template-columns:repeat(2, 1fr); } .flow { grid-template-columns:repeat(3, 1fr); } }
    @media (max-width: 1240px) { nav.menu { display:none; } }
    @media (max-width: 960px) {
      .hero .wrap { grid-template-columns:1fr; } .flow { grid-template-columns:repeat(2, 1fr); }
      .shots, .shots.wide, .money, .request, .price, .setup, .story { grid-template-columns:1fr; } .how { position:static; }
    }
    @media (max-width: 600px) { .pains, .mods, .mods.four, .tiles, .f2, .purpose, .flow, .story .nums { grid-template-columns:1fr; } section { padding:56px 0; } .hero { padding:52px 0 44px; } .request, .price { padding:26px; } .top .actions .full { display:none; } .top .actions .btn { padding:9px 12px; font-size:13px; white-space:nowrap; } .hero .facts { grid-template-columns:1fr; } .hero .fact h2 { min-height:0; } }

    /* ---- телефоны: шапка не шире экрана (логотип и кнопки мельче), кнопки первого экрана во всю ширину, цифры мельче */
    @media (max-width: 600px) {
      body { overflow-x:hidden; }
      header.top .wrap { gap:10px; height:60px; }
      .logo { font-size:14px; letter-spacing:.04em; gap:8px; min-width:0; }
      .logo img { width:28px; height:28px; }
      .top .actions { gap:6px; flex-shrink:0; }
      .top .actions .btn { padding:8px 10px; font-size:13px; border-radius:9px; }
      .hero .cta { gap:10px; }
      .hero .cta .btn { flex:1 1 100%; justify-content:center; }
      .hero .facts { gap:12px; }
      .hero .fact { padding:20px; }
      .hero .fact-icon { margin-bottom:12px; }
      .cookie-bar { left:10px; right:10px; bottom:10px; padding:12px 14px; border-radius:14px; }
      .cookie-text { font-size:12.5px; }
    }
    @media (max-width: 380px) {
      header.top .wrap { padding:0 12px; gap:6px; }
      .logo { font-size:11px; letter-spacing:0; gap:5px; }
      .logo img { width:24px; height:24px; }
      .top .actions .btn { padding:8px 8px; font-size:12px; }
    }

    /* ---- страница «Презентация»: плеер и главы рядом, на телефоне главы под плеером */
    .hero.page.present { padding-bottom:18px; }
    .hero.page.present .wrap { grid-template-columns:1fr; }
    .hero.page.present h1 { max-width:24ch; }
    .present-player { padding-top:8px; }
    .player { display:grid; grid-template-columns:minmax(0, 2.2fr) minmax(260px, 1fr); gap:18px; align-items:start; }
    .player video { width:100%; aspect-ratio:16/9; display:block; background:#000; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.5), 0 0 0 1px var(--line); }
    .chapters { background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:16px 14px; max-height:100%; }
    .chapters h2 { font-size:16px; color:var(--white); font-family:"Golos Text",sans-serif; font-weight:600; margin:2px 6px 10px; }
    .chapters ol { list-style:none; margin:0; padding:0; display:grid; gap:2px; }
    .chapters button { width:100%; display:flex; gap:10px; align-items:baseline; text-align:left; background:transparent; border:0; color:var(--ink); font:inherit; font-size:14px; padding:7px 8px; border-radius:10px; cursor:pointer; line-height:1.3; }
    .chapters button:hover { background:rgba(255,255,255,.06); }
    .chapters button.on { background:rgba(34,184,240,.14); color:var(--white); }
    .chapters time { color:var(--brand); font-variant-numeric:tabular-nums; min-width:38px; font-size:13px; }
    a.tile { text-decoration:none; }
    @media (max-width: 960px) { .player { grid-template-columns:1fr; } }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .btn:hover { transform:none; } }

    /* ---- посадочные страницы: хлебные крошки и герой с картинкой */
    .crumbs { color:var(--muted); font-size:13px; margin-bottom:14px; }
    .crumbs a { color:var(--brand); text-decoration:none; }
    .hero.page .wrap { grid-template-columns:1.1fr .9fr; }
    .hero.page .shot { margin:0; }
    .consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); line-height:1.4; }
    .consent input { width:auto; margin-top:3px; accent-color:var(--brand); }
    .consent a { color:var(--brand); }
    /* ---- юридические страницы */
    .legal { max-width:860px; color:var(--ink); }
    .legal h1 { font-size:clamp(24px, 3vw, 34px); color:var(--white); margin-bottom:8px; }
    .legal h2 { font-size:20px; color:var(--white); margin:32px 0 10px; }
    .legal h3 { font-size:16px; color:var(--white); margin:20px 0 8px; font-weight:500; }
    .legal p, .legal li { color:var(--muted); font-size:15.5px; margin:8px 0; }
    .legal ul, .legal ol { padding-left:22px; }
    .legal .date { color:var(--muted); font-size:13px; }
    .legal table { width:100%; border-collapse:collapse; font-size:14px; }
    .legal th, .legal td { border-bottom:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top; color:var(--muted); }
    .legal th { color:var(--white); }
    /* ---- баннер согласия на cookie (152-ФЗ): показывается, пока посетитель не выбрал; аналитика — только после «Принять» */
    .cookie-bar { position:fixed; left:16px; right:16px; bottom:16px; z-index:50; background:#0e1a2c; border:1px solid rgba(34,184,240,.35); border-radius:18px; padding:16px 18px; display:flex; gap:16px; align-items:center; box-shadow:0 20px 60px rgba(0,0,0,.5); max-width:1180px; margin:0 auto; }
    .cookie-text { color:var(--muted); font-size:13.5px; line-height:1.45; }
    .cookie-text a { color:var(--brand); }
    .cookie-actions { display:flex; gap:8px; flex-shrink:0; }
    .cookie-actions .btn { padding:10px 14px; font-size:13px; border-radius:10px; }
    @media (max-width: 720px) { .cookie-bar { flex-direction:column; align-items:stretch; } .cookie-actions { justify-content:stretch; } .cookie-actions .btn { flex:1; justify-content:center; } .hero.page .wrap { grid-template-columns:1fr; } }
    a.tile { text-decoration:none; display:block; transition:border-color .15s, background .15s; }
    a.tile:hover { border-color:var(--brand); background:rgba(34,184,240,.08); }

/* Единая публичная навигация и подвал. */
header.top>.wrap{position:relative}
.site-mobile-nav{display:none}
.site-mobile-nav summary{width:40px;height:40px;display:grid;place-items:center;cursor:pointer;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:var(--ink);list-style:none}
.site-mobile-nav summary::-webkit-details-marker{display:none}
.site-mobile-nav nav{position:absolute;top:100%;left:24px;right:24px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--navy-2);border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 25px 60px rgba(0,0,0,.45)}
.site-mobile-nav nav a{padding:12px;border-radius:10px;text-decoration:none;font-size:14px;color:var(--ink)}
.site-mobile-nav nav a:hover{background:rgba(34,184,240,.1);color:var(--brand)}
.site-mobile-nav:not([open]) nav{display:none}
.site-mobile-nav summary:focus-visible{outline:2px solid var(--brass-2);outline-offset:3px}
.site-footer{background:var(--navy);padding:40px 0}
.site-footer>.wrap{align-items:flex-start}
.site-footer .logo{font-size:16px}
.site-footer p{font-size:14px;margin:12px 0 8px;color:var(--muted)}
.site-footer span{font-size:12px}
.site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 22px;max-width:560px;padding-top:8px}
.site-footer nav a{color:var(--muted);font-size:13px;text-decoration:none}
.site-footer nav a:hover{color:var(--brand)}
[hidden]{display:none!important}
@media(max-width:1240px){.site-mobile-nav{display:block;margin-left:auto}.top>.wrap{justify-content:initial}.top .actions{margin-left:0}}
@media(max-width:600px){.top .actions .primary{display:none}.site-mobile-nav{flex-shrink:0}.site-footer nav{justify-content:flex-start}.site-mobile-nav nav{left:12px;right:12px}}

/* Длинные адреса и таблицы юридических страниц остаются внутри экрана. */
.legal{min-width:0;overflow-wrap:anywhere}
.legal table{display:block;max-width:100%;overflow-x:auto}

.install-steps{margin:10px 0 0;padding-left:22px;color:var(--muted);font-size:15px}.install-steps li{margin:14px 0;padding-left:4px}.install-steps li::marker{color:var(--brass)}
.hero .mod h2{font-size:clamp(22px,2.6vw,30px);line-height:1.25}

.install-steps li:before{content:none}
