/* Подряд.НДС — лендинг проверки авансового НДС по ИНН.
   Стилистика: плоский светлый b2b (референс — Контур.НДС+): крупная чёрная
   типографика, оранжевый акцент, серые секции, карточки без теней. */

:root {
  --orange: #FC7630;
  --orange-dark: #E05C17;
  --orange-soft: #FFF1E8;
  --ink: #1B1B1B;
  --muted: #6B6B6B;
  --label: #999;
  --bg-gray: #F5F5F5;
  --card: #FFFFFF;
  --border: #E6E3E0;
  --green: #189E4E;
  --green-soft: #E8F6EE;
  --warn: #A85B00;
  --warn-soft: #FFF6E5;
  --red: #D53232;
  --red-soft: #FDEBEB;
  --r: 16px;
  --r-sm: 10px;
  --maxw: 1080px;
  --font: "Golos Text", "Segoe UI", system-ui, -apple-system, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  color: var(--ink);
  background: #fff;
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.num { font-variant-numeric: tabular-nums; }

/* ── header ── */
.topbar { border-bottom: 1px solid var(--border); }
.topbar .wrap { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.logo { font-weight: 800; font-size: 20px; letter-spacing: -0.3px; text-decoration: none; color: var(--ink); }
.logo b { color: var(--orange); }
.topbar .tag { font-size: 14px; color: var(--muted); }
@media (max-width: 640px) { .topbar .tag { display: none; } }

/* ── buttons ── */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--orange); color: #fff; border: none; cursor: pointer;
  font: 600 17px var(--font); padding: 15px 28px; border-radius: var(--r-sm);
  text-decoration: none; transition: background .15s ease, transform .15s ease;
  white-space: nowrap;
}
.btn:hover { background: var(--orange-dark); }
.btn:active { transform: translateY(1px); }
.btn .arr { transition: transform .15s ease; }
.btn:hover .arr { transform: translateX(4px); }
.btn[disabled] { opacity: .55; cursor: default; }
.btn.ghost { background: transparent; color: var(--ink); border: 2px solid var(--ink); }
.btn.ghost:hover { background: var(--ink); color: #fff; }
.btn.sm { padding: 10px 18px; font-size: 15px; }

/* CTA-строка в конце секции */
.sec-cta { margin-top: 30px; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.sec-cta .hint { font-size: 14.5px; color: var(--muted); }
.alt-lead { margin-top: 18px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.alt-lead .alt-hint { font-size: 14px; color: var(--muted); }

/* ── hero ── */
.hero { padding: 72px 0 64px; }
.hero .wrap { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; }
.kicker {
  display: inline-block; font-size: 13.5px; font-weight: 600; letter-spacing: .04em;
  text-transform: uppercase; color: var(--orange-dark); background: var(--orange-soft);
  padding: 6px 12px; border-radius: 999px; margin-bottom: 22px;
}
h1 { font-size: clamp(34px, 4.6vw, 52px); font-weight: 800; line-height: 1.08; letter-spacing: -1.2px; }
h1 em { font-style: normal; color: var(--orange); }
.hero .sub { font-size: 19px; color: var(--muted); margin: 22px 0 30px; max-width: 34em; }

.innform { display: flex; gap: 10px; max-width: 560px; }
.innform input {
  flex: 1; font: 600 19px var(--font); letter-spacing: .06em;
  padding: 15px 18px; border: 2px solid var(--ink); border-radius: var(--r-sm);
  outline: none; min-width: 0; font-variant-numeric: tabular-nums;
}
.innform input:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(252,118,48,.15); }
.inn-error { color: var(--red); font-size: 14.5px; margin-top: 8px; min-height: 20px; }
.hero .fine { font-size: 14px; color: var(--label); margin-top: 14px; max-width: 34em; }
.hero .fine a { color: var(--muted); }

/* мокап карточки результата в hero */
.mock { background: var(--bg-gray); border-radius: var(--r); padding: 26px; position: relative; }
.mock::before {
  content: "пример результата"; position: absolute; top: -11px; left: 22px;
  background: var(--ink); color: #fff; font-size: 12px; font-weight: 600;
  padding: 3px 10px; border-radius: 999px;
}
.mock .mrow { background: #fff; border-radius: var(--r-sm); padding: 14px 18px; margin-bottom: 10px; }
.mock .mrow:last-child { margin-bottom: 0; }
.mock .mlabel { font-size: 12.5px; color: var(--label); }
.mock .mnum { font-size: 22px; font-weight: 800; letter-spacing: -.5px; }
.mock .mnum.orange { color: var(--orange); font-size: 28px; }
.mock .mnum.red { color: var(--red); font-size: 18px; }
.mock .mnote { font-size: 12.5px; color: var(--muted); margin-top: 2px; }
@media (max-width: 900px) {
  .hero .wrap { grid-template-columns: 1fr; gap: 40px; }
  .innform { flex-direction: column; }
}

/* ── полоса цифр-доказательств ── */
.stats { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 38px 0; }
.stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
@media (max-width: 820px) { .stats-row { grid-template-columns: 1fr; gap: 24px; } }
.stat .sv { font-size: clamp(30px, 3.4vw, 42px); font-weight: 800; letter-spacing: -1px; }
.stat:first-child .sv { color: var(--orange); }
.stat .sl { font-size: 14.5px; color: var(--muted); margin-top: 6px; max-width: 24em; }

/* ── общие секции ── */
section { padding: 72px 0; }
section.gray { background: var(--bg-gray); }
h2 { font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; letter-spacing: -.8px; line-height: 1.15; margin-bottom: 14px; }
.lead { font-size: 18px; color: var(--muted); max-width: 40em; margin-bottom: 40px; }

.cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 820px) { .cards3 { grid-template-columns: 1fr; } }
.card { background: var(--card); border: 1px solid var(--border); border-radius: var(--r); padding: 28px; }
section.gray .card { border: none; }
.card .cnum { font-size: 15px; font-weight: 700; color: var(--orange); margin-bottom: 12px; }
.card h3 { font-size: 19px; font-weight: 700; letter-spacing: -.3px; margin-bottom: 10px; }
.card p { font-size: 15.5px; color: var(--muted); }
.card p b { color: var(--ink); }

/* ── прогресс скрининга ── */
#screening { display: none; padding: 40px 0 8px; }
.progress-card { background: var(--bg-gray); border-radius: var(--r); padding: 30px 34px; max-width: 720px; }
.progress-card h3 { font-size: 20px; font-weight: 800; margin-bottom: 18px; letter-spacing: -.3px; }
.stage { display: flex; align-items: center; gap: 14px; padding: 9px 0; font-size: 16px; color: var(--label); transition: color .2s; }
.stage .dot {
  width: 26px; height: 26px; border-radius: 999px; flex: none;
  border: 2px solid var(--border); background: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 14px;
  transition: all .2s;
}
.stage.active { color: var(--ink); font-weight: 600; }
.stage.active .dot { border-color: var(--orange); }
.stage.active .dot::after {
  content: ""; width: 12px; height: 12px; border-radius: 999px;
  border: 2px solid var(--orange); border-top-color: transparent;
  animation: spin .8s linear infinite;
}
.stage.done { color: var(--ink); }
.stage.done .dot { background: var(--green); border-color: var(--green); color: #fff; }
.stage.done .dot::before { content: "✓"; font-weight: 700; }
@keyframes spin { to { transform: rotate(360deg); } }
.progress-note { font-size: 14px; color: var(--label); margin-top: 14px; }

/* ── результат ── */
#result { display: none; padding: 40px 0 72px; }
.res-head { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
.res-head h2 { margin-bottom: 0; }
.badge { font-size: 14px; font-weight: 700; padding: 6px 14px; border-radius: 999px; white-space: nowrap; }
.badge.good { background: var(--green-soft); color: var(--green); }
.badge.mid { background: var(--bg-gray); color: var(--muted); }
.badge.bad { background: var(--red-soft); color: var(--red); }
.res-meta { font-size: 14.5px; color: var(--label); margin-bottom: 28px; }

.res-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; }
@media (max-width: 900px) { .res-grid { grid-template-columns: 1fr; } }

.res-hero { background: var(--ink); color: #fff; border-radius: var(--r); padding: 34px; }
.res-hero .rh-label { font-size: 14px; color: rgba(255,255,255,.65); margin-bottom: 8px; }
.res-hero .rh-num { font-size: clamp(40px, 5vw, 56px); font-weight: 800; letter-spacing: -1.5px; line-height: 1; color: var(--orange); }
.res-hero .rh-sub { font-size: 15.5px; color: rgba(255,255,255,.85); margin-top: 16px; line-height: 1.5; }
.res-hero .rh-sub b { color: #fff; }
.res-hero .rh-q {
  margin-top: 18px; padding: 14px 16px; border-radius: var(--r-sm);
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
  font-size: 14.5px; color: rgba(255,255,255,.9);
}

.facts { background: var(--bg-gray); border-radius: var(--r); padding: 26px 28px; }
.facts h3 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.facts .fsub { font-size: 13px; color: var(--label); margin-bottom: 14px; }
.fact { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 15px; }
.fact:last-child { border-bottom: none; }
.fact .fl { color: var(--muted); }
.fact .fv { font-weight: 700; white-space: nowrap; }
.fact .fv.red { color: var(--red); }

.flags { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.flag { background: var(--warn-soft); color: var(--warn); border-radius: var(--r-sm); padding: 11px 14px; font-size: 14px; }

/* срочность + состав отчёта (2 карточки под героем, как в письме-лид-магните) */
.res-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
@media (max-width: 900px) { .res-grid2 { grid-template-columns: 1fr; } }
.rrow { display: flex; gap: 14px; align-items: baseline; padding: 8px 0; }
.rrow .rn { font-size: 17px; font-weight: 800; white-space: nowrap; flex: none; min-width: 108px; font-variant-numeric: tabular-nums; }
.rrow .rn.red { color: var(--red); }
.rrow .rd { font-size: 14.5px; color: var(--muted); line-height: 1.4; }
.rpunch { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 15px; font-weight: 700; line-height: 1.4; }
.report-list { list-style: none; margin-top: 4px; }
.report-list li { padding: 7px 0 7px 26px; position: relative; font-size: 14.5px; color: var(--muted); line-height: 1.45; }
.report-list li::before { content: "✓"; position: absolute; left: 2px; color: var(--green); font-weight: 800; }
.report-list li b { color: var(--ink); }

.honesty { margin-top: 16px; }
.honesty .card { margin-bottom: 0; }
.honesty ul { list-style: none; margin-top: 4px; }
.honesty li { padding: 8px 0 8px 26px; position: relative; font-size: 15px; color: var(--muted); }
.honesty li::before { content: "—"; position: absolute; left: 4px; color: var(--orange); font-weight: 700; }
.honesty li b { color: var(--ink); }
.res-sources { font-size: 13px; color: var(--label); margin-top: 18px; line-height: 1.5; }
.res-cta { margin-top: 26px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.res-cta .hint { font-size: 14.5px; color: var(--muted); }

/* «не найдена» */
.res-empty { background: var(--bg-gray); border-radius: var(--r); padding: 34px; max-width: 720px; }
.res-empty h3 { font-size: 20px; font-weight: 800; margin-bottom: 10px; }
.res-empty p { color: var(--muted); font-size: 15.5px; }

/* ── точность метода ── */
.acc-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--r); overflow: hidden; }
.acc-table th, .acc-table td { text-align: left; padding: 15px 20px; font-size: 15.5px; border-bottom: 1px solid var(--border); }
.acc-table th { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--label); font-weight: 600; }
.acc-table td.n { font-weight: 700; font-variant-numeric: tabular-nums; }
.acc-table tr:last-child td { border-bottom: none; }
.acc-note { font-size: 14px; color: var(--muted); margin-top: 14px; max-width: 44em; }

/* ── кейсы-разборы ── */
.cases { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 900px) { .cases { grid-template-columns: 1fr; } }
.case .case-top { border-bottom: 1px solid var(--border); padding-bottom: 14px; margin-bottom: 10px; }
.case .case-title { font-size: 19px; font-weight: 800; letter-spacing: -.3px; }
.case .case-sub { font-size: 14.5px; color: var(--muted); margin-top: 4px; }
.case .case-sub b { color: var(--orange-dark); }

/* ── кому подходит ── */
.fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 820px) { .fit-grid { grid-template-columns: 1fr; } }
.fit-yes { color: var(--green); }
.fit-no { color: var(--muted); }
.report-list.no li::before { content: "—"; color: var(--label); }

/* ── лид-форма ── */
#lead { background: var(--orange); color: #fff; }
#lead h2, #lead .lead { color: #fff; }
#lead .lead { opacity: .9; }
.lead-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; }
@media (max-width: 900px) { .lead-grid { grid-template-columns: 1fr; } }
.steps { display: flex; flex-direction: column; gap: 20px; }
.stepi { display: flex; gap: 16px; }
.stepi .sn {
  width: 34px; height: 34px; border-radius: 999px; flex: none;
  background: rgba(255,255,255,.18); font-weight: 800; font-size: 16px;
  display: flex; align-items: center; justify-content: center;
}
.stepi b { display: block; font-size: 17.5px; margin-bottom: 3px; }
.stepi p { font-size: 15px; opacity: .88; }
.guarantee {
  margin-top: 26px; background: rgba(0,0,0,.14); border-radius: var(--r);
  padding: 18px 22px; font-size: 15.5px;
}
.guarantee b { display: block; font-size: 17px; margin-bottom: 4px; }

.lead-form { background: #fff; color: var(--ink); border-radius: var(--r); padding: 32px; }
.lead-form h3 { font-size: 21px; font-weight: 800; letter-spacing: -.4px; margin-bottom: 6px; }
.lead-form .lf-sub { font-size: 14.5px; color: var(--muted); margin-bottom: 20px; }
.lead-form label { display: block; font-size: 13.5px; font-weight: 600; color: var(--muted); margin: 14px 0 6px; }
.lf-known { background: var(--orange-soft); color: var(--orange-dark); font-size: 14px; font-weight: 600; border-radius: var(--r-sm); padding: 10px 14px; margin-bottom: 4px; }
.lead-form input, .lead-form textarea {
  width: 100%; font: 500 16px var(--font); padding: 13px 15px;
  border: 1.5px solid var(--border); border-radius: var(--r-sm); outline: none;
}
.lead-form input:focus, .lead-form textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(252,118,48,.15); }
.lead-form .btn { width: 100%; justify-content: center; margin-top: 22px; }
.lead-form .lf-fine { font-size: 12.5px; color: var(--label); margin-top: 12px; text-align: center; }
.lead-ok { display: none; text-align: center; padding: 30px 10px; }
.lead-ok .ok-ic { font-size: 44px; margin-bottom: 12px; }
.lead-ok h3 { margin-bottom: 8px; }
.lead-ok p { color: var(--muted); font-size: 15.5px; }
.lead-err { color: var(--red); font-size: 14px; margin-top: 10px; min-height: 18px; text-align: center; }

/* ── FAQ ── */
.faq { max-width: 800px; }
.faq details { border-bottom: 1px solid var(--border); }
.faq summary {
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px;
  align-items: center; padding: 22px 4px; font-size: 18px; font-weight: 700; letter-spacing: -.2px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary .pl { font-size: 26px; font-weight: 400; color: var(--orange); transition: transform .2s; flex: none; }
.faq details[open] summary .pl { transform: rotate(45deg); }
.faq .fa { padding: 0 4px 24px; color: var(--muted); font-size: 16px; max-width: 44em; }
.faq .fa b { color: var(--ink); }

/* ── финальный CTA ── */
#final { text-align: center; }
#final h2 { margin-bottom: 10px; }
#final p { color: var(--muted); margin-bottom: 28px; }

/* ── footer ── */
footer { border-top: 1px solid var(--border); padding: 34px 0 44px; }
footer .passport { font-size: 12.5px; color: var(--label); line-height: 1.6; max-width: 70em; }
footer .passport b { color: var(--muted); }
