/* Проверка сайта: страница инструмента по брендбуку AVAT.
   Paper, тонкие линии, Geologica и Inter. Oxide только у главной кнопки.
   Статусы из палитры интерфейса: успех, предупреждение, ошибка (цвет всегда с текстом).
   Подключается после site.css и tokens.css, берёт отступы и цвета из токенов. */

.page-proverka { background: var(--paper); }
.pv { color: var(--ink); }
.pv :is(a, button, input, summary):focus-visible { outline: 2px solid var(--oxide); outline-offset: 4px; }
.pv p { text-wrap: pretty; }
.pv h1, .pv h2, .pv h3 { font-weight: 400; margin: 0; }
.pv ul { list-style: none; margin: 0; padding: 0; }
.pv a { text-decoration: none; }

/* ───── Первый экран ───── */
.pv-hero { padding: clamp(24px, 2.6vw, 44px) 0 var(--space-section); }
.pv-crumbs { font: 400 13px/1.5 var(--body); color: var(--muted); margin-bottom: clamp(28px, 3.4vw, 56px); }
.pv-crumbs a { border-bottom: 1px solid transparent; }
.pv-crumbs a:hover { border-color: currentColor; }
.pv-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-head-text) clamp(40px, 6vw, 120px); align-items: end; }
.pv-hero h1 { grid-column: 1 / -1; font-size: clamp(40px, 5.2vw, 84px); line-height: 1.06; letter-spacing: -.045em; max-width: 14em; text-wrap: balance; }
.pv-lead { font-size: clamp(16px, 1.25vw, 19px); line-height: 1.65; max-width: 58ch; }

.pv-form { display: grid; gap: 12px; }
.pv-form label { font: 500 14px/1.4 var(--body); }
.pv-form-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.pv-input { height: 56px; min-width: 0; padding: 0 20px; border: 1px solid var(--ink); border-right: 0; border-radius: 2px 0 0 2px; background: var(--white); color: var(--ink); font: 400 17px/1 var(--body); }
.pv-input::placeholder { color: #6F7B81; }
.pv-go { height: 56px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 24px; border: 1px solid var(--oxide); border-radius: 0 2px 2px 0; background: var(--oxide); color: var(--paper); font: 500 16px/1 var(--body); white-space: nowrap; cursor: pointer; transition: background .2s, border-color .2s; }
.pv-go:hover { background: var(--oxide-deep); border-color: var(--oxide-deep); }
.pv-go[disabled] { opacity: .65; cursor: progress; }
.pv-go span { font-size: 21px; line-height: 1; }
.pv-hint { min-height: 1.55em; font-size: 14px; line-height: 1.55; color: var(--muted); }
.pv-hint.is-error { color: var(--ui-error); }
/* полоска во время проверки: идёт, пока ждём ответ; при «меньше движения» просто заполнена наполовину */
.pv-wait { display: none; height: 2px; background: var(--line); overflow: hidden; }
.pv-form.is-busy .pv-wait { display: block; }
.pv-wait::after { content: ""; display: block; height: 100%; width: 32%; background: var(--ink); animation: pvWait 1.5s ease-in-out infinite; }
@keyframes pvWait { 0% { transform: translateX(-100%); } 100% { transform: translateX(320%); } }

.pv-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-head-content); border-top: 1px solid var(--line); }
.pv-facts li { padding: 28px clamp(20px, 2.6vw, 48px) 0 0; }
.pv-facts li + li { padding-left: clamp(20px, 2.6vw, 48px); border-left: 1px solid var(--line); }
.pv-fact-num { font: 400 clamp(44px, 4vw, 64px)/1.05 var(--head); font-variation-settings: var(--heading-variation); letter-spacing: -.045em; }
.pv-fact-num small { margin-left: .3em; font: 400 .4em/1 var(--body); letter-spacing: 0; color: var(--muted); }
.pv-fact-cap { margin-top: 12px; max-width: 32ch; font-size: 15px; line-height: 1.55; color: var(--muted); }

/* ───── Результат ───── */
.pv-result { padding: var(--space-section) 0; background: var(--white); border-block: 1px solid var(--line); scroll-margin-top: 80px; }
.pv-result[hidden] { display: none; }
.pv-result:focus { outline: none; }
.pv-result-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-head-text) clamp(32px, 6vw, 112px); align-items: end; }
.pv-site { margin-bottom: 14px; font-size: 15px; line-height: 1.4; color: var(--muted); overflow-wrap: anywhere; }
.pv-score-num { font: 500 clamp(104px, 12vw, 184px)/.86 var(--head); font-variation-settings: var(--heading-variation); letter-spacing: -.06em; }
.pv-score-num small { margin-left: 14px; font: 400 18px/1 var(--body); letter-spacing: 0; color: var(--muted); }
.pv-verdict { font-size: clamp(26px, 2.5vw, 40px); line-height: 1.18; letter-spacing: -.035em; text-wrap: balance; }
.pv-verdict { display: flex; align-items: center; gap: 14px; --lv: var(--ui-success); }
.pv-verdict::before { content: ""; flex: 0 0 14px; width: 14px; height: 14px; border-radius: 2px; background: var(--lv); }
.pv [data-level="work"] { --lv: var(--ui-warning); }
.pv [data-level="crit"] { --lv: var(--ui-error); }
.pv-verdict-text { margin-top: 16px; max-width: 60ch; font-size: 17px; line-height: 1.65; }
.pv-sum { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 24px; font-size: 15px; }
.pv-sum span { display: inline-flex; align-items: center; gap: 10px; }
.pv-sum span::before, .pv-st::before { content: ""; width: 10px; height: 10px; border-radius: 2px; background: currentColor; flex: 0 0 10px; }
.pv-sum .is-ok, .pv-st.is-ok { color: var(--ui-success); }
.pv-sum .is-warn, .pv-st.is-warn { color: var(--ui-warning); }
.pv-sum .is-fail, .pv-st.is-fail { color: var(--ui-error); }
.pv-sum span b { font-weight: 500; color: var(--ink); }
.pv-st.is-skip { color: var(--muted); }
.pv-st.is-skip::before { background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; }

.pv-groups { display: grid; gap: clamp(56px, 6vw, 96px); margin-top: var(--space-head-content); }
.pv-group-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: baseline; padding-bottom: 18px; border-bottom: 1px solid var(--ink); }
.pv-group-head h3 { font-size: clamp(26px, 2.3vw, 36px); line-height: 1.15; letter-spacing: -.035em; }
.pv-group-score { font: 500 22px/1 var(--head); font-variation-settings: var(--heading-variation); letter-spacing: -.02em; white-space: nowrap; }
.pv-group-score small { margin-left: 6px; font: 400 14px/1 var(--body); color: var(--muted); letter-spacing: 0; }
.pv-group-note { grid-column: 1 / -1; max-width: 72ch; font-size: 15px; line-height: 1.6; color: var(--muted); }
.pv-row { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.8fr) 156px; gap: 8px clamp(20px, 3vw, 56px); padding: 22px 0; border-bottom: 1px solid var(--line); align-items: start; }
.pv-row-main { grid-column: 1; grid-row: 1; }
.pv-row-d { grid-column: 2; grid-row: 1; }
.pv-st { grid-column: 3; grid-row: 1; }
.pv-row-t { font: 500 17px/1.4 var(--body); }
.pv-row-h { display: block; margin-top: 4px; font: 400 14px/1.5 var(--body); color: var(--muted); }
.pv-row-d { font-size: 16px; line-height: 1.6; }
.pv-row-law { display: block; margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.pv-st { display: inline-flex; align-items: center; gap: 10px; justify-self: end; font: 500 14px/1.3 var(--body); white-space: nowrap; }

.pv-next { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; margin-top: var(--space-head-content); padding-top: 28px; border-top: 1px solid var(--line); }
.pv-next p { max-width: 62ch; font-size: 17px; line-height: 1.6; }
.pv-btn-line { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; padding: 0 22px; border: 1px solid var(--ink); border-radius: 2px; background: transparent; color: var(--ink); font: 500 15px/1 var(--body); transition: background .2s, color .2s; }
.pv-btn-line:hover { background: var(--ink); color: var(--paper); }

/* ───── Итог внизу результата ───── */
.pv-final { margin-top: var(--space-head-content); padding-top: clamp(40px, 5vw, 72px); border-top: 1px solid var(--ink); }
.pv-final-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-head-text) clamp(32px, 6vw, 112px); align-items: end; }
.pv-score-num--s { font-size: clamp(72px, 8vw, 120px); }
.pv-final h3 { margin: 0; font-size: clamp(22px, 1.9vw, 28px); line-height: 1.2; letter-spacing: -.03em; }
.pv-final h3.pv-verdict { font-size: clamp(26px, 2.5vw, 40px); line-height: 1.18; letter-spacing: -.035em; }
.pv-final-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: var(--space-head-content) clamp(40px, 6vw, 112px); margin-top: var(--space-head-content); align-items: start; }
.pv-todo, .pv-fines { margin-top: 20px; border-top: 1px solid var(--line); }
.pv-todo li { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 4px 14px; padding: 16px 0; border-bottom: 1px solid var(--line); --lv: var(--ui-success); }
.pv-todo li::before { content: ""; grid-row: 1 / span 2; width: 10px; height: 10px; margin-top: 7px; border-radius: 2px; background: var(--lv); }
.pv-todo b { font: 500 16px/1.4 var(--body); }
.pv-todo span { grid-column: 2; font-size: 15px; line-height: 1.55; color: var(--muted); }
.pv-final-note { margin-top: 16px; max-width: 62ch; font-size: 15px; line-height: 1.65; color: var(--muted); }
.pv-fine { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 4px 28px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.pv-fine-what b { display: block; font: 500 16px/1.4 var(--body); }
.pv-fine-what small, .pv-fine-sum small { display: block; margin-top: 4px; font: 400 14px/1.5 var(--body); color: var(--muted); }
.pv-fine-sum { font: 500 16px/1.5 var(--body); }
.pv-final-fine { margin-top: 20px; max-width: 62ch; font-size: 14px; line-height: 1.65; color: var(--muted); }

/* ───── Разделы ───── */
.pv-sec { padding: var(--space-section) 0; }
.pv-sec--mist { background: var(--mist); }
.pv-sec-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: var(--space-head-content) clamp(40px, 7vw, 140px); align-items: start; }
.pv-sec h2 { font-size: clamp(34px, 3.4vw, 54px); line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; }
.pv-sec-lead { margin-top: var(--space-title-lead); max-width: 52ch; font-size: 17px; line-height: 1.65; color: var(--muted); }
.pv-view { padding: 28px 0; border-top: 1px solid var(--line); }
.pv-view:last-child { border-bottom: 1px solid var(--line); }
.pv-view h3 { font-size: clamp(22px, 1.9vw, 28px); line-height: 1.2; letter-spacing: -.03em; }
.pv-view p { margin-top: var(--space-sub-text); font-size: 16.5px; line-height: 1.65; max-width: 62ch; }

.pv-faq { margin-top: var(--space-head-content); border-bottom: 1px solid var(--line); }
.pv-faq-i { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 12px clamp(32px, 6vw, 120px); padding: 30px 0; border-top: 1px solid var(--line); }
.pv-faq-i h3 { font-size: clamp(20px, 1.7vw, 25px); line-height: 1.3; letter-spacing: -.025em; }
.pv-faq-i p { font-size: 16.5px; line-height: 1.7; max-width: 64ch; }
.pv-faq-i a { border-bottom: 1px solid var(--muted); }

/* ───── Заявка ───── */
.pv-cta { padding: var(--space-section) 0; background: var(--mist); border-top: 1px solid var(--line); scroll-margin-top: 60px; }
.pv-cta-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-head-content) clamp(40px, 7vw, 140px); align-items: start; }
.pv-cta h2 { max-width: 14em; font-size: clamp(34px, 3.6vw, 58px); line-height: 1.1; letter-spacing: -.04em; text-wrap: balance; }
.pv-cta-text { margin-top: var(--space-title-lead); max-width: 54ch; font-size: 17px; line-height: 1.7; color: var(--muted); }
.pv-lead-form { display: grid; gap: 14px; }
.pv-lead-form label.pv-tel-l { font: 500 14px/1.4 var(--body); }
.pv-tel { width: 100%; height: 56px; padding: 0 18px; border: 1px solid var(--ink); border-radius: 2px; background: var(--white); color: var(--ink); font: 400 20px/1 var(--body); letter-spacing: -.01em; }
.pv-tel::placeholder { color: #6F7B81; }
.pv-send { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 56px; padding: 0 24px; border: 1px solid var(--oxide); border-radius: 2px; background: var(--oxide); color: var(--paper); font: 500 16px/1 var(--body); cursor: pointer; transition: background .2s, border-color .2s; }
.pv-send:hover { background: var(--oxide-deep); border-color: var(--oxide-deep); }
.pv-send span { font-size: 21px; line-height: 1; }
.pv-consent { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.6; color: var(--muted); }
.pv-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--oxide); }
.pv-consent a { color: var(--ink); border-bottom: 1px solid var(--muted); }
.pv-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.pv-form-err:empty { display: none; }
.pv-form-err { font-size: 14px; line-height: 1.5; color: var(--ui-error); }
.pv-ok-t { font: 400 clamp(24px, 2.2vw, 34px)/1.2 var(--head); font-variation-settings: var(--heading-variation); letter-spacing: -.03em; }
.pv-ok-s { margin-top: 12px; max-width: 48ch; font-size: 16px; line-height: 1.65; color: var(--muted); }
.pv-ok-s a { color: var(--ink); border-bottom: 1px solid var(--muted); }
/* Подвал скруглён сверху и наезжает на панель заявки на величину скругления: в углах виден её фон Mist, а не фон страницы */
.pv-cta { padding-bottom: calc(var(--space-section) + 44px); }
main.pv + footer.avat-footer { margin-top: -44px; }

/* ───── Планшет и телефон ───── */
@media (max-width: 1100px) {
  .pv-hero-grid, .pv-sec-grid, .pv-cta-grid { grid-template-columns: minmax(0, 1fr); }
  .pv-result-head, .pv-final-head, .pv-final-cols, .pv-fine { grid-template-columns: minmax(0, 1fr); }
  .pv-faq-i { grid-template-columns: minmax(0, 1fr); }
  .pv-row { grid-template-columns: minmax(0, 1fr) auto; }
  .pv-row-d { grid-column: 1 / -1; grid-row: 2; }
  .pv-st { grid-column: 2; grid-row: 1; }
}
@media (max-width: 760px) {
  .pv-hero h1 { font-size: clamp(36px, 10.4vw, 48px); }
  .pv-form-row { grid-template-columns: minmax(0, 1fr); }
  .pv-input { border-right: 1px solid var(--ink); border-radius: 2px 2px 0 0; font-size: 16px; }
  .pv-go { justify-content: space-between; border-radius: 0 0 2px 2px; }
  .pv-facts { grid-template-columns: minmax(0, 1fr); }
  .pv-facts li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--line); }
  .pv-facts li + li { padding-left: 0; border-left: 0; }
  .pv-fact-cap { margin-top: 0; }
  .pv-tel { font-size: 16px; }
  .pv-sum { gap: 8px 20px; }
  .pv-cta { padding-bottom: calc(var(--space-section) + 28px); }
  main.pv + footer.avat-footer { margin-top: -28px; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-wait::after { animation: none; width: 50%; }
  .pv-go, .pv-btn-line, .pv-send { transition: none; }
}
