/* стили главной protasovbroker.ru для страниц блога (сборка) */

  

  :root{
    color-scheme: light;
    --navy:#101B3D;
    --navy-2:#1B2A57;
    --slate:#3E4761;
    --slate-soft:#5F6B85;
    --blue:#2952E3;
    --blue-2:#1B3FBE;
    --blue-tint:#EEF2FF;
    --blue-tint-2:#DDE6FE;
    --coral:#FF6A5C;
    --coral-2:#C03729;
    --coral-tint:#FFEAE7;
    --white:#FFFFFF;
    --line:rgba(16,27,61,0.09);
    --line-strong:rgba(16,27,61,0.16);
    --shadow:0 24px 50px rgba(16,27,61,.10);
    --shadow-sm:0 10px 24px rgba(16,27,61,.07);
  }

  *{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; }
  [hidden]{ display:none !important; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ transition:none!important; animation:none!important; } }

  body{
    margin:0; background:var(--white); color:var(--navy);
    font-family:'Manrope', ui-sans-serif, system-ui, sans-serif;
    padding-left:max(20px, env(safe-area-inset-left,0px));
    padding-right:max(20px, env(safe-area-inset-right,0px));
  }

  h1,h2,h3{ font-family:'Sora', ui-sans-serif, sans-serif; font-weight:700; margin:0; text-wrap:balance; color:var(--navy); }
  p{ margin:0; }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  ul{ margin:0; padding:0; }
  li{ list-style:none; }
  :focus-visible{ outline:3px solid var(--blue); outline-offset:3px; border-radius:4px; }

  .wrap{ max-width:1120px; margin:0 auto; }
  .mono{ font-family:'JetBrains Mono', ui-monospace, monospace; }
  section{ padding-block:54px; }
  section[id]{ scroll-margin-top:92px; }
  @media (max-width:760px){ section{ padding-block:36px; } }
  .tint{ background:var(--blue-tint); }
  .calc-sec, .tint{ padding-block:60px 50px; }
  /* секции после плашек: пауза уже создана цветным блоком выше */
  section.tight{ padding-top:36px; }
  @media (max-width:760px){ .calc-sec, .tint{ padding-block:42px 34px; } section.tight{ padding-top:26px; } }

  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:600;
    letter-spacing:.06em; text-transform:uppercase; color:var(--blue);
    background:var(--blue-tint); padding:7px 14px; border-radius:100px;
  }
  .eyebrow.on-dark{ background:rgba(255,255,255,.13); color:#CFDAFF; }
  .eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--coral); flex-shrink:0; }

  .sec-head{ max-width:660px; }
  .sec-head h2{ margin-top:16px; font-size:clamp(28px,3.6vw,40px); line-height:1.15; }
  .sec-head p{ margin-top:16px; font-size:17px; line-height:1.62; color:var(--slate); }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:'Manrope', sans-serif; font-weight:700; font-size:15.5px;
    padding:15px 26px; border-radius:100px; border:2px solid transparent; white-space:nowrap; cursor:pointer;
    transition:transform .15s ease, background .15s ease, border-color .15s ease;
  }
  .btn-coral{ background:var(--coral); color:#fff; box-shadow:0 14px 28px rgba(255,106,92,.3); }
  .btn-coral:hover{ background:var(--coral-2); transform:translateY(-1px); }
  .btn-navy{ background:var(--navy); color:#fff; }
  .btn-navy:hover{ background:var(--navy-2); }
  .btn-outline-navy{ border-color:var(--line-strong); color:var(--navy); background:#fff; }
  .btn-outline-navy:hover{ border-color:var(--blue); color:var(--blue); }
  .btn-outline-white{ border-color:rgba(255,255,255,.42); color:#fff; }
  .btn-outline-white:hover{ border-color:#fff; }
  .btn-sm{ padding:10px 18px; font-size:13.5px; }
  .btn-full{ width:100%; }
  .btn-row{ display:flex; gap:14px; flex-wrap:wrap; min-width:0; }
  /* блоки-сетки не должны расширяться под самый длинный нераздвигаемый элемент */
  .consult > div, .lm > div, .final-cta > div, .who-card, .wait-text, .wait-list{ min-width:0; }
  @media (max-width:400px){
    .btn{ white-space:normal; padding-left:18px; padding-right:18px; }
  }

  /* ================= header ================= */
  header{
    position:sticky; top:env(safe-area-inset-top,0px); z-index:50;
    background:rgba(255,255,255,.88); backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
    margin-inline:calc(-1 * max(20px, env(safe-area-inset-left,0px)));
    padding-inline:max(20px, env(safe-area-inset-left,0px));
  }
  header .wrap{ display:flex; align-items:center; justify-content:space-between;
    gap:14px; padding-block:14px; flex-wrap:nowrap; }
  /* кнопка и бургер не переносятся вниз ни при каком размере экрана */
  header .btn-row{ flex-wrap:nowrap; flex-shrink:0; gap:10px; }
  header .btn{ white-space:nowrap; }
  /* имя сжимается и при нехватке места обрезается, но не уходит на вторую строку */
  .brand{ min-width:0; }
  .brand .txt{ min-width:0; }
  .brand .txt b{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .brand .txt span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .brand{ display:flex; align-items:center; gap:11px; }
  .brand .mark{ width:36px; height:36px; border-radius:11px; background:linear-gradient(135deg,var(--blue) 0%,var(--coral) 100%); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Sora',sans-serif; font-weight:800; font-size:14px; }
  .brand .txt{ display:flex; flex-direction:column; line-height:1.2; }
  .brand .txt b{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; }
  .brand .txt span{ font-size:11.5px; color:var(--slate-soft); }
  nav.top{ display:flex; gap:26px; }
  nav.top a{ font-size:14px; font-weight:600; color:var(--slate); }
  nav.top a:hover{ color:var(--blue); }
  @media (max-width:900px){ nav.top{ display:none; } }
  @media (max-width:520px){ header .head-phone{ display:none; } }
  .lbl-short{ display:none; }
  .brand-br{ display:none; }
  @media (max-width:520px){
    .lbl-full{ display:none; }
    .lbl-short{ display:inline; }
    .brand .txt span{ display:none; }
    /* на телефоне убираем значок и ставим имя в две строки —
       так оно помещается целиком, без сокращения */
    .brand .mark{ display:none; }
    .brand-br{ display:inline; }
    .brand .txt b{ white-space:normal; overflow:visible; text-overflow:clip;
      font-size:16px; line-height:1.15; }
  }

  /* ================= hero ================= */
  .hero{ background:linear-gradient(180deg,var(--blue-tint) 0%, #fff 78%); overflow:hidden; padding-block:44px 50px; }
  @media (max-width:760px){ .hero{ padding-block:26px 40px; } }
  .hero .wrap{ padding-block:0; }
  .hero-grid{ display:grid; grid-template-columns:1.12fr .88fr; gap:54px; align-items:center; }
  @media (max-width:900px){ .hero-grid{ grid-template-columns:1fr; gap:38px; } }
  .hero-copy h1{ margin-top:18px; font-size:clamp(32px,4.4vw,48px); line-height:1.1; }
  .hero-copy h1 em{ font-style:normal; color:var(--blue); }
  .hero-copy .lede{ margin-top:20px; font-size:18px; line-height:1.62; color:var(--slate); max-width:52ch; }
  .chips{ margin-top:22px; display:flex; flex-wrap:wrap; gap:8px; }
  .chip{ font-size:13px; font-weight:600; color:var(--navy); background:#fff; border:1px solid var(--line-strong); padding:7px 14px; border-radius:100px; }
  .hero-copy .btn-row{ margin-top:28px; }
  .hero-note{ margin-top:14px; font-size:14.5px; color:var(--slate-soft); }

  .hero-visual{ position:relative; }
  .blob{ position:absolute; inset:-7% -12% -7% -5%; z-index:0;
    background:linear-gradient(150deg,var(--blue) 0%, var(--coral) 100%);
    opacity:.15; filter:blur(8px);
    border-radius:44% 56% 58% 42% / 48% 44% 56% 52%;
  }
  .hero-photo{ position:relative; z-index:1; border-radius:28px; overflow:hidden; box-shadow:var(--shadow); }
  .hero-photo img{ width:100%; height:470px; object-fit:cover; object-position:top center; }
  @media (max-width:900px){ .hero-photo img{ height:380px; } }
  .hero-badge{
    position:absolute; z-index:2; left:-16px; bottom:28px;
    background:#fff; border-radius:16px; box-shadow:var(--shadow-sm); padding:14px 18px;
    display:flex; align-items:center; gap:12px;
  }
  @media (max-width:900px){ .hero-badge{ left:14px; bottom:16px; padding:12px 15px; } }
  .hero-badge .num{ font-family:'Sora',sans-serif; font-weight:800; font-size:22px; }
  .hero-badge .lbl{ font-size:11.5px; color:var(--slate-soft); line-height:1.3; max-width:12ch; }

  .stat-row{ margin-top:40px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
  @media (max-width:760px){ .stat-row{ grid-template-columns:repeat(2,1fr); } }
  .stat-row .cell{ padding:22px 18px 20px; border-left:1px solid var(--line); }
  .stat-row .cell:first-child{ border-left:none; padding-left:0; }
  @media (max-width:760px){
    .stat-row .cell:nth-child(2n+1){ border-left:none; padding-left:0; }
    .stat-row .cell:nth-child(n+3){ border-top:1px solid var(--line); }
  }
  .stat-row .num{ font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(21px,2.5vw,29px); color:var(--blue); }
  .stat-row .lbl{ margin-top:6px; font-size:14.5px; color:var(--slate); }

  .who-card[id]{ scroll-margin-top:100px; }

  /* ================= reasons ================= */
  .reasons-grid{ margin-top:32px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:18px; }
  .reason{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 22px; }
  .reason b{ display:block; font-family:'Sora',sans-serif; font-size:16.5px; }
  .reason span{ display:block; margin-top:9px; font-size:15px; line-height:1.6; color:var(--slate); }
  .reasons-after{ margin-top:22px; padding:22px 28px; border-radius:20px; background:var(--navy); color:#DCE1F5; font-size:16px; line-height:1.65; }
  @media (max-width:520px){ .reasons-after{ padding:22px 20px; font-size:15px; } }
  .reasons-after b{ color:#fff; }

  /* ================= waiting cost ================= */
  .wait-grid{ margin-top:32px; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:start; }
  @media (max-width:860px){ .wait-grid{ grid-template-columns:1fr; gap:26px; } }
  .wait-text p{ font-size:16.5px; line-height:1.7; color:var(--slate); margin-bottom:16px; max-width:58ch; }
  .wait-text p:last-child{ margin-bottom:0; }
  .wait-text b{ color:var(--navy); }
  .wait-list{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 28px; }
  @media (max-width:520px){ .wait-list{ padding:22px 20px; } }
  .wait-list .h{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--slate-soft); }
  .wait-list ul{ margin-top:16px; display:flex; flex-direction:column; gap:14px; }
  .wait-list li{ display:flex; gap:12px; font-size:15.5px; line-height:1.55; color:var(--slate); }
  .wait-list li i{ flex-shrink:0; width:20px; height:20px; border-radius:50%; background:var(--coral-tint); color:var(--coral-2); font-style:normal; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-top:1px; }

  /* ================= lead magnet ================= */
  .magnet{ margin-top:26px; display:flex; gap:26px; align-items:center; justify-content:space-between; flex-wrap:wrap;
    padding:30px 34px; border-radius:22px; background:var(--blue-tint); border:1px dashed var(--blue-tint-2); }
  @media (max-width:520px){ .magnet{ padding:24px 20px; gap:18px; } }
  .magnet h3{ font-size:21px; max-width:26ch; }
  .magnet p{ margin-top:10px; font-size:15.5px; line-height:1.6; color:var(--slate); max-width:52ch; }
  .magnet .small{ margin-top:10px; font-size:14px; color:var(--slate-soft); }

  /* ================= pains ================= */
  .pain-split{ margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:30px; }
  @media (max-width:860px){ .pain-split{ grid-template-columns:1fr; gap:26px; } }
  .pain-col{ display:flex; flex-direction:column; gap:12px; }
  .pain-col .tagline{ align-self:flex-start; font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:6px 13px; border-radius:100px; margin-bottom:4px; }
  .pain-col .tagline.sell{ background:var(--coral-tint); color:var(--coral-2); }
  .pain-col .tagline.buy{ background:var(--blue-tint-2); color:var(--blue-2); }
  .pain{ display:flex; gap:14px; padding:18px 20px; border:1px solid var(--line); border-radius:16px; }
  .pain .x{ flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--coral-tint); color:var(--coral-2); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12px; }
  .pain p{ font-size:15.5px; line-height:1.55; color:var(--slate); }
  .pain-after{ margin-top:26px; padding:22px 26px; background:var(--blue-tint); border-radius:18px; display:flex; gap:20px; align-items:center; flex-wrap:wrap; justify-content:space-between; }
  .pain-after b{ font-family:'Sora',sans-serif; font-size:18px; font-weight:700; max-width:46ch; display:block; }

  /* ================= calculator ================= */
  .calc-sec{ background:linear-gradient(160deg,var(--navy) 0%, var(--navy-2) 100%); color:#fff;
    margin-inline:calc(-1 * max(20px, env(safe-area-inset-left,0px))); padding-inline:max(20px, env(safe-area-inset-left,0px)); }
  .calc-grid{ display:grid; grid-template-columns:1fr .9fr; gap:56px; align-items:center; }
  @media (max-width:900px){ .calc-grid{ grid-template-columns:1fr; gap:34px; } }
  .calc-intro h2{ color:#fff; margin-top:18px; font-size:clamp(28px,3.6vw,38px); }
  .calc-intro > p{ margin-top:16px; font-size:16.5px; line-height:1.62; color:#C4CBE8; max-width:46ch; }
  .calc-points{ margin-top:22px; display:flex; flex-direction:column; gap:11px; }
  .calc-points li{ display:flex; gap:11px; align-items:center; font-size:15.5px; color:#E6EAF8; }
  .calc-points li b{ flex-shrink:0; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-size:11px; display:flex; align-items:center; justify-content:center; }

  .calc-card{ background:#fff; border-radius:24px; padding:30px; box-shadow:0 30px 70px rgba(0,0,0,.28); }
  @media (max-width:520px){ .calc-card{ padding:22px; } }
  .field{ margin-bottom:16px; }
  .field label{ display:block; font-size:14px; font-weight:700; color:var(--navy); margin-bottom:7px; }
  .field select, .field input{
    /* 16px обязательно: при меньшем кегле iOS сам увеличивает страницу при фокусе */
    width:100%; font-family:'Manrope',sans-serif; font-size:16px; color:var(--navy);
    padding:13px 15px; border:1.5px solid var(--line-strong); border-radius:12px; background:#fff; appearance:none;
  }
  .field select{ background-image:linear-gradient(45deg,transparent 50%,var(--slate) 50%),linear-gradient(135deg,var(--slate) 50%,transparent 50%); background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:42px; }
  .field select:focus, .field input:focus{ border-color:var(--blue); outline:none; }
  @media (max-width:420px){ .field select{ padding-right:36px; } }
  /* на самых узких экранах отыгрываем место у полей, чтобы название отрасли
     помещалось целиком и не обрезалось на полуслове */
  @media (max-width:360px){
    .calc-card{ padding:16px; }
    .field select{ padding-left:12px; padding-right:32px; }
  }
  .calc-result{ margin-top:20px; padding:22px; border-radius:16px; background:var(--blue-tint); }
  .res-label{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--slate-soft); }
  .res-value{ margin-top:8px; font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(24px,4vw,32px); color:var(--blue-2); }
  .res-sub{ margin-top:10px; font-size:14.5px; line-height:1.55; color:var(--slate); }
  .calc-result .btn{ margin-top:16px; }
  .res-upside{ margin-top:14px; padding:14px 16px; background:var(--coral-tint); border-radius:12px; font-size:14.5px; line-height:1.6; color:var(--coral-2); }
  .res-upside b{ color:var(--coral-2); }
  .msg-box{ margin-top:16px; padding:16px 18px; background:#fff; border:1px dashed var(--line-strong); border-radius:14px; }
  .msg-text{ margin-top:9px; font-size:14.5px; line-height:1.6; color:var(--navy); }
  .msg-box .btn{ margin-top:14px; font-size:14px; padding:12px 18px; }
  .calc-note{ margin-top:16px; font-size:12.5px; line-height:1.5; color:var(--slate-soft); }

  /* ================= about ================= */
  .about-grid{ display:grid; grid-template-columns:.75fr 1.25fr; gap:54px; align-items:start; }
  @media (max-width:900px){ .about-grid{ grid-template-columns:1fr; gap:32px; } }
  .about-photo{ border-radius:24px; overflow:hidden; box-shadow:var(--shadow); }
  .about-photo img{ width:100%; height:560px; object-fit:cover; object-position:top center; }
  @media (max-width:900px){ .about-photo img{ height:430px; } }
  @media (max-width:520px){ .about-photo img{ height:370px; } }
  .about-body p{ font-size:16.5px; line-height:1.72; color:var(--slate); margin-bottom:18px; max-width:60ch; }
  .about-body p:last-child{ margin-bottom:0; }
  .guarantee{ margin:6px 0 22px; padding:22px 24px; border-radius:18px; background:var(--navy); color:#fff; display:flex; gap:16px; align-items:flex-start; }
  .guarantee .ic{ flex-shrink:0; width:36px; height:36px; border-radius:11px; background:var(--coral); display:flex; align-items:center; justify-content:center; font-weight:800; color:#fff; }
  .guarantee p{ color:#DCE1F5; font-size:15.5px; line-height:1.6; margin:0; max-width:none; }
  .guarantee b{ color:#fff; }

  /* ================= who / not ================= */
  .who-grid{ margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  @media (max-width:760px){ .who-grid{ grid-template-columns:1fr; } }
  .who-card{ background:#fff; border-radius:22px; padding:32px; box-shadow:var(--shadow-sm); }
  @media (max-width:520px){ .who-card{ padding:24px; } }
  .who-card .tag{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--coral-2); background:var(--coral-tint); padding:5px 12px; border-radius:100px; }
  .who-card h3{ margin-top:16px; font-size:22px; }
  .who-card > p{ margin-top:12px; font-size:15.5px; line-height:1.6; color:var(--slate); }
  .who-list{ margin-top:20px; display:flex; flex-direction:column; gap:12px; }
  .who-list li{ display:flex; gap:11px; font-size:15.5px; color:var(--navy); align-items:flex-start; line-height:1.45; }
  .who-list li b{ flex-shrink:0; width:19px; height:19px; border-radius:50%; background:var(--blue); color:#fff; font-size:11px; display:flex; align-items:center; justify-content:center; margin-top:1px; }
  .not-work{ margin-top:20px; background:#fff; border:1px dashed var(--line-strong); border-radius:20px; padding:24px 30px; }
  @media (max-width:520px){ .not-work{ padding:22px; } }
  .not-work h3{ font-size:19px; }
  .not-work ul{ margin-top:16px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 26px; }
  @media (max-width:700px){ .not-work ul{ grid-template-columns:1fr; } }
  .not-work li{ display:flex; gap:10px; font-size:15.5px; color:var(--slate); line-height:1.5; }
  .not-work li span{ color:var(--coral-2); font-weight:800; flex-shrink:0; }
  .not-work .after{ margin-top:18px; font-size:15.5px; color:var(--navy); font-weight:600; }

  /* ================= mistakes ================= */
  .mist-grid{ margin-top:34px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:20px; }
  .mist{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 24px; }
  .mist .n{ font-family:'Sora',sans-serif; font-weight:800; font-size:15px; color:var(--coral); }
  .mist h3{ margin-top:10px; font-size:18px; line-height:1.3; }
  .mist p{ margin-top:10px; font-size:15.5px; line-height:1.6; color:var(--slate); }
  .mist .cons{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:14.5px; line-height:1.55; color:var(--coral-2); font-weight:600; }

  /* ================= compare ================= */
  .compare-wrap{ margin-top:34px; overflow-x:auto; border-radius:20px; box-shadow:var(--shadow-sm); background:#fff; }
  table.compare{ width:100%; border-collapse:collapse; min-width:700px; }
  table.compare th, table.compare td{ padding:16px 18px; text-align:left; border-bottom:1px solid var(--line); font-size:15.5px; vertical-align:top; }
  table.compare thead th{ font-family:'Sora',sans-serif; font-size:14.5px; color:var(--slate); background:#FBFBFE; }
  table.compare thead th.me{ background:var(--navy); color:#fff; }
  table.compare tbody th{ color:var(--navy); font-weight:700; font-size:15px; background:#FBFBFE; }
  table.compare td.me{ background:var(--blue-tint); font-weight:600; color:var(--blue-2); }
  table.compare tr:last-child td, table.compare tr:last-child th{ border-bottom:none; }
  @media (max-width:760px){
    .compare-wrap{ overflow-x:visible; background:transparent; box-shadow:none; border-radius:0; }
    table.compare{ min-width:0; display:block; }
    table.compare thead{ display:none; }
    table.compare tbody{ display:block; }
    table.compare tr{ display:block; background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); padding:18px 20px; margin-bottom:14px; }
    table.compare tbody th{ display:block; background:transparent; padding:0 0 12px; font-size:16px; font-family:'Sora',sans-serif; border-bottom:1px solid var(--line); }
    table.compare td{ display:flex; gap:14px; justify-content:space-between; align-items:baseline; padding:10px 0 0; border-bottom:none; font-size:15px; }
    table.compare td::before{ content:attr(data-label); color:var(--slate-soft); font-size:12.5px; flex:0 0 38%; }
    table.compare td > span{ flex:1; text-align:right; }
    table.compare td.me{ background:transparent; margin-top:10px; padding-top:12px; border-top:1px solid var(--line); }
    table.compare td.me::before{ color:var(--navy); font-weight:700; }
  }

  /* шапка колонки с ценой: лёгкий акцент вместо тёмной плашки */
  table.rates thead th.me{ background:var(--blue-tint); color:var(--navy); border-top:3px solid var(--blue); }
  .th-main{ display:block; font-size:15.5px; }
  .th-sub{ display:block; margin-top:5px; font-family:'Manrope',sans-serif; font-weight:500;
    font-size:12px; line-height:1.4; color:var(--slate-soft); }

  /* полосы окупаемости внутри таблицы */
  .pb{ display:flex; flex-direction:column; gap:7px; min-width:170px; }
  .pb-val{ font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:600; color:var(--navy);
    font-variant-numeric:tabular-nums; }
  .pb-track{ position:relative; height:9px; border-radius:100px; background:var(--blue-tint-2); }
  .pb-fill{ position:absolute; top:0; bottom:0; border-radius:100px; }
  .pb-axis{ display:flex; justify-content:space-between; margin-top:8px;
    font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:400;
    letter-spacing:.02em; color:var(--slate-soft); }
  .pb-axis i{ font-style:normal; }
  @media (max-width:760px){
    .pb{ min-width:0; }
    .pb-track{ display:none; }
    .pb-val{ font-size:15px; }
  }

  /* ================= services ================= */
  .svc-list{ margin-top:34px; display:flex; flex-direction:column; gap:1px; background:var(--line); border-radius:24px; overflow:hidden; box-shadow:var(--shadow-sm); }
  .svc{ background:#fff; padding:34px 36px; display:grid; grid-template-columns:62px 1fr; gap:24px; }
  @media (max-width:700px){ .svc{ grid-template-columns:1fr; padding:26px 22px; gap:16px; } }
  .svc .ico{ width:56px; height:56px; border-radius:16px; background:var(--blue-tint); color:var(--blue); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:800; font-size:19px; }
  .svc h3{ font-size:22px; }
  .svc .for{ margin-top:9px; font-size:15px; line-height:1.5; color:var(--coral-2); font-weight:700; }
  .svc p.desc{ margin-top:10px; font-size:16px; line-height:1.65; color:var(--slate); max-width:66ch; }
  .svc .cols{ margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  @media (max-width:560px){ .svc .cols{ grid-template-columns:1fr; } }
  .svc .cols .h{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--slate-soft); margin-bottom:9px; }
  .svc .cols ul{ display:flex; flex-direction:column; gap:7px; }
  .svc .cols li{ font-size:15px; line-height:1.45; color:var(--navy); padding-left:18px; position:relative; }
  .svc .cols li::before{ content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--blue); }
  .svc .cols li.res::before{ background:var(--coral); }

  /* ================= sourcing ================= */
  .src-grid{ margin-top:34px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:20px; }
  .src{ background:#fff; border-radius:20px; padding:28px 24px; box-shadow:var(--shadow-sm); }
  .src .ic{ width:44px; height:44px; border-radius:13px; background:var(--coral-tint); color:var(--coral-2); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:800; font-size:16px; }
  .src h3{ margin-top:16px; font-size:17.5px; line-height:1.3; }
  .src p{ margin-top:10px; font-size:15px; line-height:1.6; color:var(--slate); }

  .ic-svg{ width:26px; height:26px; display:block; }
  .reason-ic{ width:38px; height:38px; border-radius:11px; background:var(--blue-tint); color:var(--blue);
    display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .reason-ic .ic-svg{ width:21px; height:21px; }

  /* шкала сроков сделки */
  .tl{ margin-top:30px; }
  .tl-bar{ display:flex; height:14px; border-radius:100px; overflow:hidden; background:var(--blue-tint); }
  .tl-seg{ height:100%; }
  .tl-legend{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px 22px; }
  .tl-item{ display:flex; align-items:center; gap:8px; font-size:14px; color:var(--slate); }
  .tl-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; }
  .tl-item b{ color:var(--navy); font-weight:700; }
  .tl-note{ margin-top:12px; font-size:14px; color:var(--slate-soft); }
  @media (max-width:760px){ .tl-item{ font-size:14.5px; } .tl-note{ font-size:14.5px; } }

  /* ================= demand ================= */
  .demand-grid{ margin-top:34px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:20px; }
  .demand{ background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden;
    display:flex; flex-direction:column; box-shadow:var(--shadow-sm); }
  .demand-photo{ aspect-ratio:8/5; overflow:hidden; background:var(--blue-tint); }
  .demand-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .demand-body{ padding:22px 24px 26px; }
  .demand-body .budget{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; letter-spacing:.04em; color:var(--blue-2); background:var(--blue-tint); padding:6px 12px; border-radius:100px; }
  .demand h3{ margin-top:14px; font-size:17.5px; line-height:1.3; }
  .demand p{ margin-top:10px; font-size:15px; line-height:1.6; color:var(--slate); }
  .demand-cta{ margin-top:24px; padding:24px 28px; border-radius:20px; background:var(--navy); color:#fff; display:flex; gap:22px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
  .demand-cta b{ font-family:'Sora',sans-serif; font-size:18px; font-weight:700; display:block; max-width:44ch; }
  .demand-cta span.s{ display:block; margin-top:8px; font-size:15px; color:#B9C2E0; max-width:52ch; }

  .terms{ margin-top:26px; display:flex; gap:18px; align-items:flex-start; padding:24px 26px; background:#FBFBFE; border:1px solid var(--line); border-radius:18px; }
  @media (max-width:520px){ .terms{ padding:20px; gap:14px; } }
  .terms .ic{ flex-shrink:0; width:38px; height:38px; border-radius:11px; background:var(--blue-tint); color:var(--blue); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:17px; }
  .terms h3{ font-size:16.5px; }
  .terms p{ margin-top:8px; font-size:15.5px; line-height:1.62; color:var(--slate); max-width:78ch; }
  .promise{ margin-top:16px; padding:26px 28px; background:#FBFBFE; border:1px solid var(--line); border-radius:18px; }
  @media (max-width:520px){ .promise{ padding:22px 20px; } }
  .promise > h3{ font-size:16.5px; }
  .promise-grid{ margin-top:18px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); gap:18px 26px; }
  .promise-item b{ display:block; font-family:'Sora',sans-serif; font-size:15px; color:var(--navy); }
  .promise-item span{ display:block; margin-top:7px; font-size:14.5px; line-height:1.6; color:var(--slate); }
  .promise-item b::before{ content:"✓"; color:var(--blue); margin-right:8px; font-weight:700; }

  /* ================= effort ================= */
  .effort{ margin-top:16px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  @media (max-width:760px){ .effort{ grid-template-columns:1fr; } }
  .effort-col{ border-radius:18px; padding:26px 28px; }
  @media (max-width:520px){ .effort-col{ padding:22px 20px; } }
  .effort-col.you{ background:var(--coral-tint); }
  .effort-col.me{ background:var(--blue-tint); }
  .effort-col h3{ font-size:16.5px; }
  .effort-col ul{ margin-top:16px; display:flex; flex-direction:column; gap:12px; }
  .effort-col li{ font-size:15px; line-height:1.55; color:var(--slate); padding-left:20px; position:relative; }
  .effort-col li b{ color:var(--navy); }
  .effort-col li::before{ content:""; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%; }
  .effort-col.you li::before{ background:var(--coral); }
  .effort-col.me li::before{ background:var(--blue); }
  .effort-total{ margin-top:16px; padding:20px 24px; border-radius:16px; background:var(--navy); color:#DCE1F5; font-size:15.5px; line-height:1.62; }
  .effort-total b{ color:#fff; }

  /* ================= teaser example ================= */
  .teaser-wrap{ margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
  @media (max-width:860px){ .teaser-wrap{ grid-template-columns:1fr; gap:26px; } }
  .teaser{ background:#fff; border-radius:20px; box-shadow:var(--shadow); overflow:hidden; }
  .teaser-head{ background:var(--navy); color:#fff; padding:13px 22px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; }
  .teaser-head .conf{ color:var(--coral); }
  .teaser-body{ padding:22px 24px; }
  .teaser-title{ font-family:'Sora',sans-serif; font-weight:700; font-size:17px; line-height:1.3; }
  .teaser-rows{ margin-top:16px; }
  .teaser-row{ display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
  .teaser-row:last-child{ border-bottom:none; }
  .teaser-row .k{ color:var(--slate-soft); }
  .teaser-row .v{ font-weight:700; text-align:right; color:var(--navy); }
  .teaser-foot{ margin-top:16px; padding:13px 15px; background:var(--blue-tint); border-radius:12px; font-size:12.5px; line-height:1.55; color:var(--blue-2); }
  .teaser-why{ display:flex; flex-direction:column; gap:16px; }
  .teaser-why .item b{ display:block; font-family:'Sora',sans-serif; font-size:15.5px; }
  .teaser-why .item span{ display:block; margin-top:7px; font-size:15px; line-height:1.6; color:var(--slate); }

  /* ================= after write ================= */
  .after-write{ margin-bottom:20px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  @media (max-width:860px){ .after-write{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .after-write{ grid-template-columns:1fr; } }
  .aw{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px 20px; }
  .aw .n{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.06em; color:var(--coral-2); font-weight:600; text-transform:uppercase; }
  .aw b{ display:block; margin-top:8px; font-family:'Sora',sans-serif; font-size:15px; }
  .aw span{ display:block; margin-top:6px; font-size:14px; line-height:1.5; color:var(--slate); }

  /* ================= process ================= */
  .process{ margin-top:34px; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
  @media (max-width:960px){ .process{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .process{ grid-template-columns:1fr; } }
  .step{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 20px; }
  .step .num{ font-family:'Sora',sans-serif; font-weight:800; font-size:24px; color:var(--blue); }
  .step h3{ margin-top:12px; font-size:16.5px; }
  .step p{ margin-top:8px; font-size:14.5px; line-height:1.55; color:var(--slate); }
  .step .tag{ margin-top:12px; display:inline-block; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--coral-2); }

  /* ================= cases ================= */
  .case-grid{ margin-top:34px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr)); gap:22px; }
  .case-card{ background:#fff; border-radius:20px; padding:26px 24px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
  .case-card .top{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
  .case-card .proj{ font-family:'Sora',sans-serif; font-size:18px; font-weight:700; }
  .case-card .ind{ margin-top:4px; font-size:14px; color:var(--slate-soft); }
  .badge-closed{ flex-shrink:0; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--blue); background:var(--blue-tint-2); padding:5px 10px; border-radius:100px; white-space:nowrap; }
  .spec{ margin-top:18px; display:flex; gap:24px; padding:15px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .spec .k{ font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--slate-soft); }
  .spec .v{ font-family:'Sora',sans-serif; font-weight:700; font-size:17px; margin-top:3px; }
  .case-row{ margin-top:14px; font-size:14.5px; line-height:1.6; color:var(--slate); }
  .case-row b{ color:var(--navy); font-weight:700; }
  .case-row.sol{ margin-top:10px; color:var(--blue-2); }
  .case-row.sol b{ color:var(--blue-2); }

  /* ================= testimonials ================= */
  .testi-grid{ margin-top:34px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:22px; }
  .testi{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px; }
  .testi q{ quotes:none; display:block; font-size:16px; line-height:1.6; }
  .testi .sig{ margin-top:18px; display:flex; align-items:center; gap:12px; }
  .avatar{ width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--blue),var(--coral)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:13.5px; flex-shrink:0; }
  .testi .who b{ display:block; font-size:14.5px; font-weight:700; }
  .testi .who span{ font-size:12.5px; color:var(--slate-soft); }
  .testi-extra{ display:none; }
  .testi-grid.open .testi-extra{ display:block; }
  .testi-more{ margin-top:26px; display:flex; justify-content:center; }

  /* ================= consultation ================= */
  .consult{ background:var(--coral-tint); border-radius:28px; padding:42px 44px; display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
  @media (max-width:860px){ .consult{ grid-template-columns:1fr; gap:30px; padding:34px 24px; } }
  .consult h2{ font-size:clamp(26px,3.4vw,36px); }
  .consult > div > p{ margin-top:16px; font-size:16px; line-height:1.62; color:var(--slate); max-width:44ch; }
  .consult .btn-row{ margin-top:26px; }
  .consult-list{ display:flex; flex-direction:column; gap:14px; }
  .consult-list li{ background:#fff; border-radius:16px; padding:18px 20px; display:flex; gap:14px; align-items:flex-start; }
  .consult-list .n{ flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--coral); color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:12.5px; display:flex; align-items:center; justify-content:center; }
  .consult-list b{ display:block; font-family:'Sora',sans-serif; font-size:15.5px; }
  .consult-list span{ display:block; margin-top:5px; font-size:14.5px; line-height:1.55; color:var(--slate); }

  /* ================= лид-магнит ================= */
  .lm{ background:linear-gradient(160deg,var(--navy) 0%, var(--navy-2) 100%); color:#fff;
    border-radius:28px; padding:42px 44px; display:grid; grid-template-columns:.85fr 1.15fr;
    gap:48px; align-items:center; position:relative; overflow:hidden; }
  @media (max-width:860px){ .lm{ grid-template-columns:1fr; gap:30px; padding:34px 24px; border-radius:22px; } }
  .lm::before{ content:""; position:absolute; inset:auto auto -40% -18%; width:380px; height:380px;
    background:radial-gradient(circle,var(--blue) 0%, transparent 70%); opacity:.5; }
  .lm > *{ position:relative; z-index:1; }
  .lm-cover{ border-radius:14px; overflow:hidden; box-shadow:0 26px 54px rgba(0,0,0,.42);
    transform:rotate(-2deg); border:1px solid rgba(255,255,255,.14); }
  .lm-cover img{ width:100%; height:auto; display:block; }
  @media (max-width:860px){ .lm-cover{ max-width:300px; transform:none; } }
  .lm h2{ color:#fff; font-size:clamp(25px,3.4vw,34px); }
  .lm .lm-sub{ margin-top:16px; font-size:16px; line-height:1.62; color:#C4CBE8; max-width:52ch; }
  .lm ul{ margin-top:20px; display:flex; flex-direction:column; gap:11px; }
  .lm li{ display:flex; gap:11px; align-items:flex-start; font-size:15.5px; line-height:1.55; color:#E6EAF8; }
  .lm li b{ flex-shrink:0; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.14);
    color:#fff; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-top:1px; }
  .lm .btn-row{ margin-top:26px; }
  .btn-lg{ padding:17px 34px; font-size:16.5px; }
  @media (max-width:520px){ .lm .btn-lg{ width:100%; } }
  .lm .lm-note{ margin-top:16px; font-size:14px; color:#95A0C7; }

  /* ================= faq ================= */
  .faq-list{ margin-top:32px; display:flex; flex-direction:column; gap:12px; }
  details{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:2px 22px; }
  details[open]{ border-color:var(--blue-tint-2); background:var(--blue-tint); }
  summary{ cursor:pointer; list-style:none; display:flex; gap:16px; align-items:center; padding-block:18px; font-family:'Sora',sans-serif; font-weight:600; font-size:16.5px; }
  summary::-webkit-details-marker{ display:none; }
  summary .arrow{ margin-left:auto; flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--blue-tint-2); color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:15px; transition:transform .15s ease; }
  details[open] summary .arrow{ transform:rotate(45deg); background:var(--coral); color:#fff; }
  .faq-a{ padding-bottom:20px; font-size:15.5px; line-height:1.65; color:var(--slate); max-width:66ch; }

  /* ================= final cta ================= */
  .final-cta{ background:linear-gradient(160deg,var(--navy) 0%, var(--navy-2) 100%); color:#fff; border-radius:32px; padding:46px 48px; position:relative; overflow:hidden;
    display:grid; grid-template-columns:1fr auto; gap:46px; align-items:center; }
  @media (max-width:860px){ .final-cta{ grid-template-columns:1fr; text-align:left; padding:38px 24px; border-radius:24px; gap:28px; } }
  .final-cta::before{ content:""; position:absolute; inset:-34% -12% auto auto; width:380px; height:380px; background:radial-gradient(circle,var(--coral) 0%, transparent 70%); opacity:.34; }
  .final-cta > *{ position:relative; z-index:1; }
  .final-cta h2{ color:#fff; margin-top:18px; font-size:clamp(26px,3.8vw,38px); max-width:20ch; }
  .final-cta p.sub{ margin-top:16px; color:#C4CBE8; font-size:16px; line-height:1.6; max-width:48ch; }
  .final-cta .btn-row{ margin-top:28px; }
  .final-cta .scarcity{ margin-top:20px; font-family:'JetBrains Mono',monospace; font-size:12.5px; line-height:1.5; color:#95A0C7; }
  .cta-photo{ width:210px; height:210px; border-radius:24px; overflow:hidden; box-shadow:0 20px 44px rgba(0,0,0,.34); justify-self:end; }
  @media (max-width:860px){ .cta-photo{ width:150px; height:150px; justify-self:start; } }
  .cta-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; }

  /* ================= подвал ================= */
  footer{ margin-top:30px; background:#FAFBFE; border-top:1px solid var(--line);
    margin-inline:calc(-1 * max(20px, env(safe-area-inset-left,0px)));
    padding-inline:max(20px, env(safe-area-inset-left,0px)); }
  .foot{ display:grid; grid-template-columns:1.5fr 1fr 1.1fr; gap:44px; padding-block:46px 0; }
  @media (max-width:860px){ .foot{ grid-template-columns:1fr 1fr; gap:34px; } }
  @media (max-width:560px){ .foot{ grid-template-columns:1fr; gap:28px; padding-block:36px 0; } }
  .f-name{ font-family:'Sora',sans-serif; font-size:19px; font-weight:700; color:var(--navy); }
  .f-role{ display:block; margin-top:7px; font-size:15px; color:var(--slate); }
  .f-ind{ display:block; margin-top:14px; font-size:14.5px; line-height:1.6; color:var(--slate-soft); max-width:44ch; }
  .f-head{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:600;
    letter-spacing:.06em; text-transform:uppercase; color:var(--slate-soft); }
  .f-list{ margin-top:14px; display:flex; flex-direction:column; gap:10px; }
  .f-list a{ font-size:15px; color:var(--slate); }
  .f-list a:hover{ color:var(--blue); }
  .foot-contacts{ margin-top:14px; display:flex; flex-direction:column;
    align-items:flex-start; gap:9px; }
  .f-tel{ font-family:'Sora',sans-serif; font-size:21px; font-weight:700; color:var(--navy);
    letter-spacing:-.01em; }
  .f-tel:hover{ color:var(--blue); }
  .f-mail{ font-size:15px; color:var(--slate); }
  .f-mail:hover{ color:var(--blue); }
  .f-cta{ margin-top:7px; }
  .f-tg-link{ display:inline-flex; align-items:center; gap:7px; font-size:15px;
    font-weight:600; color:var(--blue); }
  .f-tg-link::after{ content:"→"; font-size:15px; transition:transform .15s ease; }
  .f-tg-link:hover::after{ transform:translateX(3px); }
  .f-legal{ margin-top:38px; padding-block:20px 30px; font-size:12.5px; line-height:1.7;
    color:var(--slate-soft); }
  .f-legal .req{ color:var(--slate); font-family:'JetBrains Mono',monospace; font-size:12px; }
  .f-legal a{ color:var(--slate); text-decoration:underline; text-underline-offset:3px; }
  .f-legal a:hover{ color:var(--blue); }
  .f-legal .sep{ color:var(--line-2); padding:0 4px; }
  @media (max-width:760px){
    /* пальцем в ссылку высотой 19px не попасть — расширяем зону нажатия */
    .f-list{ gap:0; }
    .f-list a{ padding-block:11px; }
    .foot-contacts{ gap:2px; }
    .f-mail, .f-tg-link{ padding-block:10px; }
    .f-tel{ padding-block:11px; }
    .f-legal a{ display:inline-block; padding-block:9px; }
    .f-legal{ font-size:14px; margin-top:30px; }
    .f-legal .req{ font-size:12.5px; }
  }

  .burger{ display:none; width:44px; height:44px; flex-direction:column; align-items:center;
    justify-content:center; gap:4.5px; border:1px solid var(--line-2); border-radius:12px;
    background:#fff; cursor:pointer; padding:0; }
  .burger span{ display:block; width:18px; height:2px; background:var(--navy); border-radius:2px;
    transition:transform .22s ease, opacity .18s ease; }
  .burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

  .mobile-menu{ display:none; }
  @media (max-width:900px){
    .burger{ display:flex; }
    header .head-phone{ display:none; }
    .mobile-menu{ display:block; max-height:0; overflow:hidden; transition:max-height .28s ease; }
    .mobile-menu.open{ max-height:840px; border-top:1px solid var(--line);
      overflow-y:auto; -webkit-overflow-scrolling:touch; }
    header .mobile-menu .mm-inner{ display:flex; flex-direction:column; align-items:stretch;
      justify-content:flex-start; text-align:left; padding-block:10px 22px; }
    .mobile-menu a.ml{ padding:14px 2px; font-size:16.5px; font-weight:600; color:var(--navy);
      border-bottom:1px solid var(--line); }
    .mm-phone{ margin-top:18px; display:flex; flex-direction:column; gap:3px; padding:14px 18px;
      background:var(--tint-soft,#F4F7FD); border:1px solid var(--line); border-radius:14px; }
    .mm-lbl{ font-size:12.5px; color:var(--slate-soft); }
    .mm-num{ font-family:'Sora',sans-serif; font-size:19px; font-weight:700; color:var(--navy); }
    .mm-tg{ margin-top:12px; width:100%; }
  }
  @media (max-width:420px){
    header .head-tg .lbl-full{ display:none; }
    header .head-tg .lbl-short{ display:inline; }
    header .wrap{ gap:10px; }
    header .btn-sm{ padding:10px 15px; }
    .brand .mark{ width:34px; height:34px; font-size:13px; }
    .brand{ gap:9px; }
    .brand .txt b{ font-size:14.5px; }
    .burger{ width:42px; height:42px; }
  }

  /* ================= мобильные кегли: мелкий текст крупнее ================= */
  @media (max-width:760px){
    .eyebrow{ font-size:13px; }
    .btn-sm{ font-size:14.5px; }
    .chip{ font-size:14px; }
    .hero-note{ font-size:15px; }
    .hero-badge .lbl{ font-size:12.5px; }
    .hero-badge .num{ font-size:23px; }
    .stat-row .lbl{ font-size:15px; }
    .field label{ font-size:14.5px; }
    .res-label{ font-size:12px; }
    .res-sub, .msg-text{ font-size:15px; }
    .calc-note{ font-size:14.5px; }
    .who-card .tag, .demand .budget{ font-size:12.5px; }
    .mist .cons, .case-row, .step p, .promise-item span, .consult-list span,
    .teaser-row, .testi .who b{ font-size:15px; }
    .wait-list .h, .svc .cols .h{ font-size:12px; }
    .step .tag, .badge-closed, .spec .k, .aw .n, .teaser-head{ font-size:11.5px; }
    .case-card .ind, .aw span{ font-size:15px; }
    .testi .who span, .final-cta .scarcity, .foot-grid .who span,
    .teaser-foot, .magnet .small{ font-size:14.5px; }
    table.compare td{ font-size:15.5px; }
    table.compare td::before{ font-size:14.5px; }
  }

  /* ============ читаемость: мелкий текст плотнее ============
     Manrope 400 на 14-16px выглядит бледным на телефоне.
     500 добавляет плотности штриха, не меняя ни цвет, ни высоту строки.
     Крупные абзацы (лид, «о себе», подзаголовки секций) остаются на 400 —
     так сохраняется разница между вводным текстом и основным. */
  .reason span, .wait-list li, .magnet p, .magnet .small, .pain p,
  .calc-points li, .res-sub, .res-upside, .msg-text, .guarantee p,
  .who-card > p, .who-list li, .not-work li, .mist p, .mist .cons,
  table.compare td, .svc p.desc, .svc .cols li, .src p, .tl-item, .tl-note,
  .demand p, .demand-cta span.s, .terms p, .promise-item span,
  .effort-col li, .effort-total, .teaser-row, .teaser-why .item span,
  .aw span, .step p, .case-card .ind, .case-row, .testi q,
  .consult > div > p, .consult-list span, .lm li, .lm .lm-sub, .lm .lm-note,
  .faq-a, .f-role, .f-ind, .f-list a, .f-mail, .f-legal,
  .hero-note, .stat-row .lbl, .reasons-after, .final-cta p.sub,
  .modal-sub, .lf-done p, .lf-status{
    font-weight:500;
  }

  /* ================= форма заявки ================= */
  .modal[hidden]{ display:none !important; }
  .modal{ position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
    padding:20px; }
  .modal-bg{ position:absolute; inset:0; background:rgba(16,27,61,.62); backdrop-filter:blur(4px);
    animation:mfade .2s ease; }
  .modal-card{ position:relative; width:100%; max-width:640px; max-height:96vh; overflow-y:auto;
    background:#fff; border-radius:24px; padding:26px 30px 24px; box-shadow:0 40px 90px rgba(16,27,61,.35);
    animation:mup .24s cubic-bezier(.22,.9,.3,1); }
  @keyframes mfade{ from{opacity:0} to{opacity:1} }
  @keyframes mup{ from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none} }
  @media (prefers-reduced-motion:reduce){ .modal-bg,.modal-card{ animation:none; } }
  @media (max-width:560px){
    .modal{ padding:0; align-items:flex-end; }
    .modal-card{ max-width:none; border-radius:22px 22px 0 0;
      padding:20px 18px calc(16px + env(safe-area-inset-bottom,0px)); max-height:96vh; }
  }
  .modal-x{ position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%;
    border:none; background:var(--blue-tint); color:var(--navy); font-size:14px; cursor:pointer; line-height:1; }
  .modal-x:hover{ background:var(--blue-tint-2); }
  .modal-card h2{ margin-top:10px; font-size:23px; }
  .modal-sub{ margin-top:8px; font-size:14.5px; line-height:1.5; color:var(--slate); }

  #lead-form{ margin-top:16px; }
  .lead-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
  @media (max-width:559px){ .lead-grid{ grid-template-columns:1fr; gap:9px; } }
  #lead-form .field{ margin-bottom:0; }
  #lead-form .field label{ font-size:12px; margin-bottom:5px; }
  /* 16px обязательно: при меньшем кегле iOS сам увеличивает страницу при фокусе */
  #lead-form .field input, #lead-form .field select{ width:100%; font-family:'Manrope',sans-serif;
    font-size:16px; color:var(--navy); padding:11px 14px; border:1.5px solid var(--line-strong);
    border-radius:12px; background-color:#fff; }
  #lead-form .field input:focus, #lead-form .field select:focus{ border-color:var(--blue); outline:none; }
  #lead-form .field.err input{ border-color:var(--coral); }
  #lead-form .opt{ color:var(--slate-soft); font-weight:500; }
  .fe{ display:none; margin-top:4px; font-size:12px; color:var(--coral-2); }
  .field.err .fe{ display:block; }
  .agree{ display:flex; gap:10px; align-items:flex-start; margin-top:14px; cursor:pointer; }
  .agree input{ width:18px; height:18px; margin-top:1px; flex-shrink:0; accent-color:var(--blue); cursor:pointer; }
  .agree span{ font-size:12.5px; line-height:1.45; color:var(--slate); }
  .agree a{ color:var(--blue); text-decoration:underline; text-underline-offset:2px; }
  .agree.err span{ color:var(--coral-2); }
  #lf-submit{ margin-top:14px; padding:14px 24px; }
  .lf-status{ margin-top:8px; font-size:14px; line-height:1.5; }
  .lf-status:empty{ display:none; }
  .lf-status.err{ color:var(--coral-2); font-weight:600; }
  .lf-alt{ margin-top:12px; padding-top:12px; border-top:1px solid var(--line);
    font-size:12.5px; line-height:1.5; color:var(--slate-soft); }
  .lf-alt a{ color:var(--blue); text-decoration:underline; text-underline-offset:2px; }
  /* антиспам-поле: прячем без выноса за экран, иначе появляется боковая прокрутка */
  .hp{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
    clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

  /* низкие экраны: телефон в горизонтальной ориентации, ноутбуки 13" */
  @media (max-height:760px){ .modal-card .eyebrow{ display:none; } .modal-card h2{ margin-top:0; } }
  @media (max-height:560px){ #f-msg{ display:none; } }
  @media (max-height:640px){
    .modal-sub{ display:none; }
    .lf-alt{ display:none; }
    .modal-card{ padding:20px 26px 18px; }
    .modal-card h2{ font-size:20px; }
    #lead-form{ margin-top:12px; }
  }

  .lf-done{ text-align:center; padding:6px 0 2px; }
  .lf-done .tick{ width:52px; height:52px; margin:0 auto; border-radius:50%; background:var(--blue-tint);
    color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:24px; }
  .lf-done h3{ margin-top:14px; font-size:20px; }
  .lf-done p{ margin-top:9px; font-size:15px; line-height:1.55; color:var(--slate); }
