/* Общий стиль сайта КВВАСЮ (вынесен из лендинга СКУД). Тёмная тема, золото, Georgia + system sans. */
  :root{
    --bg:#0a0f1c; --bg2:#0e1526; --bg3:#070b16;
    --gold:#c9a24b; --gold2:#e6cd8f; --gold-deep:#a8842f;
    --fg:#e9edf6; --mut:#93a0b8; --mut2:#6b7893;
    --ok:#5bb088; --ok2:#7fd0a6;
    --line:rgba(201,162,75,.22);
    --line2:rgba(147,160,184,.16);
    --serif:Georgia,"Times New Roman",serif;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Roboto,Arial,sans-serif;
    --maxw:1160px;
    --emblem:url("/logo/emblem-160.png");
    --navh:64px;                              /* высота шапки */
    --sat:env(safe-area-inset-top, 0px);      /* вырез экрана телефона */
    --secnavh:0px;                            /* высота подменю разделов (если есть) */
  }
  body.has-secnav{--secnavh:50px}
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  html,body{margin:0;padding:0}
  body{
    background:
      radial-gradient(1100px 640px at 82% -8%, rgba(201,162,75,.10), transparent 58%),
      radial-gradient(900px 620px at -5% 8%, rgba(46,74,140,.16), transparent 55%),
      var(--bg);
    color:var(--fg); font-family:var(--sans); -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility; overflow-x:hidden; overflow-x:clip; line-height:1.5;
  }
  a{color:inherit}
  img{max-width:100%}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px}
  /* якоря не прячутся под закреплёнными шапкой и подменю */
  section, [id]{scroll-margin-top:calc(var(--navh) + var(--sat) + var(--secnavh) + 14px)}

  /* ---------- nav ---------- */
  /* Шапка — отдельная закреплённая полоса: свой фон, золотая нижняя граница. */
  .nav{position:-webkit-sticky; position:sticky; top:0; z-index:60; padding-top:var(--sat);
    background:rgba(9,13,24,.94); -webkit-backdrop-filter:saturate(140%) blur(14px); backdrop-filter:saturate(140%) blur(14px);
    border-bottom:1px solid rgba(201,162,75,.30); transition:box-shadow .25s ease}
  .nav::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; pointer-events:none;
    background:linear-gradient(90deg, transparent 0%, rgba(230,205,143,.65) 50%, transparent 100%)}
  .nav.scrolled{box-shadow:0 12px 28px -14px rgba(0,0,0,.85)}
  .nav .row{display:flex; align-items:center; gap:16px; height:var(--navh)}
  .brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.12em; font-size:13px; color:var(--gold2)}
  .brand .mk{width:28px; height:28px; background:var(--emblem) center/contain no-repeat; filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
  .brand small{color:var(--mut); font-weight:500; letter-spacing:.02em; font-size:11.5px}
  /* Пункты меню — табы в общей рамке: сразу видно, что это меню. */
  .nav .links{margin-left:auto; display:flex; gap:2px; align-items:center; padding:4px; border:1px solid var(--line2); border-radius:13px; background:rgba(255,255,255,.03)}
  .nav .links a{display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600; color:#c3cbdb; text-decoration:none; padding:8px 14px; border-radius:9px; transition:background .18s, color .18s, box-shadow .18s; white-space:nowrap}
  .nav .links a:hover{background:rgba(201,162,75,.10); color:#fff}
  .nav .links a.on{background:linear-gradient(180deg, rgba(201,162,75,.26), rgba(201,162,75,.12)); color:var(--gold2); box-shadow:inset 0 0 0 1px rgba(201,162,75,.5)}
  .nav .links a svg{width:16px; height:16px; flex:none; opacity:.85}
  .nav .links a:focus-visible, .burger:focus-visible, .secnav a:focus-visible, .mnav a:focus-visible{outline:2px solid var(--gold2); outline-offset:2px}
  .nav .nav-cta{padding:10px 16px}
  .btn{display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:14px; text-decoration:none; border-radius:11px; padding:11px 20px; transition:transform .15s ease, box-shadow .2s ease; white-space:nowrap}
  .btn-gold{color:#0a0f1c; background:linear-gradient(180deg,var(--gold2),var(--gold)); box-shadow:0 10px 26px -12px rgba(201,162,75,.7)}
  .btn-gold:hover{transform:translateY(-1px); box-shadow:0 16px 34px -12px rgba(201,162,75,.8)}
  .btn-ghost{color:var(--fg); border:1px solid var(--line); background:rgba(201,162,75,.05)}
  .btn-ghost:hover{border-color:var(--gold2)}

  /* ---------- type ---------- */
  .kicker{display:inline-flex; align-items:center; gap:9px; text-transform:uppercase; letter-spacing:.24em; font-size:11px; font-weight:700; color:var(--gold); margin:0 0 18px}
  .kicker::before{content:""; width:24px; height:1px; background:var(--gold); opacity:.7}
  h1{font-size:clamp(38px,6vw,68px); line-height:1.03; margin:0; font-weight:800; letter-spacing:-.02em; text-wrap:balance}
  h2{font-size:clamp(28px,4vw,46px); line-height:1.08; margin:0 0 18px; font-weight:800; letter-spacing:-.018em; text-wrap:balance}
  h3{margin:0}
  .lede{font-size:clamp(16px,1.7vw,20px); line-height:1.55; color:#c7d0e0; max-width:62ch}
  .gold{color:var(--gold2)}
  .sec-head{max-width:56ch; margin:0 auto 42px; text-align:center}
  .sec-head.left{margin:0 0 34px; text-align:left}
  .sec-head p{color:var(--mut); font-size:16px; margin:14px 0 0}

  /* ---------- hero ---------- */
  .hero{padding:64px 0 70px}
  body.has-secnav .hero{padding-top:56px}
  .hero .grid{display:grid; grid-template-columns:1.02fr .98fr; gap:52px; align-items:center}
  .hero h1 span{color:var(--gold2)}
  .hero .lede{margin:22px 0 0}
  .hero .cta{margin-top:32px; display:flex; flex-wrap:wrap; gap:14px}
  .hero .trust{margin-top:26px; display:flex; flex-wrap:wrap; gap:8px 20px; color:var(--mut); font-size:13.5px}
  .hero .trust span{display:inline-flex; gap:8px; align-items:center}
  .hero .trust .d{color:var(--ok2)}
  @media (max-width:860px){ .hero .grid{grid-template-columns:1fr; gap:34px} }

  /* browser frame */
  .frame{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#0a0f1c; box-shadow:0 40px 90px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.02)}
  .frame .bar{display:flex; align-items:center; gap:7px; padding:11px 14px; background:var(--bg2); border-bottom:1px solid var(--line2)}
  .frame .bar i{width:10px; height:10px; border-radius:50%; display:block}
  .frame .bar .u{margin-left:12px; flex:1; height:20px; border-radius:6px; background:rgba(255,255,255,.05); border:1px solid var(--line2)}
  .frame img{display:block; width:100%; height:auto}
  .hero .visual{position:relative}
  .hero .badge{position:absolute; left:-14px; bottom:-16px; background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:12px 16px; box-shadow:0 20px 40px -20px rgba(0,0,0,.8); display:flex; align-items:center; gap:11px; font-size:13px}
  .hero .badge b{color:#fff} .hero .badge .ok{color:var(--ok2); font-size:18px}
  @media (max-width:860px){ .hero .badge{display:none} }

  /* ---------- metrics strip ---------- */
  .strip{border-top:1px solid var(--line2); border-bottom:1px solid var(--line2); background:rgba(255,255,255,.015)}
  .strip .row{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:26px 0}
  .strip .m{text-align:center; padding:6px 8px}
  .strip .m .v{font-size:clamp(26px,3.4vw,38px); font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:#fff}
  .strip .m .v small{font-size:.5em; color:var(--gold2); font-weight:700}
  .strip .m .l{color:var(--mut); font-size:12.5px; margin-top:4px; line-height:1.35}
  .strip .m.win .v{color:var(--ok2)}
  @media (max-width:640px){ .strip .row{grid-template-columns:1fr 1fr; gap:18px} }

  /* ---------- generic blocks ---------- */
  .blk{padding:84px 0}
  .blk.tight{padding:64px 0}
  .two{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center}
  .two.rev .txt{order:2}
  @media (max-width:860px){ .two{grid-template-columns:1fr; gap:30px} .two.rev .txt{order:0} }
  ul.ticks{list-style:none; padding:0; margin:22px 0 0; display:grid; gap:13px}
  ul.ticks li{display:flex; gap:12px; align-items:flex-start; color:#cdd5e3; font-size:15.5px; line-height:1.45}
  ul.ticks li svg{flex:none; width:20px; height:20px; color:var(--gold); margin-top:2px}

  /* feature cards */
  .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  @media (max-width:860px){ .cards{grid-template-columns:1fr 1fr} }
  @media (max-width:560px){ .cards{grid-template-columns:1fr} }
  .card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012)); border:1px solid var(--line2); border-radius:16px; padding:26px 22px; transition:border-color .3s, transform .3s}
  .card:hover{border-color:var(--line); transform:translateY(-3px)}
  .card .ic{width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; background:rgba(201,162,75,.12); border:1px solid var(--line); color:var(--gold2); font-size:20px}
  .card h3{font-size:18px; font-weight:700; margin-bottom:8px; letter-spacing:-.01em}
  .card p{margin:0; color:var(--mut); font-size:14.5px; line-height:1.5}

  /* steps */
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:s}
  @media (max-width:860px){ .steps{grid-template-columns:1fr 1fr} }
  @media (max-width:520px){ .steps{grid-template-columns:1fr} }
  .step{border-top:2px solid var(--line); padding-top:18px}
  .step .n{font-family:var(--serif); font-style:italic; color:var(--gold2); font-size:15px}
  .step h3{font-size:17px; font-weight:700; margin:8px 0}
  .step p{margin:0; color:var(--mut); font-size:14px; line-height:1.5}

  /* proof */
  .proof{background:linear-gradient(180deg,rgba(201,162,75,.05),transparent); border-top:1px solid var(--line2); border-bottom:1px solid var(--line2)}
  .metrics{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:8px}
  @media (max-width:760px){ .metrics{grid-template-columns:1fr 1fr} }
  @media (max-width:460px){ .metrics{grid-template-columns:1fr} }
  .metric{background:rgba(255,255,255,.02); border:1px solid var(--line); border-radius:16px; padding:24px}
  .metric .v{font-size:clamp(30px,4vw,46px); font-weight:800; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:#fff}
  .metric .v small{font-size:.42em; color:var(--gold2); font-weight:700}
  .metric .l{margin-top:10px; color:var(--mut); font-size:13.5px; line-height:1.4}
  .metric.win .v{color:var(--ok2)}
  .pull{font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.6vw,27px); line-height:1.34; color:#f0e9d6; max-width:34ch; margin:0}
  .pull .q{color:var(--gold); font-size:1.3em}

  /* chips */
  .chips{display:flex; flex-wrap:wrap; gap:9px; margin-top:6px}
  .chip{font-size:13px; color:#d8dfec; border:1px solid var(--line); background:rgba(201,162,75,.06); padding:8px 14px; border-radius:999px}

  /* pricing */
  .tiers{display:grid; grid-template-columns:repeat(5,1fr); gap:13px}
  @media (max-width:980px){ .tiers{grid-template-columns:repeat(3,1fr)} }
  @media (max-width:620px){ .tiers{grid-template-columns:1fr} }
  .tier{border:1px solid var(--line2); border-radius:16px; padding:24px 20px; background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.008)); display:flex; flex-direction:column}
  .tier.feat{border-color:var(--gold); background:linear-gradient(180deg,rgba(201,162,75,.13),rgba(201,162,75,.02)); box-shadow:0 24px 56px -24px rgba(201,162,75,.4)}
  .tier .tn{font-size:13px; text-transform:uppercase; letter-spacing:.12em; color:var(--gold2); font-weight:700}
  .tier .tp{font-size:clamp(20px,2vw,25px); font-weight:800; margin:12px 0 2px; letter-spacing:-.02em; font-variant-numeric:tabular-nums; white-space:nowrap}
  .tier .td{color:var(--mut); font-size:13.5px; line-height:1.45; margin-top:6px; flex:1}
  .tier .badge{align-self:flex-start; margin-bottom:2px; font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#0a0f1c; background:var(--gold2); padding:4px 9px; border-radius:6px}
  .price-note{margin-top:22px; display:flex; flex-wrap:wrap; gap:10px 24px; font-size:14px; color:var(--mut); justify-content:center}
  .price-note span{display:inline-flex; gap:8px} .price-note .g{color:var(--gold2)}

  /* CTA band */
  .cta-band{margin:0 auto; max-width:var(--maxw); padding:0 22px}
  .cta-inner{border:1px solid var(--line); border-radius:22px; background:linear-gradient(180deg,rgba(201,162,75,.12),rgba(201,162,75,.02)); padding:clamp(34px,5vw,60px); text-align:center; position:relative; overflow:hidden}
  .cta-inner .mk{width:60px; height:60px; margin:0 auto 20px; background:var(--emblem) center/contain no-repeat; filter:drop-shadow(0 6px 20px rgba(201,162,75,.35))}
  .cta-inner .cta{margin-top:26px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
  .cta-inner .contact{margin-top:22px; color:var(--mut); font-size:15px}
  .cta-inner .contact a{color:var(--gold2); text-decoration:none}

  /* footer */
  footer{border-top:1px solid var(--line2); margin-top:70px; padding:30px 0; color:var(--mut2); font-size:13px}
  footer .row{display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between}
  footer .brand{opacity:.9}

  /* reveal */
  .rv{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease}
  .rv.in{opacity:1; transform:none}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .rv{opacity:1; transform:none; transition:none} }

/* ---------- модальная форма заявки ---------- */
  .tf-overlay{position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(5,8,15,.72); backdrop-filter:blur(6px)}
  .tf-overlay.open{display:flex}
  .tf-card{position:relative; width:100%; max-width:560px; max-height:92vh; overflow:auto; background:linear-gradient(180deg,#111a2e,#0c1322); border:1px solid var(--line); border-radius:20px; padding:clamp(24px,4vw,40px); box-shadow:0 40px 100px -30px rgba(0,0,0,.9)}
  .tf-close{position:absolute; top:14px; right:16px; width:34px; height:34px; border:1px solid var(--line2); background:transparent; color:var(--mut); border-radius:9px; font-size:22px; line-height:1; cursor:pointer}
  .tf-close:hover{color:var(--fg); border-color:var(--gold2)}
  .tf-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
  @media(max-width:520px){.tf-grid{grid-template-columns:1fr}}
  .tf-f{display:flex; flex-direction:column; gap:6px; margin-top:14px; font-size:13px; color:var(--mut)}
  .tf-f b{color:var(--gold2)}
  .tf-f input,.tf-f textarea{width:100%; background:#0a0f1c; border:1px solid var(--line2); border-radius:10px; padding:11px 13px; color:var(--fg); font-size:15px; font-family:inherit; transition:border-color .2s}
  .tf-f input:focus,.tf-f textarea:focus{outline:none; border-color:var(--gold)}
  .tf-f textarea{resize:vertical; min-height:70px}
  .tf-hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
  .tf-actions{display:flex; align-items:center; gap:16px; margin-top:22px; flex-wrap:wrap}
  .tf-msg{font-size:13.5px}
  .tf-msg.err{color:#ff8f8f} .tf-msg.ok{color:var(--ok2)}
  .tf-note{margin:16px 0 0; font-size:12px; color:var(--mut2); line-height:1.45}
  #tfSubmit[disabled]{opacity:.6; cursor:default}
  .tf-done{text-align:center; padding:20px 0}
  .tf-check{width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:rgba(91,176,136,.15); border:1px solid var(--ok); color:var(--ok2); display:flex; align-items:center; justify-content:center; font-size:34px}

/* ---------- чат-консультант ---------- */
  .cw-btn{position:fixed; right:22px; bottom:22px; z-index:90; width:60px; height:60px; border-radius:50%; border:1px solid var(--gold); background:linear-gradient(180deg,var(--gold2),var(--gold)); color:#0a0f1c; font-size:26px; cursor:pointer; box-shadow:0 14px 40px -10px rgba(201,162,75,.65); display:flex; align-items:center; justify-content:center; transition:transform .15s ease}
  .cw-btn:hover{transform:scale(1.06)}
  .cw-panel{position:fixed; right:22px; bottom:94px; z-index:95; width:370px; max-width:calc(100vw - 32px); height:520px; max-height:calc(100vh - 120px); display:none; flex-direction:column; background:linear-gradient(180deg,#111a2e,#0c1322); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 40px 90px -30px rgba(0,0,0,.9)}
  .cw-panel.open{display:flex}
  .cw-head{display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--line2); background:rgba(201,162,75,.07)}
  .cw-head .t{font-weight:800; font-size:15px}
  .cw-head .ai{font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#0a0f1c; background:var(--gold2); border-radius:5px; padding:2px 7px}
  .cw-head .x{margin-left:auto; width:30px; height:30px; border:1px solid var(--line2); background:transparent; color:var(--mut); border-radius:8px; font-size:18px; line-height:1; cursor:pointer}
  .cw-head .x:hover{color:var(--fg); border-color:var(--gold2)}
  .cw-body{flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px}
  .cw-m{max-width:85%; padding:10px 13px; border-radius:14px; font-size:14px; line-height:1.45; white-space:pre-wrap; word-wrap:break-word}
  .cw-m.bot{align-self:flex-start; background:rgba(255,255,255,.05); border:1px solid var(--line2); border-bottom-left-radius:4px}
  .cw-m.user{align-self:flex-end; background:rgba(201,162,75,.16); border:1px solid var(--line); border-bottom-right-radius:4px}
  .cw-m.sys{align-self:center; color:var(--mut2); font-size:12px; text-align:center; background:none; border:none; padding:2px}
  .cw-typing{align-self:flex-start; color:var(--mut); font-size:13px; padding:6px 13px}
  .cw-typing i{display:inline-block; animation:cwb 1.2s infinite; font-style:normal}
  .cw-typing i:nth-child(2){animation-delay:.2s} .cw-typing i:nth-child(3){animation-delay:.4s}
  @keyframes cwb{0%,60%,100%{opacity:.3}30%{opacity:1}}
  .cw-in{display:flex; gap:8px; padding:12px; border-top:1px solid var(--line2)}
  .cw-in input{flex:1; background:#0a0f1c; border:1px solid var(--line2); border-radius:10px; padding:11px 13px; color:var(--fg); font-size:14px}
  .cw-in input:focus{outline:none; border-color:var(--gold)}
  .cw-in button{border:0; border-radius:10px; padding:0 16px; font-weight:700; font-size:14px; color:#0a0f1c; background:linear-gradient(180deg,var(--gold2),var(--gold)); cursor:pointer}
  .cw-in button[disabled]{opacity:.55; cursor:default}
  .cw-foot{padding:0 14px 10px; font-size:10.5px; color:var(--mut2); text-align:center}
  .cw-contact{display:none; gap:8px; padding:0 12px 12px}
  .cw-contact.open{display:flex}
  .cw-contact input{flex:1; background:#0a0f1c; border:1px solid var(--gold); border-radius:10px; padding:10px 13px; color:var(--fg); font-size:13.5px}
  .cw-contact button{border:0; border-radius:10px; padding:0 14px; font-weight:700; font-size:13px; color:#0a0f1c; background:var(--ok2); cursor:pointer}
  @media (max-width:560px){ .cw-panel{right:8px; bottom:86px} .cw-btn{right:14px; bottom:14px} }

/* ======================================================================
   Многостраничный сайт: шапка с меню, подвал, продукты, калькулятор,
   FAQ, загрузки, личный кабинет. Тот же визуальный язык, что у лендинга.
   ====================================================================== */
  .burger{display:none; margin-left:auto; height:42px; padding:0 14px 0 11px; gap:8px; border-radius:11px; border:1px solid var(--line); background:rgba(201,162,75,.08); color:var(--fg); cursor:pointer; align-items:center; justify-content:center; font:600 14px var(--sans)}
  .burger svg{width:22px; height:22px; color:var(--gold2)}
  .burger .i-close{display:none}
  .burger[aria-expanded="true"]{background:rgba(201,162,75,.18); border-color:var(--gold)}
  .burger[aria-expanded="true"] .i-open{display:none}
  .burger[aria-expanded="true"] .i-close{display:block}
  .mnav{display:none}
  @media (max-width:1100px){ .brand small{display:none} .nav .links a{padding:8px 11px} }
  @media (max-width:960px){
    .nav .links, .nav .nav-cta{display:none}
    .burger{display:inline-flex}
    /* мобильное меню: лист под шапкой + затемнение страницы */
    .mnav{position:fixed; top:calc(var(--navh) + var(--sat)); left:0; right:0; bottom:0; z-index:59; background:rgba(3,6,12,.62)}
    .mnav.open{display:block}
    .mnav .sheet{background:linear-gradient(180deg,#0f1729,#0b1220); border-bottom:1px solid var(--line); box-shadow:0 30px 60px -20px rgba(0,0,0,.9);
      padding:12px 16px calc(18px + env(safe-area-inset-bottom, 0px)); max-height:100%; overflow:auto; animation:mnavIn .18s ease-out}
    .mnav .cap{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:700; padding:6px 12px 8px}
    .mnav a.item{display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--fg); text-decoration:none; font-size:16.5px; font-weight:600; padding:13px 14px; border-radius:12px; border:1px solid transparent}
    .mnav a.item::after{content:"\203A"; color:var(--mut2); font-size:22px; line-height:1; font-weight:400}
    .mnav a.item:hover, .mnav a.item:active{background:rgba(201,162,75,.08)}
    .mnav a.item.on{background:rgba(201,162,75,.14); color:var(--gold2); border-color:rgba(201,162,75,.45)}
    .mnav a.item.on::after{content:"\25CF"; font-size:9px; color:var(--gold2)}
    .mnav a.item small{display:block; font-size:12.5px; font-weight:500; color:var(--mut); margin-top:2px}
    .mnav .btn{margin-top:14px; width:100%; justify-content:center}
    .mnav .tel{display:block; text-align:center; margin-top:12px; color:var(--mut); font-size:14px; text-decoration:none}
    .nav.menu-open{box-shadow:none}
  }
  @keyframes mnavIn{from{transform:translateY(-8px); opacity:0} to{transform:none; opacity:1}}
  html.menu-lock{overflow:hidden}
  .brand small{white-space:nowrap}

  /* Подменю разделов страницы продукта: закреплено под шапкой, текущий раздел подсвечен. */
  .secnav{position:-webkit-sticky; position:sticky; top:calc(var(--navh) + var(--sat)); z-index:55; height:var(--secnavh);
    background:rgba(13,19,34,.95); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid var(--line2); transition:box-shadow .25s}
  .secnav.stuck{box-shadow:0 12px 26px -16px rgba(0,0,0,.9)}
  .secnav .row{display:flex; align-items:stretch; height:100%; gap:18px}
  .secnav-t{display:flex; align-items:center; gap:10px; flex:none; font-family:var(--serif); font-size:17px; font-weight:700; color:#fff; padding-right:18px; border-right:1px solid var(--line2); white-space:nowrap; text-decoration:none}
  .secnav-t::before{content:""; width:7px; height:7px; border-radius:2px; background:var(--gold); transform:rotate(45deg)}
  .secnav-l{display:flex; align-items:stretch; gap:2px; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; min-width:0; flex:1}
  .secnav-l::-webkit-scrollbar{display:none}
  .secnav-l a{position:relative; display:flex; align-items:center; padding:0 12px; font-size:13.5px; font-weight:600; color:#aeb9cc; text-decoration:none; white-space:nowrap; transition:color .18s, background .18s}
  .secnav-l a::after{content:""; position:absolute; left:10px; right:10px; bottom:0; height:3px; border-radius:3px 3px 0 0; background:var(--gold2); transform:scaleX(0); transition:transform .2s ease}
  .secnav-l a:hover{color:#fff; background:rgba(255,255,255,.035)}
  .secnav-l a.on{color:var(--gold2); background:rgba(201,162,75,.08)}
  .secnav-l a.on::after{transform:scaleX(1)}
  @media (max-width:1180px){
    /* лента разделов не помещается — затухание справа подсказывает, что её можно листать */
    .secnav-l{-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 36px), transparent 100%); mask-image:linear-gradient(90deg, #000 calc(100% - 36px), transparent 100%); padding-right:28px}
  }
  @media (max-width:1040px){ .secnav-t{display:none} }
  @media (max-width:760px){
    .secnav .wrap.row{padding:0 4px}
    /* затухание по краям ленты: видно, что её можно листать */
    .secnav-l{-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 30px), transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 30px), transparent 100%); padding:0 12px}
    .secnav-l a{padding:0 11px}
  }

  /* шапка внутренних страниц */
  .phead{padding:56px 0 40px}
  .crumbs{font-size:13px; color:var(--mut2); margin:0 0 18px}
  .crumbs a{color:var(--mut); text-decoration:none} .crumbs a:hover{color:var(--gold2)}
  .subnav{display:flex; flex-wrap:wrap; gap:8px; margin-top:28px}
  .subnav a{font-size:13px; color:#d8dfec; border:1px solid var(--line); background:rgba(201,162,75,.06); padding:8px 14px; border-radius:999px; text-decoration:none}
  .subnav a:hover{border-color:var(--gold2); color:#fff}

  /* подвал (многоколоночный) */
  footer.site{padding:46px 0 30px}
  footer.site .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:28px}
  @media (max-width:860px){ footer.site .cols{grid-template-columns:1fr 1fr} }
  @media (max-width:480px){ footer.site .cols{grid-template-columns:1fr} }
  footer.site h4{margin:0 0 12px; font-size:12px; text-transform:uppercase; letter-spacing:.16em; color:var(--gold); font-weight:700}
  footer.site a{color:var(--mut); text-decoration:none; display:block; padding:3px 0; font-size:14px}
  footer.site a:hover{color:var(--gold2)}
  footer.site a.brand{display:flex; color:var(--gold2)}
  footer.site .about{color:var(--mut2); font-size:13.5px; line-height:1.55; margin:12px 0 0; max-width:36ch}
  footer.site .bottom{margin-top:34px; padding-top:20px; border-top:1px solid var(--line2); display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between; align-items:center; font-size:12.5px; color:var(--mut2)}
  footer.site .inn{color:var(--mut); font-size:13.5px; margin:4px 0 0}
  footer.site .legal{display:flex; flex-wrap:wrap; gap:6px 20px}
  footer.site .legal a{display:inline; padding:0; font-size:12.5px; color:var(--mut); text-decoration:underline; text-decoration-color:rgba(147,160,184,.35); text-underline-offset:3px}
  footer.site .legal a:hover{color:var(--gold2); text-decoration-color:var(--gold2)}

  /* продуктовые карточки на главной */
  .products{display:grid; grid-template-columns:1fr 1fr; gap:20px}
  @media (max-width:860px){ .products{grid-template-columns:1fr} }
  .pcard{display:flex; flex-direction:column; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:linear-gradient(180deg,rgba(201,162,75,.08),rgba(255,255,255,.01)); transition:transform .3s, box-shadow .3s; color:inherit}
  .pcard:hover{transform:translateY(-4px); box-shadow:0 30px 70px -30px rgba(201,162,75,.35)}
  .pcard .shot{aspect-ratio:16/9; background:#0a0f1c; border-bottom:1px solid var(--line2); overflow:hidden}
  .pcard .shot img{width:100%; height:100%; object-fit:cover; object-position:top left; display:block}
  .pcard .shot .ph{height:100%}
  .pcard .body{padding:26px 26px 28px; display:flex; flex-direction:column; flex:1}
  .pcard .tag{font-size:11px; text-transform:uppercase; letter-spacing:.2em; color:var(--gold); font-weight:700}
  .pcard h3{font-size:clamp(22px,2.6vw,30px); font-weight:800; letter-spacing:-.02em; margin:10px 0 10px}
  .pcard p{color:var(--mut); margin:0 0 16px; font-size:15px; line-height:1.55}
  .pcard ul.ticks{margin:0 0 22px; gap:9px}
  .pcard ul.ticks li{font-size:14.5px}
  .pcard .go{margin-top:auto; display:flex; gap:12px; flex-wrap:wrap; align-items:center}
  .pcard .price{font-size:13.5px; color:var(--mut); margin:0 0 16px} .pcard .price b{color:var(--gold2); font-size:16px}

  /* заглушка скриншота, пока файла нет */
  .ph{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; aspect-ratio:16/9; width:100%;
      background:repeating-linear-gradient(135deg,rgba(201,162,75,.05) 0 12px,transparent 12px 24px), linear-gradient(180deg,#0e1526,#0a0f1c);
      color:var(--mut); font-size:13.5px; text-align:center; padding:20px}
  .ph::before{content:""; width:46px; height:46px; background:var(--emblem) center/contain no-repeat; opacity:.55}
  .ph b{color:var(--gold2); font-weight:700; font-size:15px}
  .ph.tall{aspect-ratio:9/16}
  .phone{max-width:290px; margin:0 auto; border:1px solid var(--line); border-radius:28px; padding:10px; background:#05080f; box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
  .phone img,.phone .ph{border-radius:20px; overflow:hidden; display:block; width:100%}

  /* тарифные карточки Видеонаба */
  .tiers.vn{grid-template-columns:repeat(5,1fr)}
  @media (max-width:980px){ .tiers.vn{grid-template-columns:repeat(3,1fr)} }
  @media (max-width:620px){ .tiers.vn{grid-template-columns:1fr 1fr} }
  @media (max-width:400px){ .tiers.vn{grid-template-columns:1fr} }
  .tier .per{font-size:12.5px; color:var(--mut2)}
  .tier{cursor:default}
  .tier.pick{cursor:pointer}
  .tier.pick:hover{border-color:var(--line)}

  /* калькулятор */
  .calc{display:grid; grid-template-columns:1.25fr .75fr; gap:22px; margin-top:34px}
  @media (max-width:900px){ .calc{grid-template-columns:1fr} }
  .calc .panel{border:1px solid var(--line2); border-radius:18px; padding:clamp(20px,3vw,30px); background:rgba(255,255,255,.02); min-width:0}
  .calc h3{font-size:19px; font-weight:800; margin:0 0 6px}
  .calc .lbl{display:block; font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); font-weight:700; margin:24px 0 10px}
  .calc .lbl:first-of-type{margin-top:6px}
  .seg{display:grid; grid-template-columns:repeat(5,1fr); gap:8px}
  @media (max-width:640px){ .seg{grid-template-columns:repeat(3,1fr)} }
  .seg button{border:1px solid var(--line2); background:#0a0f1c; color:var(--fg); border-radius:11px; padding:11px 8px; font:inherit; font-size:14px; font-weight:700; cursor:pointer; transition:border-color .2s, background .2s; line-height:1.25}
  .seg button small{display:block; color:var(--mut2); font-size:11.5px; margin-top:3px; font-weight:500}
  .seg button:hover{border-color:var(--line)}
  .seg button.on{border-color:var(--gold); background:rgba(201,162,75,.14)}
  .seg button.on small{color:var(--gold2)}
  .stepper{display:inline-flex; align-items:center; border:1px solid var(--line2); border-radius:11px; overflow:hidden; background:#0a0f1c}
  .stepper button{width:44px; height:44px; border:0; background:transparent; color:var(--gold2); font-size:22px; cursor:pointer; font-family:inherit}
  .stepper button:disabled{opacity:.35; cursor:default}
  .stepper input{width:58px; height:44px; border:0; border-left:1px solid var(--line2); border-right:1px solid var(--line2); background:transparent; color:#fff; text-align:center; font-size:18px; font-weight:700; font-family:inherit; -moz-appearance:textfield; appearance:textfield}
  .stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none; margin:0}
  .hint{margin-top:10px; font-size:13.5px; color:var(--mut); line-height:1.5}
  .hint b{color:var(--gold2)}
  .hint.warn{color:#f0c27a}
  .hint .apply{margin-left:6px; background:none; border:0; color:var(--gold2); text-decoration:underline; cursor:pointer; font:inherit; padding:0}
  .estim{display:none; margin-top:14px; align-items:center; gap:10px; flex-wrap:wrap; font-size:14px; color:var(--mut)}
  .estim.on{display:flex}
  .estim input{width:110px; background:#0a0f1c; border:1px solid var(--line2); border-radius:10px; padding:10px 12px; color:#fff; font-size:15px; font-family:inherit}
  .estim input:focus,.stepper input:focus{outline:none; border-color:var(--gold)}
  .check{display:flex; gap:12px; align-items:flex-start; cursor:pointer; padding:14px 16px; border:1px solid var(--line2); border-radius:12px; background:#0a0f1c}
  .check input{width:20px; height:20px; accent-color:var(--gold); margin:1px 0 0; flex:none}
  .check span{font-size:14.5px; color:#d8dfec; line-height:1.45} .check small{display:block; color:var(--mut2); font-size:12.5px}
  .sum{position:sticky; top:84px; border:1px solid var(--gold); border-radius:18px; padding:clamp(20px,3vw,28px); background:linear-gradient(180deg,rgba(201,162,75,.14),rgba(201,162,75,.02)); align-self:start}
  .sum h3{font-size:17px}
  .sum .row2{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px dashed var(--line2); font-size:14px; color:var(--mut)}
  .sum .row2 b{color:var(--fg); font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums}
  .sum .total{margin-top:16px; font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); font-weight:700}
  .sum .tv{font-size:clamp(30px,4vw,40px); font-weight:800; letter-spacing:-.02em; color:#fff; font-variant-numeric:tabular-nums; margin:4px 0 4px; white-space:nowrap}
  .sum .tn{font-size:12.5px; color:var(--mut2); margin-bottom:18px; line-height:1.45}
  .sum .btn{width:100%; justify-content:center}

  /* FAQ */
  .faq{max-width:860px; margin:0 auto; display:grid; gap:10px}
  .faq details{border:1px solid var(--line2); border-radius:14px; background:rgba(255,255,255,.02); padding:0 20px}
  .faq details[open]{border-color:var(--line)}
  .faq summary{cursor:pointer; list-style:none; padding:18px 30px 18px 0; font-weight:700; font-size:16px; position:relative}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+"; position:absolute; right:0; top:14px; font-size:22px; color:var(--gold2); font-weight:400}
  .faq details[open] summary::after{content:"−"}
  .faq details p{margin:0 0 18px; color:var(--mut); font-size:15px; line-height:1.6}

  /* рабочие места */
  .seats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  @media (max-width:900px){ .seats{grid-template-columns:1fr} }
  .seat{border:1px solid var(--line2); border-radius:18px; padding:24px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
  .seat .ic{width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; background:rgba(201,162,75,.12); border:1px solid var(--line); color:var(--gold2); font-size:20px}
  .seat h3{font-size:19px; font-weight:800; margin:0 0 8px}
  .seat p{color:var(--mut); font-size:14.5px; margin:0 0 12px; line-height:1.5}
  .seat ul{margin:0; padding-left:18px; color:#cdd5e3; font-size:14px; line-height:1.7}

  /* схема мультисерверности */
  .scheme{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:14px; align-items:center}
  .scheme .col{display:grid; gap:10px}
  .scheme .node{border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:rgba(201,162,75,.06); font-size:14px}
  .scheme .node b{display:block; color:var(--gold2); font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:2px}
  .scheme .node small{color:var(--mut)}
  .scheme .arrow{color:var(--gold); font-size:24px; text-align:center}
  @media (max-width:760px){ .scheme{grid-template-columns:1fr} .scheme .arrow{transform:rotate(90deg)} }

  /* загрузки */
  .dl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  @media (max-width:900px){ .dl-grid{grid-template-columns:1fr} }
  .dl{border:1px solid var(--line2); border-radius:18px; padding:24px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)); display:flex; flex-direction:column; min-width:0}
  .dl .ic{width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:rgba(201,162,75,.12); border:1px solid var(--line); color:var(--gold2); font-size:20px}
  .dl h3{font-size:19px; font-weight:800; margin:14px 0 6px}
  .dl p{color:var(--mut); font-size:14.5px; line-height:1.5; margin:0 0 14px}
  .dl .meta{font-size:12.5px; color:var(--mut2); margin:0 0 14px; line-height:1.6; overflow-wrap:anywhere}
  .dl .act{margin-top:auto; display:flex; gap:10px; flex-wrap:wrap}
  .badge-req,.badge-ok{display:inline-block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-radius:6px; padding:3px 8px; margin:14px 0 4px; align-self:flex-start}
  .badge-req{color:#f0c27a; border:1px solid rgba(240,194,122,.4)}
  .badge-ok{color:var(--ok2); border:1px solid rgba(127,208,166,.4)}
  pre.code{background:#05080f; border:1px solid var(--line2); border-radius:12px; padding:14px 16px; overflow:auto; font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; color:#d6e2f5; margin:10px 0 0; white-space:pre; max-width:100%}
  code.i{font:13px ui-monospace,Consolas,monospace; background:rgba(255,255,255,.06); border:1px solid var(--line2); border-radius:6px; padding:1px 6px; color:#e6edf8; overflow-wrap:anywhere}
  ol.inst{margin:18px 0 0; padding:0; list-style:none; counter-reset:i; display:grid; gap:20px}
  ol.inst > li{counter-increment:i; position:relative; padding-left:46px; color:#cdd5e3; font-size:15px; line-height:1.55; min-width:0}
  ol.inst > li::before{content:counter(i); position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%; border:1px solid var(--line); color:var(--gold2); font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; background:rgba(201,162,75,.08)}
  .note{border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:12px; padding:14px 18px; background:rgba(201,162,75,.06); color:#d8dfec; font-size:14.5px; line-height:1.55}
  .note a{color:var(--gold2)}

  /* контакты на главной */
  .contacts{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  @media (max-width:860px){ .contacts{grid-template-columns:1fr} }
  .contacts .card a{color:var(--gold2); text-decoration:none; font-size:18px; font-weight:700; overflow-wrap:anywhere}

  /* модальная форма: блок конфигурации */
  .tf-conf{margin-top:16px; border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:rgba(201,162,75,.07); font-size:13.5px; color:#d8dfec; white-space:pre-line; line-height:1.55}
  .tf-conf b{color:var(--gold2)}

  /* ---------- личный кабинет ---------- */
  .cab{padding:48px 0 40px; min-height:72vh}
  .auth-box{max-width:480px; margin:0 auto; border:1px solid var(--line); border-radius:20px; padding:clamp(22px,4vw,36px); background:linear-gradient(180deg,#111a2e,#0c1322)}
  .auth-box h1{font-size:clamp(26px,3.4vw,34px); margin:0 0 6px}
  .auth-box .sub{color:var(--mut); font-size:14.5px; margin:0 0 18px; line-height:1.5}
  .auth-tabs{display:flex; gap:6px; margin:0 0 6px; border-bottom:1px solid var(--line2)}
  .auth-tabs button{background:none; border:0; border-bottom:2px solid transparent; color:var(--mut); font:inherit; font-size:15px; font-weight:700; padding:10px 6px; cursor:pointer; margin-bottom:-1px}
  .auth-tabs button.on{color:var(--gold2); border-bottom-color:var(--gold)}
  .fld{display:flex; flex-direction:column; gap:6px; margin-top:14px; font-size:13px; color:var(--mut)}
  .fld b{color:var(--gold2)}
  .fld input,.fld textarea,.fld select{width:100%; background:#0a0f1c; border:1px solid var(--line2); border-radius:10px; padding:11px 13px; color:var(--fg); font-size:15px; font-family:inherit}
  .fld textarea{resize:vertical; min-height:96px; font:13px/1.5 ui-monospace,Consolas,monospace}
  .fld input:focus,.fld textarea:focus,.fld select:focus{outline:none; border-color:var(--gold)}
  .fld2{display:grid; grid-template-columns:1fr 1fr; gap:0 14px}
  @media (max-width:520px){ .fld2{grid-template-columns:1fr} }
  .consent{display:flex; gap:10px; align-items:flex-start; margin-top:16px; font-size:13px; color:var(--mut); line-height:1.45}
  .consent input{margin-top:2px; accent-color:var(--gold); flex:none}
  .consents{margin-top:18px; border:1px solid var(--line2); border-radius:12px; padding:2px 14px 14px; background:rgba(255,255,255,.02)}
  .consents .consent{margin-top:12px; font-size:13.5px; color:#c7d0e0; cursor:pointer}
  .consents .consent input{width:18px; height:18px; margin-top:1px}
  .consents .consent a{color:var(--gold2); text-underline-offset:3px}
  .consents .consent b{color:var(--gold2)}
  .reg-hint{font-size:12.5px; color:var(--mut2)}
  .msg{font-size:13.5px; margin-top:12px; min-height:1em}
  .msg.err{color:#ff8f8f} .msg.ok{color:var(--ok2)}
  .row-act{display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; margin-top:20px}
  .linkbtn{background:none; border:0; color:var(--gold2); cursor:pointer; font:inherit; font-size:13.5px; padding:0; text-decoration:underline}
  button.btn{border:0; cursor:pointer; font-family:inherit}
  button.btn-ghost{border:1px solid var(--line)}
  button.btn[disabled]{opacity:.6; cursor:default}
  .btn.sm{padding:8px 14px; font-size:13px; border-radius:9px}
  .cab-head{display:flex; flex-wrap:wrap; gap:14px 24px; align-items:flex-end; justify-content:space-between; margin-bottom:22px}
  .cab-head h1{font-size:clamp(28px,4vw,40px)}
  .cab-head .who{color:var(--mut); font-size:14px; margin-top:10px; line-height:1.6}
  .cab-head .who b{color:var(--fg)}
  .pill{display:inline-block; font-size:11.5px; font-weight:700; border-radius:999px; padding:3px 10px; border:1px solid var(--line2); white-space:nowrap}
  .pill.ok{color:var(--ok2); border-color:rgba(127,208,166,.4)}
  .pill.wait{color:#f0c27a; border-color:rgba(240,194,122,.4)}
  .pill.bad{color:#ff8f8f; border-color:rgba(255,143,143,.4)}
  .ctabs{display:flex; gap:4px; flex-wrap:wrap; border-bottom:1px solid var(--line2); margin-bottom:22px}
  .ctabs button{background:none; border:0; border-bottom:2px solid transparent; color:var(--mut); font:inherit; font-size:15px; font-weight:700; padding:11px 10px; cursor:pointer; margin-bottom:-1px}
  .ctabs button.on{color:var(--gold2); border-bottom-color:var(--gold)}
  .pane{border:1px solid var(--line2); border-radius:16px; padding:clamp(18px,3vw,26px); background:rgba(255,255,255,.02); margin-bottom:16px; min-width:0}
  .pane h2{font-size:20px; margin:0 0 6px; letter-spacing:-.01em} .pane h3{font-size:16px; margin:0 0 8px}
  .pane .sub{color:var(--mut); font-size:14px; margin:0 0 6px; line-height:1.55}
  .lic{border:1px solid var(--line2); border-radius:14px; padding:16px 18px; margin-top:12px; background:#0a0f1c}
  .lic .top{display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; justify-content:space-between}
  .lic .top b{font-size:15px}
  .lic .meta{font-size:13px; color:var(--mut); margin-top:6px; line-height:1.55; overflow-wrap:anywhere}
  .keybox{margin-top:12px; display:flex; gap:8px; align-items:stretch}
  .keybox textarea{flex:1; min-height:74px; background:#05080f; border:1px solid var(--line); border-radius:10px; padding:10px 12px; color:#d6e2f5; font:12px/1.45 ui-monospace,Consolas,monospace; resize:vertical; word-break:break-all}
  @media (max-width:520px){ .keybox{flex-direction:column} }
  table.t{width:100%; border-collapse:collapse; font-size:14px}
  table.t th{text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--mut2); font-weight:700; padding:8px 10px; border-bottom:1px solid var(--line2)}
  table.t td{padding:11px 10px; border-bottom:1px solid var(--line2); vertical-align:top; color:#d8dfec}
  .tw{overflow-x:auto}
  .empty{color:var(--mut); font-size:14.5px; padding:12px 0}
  .hidden{display:none !important}
  .steps-mini{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px}
  @media (max-width:760px){ .steps-mini{grid-template-columns:1fr 1fr} }
  .steps-mini div{border:1px solid var(--line2); border-radius:12px; padding:12px; font-size:13px; color:var(--mut); line-height:1.45}
  .steps-mini div b{display:block; color:var(--gold2); font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px}
  .steps-mini div.done{border-color:rgba(127,208,166,.4)} .steps-mini div.done b{color:var(--ok2)}
  .steps-mini div.cur{border-color:var(--gold)}

  /* мелкие правки адаптива */
  .products > *, .two > *, .cards > *, .metrics > *{min-width:0}
  .metrics.m3{grid-template-columns:repeat(3,minmax(0,1fr))}
  @media (max-width:520px){
    .metrics.m3{gap:8px}
    .metrics.m3 .metric{padding:14px 10px}
    .metrics.m3 .metric .v{font-size:26px}
    .metrics.m3 .metric .l{font-size:12px}
  }
  /* полоса метрик: внешний .wrap.row не должен быть сеткой (иначе всё в 1-й колонке) */
  .strip > .wrap.row{display:block}
  /* золотая кнопка в меню: тёмный текст (правило .nav .links a перебивало цвет) */
  .nav .links a.btn-gold, .nav .links a.btn-gold:hover{color:#0a0f1c}
  .sec-head{max-width:760px}
  .sec-head.left{max-width:820px}
  .hero h1.long{font-size:clamp(34px,4.8vw,58px)}
  .pcard .shot{display:block; text-decoration:none; color:inherit}

  /* ссылки в мелком тексте форм и чата */
  .tf-note a, .cw-foot a{color:var(--gold2)}
  .note a{color:var(--gold2)}

  /* требования к серверу (Видеонаб) */
  .req{display:grid; grid-template-columns:1.55fr 1fr; gap:24px; align-items:start}
  @media (max-width:900px){ .req{grid-template-columns:1fr} }
  .req-list{margin:0; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01))}
  .req-list > div{display:grid; grid-template-columns:190px 1fr; gap:16px; padding:15px 22px; border-top:1px solid var(--line2)}
  .req-list > div:first-child{border-top:0}
  .req-list dt{font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); font-weight:700; padding-top:3px}
  .req-list dd{margin:0; color:#cdd5e3; font-size:15px; line-height:1.55}
  .req-list dd b{color:#fff}
  @media (max-width:560px){ .req-list > div{grid-template-columns:1fr; gap:4px; padding:14px 16px} }
  .req-side{display:grid; gap:12px}
  .req-side .metric{padding:18px 20px}
  .req-side .metric .v{font-size:clamp(28px,3.2vw,38px)}
  .req-side .metric.win .v{color:var(--ok2)}
  .req-note{margin:4px 0 0; color:var(--mut); font-size:14px; line-height:1.55}
  .req-note a{color:var(--gold2)}

  /* юридические документы: оферта, политика, согласие */
  .doc-nav{display:flex; flex-wrap:wrap; gap:8px; margin-top:22px}
  .doc-nav a{font-size:13px; font-weight:600; color:#d8dfec; border:1px solid var(--line2); background:rgba(255,255,255,.03); padding:8px 14px; border-radius:10px; text-decoration:none}
  .doc-nav a:hover{border-color:var(--gold2); color:#fff}
  .doc-nav a.on{border-color:rgba(201,162,75,.55); background:rgba(201,162,75,.14); color:var(--gold2)}
  .doc-meta{color:var(--mut); font-size:14px; margin:14px 0 0}
  .doc{max-width:860px; padding-bottom:30px}
  .doc .toc{border:1px solid var(--line2); border-radius:14px; padding:16px 22px; background:rgba(255,255,255,.02); margin:0 0 30px}
  .doc .toc b{display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:8px}
  .doc .toc ol{margin:0; padding-left:20px; columns:2; column-gap:30px; font-size:14px; line-height:1.8}
  @media (max-width:640px){ .doc .toc ol{columns:1} }
  .doc .toc li{margin:0; break-inside:avoid}
  .doc .toc a{color:#c7d0e0; text-decoration:none} .doc .toc a:hover{color:var(--gold2)}
  .doc h2{font-size:clamp(20px,2.4vw,25px); line-height:1.25; margin:38px 0 12px; letter-spacing:-.01em}
  .doc p, .doc li{color:#cdd5e3; font-size:15.5px; line-height:1.65}
  .doc p{margin:0 0 12px}
  .doc ul{margin:0 0 12px; padding-left:22px}
  .doc li{margin:4px 0}
  .doc a{color:var(--gold2)}
  .doc b{color:#fff}
  .doc table.rq{width:100%; border-collapse:collapse; margin:6px 0 16px; font-size:15px}
  .doc table.rq td{padding:10px 12px; border-bottom:1px solid var(--line2); color:#cdd5e3; vertical-align:top}
  .doc table.rq td:first-child{color:var(--mut); width:36%}
  .doc .callout{border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:12px; padding:14px 18px; background:rgba(201,162,75,.06); margin:0 0 24px}
  .doc .callout p{margin:0}
