/* ===================== НАЗЕМНОЕ ПОКРЫТИЕ: ДОЧЕРНИЕ СТРАНИЦЫ /blagoustrojstvo/nazemnoe-pokrytie/{slug} (2026-11-13) =====================
   Подключается через PageStyles.RequireCss на NazemnoePokrytiePage.cshtml и на родителе NazemnoePokrytie.cshtml (блок
   #vidy-pokrytiya). Классы — npp-*, по образцу skulptura-pages.css (skp-*). Ритм 56px между блоками даёт .service-page--rhythm.
   Фон блоков — #e3efe6 или белая карточка с рамкой 1px #e4e6e2 (темнее фона страницы #FAF9F7).
   Адаптив — в конце файла, только две точки: ≤1199 (планшет 1024) и ≤767 (телефон 390). Между элементами — не меньше 20px. */

/* — Общее — */
.npp-page > section[id] { scroll-margin-top: calc(var(--header-height, 70px) + 16px); }
.npp-head { max-width: 840px; margin-bottom: 32px; }
.npp-head > .eyebrow { margin-bottom: 8px; }
.npp-h2 { margin: 8px 0 0; font-size: 40px; line-height: 1.15; letter-spacing: -0.01em; color: var(--ink); }
.npp-head > .eyebrow + .npp-h2 { margin-top: 0; }
.npp-h3 { margin: 0 0 16px; font-size: 22px; line-height: 1.25; color: var(--ink); }
.npp-lead { margin: 16px 0 0; font-size: 17px; line-height: 1.55; color: var(--ink-3); }
.npp-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--green-600); text-decoration: none; }
.npp-link:hover { color: var(--green-700); text-decoration: underline; }
.npp-link [data-lucide], .npp-link svg { width: 16px; height: 16px; flex-shrink: 0; }
.npp-note { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--muted, var(--ink-3)); }
.npp-note > [data-lucide], .npp-note > svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; color: var(--green-600); }
.npp-ico { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; border-radius: 12px; background: var(--green-50); color: var(--green-600); }
.npp-ico [data-lucide], .npp-ico svg { width: 20px; height: 20px; }
.npp-ico--sm { width: 34px; height: 34px; border-radius: 10px; }
.npp-ico--sm [data-lucide], .npp-ico--sm svg { width: 17px; height: 17px; }
.npp-pic { position: relative; margin: 0; overflow: hidden; border-radius: 20px; background: #e3efe6; aspect-ratio: 4 / 3; }
.npp-pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.npp-checks { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.npp-checks li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.npp-checks [data-lucide], .npp-checks svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; color: var(--green-600); }

/* Заглушка вместо кадра (кадр ещё в очереди ai-images) */
.npp-ph { position: absolute; inset: 0; display: grid; place-items: center; background: #e3efe6; color: var(--green-600); }
.npp-ph [data-lucide], .npp-ph svg { width: 44px; height: 44px; opacity: .7; }

/* Галерея реальных работ: карточки svw-* (components/service-works.css), здесь 8 штук — 4 колонки × 2 ряда */
.npp-works .svw__row { row-gap: 24px; }

/* — Карточки — */
.npp-cards__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; }
.npp-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e4e6e2; border-radius: 20px; overflow: hidden; }
.npp-card__media { position: relative; aspect-ratio: 4 / 3; background: #e3efe6; }
.npp-card__body { display: flex; flex-direction: column; padding: 24px; }
.npp-card:not(.npp-card--pic) .npp-card__body .npp-ico { margin-bottom: 20px; }
.npp-card__title { margin: 0; font-size: 20px; line-height: 1.3; color: var(--ink); }
.npp-card__text { margin: 12px 0 0; font-size: 15.5px; line-height: 1.55; color: var(--ink-3); }

/* — Шаги — */
.npp-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.npp-steps__list--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.npp-step { display: flex; flex-direction: column; gap: 14px; padding: 22px; background: #fff; border: 1px solid #e4e6e2; border-radius: 18px; }
.npp-step__num { font-size: 15px; font-weight: 800; letter-spacing: .04em; color: var(--green-600); }
.npp-step__title { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 18px; line-height: 1.3; color: var(--ink); }
.npp-step__title [data-lucide], .npp-step__title svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--green-600); }
.npp-step__text { margin: 10px 0 0; font-size: 15px; line-height: 1.55; color: var(--ink-3); }
.npp-steps--pic .npp-steps__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.npp-steps--pic .npp-steps__list { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.npp-steps--pic .npp-step { flex-direction: row; gap: 16px; padding: 18px 20px; }
.npp-steps--pic .npp-step__num { min-width: 28px; padding-top: 2px; }
.npp-steps--pic .npp-steps__pic { position: sticky; top: calc(var(--header-height, 70px) + 24px); }

/* — Сравнение покрытий — */
.npp-compare__table { background: #fff; border: 1px solid #e4e6e2; border-radius: 20px; overflow: hidden; }
.npp-compare__row { display: grid; grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr); gap: 24px; padding: 18px 24px; border-top: 1px solid #e4e6e2; font-size: 15.5px; line-height: 1.5; color: var(--ink-2); }
.npp-compare__row:first-child { border-top: 0; }
.npp-compare__row--head { background: #e3efe6; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--green-700); }
.npp-compare__row.is-self { box-shadow: inset 4px 0 0 var(--green-600); background: #f6faf7; }
.npp-compare__name { font-weight: 700; color: var(--ink); }
.npp-compare__good, .npp-compare__mind { display: flex; gap: 8px; align-items: flex-start; }
.npp-compare__good > [data-lucide], .npp-compare__good > svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px; color: var(--green-600); }
.npp-compare__mind > [data-lucide], .npp-compare__mind > svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px; color: #b07a2a; }

/* — Текст + кадр — */
.npp-split__copy { max-width: 840px; }
.npp-split--pic { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.npp-split--pic .npp-split__copy { max-width: none; }
.npp-split--pic.npp-split--flip .npp-split__pic { order: -1; }
.npp-split__copy > .eyebrow { margin-bottom: 8px; }
.npp-split__p { margin: 16px 0 0; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.npp-split__cta { margin-top: 24px; }

/* — Цена — */
.npp-price__layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: stretch; }
.npp-price__factors { padding: 28px; background: #fff; border: 1px solid #e4e6e2; border-radius: 20px; }
.npp-price__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
.npp-price__factor { display: flex; gap: 12px; align-items: flex-start; }
.npp-price__factor b { display: block; font-size: 16px; color: var(--ink); }
.npp-price__factor span:not(.npp-ico) { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.5; color: var(--ink-3); }
.npp-price__card { display: flex; flex-direction: column; padding: 28px; border-radius: 20px; background: #e3efe6; }
.npp-price__label { font-size: 15px; font-weight: 700; color: var(--green-700); }
.npp-price__num { margin-top: 8px; font-size: 40px; line-height: 1.1; font-weight: 800; color: var(--ink); }
.npp-price__note { margin: 10px 0 0; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.npp-price__incl { list-style: none; margin: 20px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(31, 90, 51, .18); display: grid; gap: 8px; }
.npp-price__incl li { display: flex; gap: 8px; align-items: flex-start; font-size: 14.5px; line-height: 1.45; color: var(--ink-2); }
.npp-price__incl [data-lucide], .npp-price__incl svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: var(--green-600); }
.npp-price__term { display: flex; gap: 8px; align-items: flex-start; margin: 20px 0 0; font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.npp-price__term > [data-lucide], .npp-price__term > svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: var(--green-600); }
.npp-price__btn { margin-top: 24px; align-self: flex-start; }
.npp-price__calc { margin-top: 20px; align-self: flex-start; }

/* — Что прислать — */
.npp-check__card { padding: 40px 44px; border-radius: 24px; background: #e3efe6; }
.npp-check__card > .eyebrow { margin-bottom: 8px; }
.npp-check__list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; }
.npp-check__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.npp-check__list [data-lucide], .npp-check__list svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; color: var(--green-600); }
.npp-check__cta { margin-top: 24px; }

/* — Сильные стороны / ограничения — */
.npp-pc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.npp-pc__col { padding: 28px; border-radius: 20px; }
.npp-pc__col--plus { background: #e3efe6; }
.npp-pc__col--minus { background: #fff; border: 1px solid #e4e6e2; }
.npp-pc__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.npp-pc__col li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.npp-pc__col [data-lucide], .npp-pc__col svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; color: var(--green-600); }
.npp-pc__col--minus [data-lucide], .npp-pc__col--minus svg { color: #b07a2a; }

/* — Где ошибаются → как делаем мы — */
.npp-vs__table { background: #fff; border: 1px solid #e4e6e2; border-radius: 22px; overflow: hidden; }
.npp-vs__row { display: grid; grid-template-columns: 180px minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid #e4e6e2; font-size: 15.5px; line-height: 1.5; color: var(--ink-2); }
.npp-vs__row:first-child { border-top: 0; }
.npp-vs__row > span { padding: 18px 24px; }
.npp-vs__row--head { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); background: #f1f2ef; }
.npp-vs__row--head > span { padding-top: 14px; padding-bottom: 14px; }
.npp-vs__row--head .npp-vs__us-head { background: #e3efe6; color: var(--green-700); }
.npp-vs__topic { font-weight: 700; color: var(--ink); }
.npp-vs__bad, .npp-vs__us { display: flex; gap: 10px; align-items: flex-start; }
.npp-vs__bad { color: var(--ink-3); }
.npp-vs__us { background: #f2f7f3; color: var(--ink); }
.npp-vs__bad > [data-lucide], .npp-vs__bad > svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px; color: #b07a2a; }
.npp-vs__us > [data-lucide], .npp-vs__us > svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px; color: var(--green-600); }
.npp-vs__lab { display: none; font-style: normal; font-weight: 700; }

/* — Панель «честно о том, что будет потом» (4 пункта) — */
.npp-promise__card { padding: 40px 44px; border-radius: 22px; background: #e3efe6; }
.npp-promise__card > .eyebrow { margin-bottom: 8px; }
.npp-promise__grid { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.npp-promise__item { display: flex; gap: 12px; align-items: flex-start; padding: 20px; background: #fff; border-radius: 16px; }
.npp-promise__item b { display: block; font-size: 16px; line-height: 1.35; color: var(--ink); }
.npp-promise__item span:not(.npp-ico) { display: block; margin-top: 6px; font-size: 14.5px; line-height: 1.5; color: var(--ink-3); }

/* — Сомнение → честный ответ (2 × 2) — */
.npp-doubts__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.npp-doubt { padding: 26px 28px; background: #fff; border: 1px solid #e4e6e2; border-radius: 20px; }
.npp-doubt__q { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 19px; line-height: 1.35; color: var(--ink); }
.npp-doubt__q > [data-lucide], .npp-doubt__q > svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; color: var(--green-600); }
.npp-doubt__a { margin: 14px 0 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }

/* — Картинка сбоку у текстовых блоков без своего кадра (как .skp-haspic): секция — сетка, кадр 3:4 справа, прилипает — */
.npp-haspic { display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: 48px; row-gap: 0; align-items: start; }
.npp-haspic > * { grid-column: 1; min-width: 0; }
.npp-haspic > .npp-aside { grid-column: 2; grid-row: 1 / span 12; align-self: start; position: sticky; top: 96px; margin: 0; border-radius: 24px; overflow: hidden; aspect-ratio: 3 / 4; background: #e3efe6; }
.npp-aside img { width: 100%; height: 100%; object-fit: cover; display: block; }
.npp-haspic .npp-promise__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.npp-haspic .npp-steps__list, .npp-haspic .npp-steps__list--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.npp-haspic .npp-cards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.npp-haspic .npp-check__list { grid-template-columns: minmax(0, 1fr); }
.npp-haspic .npp-compare__row { grid-template-columns: 170px minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.npp-haspic .npp-vs__row { grid-template-columns: 130px minmax(0, 1fr) minmax(0, 1fr); }
.npp-haspic .npp-price__layout { grid-template-columns: minmax(0, 1fr); }

/* — Перелинковка по кругу: 4 карточки с кадром — */
.npp-next__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.npp-next__grid > li { display: flex; }
.npp-next__card { display: flex; flex-direction: column; width: 100%; background: #fff; border: 1px solid #e4e6e2; border-radius: 20px; overflow: hidden; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.npp-next__card:hover { border-color: var(--green-600); box-shadow: 0 14px 30px -24px rgba(20, 24, 26, .35); }
.npp-next__pic { position: relative; display: block; aspect-ratio: 4 / 3; background: #e3efe6; overflow: hidden; }
.npp-next__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.npp-next__body { display: flex; flex-direction: column; flex: 1; padding: 20px; }
.npp-next__title { font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.npp-next__text { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--ink-3); }
.npp-next__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 20px; font-size: 15px; font-weight: 600; color: var(--green-600); }
.npp-next__go [data-lucide], .npp-next__go svg { width: 16px; height: 16px; }
.npp-next__more { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 32px; margin-top: 28px; }

/* — «Что ещё сделать на участке»: 6 карточек 3 × 2 — */
@media (min-width: 1200px) {
  .services-row.npp-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; overflow: visible; }
  .services-row.npp-related .service-card { width: auto; min-width: 0; flex: none; }
}
.npp-related .service-card .pic { position: relative; }

/* — Квиз: textarea от 3 до 10 строк, растягивается только по вертикали — */
.npp-page .npp-textarea { resize: vertical; min-height: calc(3 * 1.5em + 28px); max-height: calc(10 * 1.5em + 28px); line-height: 1.5; }

/* — Родитель: блок «Подробно о каждом покрытии» (#vidy-pokrytiya) — */
.npp-hub__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.npp-hub__grid > li { display: flex; }
.npp-hub-card { display: flex; flex-direction: column; width: 100%; background: #fff; border: 1px solid #e4e6e2; border-radius: 20px; overflow: hidden; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.npp-hub-card:hover { border-color: var(--green-600); box-shadow: 0 14px 30px -24px rgba(20, 24, 26, .35); }
.npp-hub-card__media { position: relative; display: block; aspect-ratio: 4 / 3; background: #e3efe6; overflow: hidden; }
.npp-hub-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.npp-hub-card__name { font-size: 19px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.npp-hub-card__price { margin-top: 8px; font-size: 15px; font-weight: 700; color: var(--green-700); }
.npp-hub-card__text { margin-top: 10px; font-size: 15px; line-height: 1.5; color: var(--ink-3); }
.npp-hub-card__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 20px; font-size: 15px; font-weight: 600; color: var(--green-600); }
.npp-hub-card__go [data-lucide], .npp-hub-card__go svg { width: 16px; height: 16px; }
.npp-hub__note { margin-top: 20px; }

/* ===================== Адаптив: планшет (1024) ===================== */
@media (max-width: 1199px) {
  .npp-h2 { font-size: 36px; }
  .npp-head { max-width: none; }
  .npp-cards__grid { gap: 20px; }
  .npp-card__body { padding: 20px; }
  .npp-steps__list, .npp-steps__list--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .npp-steps--pic .npp-steps__layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .npp-steps--pic .npp-steps__pic { position: relative; top: auto; max-width: 640px; }
  .npp-steps--pic .npp-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .npp-steps--pic .npp-step { flex-direction: column; gap: 10px; }
  .npp-compare__row { grid-template-columns: 170px minmax(0, 1fr) minmax(0, 1fr); gap: 20px; padding: 16px 20px; font-size: 15px; }
  .npp-split--pic { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .npp-split--pic.npp-split--flip .npp-split__pic { order: 0; }
  .npp-split__pic { max-width: 640px; }
  .npp-price__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .npp-check__card { padding: 32px 28px; }
  .npp-vs__row { grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr); font-size: 15px; }
  .npp-vs__row > span { padding: 16px 18px; }
  .npp-promise__card { padding: 32px 28px; }
  .npp-promise__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .npp-doubt { padding: 22px; }
  .npp-haspic { grid-template-columns: minmax(0, 1fr) 240px; column-gap: 28px; }
  .npp-haspic .npp-cards__grid { grid-template-columns: minmax(0, 1fr); }
  .npp-haspic .npp-doubts__grid { grid-template-columns: minmax(0, 1fr); }
  .npp-haspic .npp-steps__list, .npp-haspic .npp-steps__list--5 { grid-template-columns: minmax(0, 1fr); }
  .npp-haspic .npp-compare__row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .npp-haspic .npp-compare__row--head { display: none; }
  .npp-haspic .npp-vs__row { grid-template-columns: minmax(0, 1fr); }
  .npp-haspic .npp-vs__row--head { display: none; }
  .npp-haspic .npp-vs__lab { display: inline; }
  .npp-haspic .npp-vs__row > span { padding: 12px 16px; }
  .npp-haspic .npp-pc__grid { grid-template-columns: minmax(0, 1fr); }
  .npp-next__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .npp-hub__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
}

/* ===================== Адаптив: телефон (390) ===================== */
@media (max-width: 767px) {
  .npp-h2 { font-size: 28px; }
  .npp-head { margin-bottom: 22px; }
  .npp-lead, .npp-split__p { font-size: 16px; }
  .npp-card__title { font-size: 19px; }
  /* Ленты карточек вбок — общие .m-swipe / .t-swipe (css/adaptive/_base.css): карточка 316px и край следующей */
  .npp-steps__list, .npp-steps--pic .npp-steps__list, .npp-haspic .npp-steps__list { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .npp-step { padding: 18px; }
  .npp-steps--pic .npp-step { flex-direction: row; gap: 14px; }
  .npp-compare__row, .npp-haspic .npp-compare__row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 16px; }
  .npp-compare__row--head { display: none; }
  .npp-split__cta, .npp-check__cta, .npp-price__btn { width: 100%; justify-content: center; min-height: 52px; }
  .npp-price__factors, .npp-price__card { padding: 22px 18px; }
  .npp-price__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .npp-price__num { font-size: 32px; }
  .npp-check__card { padding: 24px 18px; border-radius: 20px; }
  .npp-check__list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .npp-pc__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .npp-pc__col { padding: 22px 18px; }
  .npp-vs__row { grid-template-columns: minmax(0, 1fr); }
  .npp-vs__row--head { display: none; }
  .npp-vs__row > span { padding: 12px 16px; }
  .npp-vs__topic { padding-top: 16px !important; padding-bottom: 4px !important; font-size: 16px; }
  .npp-vs__us { padding-bottom: 14px !important; }
  .npp-vs__lab { display: inline; }
  .npp-promise__card { padding: 24px 18px; border-radius: 20px; }
  .npp-promise__grid, .npp-haspic .npp-promise__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 20px; }
  .npp-promise__item { padding: 16px; }
  .npp-doubts__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .npp-doubt { padding: 20px 18px; }
  .npp-doubt__q { font-size: 17px; }
  /* Картинка сбоку уходит под текст блока, во всю ширину, 4:3 */
  .npp-haspic { display: block; }
  .npp-haspic > .npp-aside { position: relative; top: auto; margin-top: 24px; aspect-ratio: 4 / 3; border-radius: 20px; }
  .npp-next__more { flex-direction: column; align-items: center; gap: 20px; }
}
