/* ---------- палитра из логотипа ---------- */
  :root{
    --red:#d01010;
    --red-deep:#a30c0c;
    --red-soft:#fdeceb;
    --blue:#0030a0;
    --blue-deep:#001e63;
    --blue-soft:#e9eefb;
    --ink:#14181f;
    --ink-2:#3b4350;
    --muted:#6b7280;
    --line:#e4e7ec;
    --paper:#ffffff;
    --paper-2:#f6f6f4;
    --paper-3:#eef0f4;
    --serif:'Georgia','Iowan Old Style','Palatino Linotype','Times New Roman',serif;
    --sans:'Inter','Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
    --r-lg:28px;
    --r-md:18px;
    --r-sm:12px;
    --shadow-s:0 2px 8px rgba(16,24,40,.04), 0 12px 28px -18px rgba(16,24,40,.18);
    --shadow-m:0 8px 30px -12px rgba(0,48,160,.18), 0 30px 60px -40px rgba(16,24,40,.4);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:var(--sans); font-size:16.5px; line-height:1.62;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  }
  h1,h2,h3,h4{margin:0; font-family:var(--serif); font-weight:400; letter-spacing:-.015em; line-height:1.06; color:var(--ink)}
  p{margin:0}
  a{color:inherit; text-decoration:none}
  img{max-width:100%; display:block}
  ul{margin:0; padding:0; list-style:none}
  ::selection{background:var(--red-soft); color:var(--red-deep)}

  .wrap{width:min(1240px,100% - 48px); margin-inline:auto}
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px; font-family:var(--sans);
    font-size:11.5px; font-weight:650; letter-spacing:.18em; text-transform:uppercase; color:var(--blue);
  }
  .eyebrow i{width:7px; height:7px; border-radius:50%; background:var(--red); display:block; flex:none}
  .serif{font-family:var(--serif)}
  .acc{color:var(--red); font-style:italic}
  .muted{color:var(--muted)}

  /* ---------- кнопки ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    height:54px; padding:0 26px; border-radius:999px; border:1px solid transparent;
    font-family:var(--sans); font-size:15px; font-weight:600; letter-spacing:-.01em;
    cursor:pointer; transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-1px)}
  .btn:active{transform:translateY(0)}
  .btn--red{background:var(--red); color:#fff; box-shadow:0 12px 24px -14px rgba(208,16,16,.7)}
  .btn--red:hover{background:var(--red-deep); box-shadow:0 16px 30px -14px rgba(208,16,16,.75)}
  .btn--dark{background:var(--ink); color:#fff}
  .btn--dark:hover{background:#000}
  .btn--ghost{border-color:rgba(20,24,31,.16); color:var(--ink); background:transparent}
  .btn--ghost:hover{border-color:var(--ink); background:#fff}
  .btn--white{background:#fff; color:var(--blue-deep)}
  .btn--sm{height:46px; padding:0 20px; font-size:14px}
  .arrow{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease}
  .btn:hover .arrow{transform:translateX(3px)}

  /* ---------- верхняя полоса ---------- */
  .topbar{
    background:var(--ink); color:#c9ced8; font-size:12.5px; letter-spacing:.01em;
  }
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:40px; gap:16px}
  .topbar a{color:#fff}
  .live{display:inline-flex; align-items:center; gap:8px}
  .live i{width:6px; height:6px; border-radius:50%; background:#3ee07f; box-shadow:0 0 0 4px rgba(62,224,127,.15); animation:pulse 2.4s infinite}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

  /* ---------- шапка ---------- */
  .header{position:sticky; top:0; z-index:100; background:rgba(255,255,255,.86); backdrop-filter:blur(14px) saturate(160%); border-bottom:1px solid transparent; transition:border-color .2s, box-shadow .2s, background .2s}
  .header.is-stuck{border-color:var(--line); box-shadow:0 8px 30px -24px rgba(16,24,40,.5); background:rgba(255,255,255,.94)}
  .header .wrap{display:flex; align-items:center; gap:36px; height:86px; transition:height .2s}
  .header.is-stuck .wrap{height:72px}
  .brand{display:flex; align-items:center; flex:none}
  .brand img{height:38px; width:auto}
  .header.is-stuck .brand img{height:32px}
  .nav{display:flex; gap:28px; font-size:15px; font-weight:500; color:var(--ink-2)}
  .nav a{position:relative; padding:6px 0}
  .nav a::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .22s ease}
  .nav a:hover{color:var(--ink)}
  .nav a:hover::after{transform:scaleX(1)}
  .head-right{margin-left:auto; display:flex; align-items:center; gap:20px}
  .tel{text-align:right; line-height:1.25}
  .tel b{display:block; font-size:16px; font-weight:650; letter-spacing:-.01em}
  .tel span{font-size:11.5px; color:var(--muted)}
  .burger{display:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:#fff; align-items:center; justify-content:center; cursor:pointer}
  .burger span{display:block; width:16px; height:1.5px; background:var(--ink); position:relative}
  .burger span::before,.burger span::after{content:""; position:absolute; left:0; width:16px; height:1.5px; background:var(--ink)}
  .burger span::before{top:-5px} .burger span::after{top:5px}

  /* ---------- hero ---------- */
  .hero{position:relative; overflow:hidden; background:var(--paper-2); padding:74px 0 0}
  .hero::before{
    content:""; position:absolute; inset:-20% -10% auto auto; width:900px; height:900px; border-radius:50%;
    background:radial-gradient(circle at 30% 30%, rgba(208,16,16,.16), transparent 55%),
               radial-gradient(circle at 70% 60%, rgba(0,48,160,.16), transparent 55%);
    filter:blur(20px); pointer-events:none;
  }
  .hero::after{
    content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
  }
  .hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; padding-bottom:64px; align-items:center}
  .hero h1{font-size:clamp(38px,5.2vw,68px); margin:22px 0 24px; letter-spacing:-.03em}
  .hero h1 .thin{display:block; font-family:var(--sans); font-size:15px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; font-weight:600}
  .hero .lead{font-size:18.5px; color:var(--ink-2); max-width:540px; line-height:1.6}
  .hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:34px 0 30px}
  .trust{display:flex; gap:26px; flex-wrap:wrap; font-size:13.5px; color:var(--ink-2)}
  .trust span{display:inline-flex; align-items:center; gap:9px}
  .trust b{font-weight:650; color:var(--ink)}
  .trust .dot{width:5px; height:5px; border-radius:50%; background:var(--red)}

  /* ---------- форма ---------- */
  .lead-card{
    background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:32px;
    box-shadow:var(--shadow-m); position:relative;
  }
  .lead-card .badge{
    position:absolute; top:-14px; left:28px; background:var(--blue); color:#fff; font-size:11px;
    font-weight:650; letter-spacing:.1em; text-transform:uppercase; padding:7px 13px; border-radius:999px;
  }
  .lead-card h3{font-size:27px; margin-bottom:6px}
  .lead-card .sub{font-size:13.5px; color:var(--muted); margin-bottom:22px}
  .field{margin-bottom:12px}
  .field label{display:block; font-size:12px; font-weight:600; color:var(--ink-2); margin-bottom:6px; letter-spacing:.02em}
  .field input,.field select{
    width:100%; height:50px; padding:0 15px; border:1px solid var(--line); border-radius:var(--r-sm);
    background:#fbfbfa; font-family:var(--sans); font-size:15px; color:var(--ink); outline:none; transition:.16s;
    -webkit-appearance:none; appearance:none;
  }
  .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center}
  .field input:focus,.field select:focus{border-color:var(--blue); background:#fff; box-shadow:0 0 0 4px rgba(0,48,160,.08)}
  .consent{display:flex; gap:10px; align-items:flex-start; font-size:11.5px; line-height:1.45; color:var(--muted); margin:16px 0 18px}
  .consent input{margin:2px 0 0; accent-color:var(--red); width:15px; height:15px; flex:none}
  .lead-card .btn{width:100%}
  .lead-card .note{text-align:center; font-size:11.5px; color:var(--muted); margin-top:12px}

  /* ---------- бегущая строка ---------- */
  .marquee{border-block:1px solid var(--line); background:#fff; overflow:hidden; padding:16px 0;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent)}
  .marquee-track{display:flex; gap:56px; width:max-content; animation:slide 38s linear infinite}
  .marquee:hover .marquee-track{animation-play-state:paused}
  @keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .marquee span{display:inline-flex; align-items:center; gap:12px; font-family:var(--serif); font-size:19px; color:var(--ink-2); white-space:nowrap}
  .marquee span::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--red); opacity:.85}

  /* ---------- секции ---------- */
  .section{padding:104px 0}
  .section--tint{background:var(--paper-2)}
  .section-head{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:end; margin-bottom:56px}
  .section-head h2{font-size:clamp(30px,3.8vw,46px); margin-top:18px}
  .section-head p{color:var(--ink-2); font-size:16.5px; max-width:420px; justify-self:end}

  /* ---------- bento ---------- */
  .bento{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  .bento .tile{
    background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:28px;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    display:flex; flex-direction:column; min-height:210px;
  }
  .bento .tile:hover{transform:translateY(-3px); box-shadow:var(--shadow-s); border-color:#d6dae2}
  .bento .tile--wide{grid-column:span 2}
  .bento .tile--accent{background:var(--blue); border-color:var(--blue); color:#fff}
  .bento .tile--accent h3{color:#fff}
  .bento .tile--accent p{color:#c3cff0}
  .bento .tile--accent .num{color:rgba(255,255,255,.4)}
  .num{font-family:var(--sans); font-size:12px; font-weight:650; letter-spacing:.14em; color:var(--muted); margin-bottom:auto}
  .tile h3{font-size:23px; margin:20px 0 10px; letter-spacing:-.01em}
  .tile p{font-size:14.5px; color:var(--ink-2); margin:0}
  .tile .ic{width:38px; height:38px; border-radius:11px; background:var(--red-soft); color:var(--red); display:grid; place-items:center; margin-bottom:4px}
  .tile--accent .ic{background:rgba(255,255,255,.12); color:#fff}
  .tile .ic svg{width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}

  /* ---------- услуги: строки ---------- */
  .rows{border-top:1px solid var(--line)}
  .row{
    display:grid; grid-template-columns:64px 1.25fr 1.35fr 190px 44px; gap:24px; align-items:center;
    padding:26px 20px; border-bottom:1px solid var(--line); margin-inline:-20px;
    transition:background .2s ease, color .2s ease;
  }
  .row:hover{background:var(--ink); color:#fff; border-radius:var(--r-md)}
  .row:hover .row-idx,.row:hover .row-desc,.row:hover .row-price span{color:#a8b0bd}
  .row:hover .row-more{background:var(--red); border-color:var(--red); color:#fff}
  .row-idx{font-family:var(--serif); font-size:17px; color:var(--muted)}
  .row-name{font-family:var(--serif); font-size:24px; letter-spacing:-.01em}
  .row-desc{font-size:14.5px; color:var(--ink-2)}
  .row-price{text-align:right; font-size:15px; font-weight:650; white-space:nowrap}
  .row-price span{display:block; font-size:11.5px; font-weight:400; color:var(--muted)}
  .row-more{width:44px; height:44px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; transition:.2s}

  /* ---------- тарифы ---------- */
  .tariffs{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
  .tariff{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:34px 30px; display:flex; flex-direction:column; position:relative}
  .tariff--main{background:var(--ink); color:#fff; border-color:var(--ink)}
  .tariff--main h3,.tariff--main .price b{color:#fff}
  .tariff--main .desc,.tariff--main li,.tariff--main .price span{color:#a7aeb9}
  .tariff .flag{position:absolute; top:24px; right:24px; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; background:var(--red); color:#fff; padding:6px 11px; border-radius:999px; font-weight:700}
  .tariff h3{font-size:25px; margin-bottom:6px}
  .tariff .desc{font-size:13.5px; color:var(--muted); min-height:42px; margin-bottom:20px}
  .price{display:flex; align-items:baseline; gap:7px; padding-bottom:22px; border-bottom:1px solid var(--line)}
  .tariff--main .price{border-color:rgba(255,255,255,.14)}
  .price b{font-family:var(--serif); font-size:40px; font-weight:400; letter-spacing:-.02em; line-height:1}
  .price span{font-size:13px; color:var(--muted)}
  .tariff ul{display:grid; gap:11px; margin:22px 0 26px; flex:1}
  .tariff li{display:flex; gap:10px; font-size:14px; color:var(--ink-2); line-height:1.45}
  .tariff li::before{content:"✓"; width:16px; height:16px; flex:none; margin-top:3px; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-size:10px; font-weight:700; display:grid; place-items:center; line-height:1}
  .tariff--main li::before{content:"✓"; background:rgba(255,255,255,.14); color:#fff; box-shadow:none}
  .tariff .btn{width:100%}

  /* ---------- кейсы ---------- */
  .cases{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
  .case{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s}
  .case:hover{transform:translateY(-3px); box-shadow:var(--shadow-s)}
  .case-visual{height:180px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:20px}
  .case-visual::before{content:""; position:absolute; inset:0; opacity:.95}
  .case:nth-child(1) .case-visual::before{background:radial-gradient(120% 120% at 15% 10%, #123a8a 0%, #001e63 60%, #00123a 100%)}
  .case:nth-child(2) .case-visual::before{background:radial-gradient(120% 120% at 85% 0%, #e04a34 0%, #a30c0c 55%, #6d0707 100%)}
  .case:nth-child(3) .case-visual::before{background:radial-gradient(130% 130% at 20% 100%, #2b56c8 0%, #001e63 55%, #0d1430 100%)}
  .case-visual .tag{position:relative; z-index:2; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.3); padding:6px 11px; border-radius:999px; backdrop-filter:blur(4px)}
  .case-visual .big{position:absolute; right:22px; top:22px; z-index:2; font-family:var(--serif); font-size:46px; color:#fff; line-height:1; letter-spacing:-.03em}
  .case-body{padding:24px 24px 26px; display:flex; flex-direction:column; flex:1}
  .case-body h3{font-size:21px; line-height:1.24}
  .case-body p{font-size:14px; color:var(--ink-2); margin-top:10px; flex:1}
  .case-meta{display:flex; gap:20px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); font-size:12px; color:var(--muted)}
  .case-meta b{display:block; color:var(--ink); font-size:14px; font-weight:650; font-family:var(--sans)}

  /* ---------- процесс ---------- */
  .steps{display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-top:1px solid var(--line); position:relative}
  .step{padding:30px 22px 0 0; position:relative}
  .step::before{content:""; position:absolute; left:0; top:-1px; width:0; height:2px; background:var(--red); transition:width .5s ease}
  .step:hover::before{width:60%}
  .step b{display:block; font-family:var(--serif); font-size:15px; color:var(--red); margin-bottom:16px}
  .step h4{font-size:19px; margin-bottom:8px}
  .step p{font-size:13.5px; color:var(--ink-2)}

  /* ---------- отзывы ---------- */
  .reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
  .review{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:30px; display:flex; flex-direction:column; gap:18px}
  .review .mark{font-family:var(--serif); font-size:52px; line-height:.6; color:var(--red); opacity:.35}
  .review p{font-family:var(--serif); font-size:17px; line-height:1.5; color:var(--ink)}
  .who{display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:16px; border-top:1px solid var(--line)}
  .ava{width:42px; height:42px; border-radius:50%; background:var(--paper-3); display:grid; place-items:center; font-size:13px; font-weight:700; color:var(--blue)}
  .who b{display:block; font-size:14px; font-family:var(--sans); font-weight:650}
  .who span{font-size:12px; color:var(--muted)}

  /* ---------- FAQ ---------- */
  .faq{max-width:900px; margin-inline:auto; border-top:1px solid var(--line)}
  .q{border-bottom:1px solid var(--line)}
  .q summary{
    list-style:none; cursor:pointer; padding:26px 56px 26px 0; position:relative;
    font-family:var(--serif); font-size:20px; color:var(--ink); transition:color .18s;
  }
  .q summary::-webkit-details-marker{display:none}
  .q summary:hover{color:var(--blue)}
  .q summary::after{
    content:""; position:absolute; right:8px; top:50%; width:14px; height:14px; margin-top:-7px;
    background:
      linear-gradient(var(--red),var(--red)) center/14px 1.6px no-repeat,
      linear-gradient(var(--red),var(--red)) center/1.6px 14px no-repeat;
    transition:transform .25s ease;
  }
  .q[open] summary::after{transform:rotate(45deg)}
  .q .a{padding:0 60px 26px 0; font-size:15px; color:var(--ink-2)}

  /* ---------- CTA ---------- */
  .cta{position:relative; overflow:hidden; border-radius:36px; background:var(--ink); color:#fff; padding:68px; display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:center}
  .cta::before{content:""; position:absolute; width:620px; height:620px; right:-140px; top:-260px; border-radius:50%;
    background:radial-gradient(circle, rgba(208,16,16,.55), transparent 62%); filter:blur(30px)}
  .cta::after{content:""; position:absolute; width:520px; height:520px; left:-160px; bottom:-320px; border-radius:50%;
    background:radial-gradient(circle, rgba(0,48,160,.6), transparent 65%); filter:blur(30px)}
  .cta > *{position:relative; z-index:2}
  .cta h2{color:#fff; font-size:clamp(30px,3.6vw,46px); margin-bottom:16px}
  .cta p{color:#b9c0cc; font-size:16.5px; max-width:520px}
  .cta-actions{display:flex; flex-direction:column; gap:12px}
  .cta .btn--white{height:58px}

  /* ---------- подвал ---------- */
  .footer{background:var(--ink); color:#9aa2ae; padding:72px 0 30px; margin-top:104px; font-size:14px}
  .footer a:hover{color:#fff}
  .footer-top{display:grid; grid-template-columns:1.3fr .9fr .9fr 1.1fr; gap:44px}
  .footer .lockup{display:flex; align-items:center; gap:12px; margin-bottom:18px}
  .footer .lockup img{height:42px; width:auto; opacity:.96}
  .footer p{color:#8d95a1; font-size:13.5px; max-width:270px}
  .footer h4, .footer .foot-title{font-family:var(--sans); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:16px; font-weight:700; margin-top:0}
  .footer li{margin-bottom:10px}
  .footer .big-word{
    margin-top:56px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1);
    font-family:var(--serif); font-size:clamp(48px,11vw,150px); line-height:.9; letter-spacing:-.04em;
    color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.16); white-space:nowrap; overflow:hidden;
  }
  .footer-bottom{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:28px; font-size:12.5px; color:#b8c1cd}

  .proto{position:fixed; left:20px; bottom:20px; z-index:200; background:rgba(20,24,31,.9); color:#fff; font-size:11.5px; padding:9px 14px; border-radius:999px; letter-spacing:.03em; backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.14)}
  .proto b{color:#ff8a80}

  /* мобильное меню */
  section[id]{scroll-margin-top:96px}
  .mnav{
    position:fixed; inset:0; z-index:150; background:rgba(20,24,31,.55); backdrop-filter:blur(6px);
    opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  .mnav.is-open{opacity:1; pointer-events:auto}
  .mnav-panel{
    position:absolute; left:0; right:0; top:0; background:#fff; padding:24px 20px 30px;
    transform:translateY(-100%); transition:transform .3s cubic-bezier(.22,.61,.36,1);
    border-radius:0 0 24px 24px;
  }
  .mnav.is-open .mnav-panel{transform:none}
  .mnav-panel a{display:block; padding:15px 0; border-bottom:1px solid var(--line); font-family:var(--serif); font-size:21px}
  .mnav-panel .btn{margin-top:18px; width:100%}
  .mnav-close{position:absolute; right:16px; top:16px; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:#fff; font-size:18px; cursor:pointer; line-height:1}

  /* ---------- анимация появления ---------- */
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1)}
  .reveal.is-in{opacity:1; transform:none}
  @media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none; transition:none} .marquee-track{animation:none}}

  /* ---------- адаптив ---------- */
  @media (max-width:1100px){
    .hero .wrap{grid-template-columns:1fr; gap:40px; padding-bottom:48px}
    .section-head{grid-template-columns:1fr; gap:16px}
    .section-head p{justify-self:start}
    .bento{grid-template-columns:1fr 1fr}
    .bento .tile--wide{grid-column:span 2}
    .tariffs,.cases,.reviews{grid-template-columns:1fr 1fr}
    .steps{grid-template-columns:1fr 1fr 1fr}
    .row{grid-template-columns:44px 1fr 150px 44px}
    .row-desc{display:none}
    .cta{grid-template-columns:1fr; padding:44px}
    .footer-top{grid-template-columns:1fr 1fr}
    .nav,.tel{display:none}
    .burger{display:flex}
  }
  @media (max-width:720px){
    body{font-size:16px}
    .wrap{width:calc(100% - 32px)}
    .hero{padding-top:44px}
    .section{padding:64px 0}
    .bento,.tariffs,.cases,.reviews,.steps{grid-template-columns:1fr}
    .bento .tile--wide{grid-column:span 1}
    .bento .tile{min-height:0}
    .row{grid-template-columns:1fr 44px; gap:12px; row-gap:6px; padding:22px 4px}
    .row-idx{display:none}
    .row-price{grid-column:1; text-align:left}
    .row-more{grid-row:1; grid-column:2}
    .row-name{font-size:21px}
    .head-right .btn{display:none}
    .topbar .wrap{height:auto; padding:8px 0; flex-wrap:wrap; gap:4px}
    .footer-top{grid-template-columns:1fr}
    .cta{padding:32px; border-radius:26px}
    .cta-actions .btn{width:100%}
  }

/* четыре пакета поддержки */
.tariffs--four{grid-template-columns:repeat(4,1fr)}
.tariffs--four .tariff{padding:28px 22px}
.tariffs--four .tariff--main{padding-top:56px}
.tariffs--four .tariff .flag{top:14px; right:14px; font-size:9.5px; padding:5px 9px}
.tariffs--four .tariff h3{font-size:22px}
.tariffs--four .tariff h3{font-size:24px}
@media (max-width:1200px){ .tariffs--four{grid-template-columns:1fr 1fr} }
@media (max-width:720px){ .tariffs--four{grid-template-columns:1fr} }

/* шапка не переносится при большом числе пунктов */
.nav a{white-space:nowrap}
.tel b{white-space:nowrap}
@media (max-width:1500px){ .nav{gap:18px} .nav a{font-size:14px} }
@media (max-width:1280px){ .nav{gap:14px} .nav a{font-size:13.5px} .tel b{font-size:15px} }

/* --contrast-fix: текст на тёмной карточке тарифа */
.tariff--main .desc{color:#c9d2de}
.tariff--main li{color:#e6ebf2}
.tariff--main .price span{color:#c9d2de}

/* ---------- ссылка на личный кабинет ---------- */
.cab-link{display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--muted);
  text-decoration:none; white-space:nowrap; transition:.15s}
.cab-link:hover{color:var(--blue)}
.cab-link svg{opacity:.75}
@media (max-width:1180px){ .cab-link span{display:none} }
