/* Проверка контрагентов: public pages (agent A) and shared tokens for the cabinet (cp-app.css uses only the variables of :root).
   Layout by gpt/proverka/lp_desktop_v3.png and screens_desktop.png with ux-review-maketov-2026-10-23.md.
   Color carries only statuses: ok green, fail red, manual yellow, nodata gray. Buttons: calm brand blue, never red or cyan.
   Everything is scoped under .cp so site.css stays untouched. */

:root {
  --cp-ink: #0E1A2B;
  --cp-muted: #4A5669;
  --cp-bg: #F3F5F9;
  --cp-surface: #FFFFFF;
  --cp-line: #D9E0EA;
  --cp-navy: #0A1F40;
  --cp-navy-ink: #E8EEF7;
  --cp-accent: #2456B5;
  --cp-accent-ink: #FFFFFF;
  --st-ok: #1D7838;
  --st-ok-bg: #E4F2E7;
  --st-fail: #BE2D27;
  --st-fail-bg: #FBE6E4;
  --st-manual: #855800;
  --st-manual-bg: #FFF1C9;
  --st-nodata: #586375;
  --st-nodata-bg: #ECEFF3;
  /* local, not part of the contract */
  --cp-accent-h: #1C4594;
  --cp-navy-2: #12305C;
  --cp-navy-mute: #AFC0D9;
  --st-manual-mark: #DFA019;
  --st-nodata-mark: #A7B0BD;
  --cp-r: 12px;
  --cp-font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --cp-shadow: 0 1px 2px rgba(14, 26, 43, .06), 0 6px 20px rgba(14, 26, 43, .06);
}

/* Manrope from own files: the cabinet (cp/_app.html) has no site.css; on public pages this repeats site.css */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("/static/fonts/manrope-cyrillic-400.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 500; font-display: swap; src: url("/static/fonts/manrope-cyrillic-500.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("/static/fonts/manrope-cyrillic-600.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url("/static/fonts/manrope-cyrillic-700.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 800; font-display: swap; src: url("/static/fonts/manrope-cyrillic-800.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("/static/fonts/manrope-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 500; font-display: swap; src: url("/static/fonts/manrope-latin-500.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("/static/fonts/manrope-latin-600.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url("/static/fonts/manrope-latin-700.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 800; font-display: swap; src: url("/static/fonts/manrope-latin-800.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
body { font-family: var(--cp-font); }

.cp { font-family: var(--cp-font); color: var(--cp-ink); background: var(--cp-bg);
  font-size: 16px; line-height: 1.5; overflow-x: clip; -webkit-text-size-adjust: 100%; }
.cp *, .cp *::before, .cp *::after { box-sizing: border-box; }
.cp :where(h1, h2, h3, p, ul, ol, dl, dd, figure) { margin: 0; }
.cp :where(ul, ol) { padding: 0; list-style: none; }
.cp :where(img) { max-width: 100%; height: auto; display: block; }
.cp :where(a) { color: var(--cp-accent); text-underline-offset: 2px; }
.cp :where(a):hover { color: var(--cp-accent-h); }
.cp code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; }
.cp :focus-visible { outline: 3px solid #6E9BEA; outline-offset: 2px; border-radius: 4px; }
.cp [hidden] { display: none !important; }
.cp-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cp-muted { color: var(--cp-muted); }
.cp-center { text-align: center; }

.cp-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.cp-narrow { max-width: 760px; padding-top: 40px; padding-bottom: 64px; }
@media (min-width: 761px) { .cp-wrap { padding-left: 28px; padding-right: 28px; } }

/* ---------- status colors ---------- */
.cp-st--ok { color: var(--st-ok); }
.cp-st--fail { color: var(--st-fail); }
.cp-st--manual { color: var(--st-manual); }
.cp-st--manual .cp-ic { color: var(--st-manual-mark); }
.cp-st--nodata { color: var(--st-nodata); }
.cp-ic { flex: none; display: inline-block; vertical-align: -3px; }

.cp-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 7px; border-radius: 999px; font-size: 13px; line-height: 1.35;
  font-weight: 700; white-space: nowrap; }
.cp-pill--ok { color: var(--st-ok); background: var(--st-ok-bg); }
.cp-pill--fail { color: var(--st-fail); background: var(--st-fail-bg); }
.cp-pill--manual { color: var(--st-manual); background: var(--st-manual-bg); }
.cp-pill--manual .cp-ic { color: var(--st-manual-mark); }
.cp-pill--nodata { color: var(--st-nodata); background: var(--st-nodata-bg); }

/* ---------- buttons, fields ---------- */
.cp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border-radius: 10px;
  border: 1.5px solid transparent; font: inherit; font-weight: 700; font-size: 15px; line-height: 1.2; text-align: center; text-decoration: none;
  cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.cp-btn--primary { background: var(--cp-accent); color: var(--cp-accent-ink); }
.cp a.cp-btn--primary, .cp a.cp-btn--primary:hover { color: var(--cp-accent-ink); }
.cp-btn--primary:hover { background: var(--cp-accent-h); }
.cp-btn--line { background: var(--cp-surface); color: var(--cp-accent); border-color: #B7C7E6; }
.cp-btn--line:hover { border-color: var(--cp-accent); }
.cp-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .45); }
.cp a.cp-btn--ghost, .cp a.cp-btn--ghost:hover { color: #fff; }
.cp-btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.cp-btn--lg { min-height: 52px; padding: 12px 24px; font-size: 16px; }
.cp-btn--sm { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.cp-btn--block { display: flex; width: 100%; }
.cp-btn[disabled] { opacity: .6; cursor: progress; }
.cp-btn--fake { pointer-events: none; }
.cp-link { font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; min-height: 40px; }
.cp-link::after { content: ""; width: 7px; height: 7px; margin-left: 8px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.cp-linkbtn { background: none; border: 0; padding: 8px 4px; min-height: 40px; font: inherit; font-weight: 700; color: var(--cp-accent); cursor: pointer;
  text-decoration: underline; text-underline-offset: 2px; }

.cp-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 700; color: var(--cp-ink); }
.cp-field input, .cp-field select, .cp-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1.5px solid var(--cp-line); border-radius: 10px;
  background: #fff; font: inherit; font-weight: 400; font-size: 16px; color: var(--cp-ink); }
.cp-field textarea { resize: vertical; min-height: 84px; }
.cp-field input:focus, .cp-field select:focus, .cp-field textarea:focus { border-color: var(--cp-accent); outline: none; box-shadow: 0 0 0 3px rgba(36, 86, 181, .18); }
.cp-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; min-height: 40px; padding: 8px 0; cursor: pointer; }
.cp-check input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--cp-accent); }
.cp-msg { font-size: 14px; min-height: 0; }
.cp-msg:empty { display: none; }
.cp-msg--err { color: var(--st-fail); font-weight: 700; }
.cp-msg--ok { color: var(--st-ok); font-weight: 700; }
.cp-note { font-size: 13px; color: var(--cp-muted); margin-top: 8px; }

.cp-spin { display: inline-block; width: 18px; height: 18px; border: 2.5px solid #C9D5EA; border-top-color: var(--cp-accent); border-radius: 50%;
  animation: cp-spin .9s linear infinite; flex: none; }
.cp-spin--lg { width: 40px; height: 40px; border-width: 4px; }
@keyframes cp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cp-spin { animation-duration: 3s; } }

/* ---------- hero ---------- */
.cp-hero { background: radial-gradient(1000px 420px at 82% 30%, #17407A 0%, rgba(23, 64, 122, 0) 70%), var(--cp-navy); color: var(--cp-navy-ink); }
.cp-hero-in { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 40px; align-items: center; padding-top: 56px; padding-bottom: 64px; }
.cp-eyebrow { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .02em; color: #fff; background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; padding: 4px 12px; margin-bottom: 18px; }
.cp-hero h1 { font-size: 46px; line-height: 1.1; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.cp-hero h1 em { font-style: normal; color: #9DBCF2; }
.cp-lead { font-size: 19px; line-height: 1.45; margin-top: 18px; color: var(--cp-navy-ink); max-width: 560px; }
.cp-hero-alt { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.cp-hero-src { margin-top: 18px; font-size: 13px; color: var(--cp-navy-mute); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; }
.cp-hero-src i { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #5E7AA6; margin: 0 10px; }

.cp-search { margin-top: 28px; max-width: 620px; position: relative; }
.cp-search-row { display: flex; gap: 10px; }
.cp-search-box { position: relative; flex: 1; min-width: 0; }
.cp-search-ic { position: absolute; left: 14px; top: 17px; color: #6B7891; pointer-events: none; }
.cp-search input { width: 100%; min-height: 52px; padding: 12px 14px 12px 42px; border-radius: 10px; border: 1.5px solid transparent; background: #fff;
  font: inherit; font-size: 16px; color: var(--cp-ink); }
.cp-search input:focus { outline: none; border-color: #7FA4E8; box-shadow: 0 0 0 3px rgba(127, 164, 232, .35); }
.cp-search-err { margin-top: 10px; font-size: 14px; font-weight: 700; color: #fff; background: var(--st-fail); border-radius: 8px; padding: 8px 12px; }
.cp-sug { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 6px); background: #fff; color: var(--cp-ink); border-radius: 12px;
  box-shadow: 0 12px 40px rgba(6, 20, 45, .3); max-height: 380px; overflow-y: auto; padding: 6px; }
.cp-sug li { padding: 10px 12px; border-radius: 8px; cursor: pointer; min-height: 44px; }
.cp-sug li[aria-selected="true"], .cp-sug li:hover { background: #EEF3FC; }
.cp-sug-n { display: block; font-weight: 700; font-size: 15px; }
.cp-sug-m { display: block; font-size: 13px; color: var(--cp-muted); margin-top: 2px; overflow-wrap: anywhere; }
.cp-sug-st { font-weight: 700; }
.cp-sug-st--bad { color: var(--st-fail); }
.cp-sug li.cp-sug-info { cursor: default; color: var(--cp-muted); font-size: 14px; background: none; }

.cp-hero-vis { position: relative; min-height: 420px; }
.cp-hero-pdf { position: absolute; right: 0; top: 0; width: 300px; border-radius: 6px; transform: rotate(3deg);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45); opacity: .96; }
.cp-mini { position: absolute; left: 0; bottom: 0; width: min(400px, 92%); background: #fff; color: var(--cp-ink); border-radius: 14px; padding: 18px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .4); }
.cp-mini-name { font-weight: 800; font-size: 16px; }
.cp-mini-ids { font-size: 12px; color: var(--cp-muted); }
.cp-mini-sum { display: flex; gap: 8px; align-items: center; font-weight: 800; margin-top: 10px; font-size: 15px; }
.cp-mini-list { margin-top: 10px; display: grid; gap: 6px; font-size: 13px; }
.cp-mini-list li { display: flex; gap: 8px; align-items: flex-start; }
.cp-mini-list li span { color: var(--cp-ink); }
.cp-mini-list .cp-ic { margin-top: 2px; }
.cp-mini-foot { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--cp-line); font-size: 12px; color: var(--cp-muted); }

@media (max-width: 1024px) {
  .cp-hero h1 { font-size: 38px; }
  .cp-hero-pdf { width: 240px; }
}
@media (max-width: 760px) {
  .cp-hero-in { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; padding-bottom: 36px; }
  .cp-hero h1 { font-size: 29px; }
  .cp-lead { font-size: 16px; margin-top: 12px; }
  .cp-eyebrow { margin-bottom: 12px; }
  .cp-search { margin-top: 20px; }
  .cp-search-row { flex-direction: column; }
  .cp-search-row .cp-btn { width: 100%; }
  .cp-hero-alt .cp-btn { flex: 1 1 100%; }
  .cp-hero-vis { min-height: 0; }
  .cp-hero-pdf { display: none; }
  .cp-mini { position: static; width: 100%; }
}

/* ---------- segment bar (shared with the conclusion) ---------- */
.cpc-bar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; margin-top: 14px; }
.cpc-seg { height: 14px; border-radius: 4px; background: var(--st-nodata-mark); position: relative; }
.cpc-seg--ok { background: var(--st-ok); }
.cpc-seg--fail { background: var(--st-fail); }
.cpc-seg--manual { background: var(--st-manual-mark); }
.cpc-seg--nodata { background: var(--st-nodata-mark); }
.cpc-seg b { position: absolute; top: 18px; left: 0; right: 0; text-align: center; font-size: 11px; font-weight: 400; color: var(--cp-muted); }
.cpc-bar:has(b) { margin-bottom: 18px; }
.cpc-bar--mini { gap: 3px; margin-top: 8px; }
.cpc-bar--mini .cpc-seg { height: 10px; }

/* ---------- sections ---------- */
.cp-sec { padding: 72px 0; }
.cp-sec-head { margin-bottom: 28px; max-width: 760px; }
.cp-sec-head h2 { font-size: 32px; line-height: 1.2; font-weight: 800; }
.cp-sec-head p { margin-top: 10px; color: var(--cp-muted); font-size: 17px; }
.cp-sec-head--row { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; max-width: none; flex-wrap: wrap; }
.cp-dark { background: var(--cp-navy); color: var(--cp-navy-ink); }
.cp-dark .cp-sec-head h2 { color: #fff; }
.cp-dark .cp-sec-head p { color: var(--cp-navy-mute); }
.cp-h2 { font-size: 20px; font-weight: 800; line-height: 1.3; margin-bottom: 14px; }
.cp-box { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: var(--cp-r); padding: 20px; }
@media (max-width: 760px) {
  .cp-sec { padding: 44px 0; }
  .cp-sec-head h2 { font-size: 25px; }
  .cp-sec-head p { font-size: 15px; }
}

/* ---------- example ---------- */
.cp-example { background: var(--cp-surface); }
.cp-example-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; }
.cp-ex-head { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 20px; border: 1px solid var(--cp-line); border-bottom: 0;
  border-radius: var(--cp-r) var(--cp-r) 0 0; background: #FAFBFD; }
.cp-ex-name { font-size: 20px; font-weight: 800; }
.cp-ex-ids { font-size: 14px; color: var(--cp-muted); display: flex; flex-wrap: wrap; gap: 4px 14px; }
.cp-ex-sum { flex: 1 1 320px; max-width: 460px; }
.cp-ex-sum > p { display: flex; gap: 8px; align-items: center; font-size: 17px; }
.cp-ex-counts { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; font-weight: 700; }
.cp-ex-counts li { display: inline-flex; gap: 5px; align-items: center; }

.cp-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.cp-table th { text-align: left; font-size: 12px; font-weight: 700; color: var(--cp-muted); text-transform: uppercase; letter-spacing: .03em;
  padding: 10px 12px; border-bottom: 1px solid var(--cp-line); background: #fff; }
.cp-table td { padding: 12px; border-bottom: 1px solid var(--cp-line); vertical-align: top; }
.cp-ex-table { border: 1px solid var(--cp-line); border-radius: 0 0 var(--cp-r) var(--cp-r); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.cp-ex-table tr:last-child td { border-bottom: 0; }
.cp-ex-table th:nth-child(2) { width: 46%; }
.cp-ex-table th:nth-child(3) { width: 190px; }
.cp-ex-table th:nth-child(5) { width: 104px; }
.cp-td-n { width: 36px; color: var(--cp-muted); font-weight: 700; }
.cp-td-t b { display: block; font-weight: 700; }
.cp-td-t span { display: block; color: var(--cp-muted); font-size: 13px; margin-top: 2px; }
.cp-td-t .cp-td-todo { color: var(--cp-ink); margin-top: 6px; }
.cp-td-s { white-space: nowrap; }
.cp-td-src { min-width: 120px; }
.cp-td-d { white-space: nowrap; color: var(--cp-muted); }
.cp-tr--fail td:first-child { box-shadow: inset 4px 0 0 var(--st-fail); }
.cp-tr--manual td:first-child { box-shadow: inset 4px 0 0 var(--st-manual-mark); }
.cp-tr--nodata td:first-child { box-shadow: inset 4px 0 0 var(--st-nodata-mark); }

.cp-example-side { display: grid; gap: 16px; }
.cp-pdf img { border-radius: 6px; border: 1px solid var(--cp-line); box-shadow: var(--cp-shadow); width: 100%; }
.cp-pdf figcaption { font-size: 13px; color: var(--cp-muted); margin-top: 10px; }
.cp-nodata-box { background: var(--st-nodata-bg); border-radius: var(--cp-r); padding: 16px; font-size: 14px; display: grid; gap: 8px; }
.cp-nodata-h { display: flex; gap: 8px; align-items: center; font-weight: 800; font-size: 15px; }

@media (max-width: 1024px) {
  .cp-example-grid { grid-template-columns: 1fr; }
  .cp-example-side { grid-template-columns: 220px 1fr; align-items: start; }
  .cp-example-side .cp-pdf { grid-row: span 2; }
}
@media (max-width: 760px) {
  .cp-example-side { grid-template-columns: 1fr; }
  .cp-example-side .cp-pdf { max-width: 300px; }
  .cp-ex-head { padding: 16px; }
  .cp-ex-sum { flex-basis: 100%; }
  .cp-ex-table thead { display: none; }
  .cp-ex-table, .cp-ex-table tbody, .cp-ex-table tr, .cp-ex-table td { display: block; }
  .cp-ex-table tr { display: grid; grid-template-columns: 28px 1fr; gap: 2px 8px; padding: 12px; border-bottom: 1px solid var(--cp-line); }
  .cp-ex-table tr:last-child { border-bottom: 0; }
  .cp-ex-table td { padding: 0; border: 0; grid-column: 2; }
  .cp-ex-table td.cp-td-n { grid-column: 1; grid-row: 1 / span 4; width: auto; }
  .cp-ex-table td.cp-td-s { margin-top: 6px; }
  .cp-ex-table td.cp-td-src, .cp-ex-table td.cp-td-d { font-size: 13px; color: var(--cp-muted); min-width: 0; white-space: normal; }
  .cp-ex-table td[data-l]::before { content: attr(data-l) ": "; }
  .cp-tr--fail td:first-child, .cp-tr--manual td:first-child, .cp-tr--nodata td:first-child { box-shadow: none; }
  .cp-tr--fail { box-shadow: inset 4px 0 0 var(--st-fail); }
  .cp-tr--manual { box-shadow: inset 4px 0 0 var(--st-manual-mark); }
  .cp-tr--nodata { box-shadow: inset 4px 0 0 var(--st-nodata-mark); }
}

/* ---------- scenarios: one per row, alternating, with a real screen fragment ---------- */
.cp-scen-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 48px; align-items: center; padding: 36px 0;
  border-top: 1px solid var(--cp-line); }
.cp-sec-head + .cp-scen-row { border-top: 0; padding-top: 8px; }
.cp-scen-row--rev .cp-scen-text { order: 2; }
.cp-scen-n { font-size: 64px; font-weight: 800; line-height: 1; color: #C6D3EA; margin-bottom: 6px; }
.cp-scen-text h3 { font-size: 26px; line-height: 1.25; font-weight: 800; }
.cp-scen-for { font-size: 14px; font-weight: 700; color: var(--cp-accent); margin: 6px 0 12px; }
.cp-scen-text p:not(.cp-scen-n):not(.cp-scen-for) { color: var(--cp-muted); max-width: 520px; }
.cp-scen-text .cp-link { margin-top: 10px; }
.cp-frag { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 14px; padding: 22px; box-shadow: var(--cp-shadow); }
.cp-frag-h { font-weight: 800; font-size: 17px; line-height: 1.3; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cp-frag-h span { font-size: 13px; color: var(--cp-muted); font-weight: 700; }
.cp-frag-list { margin-top: 12px; }
.cp-frag-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--cp-line); font-size: 14px; }
.cp-frag-more { font-size: 13px; color: var(--cp-muted); margin: 12px 0 14px; }
.cp-tpl-list { margin-top: 12px; display: grid; gap: 2px; counter-reset: none; }
.cp-tpl-list li { display: flex; align-items: center; gap: 10px; font-size: 14px; padding: 6px 0; }
.cp-tpl-t { flex: 1; min-width: 0; }
.cp-frag--alert { background: #fff; border-left: 4px solid var(--st-fail); }
.cp-alert-meta { font-size: 12px; font-weight: 700; color: var(--cp-muted); text-transform: uppercase; letter-spacing: .04em; }
.cp-alert-text { font-size: 17px; font-weight: 700; line-height: 1.45; margin-top: 8px; }
.cp-alert-change { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.cp-alert-to { font-size: 13px; color: var(--cp-muted); }
.cp-alert-b { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
@media (max-width: 860px) {
  .cp-scen-row { grid-template-columns: 1fr; gap: 20px; padding: 28px 0; }
  .cp-scen-row--rev .cp-scen-text { order: 0; }
  .cp-scen-n { font-size: 44px; }
  .cp-scen-text h3 { font-size: 21px; }
  .cp-frag { padding: 16px; }
  .cp-frag-list li { flex-wrap: wrap; gap: 6px; }
}

/* ---------- not a directory ---------- */
.cp-vs-grid { display: grid; grid-template-columns: 1fr 1.2fr 1.1fr; gap: 24px; align-items: stretch; }
.cp-vs-pile, .cp-vs-concl { border-radius: 14px; padding: 20px; display: flex; flex-direction: column; }
.cp-vs-pile { background: var(--cp-navy-2); border: 1px solid rgba(255, 255, 255, .08); }
.cp-vs-concl { background: #fff; color: var(--cp-ink); }
.cp-vs-cap { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--cp-navy-mute); margin-bottom: 14px; }
.cp-vs-concl .cp-vs-cap { color: var(--cp-muted); }
.cp-vs-lines { display: grid; gap: 7px; flex: 1; }
.cp-vs-lines i { display: block; height: 7px; border-radius: 4px; background: rgba(175, 192, 217, .28); }
.cp-vs-num { margin-top: 16px; font-size: 14px; color: var(--cp-navy-mute); display: flex; align-items: baseline; gap: 8px; }
.cp-vs-num b { font-size: 40px; line-height: 1; font-weight: 800; color: #fff; }
.cp-vs-concl .cp-vs-num { color: var(--cp-muted); }
.cp-vs-concl .cp-vs-num b { color: var(--cp-ink); }
.cp-vs-concl ul { display: grid; gap: 10px; flex: 1; }
.cp-vs-concl li { display: grid; grid-template-columns: 200px 1fr; gap: 10px; align-items: center; font-size: 14px; }
.cp-vs-concl li .cp-pill { justify-self: start; }
.cp-vs-points { display: grid; gap: 18px; align-content: center; counter-reset: vs; }
.cp-vs-points li { position: relative; padding-left: 44px; color: var(--cp-navy-mute); font-size: 15px; }
.cp-vs-points li::before { counter-increment: vs; content: counter(vs); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 8px;
  border: 1.5px solid #4D6C9E; color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 14px; }
.cp-vs-points b { display: block; color: #fff; font-size: 16px; }
@media (max-width: 1024px) {
  .cp-vs-grid { grid-template-columns: 1fr 1fr; }
  .cp-vs-points { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .cp-vs-grid { grid-template-columns: 1fr; }
  .cp-vs-pile { display: none; }
  .cp-vs-points { grid-template-columns: 1fr; }
  .cp-vs-concl li { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- coverage ---------- */
.cp-cov-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; }
.cp-cov-yes, .cp-cov-no { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 14px; padding: 24px; }
.cp-cov-no { background: #F7F8FA; }
.cp-cov-grid h3 { font-size: 20px; font-weight: 800; margin-bottom: 14px; }
.cp-cov-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.cp-cov-list > div { padding: 10px 0 10px 18px; border-top: 1px solid var(--cp-line); position: relative; }
.cp-cov-list > div::before { content: ""; position: absolute; left: 0; top: 18px; width: 8px; height: 8px; border-radius: 2px; background: var(--cp-accent); }
.cp-cov-list dt { font-weight: 700; font-size: 15px; }
.cp-cov-list dd { font-size: 13px; color: var(--cp-muted); }
.cp-cov-gaps { display: grid; gap: 0; }
.cp-cov-gaps li { padding: 12px 0 12px 22px; border-top: 1px solid var(--cp-line); position: relative; }
.cp-cov-gaps li::before { content: ""; position: absolute; left: 0; top: 22px; width: 12px; height: 2px; background: var(--cp-muted); }
.cp-cov-gaps b { display: block; font-size: 15px; }
.cp-cov-gaps span { display: block; font-size: 13px; color: var(--cp-muted); margin-top: 2px; }
@media (max-width: 860px) {
  .cp-cov-grid { grid-template-columns: 1fr; }
  .cp-cov-list { grid-template-columns: 1fr; }
  .cp-cov-yes, .cp-cov-no { padding: 18px; }
}

/* ---------- plans on the landing ---------- */
.cp-plans { background: var(--cp-surface); }
.cp-plan-row { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr 1fr; border: 1px solid var(--cp-line); border-radius: 14px; overflow: hidden; }
.cp-plan { padding: 22px 18px; display: flex; flex-direction: column; border-left: 1px solid var(--cp-line); background: #fff; }
.cp-plan:first-child { border-left: 0; }
.cp-plan--once { background: #F2F6FD; }
.cp-plan h3 { font-size: 16px; font-weight: 800; }
.cp-plan-price { margin-top: 10px; font-size: 14px; color: var(--cp-muted); }
.cp-plan-price b { font-size: 30px; line-height: 1.1; font-weight: 800; color: var(--cp-ink); }
.cp-plan-per { font-size: 13px; color: var(--cp-muted); margin-bottom: 14px; }
.cp-plan ul { display: grid; align-content: start; gap: 8px; font-size: 14px; margin-bottom: 18px; flex: 1; }
.cp-plan li { padding-left: 16px; position: relative; }
.cp-plan li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--cp-accent); }
.cp-free { margin-top: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding: 14px 18px; border-radius: 12px;
  background: var(--cp-bg); font-size: 14px; }
@media (max-width: 1100px) {
  .cp-plan-row { grid-template-columns: repeat(3, 1fr); }
  .cp-plan:nth-child(4) { border-left: 0; }
  .cp-plan:nth-child(n+4) { border-top: 1px solid var(--cp-line); }
}
@media (max-width: 760px) {
  .cp-plan-row { grid-template-columns: 1fr; }
  .cp-plan { border-left: 0; border-top: 1px solid var(--cp-line); padding: 18px 16px; }
  .cp-plan:first-child { border-top: 0; }
  .cp-plan-price b { font-size: 26px; }
}

/* ---------- demo form ---------- */
.cp-demo-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: start; }
.cp-demo-text h2 { font-size: 32px; font-weight: 800; line-height: 1.2; color: #fff; }
.cp-demo-text p { margin-top: 14px; color: var(--cp-navy-mute); font-size: 17px; }
.cp-demo-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.cp-demo-form { background: #fff; color: var(--cp-ink); border-radius: 16px; padding: 24px; display: grid; gap: 14px; }
.cp-demo-form h3 { font-size: 20px; font-weight: 800; }
.cp-demo-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cp-field--wide { grid-column: 1 / -1; }
@media (max-width: 860px) {
  .cp-demo-grid { grid-template-columns: 1fr; gap: 24px; }
  .cp-demo-text h2 { font-size: 25px; }
  .cp-demo-text p { font-size: 15px; }
  .cp-demo-fields { grid-template-columns: 1fr; }
  .cp-demo-form { padding: 18px; }
}
.cp-demo-form.is-folded .cp-demo-fields, .cp-demo-form.is-folded .cp-check, .cp-demo-form.is-folded [type="submit"] { display: none; }
.cp-demo-form.is-folded .cp-demo-open { display: flex; }
.cp-demo.is-folded .cp-demo-legend, .cp-demo.is-folded .cp-demo-own { display: none; }
.is-folded > .cp-mfold-body { display: none; }   /* the statuses are on the sample above; they come back with the form */

/* ---------- FAQ ---------- */
.cp-faq-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; align-items: start; }
.cp-faq details { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 12px; }
.cp-faq summary { list-style: none; cursor: pointer; padding: 14px 48px 14px 18px; font-weight: 700; position: relative; min-height: 48px; }
.cp-faq summary::-webkit-details-marker { display: none; }
.cp-faq summary::after { content: ""; position: absolute; right: 20px; top: 20px; width: 8px; height: 8px; border: solid var(--cp-muted); border-width: 0 2px 2px 0;
  transform: rotate(45deg); transition: transform .15s; }
.cp-faq details[open] summary::after { transform: rotate(-135deg); top: 24px; }
.cp-faq details p { padding: 0 18px 16px; color: var(--cp-muted); font-size: 15px; }
@media (max-width: 760px) { .cp-faq-list { grid-template-columns: 1fr; } }

/* ---------- final ---------- */
.cp-final { background: var(--cp-navy); padding: 48px 0; }
.cp-final-in { display: grid; grid-template-columns: auto minmax(0, 620px); gap: 16px 40px; align-items: start; justify-content: space-between; }
.cp-final h2 { font-size: 28px; font-weight: 800; color: #fff; line-height: 1.25; padding-top: 8px; }
.cp-search--final { margin-top: 0; width: 100%; }
@media (max-width: 860px) {
  .cp-final { padding: 36px 0; }
  .cp-final-in { grid-template-columns: 1fr; }
  .cp-final h2 { font-size: 23px; }
}

/* ---------- company card ---------- */
.cp-hero--card .cp-wrap { padding-top: 22px; padding-bottom: 28px; }
.cp-crumbs { font-size: 13px; color: var(--cp-navy-mute); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
.cp-hero .cp-crumbs a { color: var(--cp-navy-mute); }
.cp-co-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cp-co-head h1 { font-size: 34px; line-height: 1.15; font-weight: 800; color: #fff; overflow-wrap: anywhere; }
.cp-co-status { font-size: 13px; font-weight: 700; padding: 4px 12px; border-radius: 999px; background: var(--st-ok-bg); color: var(--st-ok); }
.cp-co-status--bad { background: var(--st-fail-bg); color: var(--st-fail); }
.cp-co-status--warn { background: var(--st-manual-bg); color: var(--st-manual); }
.cp-co-ids { margin-top: 6px; font-size: 15px; color: var(--cp-navy-ink); display: flex; flex-wrap: wrap; gap: 4px 18px; }
.cp-co-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.cp-co-facts > div { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: 10px; padding: 8px 14px; min-width: 0; }
.cp-co-facts dt { font-size: 12px; color: var(--cp-navy-mute); }
.cp-co-facts dd { font-weight: 700; color: #fff; font-size: 15px; overflow-wrap: anywhere; }

.cp-card-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; align-items: start; padding-top: 24px; padding-bottom: 64px; }
.cp-card-main { display: grid; gap: 20px; min-width: 0; }
.cp-card-side { display: grid; gap: 16px; min-width: 0; }
.cp-alerts { display: grid; gap: 10px; }
.cp-alerts:empty { display: none; }
.cp-alert { border-radius: var(--cp-r); padding: 14px 16px; }
.cp-alert--fail { background: var(--st-fail-bg); border: 1px solid #F0C3BF; }
.cp-alert--fail p + p { margin-top: 4px; font-size: 14px; }
.cp-alert-h { display: flex; gap: 10px; align-items: flex-start; font-weight: 800; color: var(--st-fail); font-size: 17px; }
.cp-alert-h .cp-ic { margin-top: 3px; }
.cp-alert-s { margin-left: 30px; font-size: 14px; color: var(--cp-ink); }

.cp-collect { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: var(--cp-r); padding: 18px 20px; }
.cp-collect-h { display: flex; gap: 12px; align-items: center; font-weight: 700; }
.cp-collect-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 14px; }
.cp-collect-cap { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cp-muted); margin-bottom: 6px; }
.cp-collect li { font-size: 14px; padding: 4px 0 4px 18px; position: relative; }
.cp-collect li::before { content: ""; position: absolute; left: 0; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: #C9D5EA; }
.cp-collect [data-f="ready"] li::before { background: var(--st-ok); }
.cp-collect [data-f="ready"] li.cp-src-err::before { background: var(--st-nodata-mark); }
.cp-collect li.cp-muted::before { display: none; }
.cp-collect li.cp-muted { padding-left: 0; }

.cp-src-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.cp-src-list li { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.cp-src-list b { display: block; font-size: 14px; }
.cp-src-list span { font-size: 13px; color: var(--cp-muted); }
.cp-src-list .cp-src-ok span::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--cp-accent); margin-right: 6px; vertical-align: 1px; }
.cp-src-list .cp-src-err { background: var(--st-nodata-bg); }

.cp-fcards { display: grid; gap: 10px; }
.cp-fcard { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: var(--cp-r); padding: 16px 18px; border-left-width: 4px; }
.cp-fcard--bad { border-left-color: var(--st-fail); }
.cp-fcard--warn { border-left-color: var(--st-manual-mark); }
.cp-fcard--ok { border-left-color: var(--st-ok); }
.cp-fcard--none { border-left-color: var(--st-nodata-mark); }
.cp-fcard-h { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.cp-fcard-t { font-weight: 800; font-size: 16px; }
.cp-fcard-s { margin-top: 4px; font-weight: 700; font-size: 15px; }
.cp-fcard dl { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: 4px 14px; margin-top: 10px; font-size: 14px; }
.cp-fcard dt { color: var(--cp-muted); }
.cp-fcard dd { overflow-wrap: anywhere; }
.cp-fcard-src { margin-top: 10px; font-size: 13px; color: var(--cp-muted); }
.cp-fcard-err { background: var(--st-nodata-bg); color: var(--st-nodata); border-radius: 8px; padding: 10px 12px; margin-top: 8px; font-size: 14px; font-weight: 700; }

.cp-teaser, .cp-order, .cp-keep { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 14px; padding: 20px; box-shadow: var(--cp-shadow); }
.cp-teaser h2 { font-size: 19px; line-height: 1.3; font-weight: 800; }
.cp-teaser-free { margin-top: 12px; }
.cp-teaser-free li { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--cp-line); font-size: 14px; }
.cp-teaser-free small { grid-column: 1 / -1; font-size: 12px; color: var(--cp-muted); }
.cp-teaser-cap { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--cp-line); font-weight: 800; font-size: 15px; }
.cp-teaser-paid { margin-top: 8px; display: grid; gap: 0; }
.cp-teaser-paid li { padding: 7px 0 7px 20px; border-bottom: 1px dashed var(--cp-line); position: relative; font-size: 14px; }
.cp-teaser-paid li::before { content: ""; position: absolute; left: 0; top: 13px; width: 10px; height: 10px; border-radius: 3px; border: 1.5px solid #9AA6B8; }
.cp-tp-t { display: block; }
.cp-tp-s { display: block; font-size: 12px; color: var(--cp-muted); }
.cp-teaser-pdf { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; margin: 14px 0; font-size: 13px; color: var(--cp-muted); }
.cp-teaser-pdf img { border: 1px solid var(--cp-line); border-radius: 4px; box-shadow: var(--cp-shadow); }
.cp-inactive { margin-bottom: 12px; }
.cp-inactive p:first-child { display: flex; gap: 8px; align-items: center; }
.cp-teaser [data-cp-plan-check] { margin-top: 12px; }

.cp-teaser .cp-order { box-shadow: none; margin-top: 14px; background: #F7F9FD; }
.cp-order { display: grid; gap: 14px; border-color: #B7C7E6; }
.cp-order h2 { font-size: 19px; font-weight: 800; }
.cp-order-mail { font-weight: 700; overflow-wrap: anywhere; }
.cp-order-tpl { font-size: 14px; }
.cp-order-choice { border: 0; padding: 0; margin: 8px 0 0; display: grid; gap: 8px; }
.cp-radio { display: flex; gap: 10px; align-items: flex-start; border: 1.5px solid var(--cp-line); border-radius: 10px; padding: 10px 12px; cursor: pointer; min-height: 44px; }
.cp-radio input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--cp-accent); flex: none; }
.cp-radio small { display: block; color: var(--cp-muted); font-size: 12px; margin-top: 2px; }
.cp-radio:has(input:checked) { border-color: var(--cp-accent); background: #F2F6FD; }
.cp-repeat { background: #F2F6FD; border-radius: 10px; padding: 14px; display: grid; gap: 10px; font-size: 15px; }
.cp-repeat-b { display: flex; gap: 8px; flex-wrap: wrap; }
.cp-repeat-b .cp-btn { flex: 1 1 160px; }
.cp-keep { box-shadow: none; display: grid; gap: 12px; font-size: 14px; }
.cp-limit { display: grid; gap: 12px; justify-items: start; font-size: 16px; font-weight: 700; }
.cp-limit .cp-note { font-weight: 400; margin: 0; }
.cp-err { display: grid; gap: 12px; justify-items: start; color: var(--st-fail); font-weight: 700; }

@media (max-width: 1024px) {
  /* phone and tablet: red facts, then the offer, then sources and details */
  .cp-card-grid { display: flex; flex-direction: column; }
  .cp-card-main { display: contents; }
  .cp-card-main > * { order: 1; }
  .cp-card-side { order: 2; }
  .cp-card-main > .cp-srcs { order: 3; }
  .cp-card-main > .cp-facts { order: 4; }
}
@media (max-width: 760px) {
  .cp-co-head h1 { font-size: 25px; }
  .cp-card-grid { padding-top: 16px; gap: 16px; }
  .cp-collect-cols { grid-template-columns: 1fr; gap: 8px; }
  .cp-fcard dl { grid-template-columns: 1fr; gap: 0; }
  .cp-fcard dd { margin-bottom: 6px; }
  .cp-teaser, .cp-order, .cp-keep { padding: 16px; }
  .cp-src-list { grid-template-columns: 1fr 1fr; }
}

/* ---------- conclusion (macro cp/_concl.html) ---------- */
.cp-report { padding-top: 20px; padding-bottom: 64px; }
.cp-report > .cp-crumbs { color: var(--cp-muted); }
.cpc { display: grid; gap: 18px; container: cpc / inline-size; color: var(--cp-ink); font-family: var(--cp-font); line-height: 1.5; }
/* self-contained inside the cabinet, where there is no .cp wrapper */
.cpc, .cpc *, .cpc *::before, .cpc *::after { box-sizing: border-box; }
.cpc :where(h1, h2, h3, p, ul, ol, dl, dd) { margin: 0; }
.cpc :where(ul, ol) { padding: 0; list-style: none; }
.cpc :where(a) { color: var(--cp-accent); text-underline-offset: 2px; }
.cpc-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 24px; align-items: end; }
.cpc-kicker { font-size: 13px; font-weight: 700; color: var(--cp-muted); text-transform: uppercase; letter-spacing: .05em; grid-column: 1 / -1; }
.cpc-name { font-size: 32px; line-height: 1.2; font-weight: 800; overflow-wrap: anywhere; }
.cpc-ids { font-size: 15px; color: var(--cp-muted); display: flex; flex-wrap: wrap; gap: 4px 16px; grid-column: 1; }
.cpc-egrul { color: var(--st-ok); font-weight: 700; }
.cpc-meta { grid-column: 2; grid-row: 2 / span 2; background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: var(--cp-r); padding: 12px 16px;
  display: grid; gap: 6px; font-size: 14px; min-width: 260px; }
.cpc-meta dt { font-size: 12px; color: var(--cp-muted); }
.cpc-meta dd { font-weight: 700; }

.cpc-sum { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px 28px; padding: 22px; border-radius: 14px; border: 1px solid var(--cp-line);
  background: var(--cp-surface); }
.cpc-sum--red { background: #FDF3F2; border-color: #F0C3BF; }
.cpc-sum--yellow { background: #FFF9E8; border-color: #F1DC9E; }
.cpc-sum--green { background: #F1F8F2; border-color: #BFDDC6; }
.cpc-sum-t { display: flex; gap: 12px; align-items: center; font-size: 26px; line-height: 1.2; font-weight: 800; }
.cpc-sum-t span { color: var(--cp-ink); }
.cpc-sum--red .cpc-sum-t span { color: var(--st-fail); }
.cpc-asof { font-size: 14px; color: var(--cp-ink); }
.cpc-counts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-content: start; }
.cpc-counts li { background: #fff; border: 1px solid var(--cp-line); border-radius: 10px; padding: 8px 10px; display: grid; grid-template-columns: auto 1fr;
  gap: 2px 8px; align-items: center; }
.cpc-counts span { font-size: 12px; color: var(--cp-muted); font-weight: 700; }
.cpc-counts b.cpc-zero { color: var(--st-nodata); }
.cpc-counts b { grid-column: 1 / -1; font-size: 24px; line-height: 1.1; font-weight: 800; }

.cpc-sec { display: grid; gap: 10px; }
.cpc-h { font-size: 20px; font-weight: 800; display: flex; align-items: center; gap: 10px; }
.cpc-h span { font-size: 14px; min-width: 28px; height: 28px; border-radius: 8px; display: inline-grid; place-items: center; padding: 0 8px; }
.cpc-sec--fail .cpc-h span { background: var(--st-fail-bg); color: var(--st-fail); }
.cpc-sec--manual .cpc-h span { background: var(--st-manual-bg); color: var(--st-manual); }
.cpc-sec--warn .cpc-h span { background: var(--st-ok-bg); color: var(--st-ok); }
.cpc .cpc-sub { font-size: 14px; color: var(--cp-muted); margin-top: -4px; }
.cpc-list { display: grid; gap: 10px; }
.cpc-pt { background: var(--cp-surface); border: 1px solid var(--cp-line); border-left: 4px solid var(--st-nodata-mark); border-radius: var(--cp-r); padding: 16px 18px; }
.cpc-pt--fail { border-left-color: var(--st-fail); }
.cpc-pt--manual { border-left-color: var(--st-manual-mark); }
.cpc-pt--ok { border-left-color: var(--st-ok); }
.cpc-pt-h { display: flex; align-items: flex-start; gap: 12px; }
.cpc-n { flex: none; width: 28px; height: 28px; border-radius: 8px; background: var(--cp-bg); color: var(--cp-ink); font-weight: 800; font-size: 13px;
  display: inline-grid; place-items: center; }
.cpc-pt-t { flex: 1; min-width: 0; font-size: 16px; line-height: 1.35; font-weight: 800; padding-top: 3px; }
.cpc .cpc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0 40px; }
.cpc-tag { font-size: 12px; font-weight: 700; color: var(--cp-muted); border: 1px solid var(--cp-line); border-radius: 6px; padding: 1px 8px; background: #fff; white-space: nowrap; }
.cpc-tag--user { color: var(--cp-accent); border-color: #B7C7E6; }
.cpc .cpc-grid { display: grid; grid-template-columns: 1.6fr 1fr .7fr 1.6fr; gap: 10px 18px; margin: 12px 0 0 40px; font-size: 14px; }
.cpc-f dt { font-size: 12px; color: var(--cp-muted); font-weight: 700; margin-bottom: 2px; }
.cpc-f dd { overflow-wrap: anywhere; }
.cpc-f small { display: block; font-size: 12px; color: var(--cp-muted); }
.cpc-f--todo dd { color: var(--cp-ink); }
.cpc-pt--fail .cpc-f--todo { background: var(--st-fail-bg); border-radius: 8px; padding: 8px 10px; }
.cpc-pt--manual .cpc-f--todo { background: var(--st-manual-bg); border-radius: 8px; padding: 8px 10px; }
.cpc-next { display: block; margin-top: 4px; font-size: 13px; color: var(--cp-muted); }
.cpc .cpc-warn { margin: 10px 0 0 40px; font-size: 14px; background: var(--cp-bg); border-radius: 8px; padding: 8px 10px; }
.cpc .cpc-bik { margin: 14px 0 0 40px; border-top: 1px dashed var(--cp-line); padding-top: 12px; font-size: 14px; display: grid; gap: 10px; }
.cpc-bik-f { display: grid; grid-template-columns: minmax(180px, 240px) auto; gap: 10px 12px; align-items: end; }
.cpc-bik-b { display: flex; gap: 8px; flex-wrap: wrap; }
.cpc-bik-f .cp-msg { grid-column: 1 / -1; }

.cpc-fold { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: var(--cp-r); }
.cpc-fold summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 48px 14px 16px; min-height: 52px;
  position: relative; font-weight: 800; font-size: 16px; }
.cpc-fold summary::-webkit-details-marker { display: none; }
.cpc-fold summary::after { content: ""; position: absolute; right: 20px; top: 22px; width: 8px; height: 8px; border: solid var(--cp-muted); border-width: 0 2px 2px 0;
  transform: rotate(45deg); }
.cpc-fold[open] summary::after { transform: rotate(-135deg); top: 26px; }
.cpc-fold summary small { font-weight: 400; color: var(--cp-muted); font-size: 13px; }
.cpc-fold--nodata summary .cp-ic { color: var(--st-nodata); }
.cpc-fold--ok summary .cp-ic { color: var(--st-ok); }
.cpc-fold > .cpc-list { padding: 0 12px 12px; }
.cpc-list--ok { gap: 0; }
.cpc-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) 240px; gap: 4px 12px; padding: 12px 4px; border-top: 1px solid var(--cp-line); font-size: 14px; }
.cpc-row-t { font-weight: 700; }
.cpc-row-f { color: var(--cp-muted); }
.cpc-row-w { display: block; color: var(--cp-ink); margin-top: 2px; }
.cpc .cpc-row .cpc-tags { margin-left: 0; }
.cpc-row-s small { display: block; color: var(--cp-muted); }

.cpc-foot { border-top: 1px solid var(--cp-line); padding-top: 14px; font-size: 13px; color: var(--cp-muted); display: grid; gap: 6px; }
.cpc-hash code { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 6px; padding: 1px 6px; color: var(--cp-ink); margin: 0 6px; }
.cpc-hash a { display: inline-flex; min-height: 40px; align-items: center; }

@media (max-width: 1024px) {
  .cpc .cpc-grid { grid-template-columns: 1fr 1fr; }
  .cpc-f--wide, .cpc-f--todo { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .cpc-head { grid-template-columns: 1fr; }
  .cpc-meta { grid-column: 1; grid-row: auto; min-width: 0; }
  .cpc-name { font-size: 24px; }
  .cpc-sum { grid-template-columns: 1fr; padding: 16px; }
  .cpc-sum-t { font-size: 20px; }
  .cpc-sum-t .cp-ic { width: 26px; height: 26px; }
  .cpc-seg b { font-size: 10px; }
  .cpc-pt { padding: 14px; }
  .cpc-pt-h { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px 12px; align-items: center; }
  .cpc-pt-h .cp-pill { grid-column: 2; grid-row: 1; justify-self: start; }
  .cpc-pt-t { grid-column: 1 / -1; grid-row: 2; padding-top: 0; }
  .cpc .cpc-grid, .cpc .cpc-tags, .cpc .cpc-warn, .cpc .cpc-bik { margin-left: 0; }
  .cpc .cpc-grid { grid-template-columns: 1fr 1fr; }
  .cpc-bik-f { grid-template-columns: 1fr; }
  .cpc-bik-b .cp-btn { flex: 1 1 140px; }
  .cpc-row { grid-template-columns: 28px minmax(0, 1fr); }
  .cpc-row-s { grid-column: 2; }
}

/* narrow column inside the cabinet: same layout as the phone */
@container cpc (max-width: 620px) {
  .cpc-head { grid-template-columns: 1fr; }
  .cpc-meta { grid-column: 1; grid-row: auto; min-width: 0; }
  .cpc-sum { grid-template-columns: 1fr; padding: 16px; }
  .cpc-sum-t { font-size: 20px; }
  .cpc-pt { padding: 14px; }
  .cpc-pt-h { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px 12px; align-items: center; }
  .cpc-pt-h .cp-pill { grid-column: 2; grid-row: 1; justify-self: start; }
  .cpc-pt-t { grid-column: 1 / -1; grid-row: 2; padding-top: 0; }
  .cpc .cpc-grid, .cpc .cpc-tags, .cpc .cpc-warn, .cpc .cpc-bik { margin-left: 0; }
  .cpc .cpc-grid { grid-template-columns: 1fr 1fr; }
  .cpc-f--wide, .cpc-f--todo { grid-column: 1 / -1; }
  .cpc-bik-f { grid-template-columns: 1fr; }
  .cpc-row { grid-template-columns: 28px minmax(0, 1fr); }
  .cpc-row-s { grid-column: 2; }
}
@container cpc (min-width: 621px) and (max-width: 900px) {
  .cpc .cpc-grid { grid-template-columns: 1fr 1fr; }
  .cpc-f--wide, .cpc-f--todo { grid-column: 1 / -1; }
  .cpc-sum { grid-template-columns: 1fr; }
}

/* ---------- actions of a conclusion ---------- */
.cp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; padding: 16px; background: var(--cp-navy); border-radius: 14px; align-items: center; }
.cp-actions .cp-btn--line { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .4); }
.cp-actions .cp-btn--line:hover { border-color: #fff; color: #fff; }
.cp-actions a.cp-btn--line, .cp-actions a.cp-btn--line:hover { color: #fff; }
.cp-actions .cp-msg { flex-basis: 100%; color: #fff; }
.cp-actions .cp-msg--err { color: #FFD3CF; }
.cp-actions .cp-msg a { color: #BFD3F7; }
@media (max-width: 760px) {
  .cp-actions { padding: 12px; }
  .cp-actions .cp-btn { flex: 1 1 calc(50% - 5px); padding-left: 8px; padding-right: 8px; font-size: 14px; }
}

/* ---------- states: order, verify ---------- */
.cp-state { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 16px; padding: 36px 28px; text-align: center; display: grid; gap: 14px;
  justify-items: center; }
.cp-state h1 { font-size: 26px; line-height: 1.25; font-weight: 800; max-width: 560px; }
.cp-state p { max-width: 560px; color: var(--cp-muted); }
.cp-state-ic { min-height: 40px; display: grid; place-items: center; }
.cp-state-inn { font-weight: 700; color: var(--cp-ink) !important; }
.cp-state--fail { border-color: #F0C3BF; }
.cp-banner { display: flex; gap: 10px; align-items: center; background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 12px; padding: 12px 16px;
  font-weight: 700; margin-bottom: 0; }
.cp-tar > .cp-banner { display: block; font-weight: 400; }
.cp-banner--ok { background: var(--st-ok-bg); border-color: #BFDDC6; color: var(--st-ok); }
.cp-banner--ok span { color: var(--cp-ink); overflow-wrap: anywhere; }
.cp-report > .cp-banner { margin-bottom: 18px; }
@media (max-width: 760px) {
  .cp-narrow { padding-top: 20px; padding-bottom: 40px; }
  .cp-state { padding: 24px 16px; }
  .cp-state h1 { font-size: 21px; }
}

.cp-verify { display: grid; gap: 14px; }
.cp-verify h1 { font-size: 28px; font-weight: 800; line-height: 1.2; }
.cp-verify > p { color: var(--cp-muted); }
.cp-req { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 14px; padding: 6px 18px; }
.cp-req > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--cp-line); }
.cp-req > div:first-child { border-top: 0; }
.cp-req dt { color: var(--cp-muted); font-size: 14px; }
.cp-req dd { font-weight: 700; overflow-wrap: anywhere; }
.cp-req-sum { display: flex; gap: 8px; align-items: center; }
.cp-code { font-weight: 400; font-size: 13px; word-break: break-all; color: var(--cp-ink); }
.cp-filecheck { margin-top: 20px; display: grid; gap: 12px; }
.cp-file { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; cursor: pointer; }
.cp-file input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cp-file input:focus-visible + .cp-btn { outline: 3px solid #6E9BEA; outline-offset: 2px; }
.cp-file-name { font-size: 14px; color: var(--cp-muted); overflow-wrap: anywhere; }
.cp-verdict { display: flex; gap: 10px; align-items: center; font-weight: 800; padding: 12px 14px; border-radius: 10px; }
.cp-verdict--ok { background: var(--st-ok-bg); color: var(--st-ok); }
.cp-verdict--fail { background: var(--st-fail-bg); color: var(--st-fail); }
@media (max-width: 760px) {
  .cp-verify h1 { font-size: 23px; }
  .cp-req > div { grid-template-columns: 1fr; gap: 2px; }
}

/* ---------- tariffs page ---------- */
.cp-tar { padding-top: 36px; padding-bottom: 64px; display: grid; gap: 22px; }
.cp-tar-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.cp-tar h1 { font-size: 34px; font-weight: 800; line-height: 1.2; }
.cp-lead-d { margin-top: 8px; color: var(--cp-muted); max-width: 680px; }
.cp-period { display: inline-flex; background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 12px; padding: 4px; }
.cp-period label { position: relative; cursor: pointer; }
.cp-period input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cp-period span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 9px; font-weight: 700; font-size: 15px; color: var(--cp-muted); }
.cp-period input:checked + span { background: var(--cp-accent); color: var(--cp-accent-ink); }
.cp-period input:focus-visible + span { outline: 3px solid #6E9BEA; outline-offset: 1px; }
.cp-cmp-wrap { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 14px; overflow: hidden; }
.cp-cmp { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.cp-cmp th, .cp-cmp td { padding: 14px 12px; border-top: 1px solid var(--cp-line); text-align: left; vertical-align: top; }
.cp-cmp thead th { border-top: 0; font-size: 16px; font-weight: 800; color: var(--cp-ink); }
.cp-cmp thead th small { display: block; font-size: 12px; color: var(--cp-accent); font-weight: 700; }
.cp-cmp tbody th { font-weight: 700; color: var(--cp-muted); width: 150px; }
.cp-cmp-p { font-size: 22px; font-weight: 800; color: var(--cp-ink); }
.cp-cmp .cp-cmp-cur { background: #F2F6FD; }
.cp-cmp-cards { display: none; }
.cp-buy-confirm { background: var(--cp-surface); border: 2px solid var(--cp-accent); border-radius: 14px; padding: 20px; display: grid; gap: 10px; }
.cp-buy-t { font-size: 19px; font-weight: 800; }
.cp-buy-b { display: flex; gap: 10px; flex-wrap: wrap; }
.cp-tar-extra { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cp-addons li { display: grid; grid-template-columns: minmax(0, 1fr) auto 140px; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--cp-line); font-size: 15px; }
.cp-addons li:first-child { border-top: 0; }
.cp-addon-p { font-weight: 800; white-space: nowrap; }
@media (max-width: 1024px) {
  .cp-cmp-wrap { display: none; }
  .cp-cmp-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .cp-cmp-card { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
  .cp-cmp-card.cp-cmp-cur { border-color: var(--cp-accent); }
  .cp-cmp-card h2 { font-size: 18px; font-weight: 800; }
  .cp-cmp-card h2 small { display: block; font-size: 12px; color: var(--cp-accent); }
  .cp-cmp-card dl { display: grid; gap: 6px; font-size: 14px; flex: 1; }
  .cp-cmp-card dl div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 8px; }
  .cp-cmp-card dt { color: var(--cp-muted); }
  .cp-cmp-card dd { font-weight: 700; }
  .cp-tar-extra { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .cp-tar { padding-top: 24px; }
  .cp-tar h1 { font-size: 25px; }
  .cp-cmp-cards { grid-template-columns: 1fr; }
  .cp-addons li { grid-template-columns: minmax(0, 1fr) auto; }
  .cp-addons li .cp-btn { grid-column: 1 / -1; }
  .cp-cmp-card dl div { grid-template-columns: 1fr; gap: 0; }
}

/* site header: solid on all pages of the line (default is transparent at the top over a dark hero) */
.cp-page .site-header { animation: none; background-color: #04182F; }

/* ---------- priemka-edinyi-kabinet-2026-10-23.md, defects 2 and 6. The example of the landing shows the result, stop-factors and
   failed points, the rest is folded ("Показать все 11 пунктов"). On a phone the landing is about 6 900 px instead of 14 100:
   fragments of scenarios, the sample conclusion of the block "Не справочник", the PDF picture and the grey note of the example
   are for wide screens; plans scroll sideways; coverage lists the sources only. ---------- */
.cp-ex-table--top { border-radius: 0; }
.cp-ex-more { border-top: 0; border-radius: 0 0 var(--cp-r) var(--cp-r); }
.cp-ex-more summary { font-size: 15px; color: var(--cp-accent); }
.cp-ex-more .cp-ex-table { border: 0; border-top: 1px solid var(--cp-line); border-radius: 0 0 var(--cp-r) var(--cp-r); }
@media (max-width: 760px) {
  .cp-sec { padding: 28px 0; }
  .cp-sec-head { margin-bottom: 16px; }
  .cp-example .cp-sec-head p, .cp-plans .cp-sec-head p, .cp-vs .cp-sec-head p { display: none; }
  .cp-example-side .cp-pdf, .cp-example-side .cp-nodata-box { display: none; }
  .cp-ex-more summary small { display: none; }
  .cp-scen-row { gap: 0; padding: 22px 0; }
  .cp-scen .cp-frag, .cp-scen-for { display: none; }
  .cp-scen-n { float: left; margin: 0 12px 0 0; font-size: 30px; line-height: 1.1; }
  .cp-scen-text h3 { margin-bottom: 8px; }
  .cp-scen-text p:not(.cp-scen-n) { font-size: 15px; }
  .cp-vs-concl { display: none; }
  .cp-vs-points { gap: 10px; }
  .cp-vs-points li { font-size: 0; min-height: 30px; }
  .cp-vs-points b { font-size: 15px; }
  .cp-cov-grid { gap: 14px; }
  .cp-cov-grid h3 { margin-bottom: 8px; }
  .cp-cov-list { grid-template-columns: 1fr 1fr; gap: 0 12px; }
  .cp-cov-list > div { padding: 6px 0 6px 14px; }
  .cp-cov-list > div::before { top: 13px; width: 6px; height: 6px; }
  .cp-cov-list dt { font-size: 14px; }
  .cp-cov-list dd { display: none; }
  .cp-cov-gaps li { padding: 8px 0 8px 22px; }
  .cp-plan-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  .cp-plan, .cp-plan:first-child { flex: 0 0 78%; scroll-snap-align: start; border-top: 0; border-left: 1px solid var(--cp-line); }
  .cp-plan:first-child { border-left: 0; }
  .cp-demo-legend { display: none; }
  .cp-demo-text p { margin-top: 10px; }
  .cp-demo-fields { grid-template-columns: 1fr 1fr; gap: 10px; align-items: end; }
  .cp-demo-fields textarea { height: 64px; }
}

/* ---------- чек-лист за почту (cp/_lead_checklist.html), макет voronka/landing_checklist_1440.png и _390.png. The landing and blog
   articles about ст. 54.1 НК; the root carries .cp too, so the block works without the landing wrapper. Phone: no preview,
   at most 430 px at 390 px wide. ---------- */
.cp.cp-ckl { background: radial-gradient(900px 380px at 85% 25%, #17407A 0%, rgba(23, 64, 122, 0) 70%), var(--cp-navy); color: var(--cp-navy-ink); }
.cp-ckl-in { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 60px; }
.cp-ckl-text { min-width: 0; }
.cp-ckl-h { max-width: 700px; font-size: 34px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.cp-ckl-h em { font-style: normal; color: #9DBCF2; }
.cp-ckl-sub { margin-top: 12px; font-size: 18px; line-height: 1.45; color: var(--cp-navy-ink); }
.cp-ckl-list { margin-top: 14px; display: grid; gap: 6px; font-size: 16px; line-height: 1.45; }
.cp-ckl-list li { position: relative; padding-left: 20px; }
.cp-ckl-list li::before { content: ""; position: absolute; left: 2px; top: .58em; width: 8px; height: 8px; border-radius: 50%; background: #9DBCF2; }
.cp-ckl-form { max-width: 620px; margin-top: 22px; display: grid; gap: 2px; }
.cp-ckl-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; }
.cp-ckl-mail { flex: 1 1 180px; min-width: 0; min-height: 52px; padding: 12px 14px; border: 1.5px solid transparent; border-radius: 10px; background: #fff;
  font: inherit; font-size: 16px; color: var(--cp-ink); }
.cp-ckl-mail::placeholder { color: #66738A; opacity: 1; }
.cp-ckl-mail:focus { outline: none; border-color: #7FA4E8; box-shadow: 0 0 0 3px rgba(127, 164, 232, .35); }
.cp-ckl-row .cp-btn { flex: 0 0 auto; min-height: 52px; padding: 12px 24px; font-size: 16px; }
.cp-ckl .cp-check { padding: 4px 0; color: var(--cp-navy-ink); line-height: 1.4; }
.cp-ckl .cp-check a { color: #9DBCF2; }
.cp-ckl .cp-check a:hover { color: #fff; }
.cp-ckl-opt { color: var(--cp-navy-mute); }
.cp-ckl .cp-msg { margin-top: 4px; color: var(--cp-navy-ink); }
.cp-ckl .cp-msg--err { color: #FFB4AE; }
.cp-ckl .cp-msg--ok { color: #8FD9A6; }
.cp-ckl-vis { justify-self: end; }
/* the box keeps the page shape even while the PNG of the PDF is missing */
.cp-ckl-pdf { position: relative; width: 300px; aspect-ratio: 420 / 594; overflow: hidden; border-radius: 6px; background: #E8EEF7;
  transform: rotate(3deg); box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
.cp-ckl-pdf img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; color: var(--cp-muted); font-size: 13px; }
@media (max-width: 1024px) {
  .cp-ckl-in { grid-template-columns: minmax(0, 1fr) 220px; gap: 32px; }
  .cp-ckl-pdf { width: 220px; }
  .cp-ckl-h { font-size: 30px; }
}
@media (max-width: 760px) {
  .cp-ckl-in { padding-top: 32px; padding-bottom: 32px; }
  .cp-ckl-h { font-size: 24px; }
  .cp-ckl-sub { font-size: 15px; }
  .cp-ckl-list { font-size: 15px; }
}
@media (max-width: 640px) {
  .cp-ckl-in { grid-template-columns: minmax(0, 1fr); padding-top: 20px; padding-bottom: 20px; }
  .cp-ckl-vis { display: none; }
  .cp-ckl-h { font-size: 20px; line-height: 1.2; }
  .cp-ckl-sub { margin-top: 6px; font-size: 14px; line-height: 1.4; }
  .cp-ckl-list { margin-top: 8px; gap: 2px; font-size: 13.5px; line-height: 1.35; }
  .cp-ckl-list li { padding-left: 14px; }
  .cp-ckl-list li::before { left: 0; top: .52em; width: 6px; height: 6px; }
  .cp-ckl-form { max-width: none; margin-top: 12px; gap: 0; }
  .cp-ckl-row { gap: 8px; }
  .cp-ckl-mail { flex-basis: 150px; min-height: 46px; padding: 10px 12px; }
  .cp-ckl-row .cp-btn { min-height: 46px; padding: 10px 14px; font-size: 15px; }
  .cp-ckl .cp-check { font-size: 13px; line-height: 1.35; }
}

/* ---------- "Не готовы платить?" of the company card: two free ways side by side, stacked on a phone
   (макет voronka/card_keep_1440.png и _390.png) ---------- */
.cp-keep { gap: 14px; }
.cp-keep-intro { color: var(--cp-muted); }
.cp-keep-intro b { display: block; margin-bottom: 4px; font-size: 19px; line-height: 1.3; font-weight: 800; color: var(--cp-ink); }
/* subgrid: captions, buttons and messages of both ways sit on the same rows, both buttons get the same height */
.cp-keep-ways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto auto; row-gap: 8px; }
.cp-keep-way { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 8px; align-content: start; min-width: 0; padding-right: 14px; }
.cp-keep-way + .cp-keep-way { padding: 0 0 0 14px; border-left: 1px solid var(--cp-line); }
.cp-keep-cap { align-self: end; font-size: 14px; font-weight: 700; color: var(--cp-ink); }
.cp-keep-way .cp-btn { padding: 10px; font-size: 14px; }
.cp-keep-way .cp-msg { margin-top: 0; }
.cp-keep-chan { padding-top: 6px; border-top: 1px solid var(--cp-line); font-size: 13px; color: var(--cp-muted); text-align: center; }
.cp-keep-chan a { display: inline-flex; align-items: center; min-height: 40px; font-weight: 700; }
@media (max-width: 560px) {
  .cp-keep-ways { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 14px; }
  .cp-keep-way { grid-row: auto; grid-template-rows: none; padding: 0; }
  .cp-keep-way + .cp-keep-way { padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--cp-line); }
}

/* ---------- popup of the funnel (cp/_popup.html): checklist for an e-mail, the criteria quiz, the card to Telegram or e-mail.
   Mockups voronka/pop_checklist_1440.png and _390.png, pop_quiz_1440.png, pop_card_1440.png and _390.png.
   Desktop: a centered window over a dim backdrop (760px, the quiz 520px). Phone (max-width 640px): a bottom panel, full width,
   at most 50% of the viewport height, scrolls inside. Above the cookie notice (.cc, z-index 1000) and the support widget (100).
   The close button is sticky in the scrolling box, the shown variant moves up under it by a negative margin. ---------- */
.cp-pop { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 24px 16px;
  font-family: var(--cp-font); font-size: 16px; line-height: 1.5; color: var(--cp-ink); text-align: left; overscroll-behavior: contain; }
.cp-pop[hidden], .cp-pop [hidden] { display: none !important; }
.cp-pop *, .cp-pop *::before, .cp-pop *::after { box-sizing: border-box; }
.cp-pop :where(h2, p) { margin: 0; }
html.cp-pop-lock { overflow: hidden; }   /* optional for JS: no page scroll under an open popup */
.cp-pop-bg { position: absolute; inset: 0; background: rgba(6, 20, 40, .6); }
.cp-pop-box { position: relative; width: 100%; max-width: 760px; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px);
  overflow-y: auto; overscroll-behavior: contain; padding: 0 40px 36px; border-radius: 18px; background: #fff; box-shadow: 0 24px 64px rgba(6, 29, 61, .28); }
.cp-pop-box:has(> [data-pop-v="quiz"]:not([hidden])) { max-width: 520px; }
.cp-pop-x { position: sticky; top: 0; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; margin: 14px -26px 0 auto; padding: 0;
  border: 0; border-radius: 10px; background: #fff; color: var(--cp-muted); cursor: pointer; }
.cp-pop-x:hover { background: var(--cp-bg); color: var(--cp-ink); }
.cp-pop-x:focus-visible { outline: 3px solid #6E9BEA; outline-offset: 2px; }
.cp-pop-x svg { display: block; }
.cp-pop-v { position: relative; margin-top: -30px; }
.cp-pop-h { padding-right: 36px; font-size: 30px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; color: var(--cp-ink); }
.cp-pop-sub { margin-top: 12px; font-size: 17px; line-height: 1.45; color: var(--cp-muted); }

/* e-mail forms */
.cp-pop-form { margin-top: 22px; display: grid; gap: 2px; }
.cp-pop-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; }
.cp-pop-mail { flex: 1 1 200px; min-width: 0; min-height: 50px; padding: 12px 14px; border: 1.5px solid #7D8A9E; border-radius: 10px; background: #fff;
  font: inherit; font-size: 16px; color: var(--cp-ink); }
.cp-pop-mail::placeholder { color: #66738A; opacity: 1; }
.cp-pop-mail:focus { outline: none; border-color: var(--cp-accent); box-shadow: 0 0 0 3px rgba(36, 86, 181, .18); }
.cp-pop-row .cp-btn { flex: 0 0 auto; min-height: 50px; padding: 12px 22px; font-size: 16px; }
.cp-pop .cp-check { padding: 6px 0; line-height: 1.4; color: var(--cp-ink); }
.cp-pop-opt { color: var(--cp-muted); }
.cp-pop .cp-msg { margin-top: 4px; }

/* checklist: text and form on the left, the first page of the PDF on the right */
.cp-pop-ckl { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 40px; align-items: start; }
.cp-pop-main { min-width: 0; }
.cp-pop-pdf { margin-top: 44px; aspect-ratio: 420 / 594; overflow: hidden; border: 1px solid var(--cp-line); border-radius: 6px; background: #E8EEF7;
  box-shadow: 0 1px 2px rgba(14, 26, 43, .08), 0 14px 36px rgba(14, 26, 43, .18); }
.cp-pop-pdf img { display: block; width: 100%; height: 100%; object-fit: cover; color: var(--cp-muted); font-size: 13px; }

/* quiz: one action and a quiet way out */
.cp-pop-quiz .cp-pop-h { font-size: 26px; }
.cp-pop-acts { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 26px; }
.cp-pop-acts .cp-btn--primary { min-width: 300px; }
.cp-linkbtn.cp-pop-later { min-height: 44px; padding: 8px 14px; font-weight: 600; color: var(--cp-muted); }
.cp-linkbtn.cp-pop-later:hover { color: var(--cp-ink); }

/* card: Telegram and e-mail side by side */
.cp-pop-ways { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px; align-items: start; margin-top: 22px; }
.cp-pop-way { min-width: 0; padding: 18px; border: 1px solid var(--cp-line); border-radius: 12px; background: #fff; }
.cp-pop-way.cp-pop-form { margin-top: 0; }
.cp-pop-way--tg .cp-btn { min-height: 50px; font-size: 16px; }
.cp-pop-cap { margin-top: 8px; font-size: 14px; line-height: 1.4; color: var(--cp-muted); text-align: center; }

@media (prefers-reduced-motion: no-preference) {
  .cp-pop:not([hidden]) .cp-pop-bg { animation: cp-pop-fade .18s ease-out; }
  .cp-pop:not([hidden]) .cp-pop-box { animation: cp-pop-in .22s ease-out; }
}
@keyframes cp-pop-fade { from { opacity: 0; } }
@keyframes cp-pop-in { from { opacity: 0; transform: translateY(16px); } }

@media (max-width: 820px) {
  .cp-pop-box { padding: 0 28px 28px; }
  .cp-pop-x { margin-right: -16px; }
  .cp-pop-h { font-size: 26px; }
  .cp-pop-ckl { grid-template-columns: minmax(0, 1fr) 160px; gap: 24px; }
}
/* phone: a bottom panel */
@media (max-width: 640px) {
  .cp-pop { align-items: flex-end; padding: 0; }
  .cp-pop-box { max-width: none; max-height: 50vh; max-height: 50dvh; padding: 0 16px max(16px, env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0; box-shadow: 0 -12px 40px rgba(6, 29, 61, .25); }
  .cp-pop-box:has(> [data-pop-v="quiz"]:not([hidden])) { max-width: none; }
  .cp-pop-x { margin: 6px -10px 0 auto; }
  .cp-pop-v { margin-top: -34px; }
  .cp-pop-h, .cp-pop-quiz .cp-pop-h { padding-right: 40px; font-size: 20px; line-height: 1.2; }
  .cp-pop-sub { margin-top: 6px; font-size: 14.5px; line-height: 1.4; }
  .cp-pop-ckl { display: block; }
  .cp-pop-pdf { display: none; }
  .cp-pop-form { margin-top: 12px; gap: 0; }
  .cp-pop-row { gap: 8px; }
  .cp-pop-mail { flex-basis: 150px; min-height: 46px; padding: 10px 12px; }
  .cp-pop-row .cp-btn { min-height: 46px; padding: 10px 14px; font-size: 15px; }
  .cp-pop .cp-check { padding: 4px 0; font-size: 13px; line-height: 1.35; }
  .cp-pop-acts { align-items: stretch; margin-top: 16px; }
  .cp-pop-acts .cp-btn--primary { min-width: 0; width: 100%; }
  .cp-pop-ways { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 14px; }
  .cp-pop-way { padding: 0; border: 0; border-radius: 0; }
  .cp-pop-way + .cp-pop-way { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--cp-line); }
  .cp-pop-way--tg .cp-btn { min-height: 46px; font-size: 15px; }
  .cp-pop-cap { margin-top: 4px; font-size: 13px; }
}
