/*
 * Страницы подвала (скрипты рассылок, MTA, услуги) — общий набор блоков.
 * Подключается поверх main.css по метке страницы `_mtahub_layout_css`: её ставит загрузчик `wp_info_page.php`.
 * Все классы — с приставкой `ip-`: страницы живут внутри темы, и её правила к ним цепляться не должны.
 */

.ip{--ip-gap:clamp(18px,calc(26 * var(--u)),30px);font-family:var(--t-text);overflow-wrap:break-word}
.ip-wrap{width:100%;max-width:var(--content);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- секции: тёмная и светлая, у каждой свои цвета текста, линий и панелей ---------- */
.ip-sec{padding-block:clamp(56px,calc(92 * var(--u)),104px);scroll-margin-top:var(--header-height)}
.ip-dark,.ip-hero,.ip-cta__card{--ip-fg:#eef2f5;--ip-muted:#aab4bd;--ip-line:#2b3135;--ip-panel:#191d20;--ip-accent:var(--copper);--ip-link:var(--copper-light)}
.ip-light{--ip-fg:var(--paper-fg);--ip-muted:#586976;--ip-line:#d9dfe3;--ip-panel:#fff;--ip-accent:var(--brown);--ip-link:var(--brown)}
.ip-dark{background:#121415;color:var(--ip-fg);color-scheme:dark}
.ip-light{background:var(--paper);color:var(--ip-fg);color-scheme:light}
/* Две светлые секции подряд — один фон: второй верхний отступ дал бы пустую полосу. */
.ip-sec.ip-light+.ip-sec.ip-light{padding-top:0}
/* Текст кнопок и ссылок со стрелкой — в своём span: во flex-контейнере голый текст рядом со склеенным
   словом `.ip-nw` распадается на отдельные элементы, и пробел между ними съедается или раздувается. */

/* Тема навязывает заголовкам свой шрифт, «Заглавные Буквы» и чёрный цвет, абзацам и спискам — отступы. */
.ip h1,.ip h2,.ip h3,.ip h4{margin:0;font-family:var(--t-head);text-transform:none;color:var(--ip-fg);font-weight:800}
.ip p,.ip dl,.ip dd,.ip figure{margin:0}
.ip ul,.ip ol{margin:0;padding:0;list-style:none}
.ip li{margin:0}
.ip a{text-decoration:none}
.ip-nw{white-space:nowrap}
/* Адрес почты не рвётся по дефису домена: «site@mta-» / «hub.com» читается как два слова. */
.ip a[href^="mailto:"]{white-space:nowrap}

/* ---------- заголовок секции ---------- */
.ip-head{max-width:900px;margin-bottom:clamp(30px,calc(46 * var(--u)),54px)}
.ip-head--row{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,calc(66 * var(--u)),76px);align-items:end}
.ip-kicker{margin:0 0 16px!important;font-weight:800;font-size:var(--t-caption);line-height:1.5;font-family:var(--t-text);letter-spacing:.06em;text-transform:uppercase;color:var(--ip-accent)}
.ip h2{font-size:var(--t-h2);font-weight:800;line-height:1.08;letter-spacing:-.03em;text-wrap:balance;font-family:var(--t-head)}
.ip-dark h2,.ip-cta__card h2{font-weight:800;letter-spacing:-.03em;font-family:var(--t-head)}
.ip-lead{margin-top:20px!important;max-width:720px;font-size:var(--t-intro);line-height:1.65;color:var(--ip-muted)}
.ip-head--row .ip-lead{margin-top:0!important}
.ip h3{font-size:var(--t-h3s);font-weight:800;line-height:1.22;letter-spacing:-.01em;font-family:var(--t-head)}
.ip-text{color:var(--ip-muted);font-size:var(--t-body);line-height:1.65}
.ip-text+.ip-text{margin-top:14px!important}
.ip-link{color:var(--ip-link);font-weight:600;border-bottom:1px solid currentColor;transition:opacity .2s}
.ip-link:hover{opacity:.8;color:var(--ip-link)}
.ip strong{color:var(--ip-fg);font-weight:700}

/* ---------- кнопки ---------- */
.ip-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(28px,calc(38 * var(--u)),42px)}
.ip-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 26px;border-radius:11px;
  font-weight:800;font-size:var(--t-btn);line-height:1.2;font-family:var(--t-text);letter-spacing:normal;text-transform:none;white-space:nowrap;
  transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.ip-btn .icon{width:22px;height:22px}
.ip-btn--primary,.ip-btn--primary:hover,.ip-btn--primary:focus{color:#fff}
.ip-btn--primary{background:linear-gradient(115deg,#a36743,#7f492f);border:1px solid #b17a5370;box-shadow:0 9px 26px #4f2d1a3d,inset 0 1px 0 #e9b08326}
.ip-btn--primary:hover{background:linear-gradient(115deg,#b1744c,#925636);transform:translateY(-2px);box-shadow:0 12px 26px #5c321b66}
.ip-btn--outline,.ip-btn--outline:hover,.ip-btn--outline:focus{color:#eef2f6}
.ip-btn--outline{border:1px solid #ae794c;background:#0b1014bb}
.ip-btn--outline:hover{border-color:#c99567;background:#181b1c;transform:translateY(-2px)}
.ip-btn--outline .icon{color:var(--copper)}
.ip-light .ip-btn--outline,.ip-light .ip-btn--outline:hover{color:var(--paper-fg);background:#fff;border-color:#c9a184}
.ip-light .ip-cta__card .ip-btn--outline,.ip-light .ip-cta__card .ip-btn--outline:hover{color:#eef2f6;background:#0b1014bb;border-color:#ae794c}

/* ---------- первый экран ---------- */
.ip-hero{position:relative;isolation:isolate;overflow:hidden;background:#0b1014;color:var(--ip-fg);
  padding-block:clamp(44px,calc(80 * var(--u)),92px) clamp(56px,calc(92 * var(--u)),104px)}
.ip-hero::before{content:'';position:absolute;z-index:-1;left:-12%;top:-30%;width:62%;height:150%;
  background:radial-gradient(closest-side,#8e57343d,transparent 72%);pointer-events:none}
.ip-hero__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(32px,calc(70 * var(--u)),80px);align-items:center}
.ip-hero .ip-kicker{color:var(--copper)}
.ip h1{font-size:var(--t-h1);font-weight:800;line-height:1.07;letter-spacing:-.03em;color:#f5f6f7;font-family:var(--t-head)}
.ip-h1-accent{display:block;margin-top:.14em;font-size:.6em;font-weight:800;line-height:1.14;letter-spacing:-.018em;color:#e99b53;
  background:linear-gradient(180deg,#ffc078 8%,#f19746 72%,#c87235);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ip-hero__lead{margin-top:24px!important;max-width:640px;font-size:var(--t-lead);line-height:1.65;color:#bec8d3}
.ip-proof{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:14px 30px;margin-top:clamp(30px,calc(42 * var(--u)),46px)!important}
.ip-proof li{display:flex;align-items:center;gap:12px;font-size:var(--t-body);font-weight:500;line-height:1.65;color:#c4cdd7}
.ip-proof .icon{width:22px;height:22px;color:var(--copper)}

/* «Окно» — условный экран продукта на первом экране: пример, адреса в нём выдуманные. */
.ip-window{border:1px solid #2c3439;border-radius:16px;background:linear-gradient(180deg,#151b1f,#0f1316);
  box-shadow:0 34px 80px #000a,inset 0 1px 0 #ffffff0a;overflow:hidden}
.ip-window__bar{display:flex;align-items:center;gap:7px;padding:13px 18px;border-bottom:1px solid #222a2f;background:#12171a}
.ip-window__bar i{width:9px;height:9px;border-radius:50%;background:#384147}
.ip-window__bar i:first-child{background:#b8613f}
.ip-window__title{margin-left:10px!important;font-size:var(--t-small);font-weight:600;color:#9fabb6;letter-spacing:.01em}
.ip-window__body{padding:8px 20px 6px}
.ip-window__caption{padding:14px 20px 16px;border-top:1px solid #20272b;font-size:var(--t-small);line-height:1.5;color:#7f8c97}
.ip-srv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:15px 0;border-bottom:1px solid #20272b}
.ip-srv:last-child{border-bottom:0}
.ip-srv__host{font-weight:500;font-size:var(--t-body);line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#e6ebef;letter-spacing:normal}
.ip-srv__from{grid-column:1;font-size:var(--t-small);line-height:1.4;color:#8f9ca7}
.ip-srv__meta{grid-row:1 / span 2;grid-column:2;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.ip-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;border:1px solid #3a4248;
  font-size:var(--t-caption);font-weight:600;line-height:1.2;color:#c9d2da;white-space:nowrap}
.ip-badge--copper{border-color:#8e573480;background:#8e57341f;color:var(--copper-light)}
.ip-badge--ok::before{content:'';width:6px;height:6px;border-radius:50%;background:#4cc38a}
.ip-srv__limit{font-size:var(--t-small);color:#9fabb6;white-space:nowrap}
/* То же «окно» как список выбора: в строке имя продукта, а не адрес. */
.ip-window--picks .ip-srv__host{font-weight:700;font-size:var(--t-intro);line-height:1.65;font-family:var(--t-text);letter-spacing:normal}
.ip-window--picks .ip-srv__from{font-size:var(--t-list);color:#9fabb6}
.ip-srv__limit b{color:var(--copper-light);font-weight:700}

/* Окно с фрагментом конфигурации: код как есть, теги медью, комментарии приглушены. */
.ip .ip-code{margin:0;padding:18px 20px 20px;border:0;background:none;overflow-x:auto;white-space:pre;
  font-weight:500;font-size:var(--t-caption);line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;color:#d5dde3;tab-size:4}
.ip-code .t{color:var(--copper-light)}
.ip-code .c{color:#6f7d88}
.ip-code .v{color:#9fd3c0}

/* Карточка доступа на первом экране: строки «подпись — значение — копировать». */
.ip-access{padding:clamp(22px,calc(30 * var(--u)),34px);border:1px solid #2c3439;border-radius:18px;
  background:linear-gradient(180deg,#151b1f,#0f1316);box-shadow:0 34px 80px #000a,inset 0 1px 0 #ffffff0a}
.ip-access__title{margin-bottom:6px!important;font-weight:800;font-size:var(--t-caption);line-height:1.5;font-family:var(--t-text);letter-spacing:.06em;text-transform:uppercase;color:var(--copper)}
.ip-access__lead{margin-top:10px!important;font-size:var(--t-intro);line-height:1.65;color:#c4cdd7}
.ip-access__row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #222a2f}
.ip-access__label{font-size:var(--t-list);color:#8f9ca7}
.ip-access__value{font-weight:600;font-size:var(--t-body);line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;color:#eef2f5;overflow-wrap:anywhere}
.ip-access__value a{color:var(--copper-light)}
.ip-access__value--text{font-weight:600;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text)}
.ip .ip-copy{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #3a4248;border-radius:8px;background:#0b1014;
  font-weight:500;font-size:var(--t-small);line-height:1;font-family:var(--t-text);color:#c9d2da;text-transform:none;letter-spacing:normal;cursor:pointer;transition:border-color .15s,color .15s}
.ip .ip-copy:hover{border-color:#ae794c;color:#fff}
.ip .ip-copy.is-done{border-color:#4cc38a;color:#4cc38a}
.ip-access .ip-actions{margin-top:22px}
.ip-access__note{margin-top:16px!important;font-size:var(--t-small);line-height:1.55;color:#7f8c97}

/* «Слои» на первом экране: из чего собрана система, нижний — инфраструктура Хаба. */
.ip-layers{display:grid;gap:14px}
.ip-layer{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 22px;
  border:1px solid #2c3439;border-radius:14px;background:linear-gradient(180deg,#151b1f,#101417);box-shadow:0 18px 40px #0007}
.ip-layer+.ip-layer::before{content:'';position:absolute;left:41px;top:-15px;width:1px;height:14px;background:#3a4349}
.ip-layer__n{font-weight:800;font-size:var(--t-caption);line-height:1;font-family:var(--t-text);letter-spacing:.06em;color:#7f8c97}
.ip-layer__t{display:block;font-weight:700;font-size:var(--t-intro);line-height:1.65;font-family:var(--t-text);color:#eef2f5}
.ip-layer__d{display:block;margin-top:4px;font-size:var(--t-list);line-height:1.55;color:#93a2af}
.ip-layer.is-hub{border-color:#8e5734;background:linear-gradient(135deg,#2a1b12,#151a1d 70%);box-shadow:0 22px 50px #000a,0 0 44px #c8723524}
.ip-layer.is-hub .ip-layer__n{color:var(--copper)}
.ip-layer.is-hub::before{background:#8e5734}
.ip-visual-caption{margin-top:16px!important;font-size:var(--t-small);line-height:1.5;color:#7f8c97}

/* «Поток» на первом экране: ярусы сверху вниз — кто шлёт, через что, на чём. */
.ip-flow{display:grid;gap:0}
.ip-flow__tier{padding:18px 20px 20px;border:1px solid #2c3439;border-radius:14px;background:linear-gradient(180deg,#151b1f,#101417);box-shadow:0 18px 40px #0007}
.ip-flow__tier.is-hub{border-color:#8e5734;background:linear-gradient(135deg,#2a1b12,#151a1d 70%);box-shadow:0 22px 50px #000a,0 0 44px #c8723524}
.ip-flow__label{margin-bottom:12px!important;font-weight:800;font-size:var(--t-caption);line-height:1.3;font-family:var(--t-text);letter-spacing:.06em;text-transform:uppercase;color:#7f8c97}
.ip-flow__tier.is-hub .ip-flow__label{color:var(--copper)}
.ip-flow__chips{display:flex;flex-wrap:wrap;gap:8px}
.ip-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #333c42;border-radius:10px;background:#0f1417;font-size:var(--t-list);line-height:1.3;color:#d5dde3}
.ip-chip small{font-size:var(--t-caption);color:#8f9ca7}
.ip-chip--copper{border-color:#8e573480;background:#8e57341a;color:var(--copper-light)}
.ip-flow__step{display:flex;align-items:center;gap:12px;padding:9px 0 9px 26px;font-size:var(--t-small);line-height:1.3;color:#93a2af}
.ip-flow__step::before{content:'';width:1px;height:22px;background:linear-gradient(#3a4349,#8e5734)}

/* Кадр кабинета под наклоном — как на страницах модулей (`.mm-hero-art`). */
.ip-shot{position:relative;margin:0;perspective:2200px}
.ip-shot::before{content:'';position:absolute;inset:8% -6% -4% 6%;z-index:-1;border-radius:40px;
  background:radial-gradient(closest-side,#e7964b33,transparent);filter:blur(30px)}
.ip-shot picture{display:block;border-radius:14px;overflow:hidden;border:1px solid #ffffff1f;background:#16191c;
  box-shadow:0 40px 80px -30px #000c,0 0 0 1px #00000040;transform:rotateY(-11deg) rotateX(3deg);transform-origin:left center;
  -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
.ip-shot img{display:block;width:100%;height:auto}

/* ---------- крупные числа ---------- */
.ip-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ip-gap)}
.ip-stat{min-width:0;padding:26px 26px 28px;border:1px solid var(--ip-line);border-radius:16px;background:var(--ip-panel)}
.ip-light .ip-stat{box-shadow:0 14px 34px #1834450a}
.ip-stat__n{display:block;font-weight:800;font-size:clamp(2.25rem,calc(52 * var(--u)),3.5rem);line-height:1;font-family:var(--t-text);letter-spacing:-.03em;color:var(--ip-accent)}
.ip-stat h3{margin:16px 0 8px;font-size:var(--t-h3s);font-family:var(--t-head);font-weight:800;letter-spacing:-.01em;line-height:1.22}
.ip-stat p{font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}

/* ---------- документ (политика, условия): короткий первый экран с карточкой «О документе»; ниже «коротко» —
   строкой из трёх карточек, разделы — карточками в две колонки. Текст занимает всю ширину, а строка в карточке
   остаётся читаемой: сплошной текст во всю ширину экрана — это строки по 180 знаков. ---------- */
.ip-hero--compact{padding-block:clamp(40px,calc(70 * var(--u)),80px) clamp(44px,calc(70 * var(--u)),80px)}
.ip-doc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ip-gap)}
.ip-doc>.ip-kicker{grid-column:1 / -1;margin:0!important}
.ip-doc>.ip-doc__label--next{margin-top:clamp(14px,calc(26 * var(--u)),30px)!important}
.ip-doc__summary{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ip-gap)}
.ip-doc__point{min-width:0;padding:22px 24px 24px;border:1px solid var(--ip-line);border-top:3px solid var(--ip-accent);border-radius:14px;
  background:var(--ip-panel);box-shadow:0 14px 34px #1834450a}
.ip-doc__point h3{margin:0 0 8px!important;font-size:var(--t-h3s);font-family:var(--t-head);font-weight:800;letter-spacing:-.01em;line-height:1.22}
.ip-doc__point p{margin:0!important;font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}
.ip-doc__sec{min-width:0;padding:clamp(22px,calc(30 * var(--u)),34px);border:1px solid var(--ip-line);border-radius:16px;
  background:var(--ip-panel);box-shadow:0 14px 34px #1834450a}
.ip-doc__sec--wide{grid-column:1 / -1}
.ip-doc__n{display:block;margin-bottom:12px;font-weight:800;font-size:var(--t-caption);line-height:1;font-family:var(--t-text);letter-spacing:.06em;color:var(--ip-accent)}
.ip-doc h2{margin:0 0 14px!important;font-size:var(--t-h3s);font-weight:800;letter-spacing:-.01em;font-family:var(--t-head);line-height:1.22}
.ip-doc__sec p{margin:0 0 12px!important;font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}
.ip-doc__sec p:last-child{margin-bottom:0!important}
.ip-doc__sec ul{display:grid;gap:10px;margin:0!important;padding:0}
.ip-doc__sec ul.ip-doc__cols{grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));column-gap:clamp(24px,calc(48 * var(--u)),52px)}
.ip-doc__sec li{position:relative;margin:0;padding-left:20px;font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}
.ip-doc__sec li::before{content:'';position:absolute;left:3px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--ip-accent)}
.ip-doc__sec a:not(.ip-btn){color:var(--ip-link);border-bottom:1px solid currentColor}

/* ---------- карточки ---------- */
.ip-cards{display:grid;gap:var(--ip-gap);grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.ip-card{min-width:0;padding:clamp(22px,calc(28 * var(--u)),32px);border:1px solid var(--ip-line);border-radius:14px;background:var(--ip-panel)}
.ip-light .ip-card{box-shadow:0 14px 34px #1834450a}
.ip-card>.icon{width:30px;height:30px;margin-bottom:18px;color:var(--ip-accent)}
.ip-card h3{margin-bottom:10px}
.ip-card p{color:var(--ip-muted);font-size:var(--t-body);line-height:1.65}
.ip-card .ip-link{display:inline-block;margin-top:14px}

/* ---------- шаги ---------- */
.ip-steps{display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:18px}
.ip-step{position:relative;min-width:0;padding:24px 22px 26px;border:1px solid var(--ip-line);border-radius:14px;background:var(--ip-panel)}
.ip-step__n{display:block;margin-bottom:18px;font-weight:800;font-size:var(--t-caption);line-height:1;font-family:var(--t-text);letter-spacing:.06em;color:var(--ip-accent)}
.ip-step h3{margin-bottom:8px;font-size:var(--t-h3s);font-family:var(--t-head);font-weight:800;letter-spacing:-.01em;line-height:1.22}
.ip-step p{font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}
.ip-step:not(:last-child)::after{content:'';position:absolute;top:30px;right:-19px;width:20px;height:1px;background:var(--ip-accent);opacity:.7}
/* Шаги в несколько рядов: черта у последнего в ряду торчала бы за край сетки. */
.ip-steps--wrap .ip-step::after{display:none}

/* ---------- возможности строками в две колонки ---------- */
.ip-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,calc(60 * var(--u)),68px)}
.ip-feature{display:flex;gap:18px;padding:26px 0;border-top:1px solid var(--ip-line);min-width:0}
.ip-feature>.icon{width:26px;height:26px;margin-top:2px;color:var(--ip-accent)}
.ip-feature h3{margin-bottom:8px;font-size:var(--t-h3s);font-family:var(--t-head);font-weight:800;letter-spacing:-.01em;line-height:1.22}
.ip-feature p{color:var(--ip-muted);font-size:var(--t-body);line-height:1.65}

/* ---------- две колонки «так / иначе» ---------- */
.ip-versus{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:var(--ip-gap)}
.ip-versus__col{min-width:0;padding:clamp(24px,calc(32 * var(--u)),36px);border:1px solid var(--ip-line);border-radius:16px;background:var(--ip-panel)}
.ip-versus__col.is-accent{border-color:#8e573499;background:linear-gradient(160deg,#21170f,#171b1d 58%);
  --ip-fg:#eef2f5;--ip-muted:#aab4bd;--ip-line:#30353a;--ip-accent:var(--copper);color:var(--ip-fg)}
/* Тёмная колонка бывает и в светлой секции — цвета текста у неё свои. */
.ip-light .ip-versus__col.is-accent{box-shadow:0 18px 40px #0d141a26}
.ip-versus__col h3{margin-bottom:8px}
.ip-versus__col>p{color:var(--ip-muted);font-size:var(--t-body);line-height:1.65;margin-bottom:12px!important}
.ip-ticks li{position:relative;padding:13px 0 13px 32px;border-top:1px solid var(--ip-line);font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}
.ip-ticks li::before{content:'';position:absolute;left:3px;top:19px;width:12px;height:6px;border-left:2px solid var(--ip-accent);border-bottom:2px solid var(--ip-accent);transform:rotate(-45deg)}
.ip-ticks--plain li::before{width:7px;height:7px;top:21px;border:0;border-radius:50%;background:var(--ip-muted);transform:none;opacity:.6}

/* ---------- таблица сравнения: своя прокрутка на узком экране, первая колонка закреплена ---------- */
.ip-table-wrap{overflow-x:auto;border:1px solid var(--ip-line);border-radius:16px;background:var(--ip-panel);-webkit-overflow-scrolling:touch}
/* Тема даёт таблицам отступ снизу и светлые рамки ячеек — здесь линии рисуются только между строками. */
.ip .ip-table{width:100%;min-width:1040px;margin:0;border:0;border-collapse:separate;border-spacing:0;font-size:var(--t-body);line-height:1.65}
.ip .ip-table th,.ip .ip-table td{padding:16px 18px;border:0;border-bottom:1px solid var(--ip-line);text-align:left;vertical-align:top;color:var(--ip-muted);background:none}
.ip .ip-table thead th{padding-block:18px;font-weight:700;font-size:var(--t-intro);line-height:1.65;font-family:var(--t-text);color:var(--ip-fg);background:#161a1d}
.ip .ip-table thead th small{display:block;margin-top:4px;font-weight:400;font-size:var(--t-small);line-height:1.4;font-family:var(--t-text);color:#8f9ca7}
.ip .ip-table tbody th{width:210px;font-weight:600;font-size:var(--t-list);line-height:1.55;font-family:var(--t-text);color:var(--ip-fg)}
.ip .ip-table tr>:first-child{position:sticky;left:0;z-index:1;background:var(--ip-panel);box-shadow:1px 0 0 var(--ip-line)}
.ip .ip-table thead tr>:first-child{background:#161a1d}
.ip .ip-table tbody tr:last-child>*{border-bottom:0}
.ip .ip-table tbody tr.is-hub>*{background:#1d1712}
.ip .ip-table tbody tr.is-hub>:first-child{color:var(--copper-light)}
.ip-yes{color:#4cc38a;font-weight:600}
.ip-dash{color:#6b7883}
.ip-table-hint{display:none;margin-top:12px!important;font-size:var(--t-small);color:var(--ip-muted)}
.ip-light .ip-table thead th,.ip-light .ip-table thead tr>:first-child{background:#edf1f4}
.ip-light .ip-table thead th small{color:#64727d}
.ip-light .ip-table tbody tr.is-hub>*{background:#fbf4ee}
.ip-light .ip-table tbody tr.is-hub>:first-child{color:var(--brown)}
.ip .ip-table--3{min-width:760px}
.ip .ip-table--3 tbody th{width:230px}
/* «Руками / в Хабе»: ответ Хаба ярче — в сравнении двух продуктов колонки равны. */
.ip .ip-table--hub td:last-child{color:var(--ip-fg)}

/* ---------- заметка с иконкой ---------- */
.ip-note{display:flex;gap:11px;align-items:flex-start;margin-top:28px!important;font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}
.ip-note .icon{width:18px;height:18px;margin-top:3px;color:var(--ip-accent)}

/* ---------- вопросы: заголовок слева, ответы справа ---------- */
.ip-faq-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,calc(66 * var(--u)),76px);align-items:start}
.ip-faq-grid .ip-head{position:sticky;top:calc(var(--header-height) + 24px);margin-bottom:0}
.ip-faq{border-top:1px solid var(--ip-line)}
.ip-faq details{border-bottom:1px solid var(--ip-line)}
.ip-faq summary{position:relative;padding:22px 52px 22px 0;cursor:pointer;list-style:none;
  font-weight:800;font-size:var(--t-faq);line-height:1.4;font-family:var(--t-text);color:var(--ip-fg);letter-spacing:-.01em}
.ip-faq summary::-webkit-details-marker{display:none}
.ip-faq summary::after{content:'+';position:absolute;right:8px;top:17px;font:300 1.75rem/1 var(--sans);color:var(--ip-accent)}
.ip-faq details[open] summary::after{content:'−'}
.ip-faq summary:focus-visible{outline:2px solid var(--ip-accent);outline-offset:4px;border-radius:4px}
.ip-faq__a{padding:0 52px 24px 0;color:var(--ip-muted);font-size:var(--t-body);line-height:1.65}
.ip-faq__a p+p{margin-top:10px}

/* ---------- форма заявки ---------- */
.ip-form-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,calc(66 * var(--u)),76px);align-items:start}
.ip-form-grid>.ip-head{position:sticky;top:calc(var(--header-height) + 24px);margin-bottom:0}
.ip-form{position:relative;display:grid;gap:24px;padding:clamp(22px,calc(36 * var(--u)),40px);border:1px solid var(--ip-line);
  border-radius:18px;background:var(--ip-panel);box-shadow:0 18px 40px #1834450d}
.ip .ip-form fieldset{min-width:0;margin:0;padding:0;border:0}
.ip .ip-form legend{float:left;width:100%;margin:0 0 12px;padding:0;font-weight:600;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text);color:var(--ip-fg);text-transform:none}
.ip-choices{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.ip-choice{position:relative;display:inline-flex;margin:0}
.ip .ip-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ip-choice>span{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border:1px solid var(--ip-line);border-radius:10px;
  background:#fff;font-weight:500;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text);color:var(--ip-fg);transition:border-color .15s,background .15s,color .15s}
.ip-choice:hover>span{border-color:#c9a184}
.ip-choice input:checked+span{border-color:var(--brown);background:#fbf1e8;color:#7a4527}
.ip-choice input:focus-visible+span{outline:2px solid var(--brown);outline-offset:2px}
.ip-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ip-field{display:grid;gap:8px;margin:0}
.ip-field>span{font-weight:600;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text);color:var(--ip-fg)}
.ip-field>span small{font-weight:400;font-size:var(--t-small);line-height:1.4;font-family:var(--t-text);color:var(--ip-muted)}
.ip .ip-field input,.ip .ip-field select,.ip .ip-field textarea{width:100%;min-height:50px;margin:0;padding:12px 14px;border:1px solid #cfd7de;
  border-radius:10px;background:#fff;box-shadow:none;font-weight:400;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text);color:var(--paper-fg);text-transform:none}
.ip .ip-field textarea{height:140px;min-height:110px;resize:vertical}
.ip .ip-field input:focus,.ip .ip-field select:focus,.ip .ip-field textarea:focus{outline:2px solid #c9a184;outline-offset:1px;border-color:var(--brown)}
.ip-form .ip-btn{justify-self:start;cursor:pointer}
.ip-form .ip-btn:disabled{opacity:.6;cursor:default;transform:none}
.ip-form__status{min-height:1.6em;margin:-8px 0 0!important;font-size:var(--t-body);line-height:1.65;color:var(--ip-muted)}
.ip-form__status.is-ok{color:#2f8a57;font-weight:600}
.ip-form__status.is-error{color:#b3412e;font-weight:600}
.ip-form__note{font-size:var(--t-small);line-height:1.55;color:var(--ip-muted)}
/* Поле-ловушка для ботов: человек его не видит и не заполняет. */
.ip-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* ---------- подбор решения: вопросы слева, ответ справа ---------- */
.ip-finder{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(22px,calc(40 * var(--u)),44px);align-items:start}
.ip-finder__result{position:sticky;top:calc(var(--header-height) + 24px);padding:clamp(22px,calc(34 * var(--u)),38px);border-radius:18px;
  background:radial-gradient(120% 140% at 0% 0%,#3b2517 0%,#171b1d 50%,#111416 100%);color:#eef2f5;box-shadow:0 30px 60px #0d141a26;
  --ip-fg:#eef2f5;--ip-muted:#b9c3cc;--ip-line:#2c3337;--ip-accent:var(--copper);--ip-link:var(--copper-light)}
.ip-finder__result h3{margin-bottom:6px!important;font-size:var(--t-h3);font-family:var(--t-head);font-weight:800;letter-spacing:-.02em;line-height:1.22}
.ip-finder__hint{color:#9aa6b1;font-size:var(--t-body);line-height:1.65}
.ip-finder__slots{display:grid;gap:12px;margin-top:20px!important}
.ip-finder__slots[hidden]{display:none}
.ip-finder__slot{padding:16px 18px;border:1px solid #2c3337;border-radius:14px;background:#0e1214cc}
.ip-finder__slot h4{margin-bottom:8px!important;font-weight:800;font-size:var(--t-h4);line-height:1.33;font-family:var(--t-head);letter-spacing:-.01em;text-transform:uppercase!important;color:var(--copper)}
.ip-finder__slot p{font-size:var(--t-body);line-height:1.65;color:#b9c3cc}
.ip-finder__slot p+p{margin-top:8px!important}
.ip-finder__slot .ip-link{margin-right:14px;font-size:var(--t-list)}
.ip-finder__note{margin-top:14px!important;font-size:var(--t-list);line-height:1.55;color:#d8b38f}
.ip-finder__note:empty{display:none}
.ip-finder__lib{display:none!important}

/* ---------- финальный призыв: тёмная карточка на светлой секции ---------- */
.ip-cta__card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(28px,calc(60 * var(--u)),68px);align-items:center;padding:clamp(30px,calc(62 * var(--u)),70px);border-radius:22px;
  background:radial-gradient(120% 150% at 0% 0%,#3b2517 0%,#171b1d 48%,#111416 100%);color:var(--ip-fg);box-shadow:0 30px 60px #0d141a26}
.ip-cta__card .ip-kicker{color:var(--copper)}
.ip-cta__card .ip-lead{color:#b9c3cc}
.ip-need{padding:26px 28px 14px;border:1px solid #2c3337;border-radius:16px;background:#0e1214cc}
.ip-need__title{margin-bottom:8px!important;font-weight:800;font-size:var(--t-caption);line-height:1.5;font-family:var(--t-text);letter-spacing:.06em;text-transform:uppercase;color:var(--copper)}
.ip-need li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:3px 12px;padding:13px 0;border-top:1px solid #222a2e}
.ip-need li:first-child{border-top:0}
/* Дочерние, а не любые потомки: внутри текста живёт `.ip-nw`, и правило для подписи не должно его задевать. */
.ip-need li>b{grid-row:span 2;font-weight:600;font-size:var(--t-small);line-height:1.65;font-family:var(--mono);color:var(--brown-hover)}
.ip-need li>strong{font-weight:600;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text);color:#eef2f5}
.ip-need li>span{font-size:var(--t-list);line-height:1.55;color:#93a2af}
.ip-links{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px!important}
.ip-links a{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-body);font-weight:500;line-height:1.65;color:var(--ip-link)}
.ip-links a:hover{color:var(--ip-link);opacity:.85}
.ip-links .icon{width:16px;height:16px}

/* ---------- узкие экраны ---------- */
@media(max-width:1180px){
  .ip-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ip-step::after{display:none}
  .ip-cards,.ip-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  .ip-hero__grid,.ip-head--row,.ip-versus,.ip-cta__card,.ip-faq-grid,.ip-form-grid,.ip-finder{grid-template-columns:minmax(0,1fr)}
  .ip-faq-grid .ip-head,.ip-form-grid>.ip-head,.ip-finder__result{position:static}
  .ip-features{grid-template-columns:minmax(0,1fr)}
  .ip-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-hero__visual{max-width:640px}
  .ip-shot picture{transform:none}
  .ip-doc,.ip-doc__summary,.ip-doc__sec ul.ip-doc__cols{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1100px){
  .ip-table-hint{display:block}
}
@media(max-width:600px){
  .ip-cards,.ip-steps,.ip-stats{grid-template-columns:minmax(0,1fr)}
  .ip .ip-table{min-width:880px;font-size:var(--t-body)}
  .ip .ip-table th,.ip .ip-table td{padding:13px 14px}
  .ip .ip-table tbody th{width:116px;font-size:var(--t-list)}
  .ip-form__row{grid-template-columns:minmax(0,1fr)}
  .ip-form .ip-btn{justify-self:stretch}
  .ip-proof{grid-template-columns:minmax(0,1fr)}
  .ip h1{font-size:var(--t-h1)}
  .ip-h1-accent{font-size:.66em}
  .ip-actions{flex-direction:column;align-items:stretch}
  .ip-btn{white-space:normal;text-align:left;justify-content:space-between}
  .ip-window__body{padding:4px 16px}
  .ip-srv{grid-template-columns:minmax(0,1fr)}
  .ip-srv__meta{grid-row:auto;grid-column:1;flex-direction:row;flex-wrap:wrap;align-items:center}
  .ip-layer{grid-template-columns:32px minmax(0,1fr);padding:16px 18px}
  .ip-access__row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
  .ip-access__label{grid-column:1 / -1}
  .ip-layer>.ip-badge{grid-column:2;justify-self:start}
  .ip-layer+.ip-layer::before{left:33px}
  .ip-faq summary{padding-right:40px}
  .ip-faq__a{padding-right:0}
  .ip-need{padding:20px 18px 8px}
  .ip-cta__card{border-radius:18px}
}
