/* nvm-pages.css — только то, что не входит в компоненты. */

/* ---- design/demo/css/nvm-pages.css ---- */
/* Страницы макета: палитра, типографика hero, прайс и карточка товара.
   Переключение: ?palette=a|b|c&hero=1|2|3&h1=old&type=0|a|c, атрибуты на <html>.
   Фон один: палитра A, вариант c2. Параметр ?bg не читается.
   Шрифты заголовков — Bellota (решение Алексея 16.10), текст — Inter. */

/* Cormorant Garamond снят 16.10. */
html[data-palette="a"] {
  --nvm-ink: var(--nvm-color-ink);
  --nvm-muted: var(--nvm-color-muted);
  --nvm-line-strong: var(--nvm-color-control);
  --c-line: var(--nvm-color-control);
  --nvm-action: var(--nvm-color-action);
  --nvm-coral: var(--nvm-color-action);
  --nvm-action-hover: var(--nvm-color-action-hover);
  --nvm-accent: var(--nvm-color-link);
  --c-primary: var(--nvm-color-action);
  --c-primary-hover: var(--nvm-color-action-hover);
  --c-teal: var(--nvm-color-link);
  --c-text: var(--nvm-color-ink);
  --c-muted: var(--nvm-color-muted);
}
html[data-palette="b"] {
  --nvm-ink: var(--nvm-color-ink);
  --nvm-muted: var(--nvm-color-muted);
  --nvm-line-strong: var(--nvm-color-control);
  --c-line: var(--nvm-color-control);
  --nvm-action: var(--nvm-color-action);
  --nvm-coral: var(--nvm-color-action);
  --nvm-action-hover: var(--nvm-color-action-hover);
  --nvm-accent: var(--nvm-color-bronze);
  --c-primary: var(--nvm-color-action);
  --c-primary-hover: var(--nvm-color-action-hover);
  --c-teal: var(--nvm-color-bronze);
  --c-text: var(--nvm-color-ink);
  --c-muted: var(--nvm-color-muted);
}
html[data-palette="c"] {
  --nvm-ink: var(--nvm-color-ink);
  --nvm-muted: var(--nvm-color-muted);
  --nvm-line-strong: var(--nvm-color-control);
  --c-line: var(--nvm-color-control);
  --nvm-action: var(--nvm-color-action);
  --nvm-coral: var(--nvm-color-action);
  --nvm-action-hover: var(--nvm-color-action-hover);
  --nvm-accent: #334a62;
  --c-primary: var(--nvm-color-action);
  --c-primary-hover: var(--nvm-color-action-hover);
  --c-teal: #334a62;
  --c-text: var(--nvm-color-ink);
  --c-muted: var(--nvm-color-muted);
}
/* Фон зафиксирован: c2, тон 45°, насыщенность около 18–20%.
   Страница, карточка и плашка. c1, c3 и ?bg сняты. */
html[data-palette] {
  --nvm-page: var(--nvm-color-page);
  --nvm-page-rgb: 246, 245, 242;
  --nvm-surface: var(--nvm-ed-paper, var(--nvm-color-page));
  --nvm-card: var(--nvm-ed-paper, var(--nvm-color-page));
  --nvm-plaque: var(--nvm-color-inset);
  --nvm-line: var(--nvm-ed-line, var(--nvm-color-line));
}
body.nvm-page {
  margin: 0;
  background: var(--nvm-page);
  color: var(--nvm-ink);
  font-family: var(--nvm-ed-font-sans);
}
:where(.nvm-page) :focus-visible { outline: 2px solid var(--nvm-accent); outline-offset: 2px; }
.nvm-page .nvm-yreviews__eyebrow { color: var(--nvm-ed-mint); }
.nvm-page #nvm-svc a.underline, .nvm-page #nvm-svc a.font-bold { color: var(--nvm-color-link); }
.nvm-page #nvm-svc .text-slate-900, .nvm-page #nvm-svc .text-slate-800, .nvm-page #nvm-svc .text-slate-700 { color: var(--nvm-ink); }
.nvm-page #nvm-svc .bg-rose-50 {
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--nvm-accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
}
.nvm-pd__grid { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr); gap: 48px; align-items: start; }
.nvm-pd h1 { margin: 0; font-style: normal; font-weight: var(--nvm-h1-weight); font-size: var(--nvm-h1-size); line-height: var(--nvm-h1-lh); color: var(--nvm-ink); overflow-wrap: anywhere;}
.nvm-pd__lead { margin: var(--nvm-ed-s4) 0 0; font-size: 17px; line-height: 1.6; color: var(--nvm-ink);  overflow-wrap: anywhere;}
.nvm-pd__price { margin: var(--nvm-ed-s5) 0 0; font-family: var(--nvm-font-heading); font-style: normal; font-weight: 400; font-size: 36px; line-height: 1;}
.nvm-pd__note { margin: var(--nvm-ed-s3) 0 0; color: var(--nvm-muted); font-size: 14px; line-height: 1.55; }
.nvm-pd__bar { display: flex; align-items: center; gap: var(--nvm-ed-s3); margin-top: var(--nvm-ed-s5); }
.nvm-pd__qty { display: inline-flex; align-items: center; border: 1px solid var(--nvm-color-control); border-radius: var(--nvm-ed-r-pill); background: var(--nvm-surface); }
.nvm-pd__qty button { width: 44px; height: 44px; border: 0; background: transparent; color: var(--nvm-ink); font-size: 20px; cursor: pointer; }
.nvm-pd__qty input { width: 42px;
  border-top-width: 0; border-top-style: none; border-right-width: 0; border-right-style: none; border-bottom-width: 0; border-bottom-style: none; border-left-width: 0; border-left-style: none; background: transparent; text-align: center;
  font-style: normal; font-weight: 500; font-size: 16px; line-height: 1; color: var(--nvm-ink); }
.nvm-pd__cart {
  flex: 1; min-height: 48px; padding: 0 var(--nvm-ed-s6); border: 0; border-radius: var(--nvm-ed-r-pill);
  background: var(--nvm-action); color: var(--nvm-color-surface);
  font-style: normal; font-weight: 600; font-size: 16px; line-height: 1; cursor: pointer;
}
.nvm-pd__cart:hover { background: var(--nvm-action-hover); }
.nvm-pd__tags { display: flex; flex-wrap: wrap; gap: var(--nvm-ed-s2); margin: var(--nvm-ed-s5) 0 0; padding: 0; list-style: none; }
.nvm-pd__tags li {
  padding: var(--nvm-ed-s1) var(--nvm-ed-s3);
  border-radius: var(--nvm-ed-r-pill);
  color: var(--nvm-color-ink);
  font-size: 14px;
  line-height: 1.5;
}
.nvm-pd__block { margin-top: 48px;  overflow-wrap: anywhere;}
.nvm-pd__block h2 { margin: 0 0 var(--nvm-ed-s4);}
.nvm-pd__related { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--nvm-ed-s4); }

@media (max-width: 900px) {
.nvm-pd__grid { grid-template-columns: minmax(0, 1fr); gap: var(--nvm-ed-s6);}
}
@media (max-width: 900px) {
.nvm-pd__related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
.nvm-pd__buy { position: static; }
}
@media (max-width: 767px) {
.nvm-page--product .nvm-pd__bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 950;
    margin: 0; padding: var(--nvm-ed-s3) var(--nvm-ed-s4) calc(var(--nvm-ed-s3) + env(safe-area-inset-bottom));
    background: var(--nvm-surface); border-top: 1px solid var(--nvm-line);
  }
}
@media (min-width: 768px) {

.lp-viz--enhanced .lp-viz__scene-frame { aspect-ratio: 16 / 10; border-radius: var(--lp-viz-r-frame); }
}
@media (min-width: 768px) {
.nvm-pd__buy { position: sticky; top: var(--nvm-motion-sticky, 105px); }
}
.nvm-mech, .nvm-benefits, .nvm-video-steps, .nvm-links-block, .nvm-pokaz-block {
  min-width: 0;
  font: 400 16px/1.6 var(--nvm-ed-font-sans);
  color: var(--nvm-ed-ink);
}
.nvm-faq__lead:empty { display: none; }
/* Reveal общий в motion.js; без JS содержимое видно. */
section.nvm-mech {
  box-sizing: border-box;
  max-width: var(--nvm-container);
  padding: 0;
}
.nvm-mech__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin: 0 0 32px;
}
.nvm-mech__intro { min-width: 0; }
.nvm-mech__eyebrow {
  display: flex;
  align-items: center;
  gap: var(--nvm-ed-s3);
  margin: 0 0 var(--nvm-ed-s3);
  color: var(--nvm-accent, var(--nvm-ed-mint));
  font: 400 12px/1 var(--nvm-ed-font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.nvm-mech__eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
}
h2.nvm-mech__title {
  letter-spacing: -.02em;
}
.nvm-mech__shell {
  overflow: hidden;
  border: 1px solid var(--nvm-line, var(--nvm-ed-line));
  border-radius: var(--nvm-ed-r-lg);
  background: var(--nvm-ed-white);
}
.nvm-mech__top { box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  padding: 28px;
}
.nvm-mech__figure { box-sizing: border-box;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--nvm-line, var(--nvm-ed-line));
  border-radius: var(--nvm-ed-r-lg);
  background: var(--nvm-bg-band);
}
.nvm-mech__figure > .nvm-skin-anim {
  height: 100%;
  aspect-ratio: 4 / 3;
}
.nvm-mech__media > .nvm-mechanism-scheme__caption { margin: 0; }
.nvm-mech__label {
  display: flex;
  align-items: center;
  gap: var(--nvm-ed-s2);
  margin: 0 0 var(--nvm-ed-s3);
  color: var(--nvm-accent, var(--nvm-ed-mint));
  font: 400 11px/1.3 var(--nvm-ed-font-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nvm-mech__label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
h3.nvm-mech__h {
  margin: 0 0 var(--nvm-ed-s4);
  color: var(--nvm-ink, var(--nvm-ed-ink));
  font-style: normal; font-weight: 400; font-size: 37px; line-height: 1.08;
}
.nvm-mech__text p {
  margin: 0;
  color: var(--nvm-ed-muted);
  font: 400 15px/1.75 var(--nvm-ed-font-sans);
}
.nvm-mech__text p + p { margin-top: var(--nvm-ed-s3); }
.nvm-mech__remark { box-sizing: border-box;
  margin: var(--nvm-ed-s4) 0 0;
  padding-top: var(--nvm-ed-s3);
  border-top: 1px solid var(--nvm-line, var(--nvm-ed-line));
  color: var(--nvm-accent, var(--nvm-ed-mint));
  font: 400 12px/1.5 var(--nvm-ed-font-sans);
}
.nvm-mech__text blockquote { box-sizing: border-box;
  margin: 0 0 var(--nvm-ed-s3);
  padding-left: var(--nvm-ed-s4);
  border-left: 2px solid var(--nvm-accent, var(--nvm-ed-mint));
  color: var(--nvm-ink, var(--nvm-ed-ink));
  font: 400 15px/1.75 var(--nvm-ed-font-sans);
}

.nvm-mech__text .nvm-flow { display: flex; flex-wrap: wrap; gap: var(--nvm-ed-s2); margin: var(--nvm-ed-s3) 0; padding: 0; list-style: none; }

.nvm-mech__text .nvm-flow li { box-sizing: border-box; padding: var(--nvm-ed-s2) var(--nvm-ed-s3); border: 1px solid var(--nvm-line, var(--nvm-ed-line)); border-radius: var(--nvm-ed-r-pill); background: var(--nvm-bg-band); color: var(--nvm-ink, var(--nvm-ed-ink)); font: 600 13px/1.3 var(--nvm-ed-font-sans); }

.nvm-mech__text .nvm-flow em { font-weight: 400; }

.nvm-mech__media { display: flex; flex-direction: column; gap: var(--nvm-ed-s5); min-width: 0; }

.nvm-mech__top:has(.nvm-mech__tips) { align-items: stretch; }
@media (min-width: 1100px) {

  .nvm-mech__top:has(.nvm-mech__tips) .nvm-mech__figure { flex: 1 1 auto; min-height: 240px; aspect-ratio: auto; }
}
@media (min-width: 1100px) {

  .nvm-mech__top:has(.nvm-mech__tips) .nvm-mech__copy { display: flex; flex-direction: column; }
}
@media (min-width: 1100px) {

  .nvm-mech__top:has(.nvm-mech__tips) .nvm-mech__remark { margin-top: auto; }
}
.nvm-mech__steps { box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: nvmMech;
  border-top: 1px solid var(--nvm-line, var(--nvm-ed-line));
}
.nvm-mech__step {
  position: relative;
  box-sizing: border-box;
  padding: var(--nvm-ed-s6) var(--nvm-ed-s6) 28px;
  border-right: 1px solid var(--nvm-line, var(--nvm-ed-line));
}
.nvm-mech__step:last-child { border-right: 0; }
.nvm-mech__num {
  display: flex;
  align-items: center;
  gap: var(--nvm-ed-s3);
  margin: 0 0 var(--nvm-ed-s3);
}
.nvm-mech__num::before {
  content: counter(nvmMech, decimal-leading-zero);
  counter-increment: nvmMech;
  color: var(--nvm-accent, var(--nvm-ed-mint));
  font: 400 34px/1 var(--nvm-ed-font-display);
}
.nvm-mech__arrow {
  color: var(--nvm-accent, var(--nvm-ed-mint));
  font: 400 18px/1 var(--nvm-ed-font-sans);
}
.nvm-mech__step h3 {
  margin: 0 0 var(--nvm-ed-s2);
  color: var(--nvm-ink, var(--nvm-ed-ink));
  font-style: normal; font-weight: 600; font-size: 14px; line-height: 1.5;
}
.nvm-mech__step > p:last-child {
  margin: 0;
  color: var(--nvm-ink, var(--nvm-ed-ink));
  font: 400 13px/1.65 var(--nvm-ed-font-sans);
}

.nvm-mech__eyebrow:empty, .nvm-mech__title:empty, .nvm-mech__label:empty, .nvm-mech__h:empty, .nvm-mech__remark:empty, .nvm-mech__text p:empty, .nvm-mech__steps:empty { display: none; }
@media (hover: hover) and (pointer: fine) {
@media (prefers-reduced-motion: no-preference) {
.nvm-mech__step { transition: background-color .2s ease; }
}
}
@media (hover: hover) and (pointer: fine) {
.nvm-mech__step:hover { background: var(--nvm-ed-paper); }
}
@media (hover: hover) and (pointer: fine) {
.nvm-mech__step:hover::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: var(--nvm-accent, var(--nvm-ed-mint));
  }
}
@media (max-width: 1099px) {
section.nvm-mech { padding: 0; }
}
@media (max-width: 1099px) {
.nvm-mech__top {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding: var(--nvm-ed-s6);
  }
}
@media (max-width: 1099px) {
h3.nvm-mech__h { font-size: 38px; }
}
@media (max-width: 1099px) {
.nvm-mech__text p { font-size: 16px; }
}
@media (max-width: 1099px) {
.nvm-mech__steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1099px) {
.nvm-mech__step {
    border-right: 1px solid var(--nvm-line, var(--nvm-ed-line));
    border-bottom: 1px solid var(--nvm-line, var(--nvm-ed-line));
  }
}
@media (max-width: 1099px) {
.nvm-mech__step:nth-child(2n) { border-right: 0; }
}
@media (max-width: 1099px) {
.nvm-mech__step:nth-last-child(-n + 2) { border-bottom: 0; }
}
@media (max-width: 767px) {
section.nvm-mech { padding: 0; }
}
@media (max-width: 767px) {
.nvm-mech__head { margin-bottom: var(--nvm-ed-s6); }
}
@media (max-width: 767px) {
.nvm-mech__shell { border-radius: var(--nvm-ed-r-lg); }
}
@media (max-width: 767px) {
.nvm-mech__top { gap: 26px; padding: var(--nvm-ed-s4); }
}
@media (max-width: 767px) {
.nvm-mech__figure { border-radius: var(--nvm-ed-r-lg); }
}
@media (max-width: 767px) {
h3.nvm-mech__h { font-size: 31px; }
}
@media (max-width: 767px) {
.nvm-mech__text p { font-size: 14px; }
}
@media (max-width: 767px) {
.nvm-mech__steps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
.nvm-mech__step {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: var(--nvm-ed-s3);
    align-items: start;
    border-right: 0;
    border-bottom: 1px solid var(--nvm-line, var(--nvm-ed-line));
  }
}
@media (max-width: 767px) {
.nvm-mech__step:last-child { border-bottom: 0; }
}
@media (max-width: 767px) {
.nvm-mech__num {
    grid-row: 1 / span 2;
    margin: 0;
  }
}
@media (max-width: 767px) {
.nvm-mech__num::before { font-size: 29px; }
}
@media (max-width: 767px) {
.nvm-mech__arrow { display: none; }
}
@media (max-width: 767px) {
.nvm-mech__step h3,
  .nvm-mech__step > p:last-child { grid-column: 2; }
}
@media (max-width: 767px) {
.nvm-mech__step h3 { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
.nvm-mech__step { transition: none; }
}
/* Декоративная графика каталога; размеры прежнего слота сохранены. */
.nvm-catalog__art,
.nvm-catalog__ornament {
  display: block;
  flex: none;
  color: var(--nvm-color-action);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.nvm-catalog__art { width: 52px; height: 52px; aspect-ratio: 1; }
.nvm-catalog__ornament {
  float: right;
  width: 144px;
  height: 72px;
  aspect-ratio: 2;
  margin: 0 0 var(--nvm-ed-s4) var(--nvm-ed-s6);
}
@media (max-width: 767px) {
  .nvm-catalog__art { width: 44px; height: 44px; }
  .nvm-catalog__ornament { width: 100px; height: 50px; margin: 0 0 var(--nvm-ed-s3) var(--nvm-ed-s4); }
}

/* Назначение процедуры: общий компонент услуг и препаратов «НОВА МИ». */
.nvm-effects {
  box-sizing: border-box;
  width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter)));
  max-width: var(--nvm-container);
  min-width: 0;
  margin-inline: auto;
  color: var(--nvm-ed-ink);
  font: 400 16px/1.6 var(--nvm-ed-font-sans);
}
.nvm-effects__head { min-width: 0; }
.nvm-effects .nvm-effects__title {
  margin: 0;
  max-width: 26ch;
  color: var(--nvm-ed-ink);
  font: 400 28px/1.2 var(--nvm-font-heading);
  letter-spacing: -.02em;
  text-align: left;
}
.nvm-effects__lead {
  max-width: 72ch;
  margin: var(--nvm-ed-s3) 0 0;
  color: var(--nvm-ed-muted);
}
.nvm-effects__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nvm-ed-s6);
  margin: var(--nvm-ed-s6) 0 0;
  padding: 0;
  list-style: none;
}
.nvm-effects__card {
  --accent: var(--nvm-accent);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: var(--nvm-ed-s3);
}
.nvm-effects[data-nvm-effects="text"] .nvm-effects__card {
  padding-top: var(--nvm-ed-s5);
  border-top: 1px solid var(--nvm-ed-mint);
}
.nvm-effects__card--photo { gap: var(--nvm-ed-s4); }
.nvm-effects__card--coral { --accent: var(--nvm-action); }
.nvm-effects__card--c2 { --accent: var(--c-muted, var(--nvm-muted)); }
.nvm-effects__hrow {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: var(--nvm-ed-s3);
}
.nvm-effects__icon {
  display: grid;
  flex: none;
  place-items: center;
  width: 28px;
  height: 28px;
  color: var(--accent, var(--nvm-accent));
}
.nvm-effects__icon .nvm-ed-ico {
  width: 20px;
  height: 20px;
}
.nvm-effects__card h3 {
  --nvm-font-heading: var(--nvm-ed-font-sans);
  min-width: 0;
  margin: 0;
  color: var(--nvm-ed-ink);
  font: 600 18px/1.4 var(--nvm-ed-font-sans);
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
.nvm-effects__card p {
  margin: 0;
  color: var(--nvm-ed-muted);
  font: 400 16px/1.6 var(--nvm-ed-font-sans);
}
.nvm-effects__photo { margin: 0; }
.nvm-effects__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--nvm-radius-card);
}
@media (min-width: 701px) {
  .nvm-effects .nvm-effects__title { font-size: 34px; line-height: 1.16; }
  .nvm-effects[data-nvm-effects="text"] .nvm-effects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nvm-effects[data-nvm-effects="text"] .nvm-effects__card { gap: var(--nvm-ed-s6); padding-top: var(--nvm-ed-s6); }
  .nvm-effects[data-nvm-effects="text"] .nvm-effects__card:last-child:nth-child(odd) { grid-column: 1 / -1; align-self: start; }
}
@media (min-width: 768px) {
  .nvm-effects[data-nvm-effects="photos"] .nvm-effects__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .nvm-effects[data-nvm-effects="text"] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 48px;
    align-items: start;
  }
  .nvm-effects .nvm-effects__title { font-size: 42px; }
  .nvm-effects[data-nvm-effects="text"] .nvm-effects__grid { margin: 0; gap: 32px; }
  .nvm-effects[data-nvm-effects="text"] .nvm-effects__grid:first-child { grid-column: 1 / -1; }
  .nvm-effects[data-nvm-effects="text"] .nvm-effects__card { border-top-color: var(--nvm-ed-line); padding-top: var(--nvm-ed-s5); gap: var(--nvm-ed-s4); }
  .nvm-effects[data-nvm-effects="text"] > .nvm-effect__note { grid-column: 2; }
}

.nvm-benefits__lead, .nvm-video-steps__lead {
  max-width: 72ch;
  margin: var(--nvm-ed-s3) 0 0;
  color: var(--nvm-ed-muted);
  font: 400 16px/1.6 var(--nvm-ed-font-sans);
}
.nvm-benefits__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nvm-gap-card);
  margin: var(--nvm-ed-s6) 0 0;
  padding: 0;
  list-style: none;
}
.nvm-benefits__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--nvm-radius-card);
  background: var(--nvm-surface);
}
.nvm-benefits__photo {
  margin: 0;
}
.nvm-benefits__photo :where(.nvm-benefits__image) {
  border-radius: 0;
}
.nvm-benefits__body { box-sizing: border-box;
  padding: var(--nvm-card-pad);
}
.nvm-benefits__card h3 {
  margin: 0 0 var(--nvm-ed-s2);
  color: var(--nvm-ink, var(--nvm-ed-ink));
  font-style: normal; font-weight: 400; font-size: 24px; line-height: 1.25;
}
.nvm-benefits__card p {
  margin: 0;
  color: var(--nvm-ink, var(--nvm-ed-ink));
  font: 400 16px/1.6 var(--nvm-ed-font-sans);
}
.nvm-benefits__note {
  margin: var(--nvm-ed-s4) 0 0;
  color: var(--nvm-ed-muted);
  font: 400 13px/1.5 var(--nvm-ed-font-sans);
  text-align: center;
}
@media (min-width: 768px) {
.nvm-benefits__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
.nvm-benefits__grid:has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
.nvm-benefits__card h3 { font-size: 22px; }
}
.nvm-video-steps__grid {
  --nvm-procedure-width: 380px;
  --nvm-procedure-ratio: 290 / 516;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  justify-items: center;
  margin-top: 32px;
}
.nvm-video-steps__phone { min-width: 0; width: 100%; text-align: center; }
.nvm-video-steps__device {
  position: relative;
  width: min(var(--nvm-procedure-width), 100%);
  aspect-ratio: var(--nvm-procedure-ratio);
  margin: 0 auto;
  box-sizing: border-box;
  overflow: hidden;
  border: 10px solid var(--nvm-ink, var(--nvm-ed-ink));
  border-radius: var(--nvm-ed-r-lg);
  background: var(--nvm-ink, var(--nvm-ed-ink));
}
.nvm-video-steps__device::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  width: 110px;
  height: 18px;
  border-radius: 0 0 var(--nvm-ed-r-sm) var(--nvm-ed-r-sm);
  background: var(--nvm-ink, var(--nvm-ed-ink));
  transform: translateX(-50%);
}
.nvm-video-steps__device video,
.nvm-video-steps__device .nvm-video-steps__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--nvm-ed-r-lg);
  background: var(--nvm-ed-paper);
}
.nvm-video-steps__list {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  display: grid;
  gap: var(--nvm-ed-s6);
  padding: 0;
  list-style: none;
  counter-reset: nvmStep;
}
.nvm-video-steps__item {
  position: relative;
  min-width: 0;
  box-sizing: border-box;
  min-height: var(--nvm-step-badge);
  padding: 0 0 var(--nvm-ed-s6) calc(var(--nvm-step-badge) + var(--nvm-step-gap));
  border-bottom: 1px solid var(--nvm-ed-line);
  counter-increment: nvmStep;
}
.nvm-video-steps__item:last-child { padding-bottom: 0; border-bottom: 0; }
.nvm-video-steps__item::after {
  content: "";
  position: absolute;
  top: var(--nvm-step-badge);
  bottom: calc(-1 * var(--nvm-ed-s6));
  left: calc((var(--nvm-step-badge) - 1px) / 2);
  width: 1px;
  background: var(--nvm-ed-line);
}
.nvm-video-steps__item:last-child::after { display: none; }
.nvm-video-steps__item::before {
  content: counter(nvmStep, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: var(--nvm-step-badge);
  height: var(--nvm-step-badge);
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: var(--nvm-h-cta);
  color: var(--nvm-ed-white);
  font-family: var(--font-num);
  font-weight: 400;
  font-size: var(--nvm-step-num);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}
.nvm-video-steps__list h3 {
  display: block;
  margin: calc((var(--nvm-step-badge) - 1.3 * 24px) / 2) 0 var(--nvm-ed-s2);
  color: var(--nvm-ed-ink);
  font-style: normal; font-weight: 400; font-size: 24px; line-height: 1.3;
}
.nvm-video-steps__list p {
  display: block;
  margin: 0;
  color: var(--nvm-ed-ink);
  font: 400 16px/1.6 var(--nvm-ed-font-sans);
}
@media (min-width: 1025px) {
.nvm-video-steps__grid {
    --nvm-procedure-width: 312px;
    grid-template-columns: minmax(0, var(--nvm-procedure-width)) minmax(0, 62ch);
    justify-content: start;
    justify-items: stretch;
  }
}
.nvm-video-steps__grid:not(:has(.nvm-video-steps__phone)) {
  grid-template-columns: minmax(0, 1fr);
}

.nvm-price-legal, .nvm-price-legal p {
  max-width: 72ch;
  color: var(--nvm-ed-muted);
  font-size: 14px;
  line-height: 1.55;
}
/* Общая перелинковка услуг: структура принадлежит чанкам nvm.related.services. */
.nvm-related-services {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nvm-ed-s8);
  padding: var(--nvm-ed-s8) var(--nvm-ed-s4);
  background: var(--nvm-ed-paper);
  color: var(--nvm-ed-ink);
  font-family: var(--nvm-ed-font-sans);
}
.nvm-related-services__head { min-width: 0; }
.nvm-related-services__eyebrow {
  margin: 0 0 var(--nvm-ed-s4);
  color: var(--nvm-ed-muted);
  font-size: 13px;
  line-height: 1.5;
}
.nvm-related-services__title {
  max-width: 13ch;
  margin: 0;
  font-family: var(--nvm-font-heading);
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 400;
  line-height: 1.12;
  text-wrap: balance;
}
.nvm-related-services__lead {
  max-width: 36ch;
  margin: var(--nvm-ed-s5) 0 0;
  font-size: 15px;
  line-height: 1.6;
}
.nvm-related-services__list {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nvm-related-services__item { margin: 0; border-top: 1px solid var(--nvm-ed-line); }
.nvm-related-services__item:last-child { border-bottom: 1px solid var(--nvm-ed-line); }
.nvm-related-services__link {
  display: grid;
  grid-template-columns: 2ch 56px minmax(0, 1fr) 20px;
  align-items: center;
  gap: var(--nvm-ed-s2);
  min-height: 104px;
  padding: var(--nvm-ed-s4) 0;
  box-sizing: border-box;
  color: var(--nvm-ed-ink);
  text-decoration: none;
}
.nvm-related-services__number { color: var(--nvm-ed-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.nvm-related-services__photo {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--nvm-ed-mint-tint);
}
.nvm-related-services__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nvm-related-services__name { min-width: 0; overflow-wrap: anywhere; hyphens: auto; font-family: var(--nvm-font-heading); font-size: 18px; line-height: 1.3; }
.nvm-related-services__arrow { font-size: 25px; line-height: 1; text-align: right; }
.nvm-related-services__link:focus-visible { outline: 2px solid var(--nvm-ed-focus); outline-offset: 4px; }
@media (hover: hover) {
  .nvm-related-services__link:hover { color: var(--nvm-ed-coral); }
}
@media (min-width: 768px) {
  .nvm-related-services { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr); gap: var(--nvm-ed-s8); padding: var(--nvm-ed-s9) var(--nvm-ed-s7); }
  .nvm-related-services__link { grid-template-columns: 2ch 80px minmax(0, 1fr) 28px; gap: var(--nvm-ed-s4); min-height: 120px; }
  .nvm-related-services__photo { width: 80px; height: 80px; }
  .nvm-related-services__name { font-size: 22px; }
}
@media (min-width: 1280px) {
  .nvm-related-services { gap: var(--nvm-ed-s10); padding: var(--nvm-ed-s10) var(--nvm-ed-s8); }
  .nvm-related-services__link { grid-template-columns: 2ch 96px minmax(0, 1fr) 32px; gap: var(--nvm-ed-s6); min-height: 136px; }
  .nvm-related-services__photo { width: 96px; height: 96px; }
  .nvm-related-services__name { font-size: 26px; }
}

.nvm-links {
  display: grid;
  align-items: stretch;
  gap: var(--nvm-ed-s5);
}
.nvm-card__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
@media (min-width: 768px) {
.nvm-links { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1025px) {
.nvm-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
a.nvm-card { box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--nvm-ed-s2);
  height: 100%;
  min-height: 72px;
  padding: var(--nvm-ed-s4) var(--nvm-ed-s5);
  border: 1px solid var(--nvm-line, var(--nvm-ed-line));
  border-radius: var(--nvm-ed-r-md);
  background: var(--nvm-card, var(--nvm-ed-paper));
  color: var(--nvm-ed-ink);
  text-decoration: none;
}
a.nvm-card:focus-visible {
  outline: 2px solid var(--nvm-ed-focus);
  outline-offset: 2px;
}
.nvm-card__rubric {
  color: var(--nvm-ed-muted);
  font: 500 12px/1.3 var(--nvm-ed-font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nvm-card__title {
  color: var(--nvm-ed-ink);
  font: 400 20px/1.3 var(--nvm-font-heading);
}
@media (min-width: 1025px) {
a.nvm-card .nvm-card__title { font-size: 22px; }
}
a.nvm-card.nvm-card--review .nvm-card__title {
  font: 400 13px/1.4 var(--nvm-ed-font-sans);
}
.nvm-links-block__lead a {
  text-underline-offset: 3px;
}
.nvm-card__more { box-sizing: border-box;
  margin-top: auto;
  padding-top: var(--nvm-ed-s3);
  color: var(--nvm-accent, var(--nvm-ed-mint));
  font: 500 16px/1.4 var(--nvm-ed-font-sans);
}
.nvm-card__rubric:empty, .nvm-card__text:empty, .nvm-card__more:empty { display: none; }
.nvm-hero-core__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--nvm-ed-s2) var(--nvm-ed-s3);
  margin: var(--nvm-ed-s4) 0 0;
}
.nvm-hero-core__price-value {
  color: var(--nvm-ed-ink);
  font: 400 clamp(32px, 4vw, 44px)/1.1 var(--nvm-ed-font-display);
}
.nvm-hero-core__price-unit {
  color: var(--nvm-ed-muted);
  font: 400 16px/1.4 var(--nvm-ed-font-sans);
}
.nvm-pl h2.nvm-section__title {
  max-width: none;
  letter-spacing: 0;
}
.nvm-pl > .nvm-calc-cta__root {
  grid-area: calc;
  min-width: 0;
  margin-top: var(--nvm-s6, 24px);
}
.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__head, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__head, .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__head, .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-video-steps > .nvm-section__head, .nvm-page:is(.nvm-page--service, .nvm-page--drug).nvm-ed .nvm-special .nvm-docs-sec > .nvm-section__head {
  padding-top: var(--nvm-ed-s6);
  border-top: 1px solid var(--nvm-ed-line);
  margin-bottom: 32px;
}

.nvm-page.nvm-page--drug.nvm-ed .nvm-special .nvm-mech__title, .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-section__title {
  letter-spacing: -.02em;
  max-width: 26ch;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__shell, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__shell {
  border: 0;
  border-radius: var(--nvm-ed-r-lg);
  background: var(--nvm-ed-white);
  box-shadow: none;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__top, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__top {
  padding: 32px;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 48px;
  align-items: start;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__figure, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__figure {
  border: 0;
  border-radius: var(--nvm-ed-r-md);
  aspect-ratio: 4/3;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__copy, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__copy { box-sizing: border-box;
  padding: var(--nvm-ed-s2) 0;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__h, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__h {
  font-style: normal; font-weight: 400; font-size: 30px; line-height: 1.2;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__text p, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__text p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--nvm-ed-ink);
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__remark, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__remark {
  font-size: 14px;
  line-height: 1.6;
  padding-top: var(--nvm-ed-s5);
  margin-top: var(--nvm-ed-s6);
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__steps, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__steps {
  border-top: 1px solid var(--nvm-ed-line);
  padding: var(--nvm-ed-s6) 32px;
  gap: var(--nvm-ed-s6);
  background: transparent;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__grid {
  gap: var(--nvm-ed-s6);
  align-items: start;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__card {
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__photo {
  overflow: hidden;
  border-radius: var(--nvm-ed-r-md);
  border: 0;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__body {
  padding: var(--nvm-ed-s5) 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  height: auto;
  min-height: 0;
  overflow: visible;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__card h3 {
  font-style: normal; font-weight: 600; font-size: 18px; line-height: 1.4;
  margin-bottom: var(--nvm-ed-s3);
  --nvm-font-heading: var(--nvm-ed-font-sans);
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__card p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--nvm-ed-muted);
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__note {
  text-align: left;
  margin-top: var(--nvm-ed-s6);
}



.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-sec-faq { box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,2fr);
  gap: 48px;
  align-items: start;


}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-sec-faq > .nvm-section__head {
  margin: 0;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-faq__list {
  min-width: 0;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-faq__list details {
  border-radius: 0;
  border-top-width: 0; border-top-style: none; border-top-color: currentcolor; border-right-width: 0; border-right-style: none; border-right-color: currentcolor; border-left-width: 0; border-left-style: none; border-left-color: currentcolor;
  background: transparent;
  margin: 0;
  padding: 0;
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-links {
  gap: var(--nvm-ed-s6);
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-links a {
  border-radius: var(--nvm-ed-r-md);
  box-shadow: none;
}

@media (min-width:701px) and (max-width:1024px) {
.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__grid {
    gap: var(--nvm-ed-s5);
  }
}
@media (min-width:701px) and (max-width:1024px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__top,
.nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__top {
    gap: var(--nvm-ed-s6);
    padding: var(--nvm-ed-s6);
  }
}
@media (min-width:701px) and (max-width:1024px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__h,
.nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__h {
    font-size: 26px;
  }
}
@media (min-width:701px) and (max-width:1024px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__copy,
.nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__copy {
    padding: 0;
  }
}
@media (min-width:701px) and (max-width:1024px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-sec-faq {
    grid-template-columns: minmax(0,1fr) minmax(0,2fr);
    gap: var(--nvm-ed-s6);
  }
}
@media (max-width:700px) {
.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__head, .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__head, .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__head, .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-video-steps > .nvm-section__head, .nvm-page:is(.nvm-page--service, .nvm-page--drug).nvm-ed .nvm-special .nvm-docs-sec > .nvm-section__head {
    padding-top: var(--nvm-ed-s5);
    margin-bottom: var(--nvm-ed-s6);
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__top,
.nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__top {
    grid-template-columns: minmax(0,1fr);
    padding: var(--nvm-ed-s5);
    gap: var(--nvm-ed-s6);
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__copy,
.nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__copy {
    padding: 0;
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__h,
.nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__h {
    font-size: 26px;
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-mech__steps,
.nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__steps {
    padding: var(--nvm-ed-s5);
    grid-template-columns: minmax(0,1fr);
    gap: var(--nvm-ed-s5);
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__grid {
    gap: 32px;
    grid-template-columns: minmax(0,1fr);
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-benefits__body {
    padding-top: var(--nvm-ed-s4);
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-sec-faq {
    display: block;

}
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-sec-faq > .nvm-section__head {
    margin-bottom: var(--nvm-ed-s6);
  }
}
@media (max-width:700px) {

  .nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-faq__list summary {
    padding-block: var(--nvm-ed-s5);
  }
}

.nvm-legal .nv-section-content p, .nvm-legal .nv-section-content li { color: var(--nvm-color-ink); }
.nvm-legal__table-scroll { overflow-x: auto; }
.nvm-legal table { width: 100%; border-collapse: collapse; }
.nvm-legal table:not(.nvm-legal__table) { table-layout: fixed; }
.nvm-legal__table { min-width: 720px; table-layout: auto; }

.nvm-legal td, .nvm-legal th { padding: var(--nvm-ed-s2) var(--nvm-ed-s3); border-bottom: 1px solid var(--nvm-ed-line, var(--nvm-color-line)); vertical-align: top; }
.nvm-legal table:not(.nvm-legal__table) td, .nvm-legal table:not(.nvm-legal__table) th { overflow-wrap: anywhere; }
.nvm-legal__table td, .nvm-legal__table th { overflow-wrap: normal; }
.nvm-miss { text-align: left; }

.nvm-contact__map :where(.nvm-contact__map-image) { display: block; width: 100%; height: auto; }
/* Контраст статьи поверх постраничного CSS: специфичность выше селекторов #id. */
body.nvm-page--article article[id^="nvm-"] {
  --ink: var(--nvm-color-ink);
  --muted: var(--nvm-color-muted);
  --paper: var(--nvm-color-inset);
  --line: var(--nvm-ed-line, var(--nvm-color-line));
  --coral: var(--nvm-color-action);
  --mint: var(--nvm-color-link);
}

.trends-count { color: #101827; font-variant-numeric: tabular-nums; }
.nvm-lk-shell {
  width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter)));
  margin-top: 28px; margin-right: auto; margin-left: auto;
  color: var(--nvm-color-ink);
}

.nvm-lk-shell h1, .nvm-lk-shell h2, .nvm-prose .nvm-lk-shell .nvm-form h2 {
  color: var(--nvm-color-ink);
}

.nvm-special .nvm-tpl .nvm-chip.is-on .nvm-chip__n { color: rgba(247, 246, 243, .8); }
.nvm-special .nvm-tpl .nvm-snap { min-width: 0; max-width: 100%; }
.nvm-special .nvm-tpl .nvm-cp { width: auto; max-width: 100%; margin: 40px 0 0; }

.nvm-special .nvm-tpl .nvm-cp-diagram[data-active-step="soft"] [data-layer="soft"], .nvm-special .nvm-tpl .nvm-cp-diagram[data-active-step="medium"] [data-layer="medium"], .nvm-special .nvm-tpl .nvm-cp-diagram[data-active-step="volume"] [data-layer="volume"], .nvm-special .nvm-tpl .nvm-cp-diagram[data-active-step="booster"] [data-layer="booster"] { opacity: 1; }
.nvm-special .nvm-tpl .nvm-cp-tab {
  display: flex;
  gap: var(--nvm-ed-s2);
  align-items: center;
  min-width: 0;
  min-height: 72px;
  padding: var(--nvm-ed-s3);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--nvm-ed-r-sm);
  background: var(--card);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.nvm-special .nvm-tpl .nvm-cp-tab.is-active, .nvm-special .nvm-tpl .nvm-cp-tab[aria-selected="true"] { border-color: var(--nvm-ed-coral); background: #f8f1ee; }

.nvm-special .nvm-tpl .nvm-cp-tab strong, .nvm-special .nvm-tpl .nvm-cp-tab small { display: block; overflow-wrap: anywhere; }
.nvm-special .nvm-tpl .nvm-cp-tab small { color: var(--muted); font: 400 12px/1.3 var(--nvm-ed-font-sans); }
.nvm-special .nvm-tpl .nvm-cp-panel { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md); background: var(--nvm-color-surface); }
.nvm-special .nvm-tpl .nvm-cp-panel[hidden] { display: none; }
.nvm-special .nvm-tpl .nvm-cp-panel h3 { margin: var(--nvm-ed-s2) 0; }
.nvm-special .nvm-tpl .nvm-cp-panel p { margin: 0; color: var(--muted); }
/* ---- newsite/assets/css/src/pages-service-blocks.css ---- */
/* Блоки услуг. Токены пакета не подключаются вторым слоем: цвета берутся с сайта, шаг 4px только внутри компонента. */
[data-nvm-component] {
  --nvm-s1: 4px; --nvm-s2: 8px; --nvm-s3: 12px; --nvm-s4: 16px; --nvm-s5: 20px;
  --nvm-s6: 24px; --nvm-s7: 28px; --nvm-s8: 32px; --nvm-s10: 40px;
  --nvm-s12: 48px; --nvm-s16: 64px; --nvm-section: 80px;
  --nvm-header-y: 26px; --nvm-header-x: 28px; --nvm-border: 1px; --nvm-focus: 2px;
  --nvm-control: 48px; --nvm-avatar: 64px; --nvm-icon: 32px; --nvm-stroke: 1.5;
  --nvm-letterspace: .08em; --nvm-leading: 1.6; --nvm-fast: 180ms;
  --nvm-h2: clamp(26px, 4.4vw, 40px); --nvm-h3: 18px; --nvm-body: 16px;
  --nvm-small: 14px; --nvm-legal: 13px; --nvm-caption: 12px; --nvm-price: 32px;
}
@media (max-width: 767px) {
[data-nvm-component] { --nvm-section: 48px; --nvm-header-y: 20px; --nvm-header-x: 18px; }
}
.nvm-calc-cta__root {box-sizing:border-box;max-width:100%;margin-block:0;font:400 var(--nvm-body)/var(--nvm-leading) var(--nvm-font-body);color:var(--nvm-ink)}
.nvm-calc-cta__root [hidden] {display:none}
.nvm-calc-cta__root :where(h2,h3,p,figure,blockquote,ul,ol,fieldset) {margin:0}
.nvm-calc-cta__header { box-sizing: border-box;position:relative;padding:var(--nvm-header-y) var(--nvm-header-x);background:var(--nvm-surface);border:var(--nvm-border) solid var(--nvm-line);border-radius:var(--nvm-radius-card);overflow:hidden;margin-bottom:var(--nvm-s6)}
.nvm-calc-cta__header::before {content:"";position:absolute;inset:var(--nvm-s6) auto var(--nvm-s6) 0;width:var(--nvm-s1);background:var(--nvm-action)}
.nvm-calc-cta__title {text-wrap:balance}
.nvm-calc-cta__lead { box-sizing: border-box;font-size:var(--nvm-body);color:var(--nvm-muted);padding-top:var(--nvm-s3);max-width:72ch}
.nvm-calc-cta__button { box-sizing: border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--nvm-s3);min-height:56px;padding:12px 28px;border-radius:var(--nvm-ed-r-pill);background: var(--nvm-h-cta);color: var(--nvm-h-cta-ink);font:600 var(--nvm-small)/1.4 var(--nvm-font-body);text-decoration:none;cursor:pointer}

.nvm-calc-cta__button:hover, .nvm-calc-cta__button:active {background: var(--nvm-h-cta); border: 0}
.nvm-calc-cta__root :focus-visible {outline:var(--nvm-focus) solid var(--nvm-accent);outline-offset:var(--nvm-s1)}
@media(max-width:767px) {
.nvm-calc-cta__lead {font-size:var(--nvm-small)}
}
.nvm-calc-cta__layout { box-sizing: border-box;display:grid;grid-template-columns:3fr 2fr;gap:var(--nvm-s6);padding:var(--nvm-s7);background:var(--nvm-surface);border:var(--nvm-border) solid var(--nvm-line);border-radius:var(--nvm-radius-card)}
.nvm-calc-cta__controls {min-width:0;--nvm-calc-columns:3;--nvm-calc-option-height:72px;--nvm-calc-mark:16px}
.nvm-calc-cta__fieldset {border:0;padding:0;min-width:0}
.nvm-calc-cta__fieldset+.nvm-calc-cta__fieldset {margin-top:var(--nvm-s8)}
.nvm-calc-cta__legend { box-sizing: border-box;font-size:var(--nvm-small);font-weight:600;padding:0 0 var(--nvm-s4)}
.nvm-calc-cta__chips { box-sizing: border-box;display:grid;grid-template-columns:repeat(var(--nvm-calc-columns),minmax(0,1fr));grid-auto-rows:minmax(var(--nvm-calc-option-height),auto);gap:var(--nvm-s2);padding:var(--nvm-s1)}
.nvm-calc-cta__option { box-sizing: border-box;position:relative;display:grid;grid-template-columns:var(--nvm-calc-mark) minmax(0,1fr) var(--nvm-calc-mark);align-items:center;gap:var(--nvm-s1);border:var(--nvm-border) solid var(--nvm-line-strong);border-radius:var(--nvm-radius-control);padding:var(--nvm-s3) var(--nvm-s2);height:100%;min-width:0;font-size:var(--nvm-small);line-height:1.4;cursor:pointer}
.nvm-calc-cta__option span {grid-column:2;text-align:center;overflow-wrap:normal;hyphens:auto}
.nvm-calc-cta__chip {overflow-wrap:normal;hyphens:auto}
.nvm-calc-cta__option:has(input:checked) {background:color-mix(in srgb, var(--nvm-h-cta) 8%, var(--nvm-color-surface));color:var(--nvm-color-dark);border-color:var(--nvm-h-cta)}
.nvm-calc-cta__option:has(input:focus-visible) {outline:var(--nvm-focus) solid var(--nvm-accent);outline-offset:var(--nvm-s1)}
.nvm-calc-cta__option input {accent-color:var(--nvm-accent);margin:0;width:var(--nvm-calc-mark);height:var(--nvm-calc-mark)}
.nvm-calc-cta__option:hover {border-color:var(--nvm-accent)}
.nvm-calc-cta__result { box-sizing: border-box;position:sticky;top:var(--nvm-s6);align-self:start;background:var(--nvm-plaque);border-radius:var(--nvm-radius-control);padding:var(--nvm-s7);min-width:0;box-shadow:var(--nvm-ed-shadow-lift)}
.nvm-calc-cta__price {display:block;font:400 var(--nvm-price)/1.3 var(--nvm-font-price);color:var(--nvm-ink);min-height:calc(var(--nvm-price)*2.6);margin:var(--nvm-s4) 0 var(--nvm-s2);font-variant-numeric:tabular-nums}
.nvm-calc-cta__summary {font-size:var(--nvm-small);color:var(--nvm-muted);min-height:calc(var(--nvm-small)*4.8)}
.nvm-calc-cta__button {width:100%;margin-top:var(--nvm-s5); border: 0}
.nvm-calc-cta__context { box-sizing: border-box;font-size:var(--nvm-legal);color:var(--nvm-muted);padding-top:var(--nvm-s5)}
.nvm-calc-cta__field {display:flex;flex-direction:column;gap:var(--nvm-s2);font-size:var(--nvm-small);max-width:100%}
.nvm-calc-cta__number {width:100%;box-sizing:border-box;min-height:var(--nvm-control);
  border-width: var(--nvm-border); border-style: solid;border-radius:var(--nvm-radius-control);background:var(--nvm-surface);padding:var(--nvm-s3) var(--nvm-s4);color:var(--nvm-ink)}
.nvm-calc-cta__ranges {list-style:none;padding:0;margin-top:var(--nvm-s5);display:grid;gap:var(--nvm-s2)}
.nvm-calc-cta__range { box-sizing: border-box;display:grid;gap:var(--nvm-s1);padding:var(--nvm-s3) var(--nvm-s4);border:var(--nvm-border) solid var(--nvm-line);border-radius:var(--nvm-radius-control);font-size:var(--nvm-small)}
.nvm-calc-cta__range-main {display:flex;justify-content:space-between;gap:var(--nvm-s4)}
.nvm-calc-cta__range-note {display:block;color:var(--nvm-muted);font-size:var(--nvm-caption);line-height:1.4}
.nvm-calc-cta__range[aria-current="true"] {border-color:var(--nvm-accent);background:var(--nvm-plaque)}
.nvm-calc-cta__range[aria-current="true"]::before {content:"✓";color:var(--nvm-accent)}
.nvm-calc-cta__error { box-sizing: border-box;min-height:var(--nvm-s6);font-size:var(--nvm-small);padding-top:var(--nvm-s2)}
.nvm-calc-cta__fallback { box-sizing: border-box;padding-top:var(--nvm-s6);font-size:var(--nvm-small);color:var(--nvm-muted)}
.nvm-calc-cta__fallback summary {cursor:pointer;min-height:var(--nvm-control);display:flex;align-items:center;text-decoration:underline;text-underline-offset:var(--nvm-s1)}
.nvm-calc-cta__table {border-collapse:collapse;width:100%;font-size:var(--nvm-small)}

.nvm-calc-cta__table td, .nvm-calc-cta__table th { box-sizing: border-box;padding:var(--nvm-s3);border-bottom:var(--nvm-border) solid var(--nvm-line);text-align:left;font-weight:400}
.nvm-calc-cta__table td:last-child {white-space:nowrap;text-align:right}
@media(max-width:1023px) {
.nvm-calc-cta__controls {--nvm-calc-columns:2}
}
@media(max-width:1023px) {
.nvm-calc-cta__layout {padding:var(--nvm-s5);gap:var(--nvm-s4)}
}
@media(max-width:1023px) {
.nvm-calc-cta__result {padding:var(--nvm-s5)}
}
@media(max-width:767px) {
.nvm-calc-cta__layout {grid-template-columns:1fr;padding:var(--nvm-s4)}
}
@media(max-width:767px) {
.nvm-calc-cta__result {position:static}
}
@media(max-width:767px) {
.nvm-calc-cta__price {min-height:calc(var(--nvm-price)*1.3)}
}
@media(max-width:767px) {
.nvm-calc-cta__summary {min-height:calc(var(--nvm-small)*3.2)}
}
@media(max-width:359px) {
.nvm-calc-cta__controls {--nvm-calc-columns:1}
}
@media(prefers-reduced-motion:no-preference) {
@keyframes nvm-calc-cta-fade{from{opacity:.55}to{opacity:1}}
}
.nvm-peel-depth__root {box-sizing:border-box;width:min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter)));margin-inline:auto;margin-block:0;font:400 var(--nvm-body)/var(--nvm-leading) var(--nvm-font-body);color:var(--nvm-ink)}
.nvm-peel-depth__root [hidden] {display:none}
.nvm-peel-depth__root :where(h2,h3,p,figure,blockquote,ul,ol,fieldset) {margin:0}
.nvm-peel-depth__root :focus-visible {outline:var(--nvm-focus) solid var(--nvm-accent);outline-offset:var(--nvm-s1)}
.nvm-peel-depth__highlight {fill:none;stroke:var(--nvm-accent);stroke-width:var(--nvm-s1)}
@media(prefers-reduced-motion:no-preference) {
.nvm-peel-depth__highlight--revealed {animation:nvm-peel-depth-reveal 700ms ease-out both}
}
@media(prefers-reduced-motion:no-preference) {
@keyframes nvm-peel-depth-reveal{from{opacity:.25}to{opacity:1}}
}
/* На телефоне схема занимает ширину карточки; текст остаётся в исходном SVG. */
@media (max-width:480px) {
  .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__top {
    padding: 0;
  }
  .nvm-page.nvm-page--drug.nvm-ed .nvm-special :where(.nvm-mech) .nvm-mech__copy {
    padding: 0 var(--nvm-ed-s5) var(--nvm-ed-s5);
  }
  .nvm-page--drug .nvm-mech__media > .nvm-mechanism-scheme__caption {
    padding-inline: var(--nvm-ed-s5);
  }
}
@media (max-width:480px), (min-width:701px) and (max-width:1024px) {
  .nvm-page--drug .nvm-mech__figure text {
    font-size: 41px;
  }
}
.nvm-mechanism-scheme__caption {font-size:var(--nvm-legal);color:var(--nvm-muted);text-wrap:pretty}
/* В колонке .nvm-container блок уже на ширине страницы. */
.nvm-container > :is(
  .nvm-mechanism-scheme__root,
  .nvm-result-timeline__root,
  .nvm-plla-steps__root,
  .nvm-plla-why-doctor__root,
  .nvm-expert-quotes__root,
  .nvm-peel-depth__root,
  .nvm-urgent-contact__root
) {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}
.nvm-actions { display: flex; flex-wrap: wrap; gap: var(--nvm-ed-s3); margin-top: var(--nvm-ed-s2); }
.nvm-faq details { margin: 0; }
/* Слот страницы: поставка занимает ширину main, как окно демо. Правила самого блока ниже не меняются. */
#nvm-main:has(.inus-viz-slot, .nir-viz-slot, .pig-viz-slot) { container-type: inline-size; }
/* NOVA ME · INUS RF — схема микроигольчатого РФ-лифтинга. Изоляция: .inus-viz, переменные --inus-viz-*. */

.inus-viz { font-size: 16px; line-height: normal;
  --inus-viz-page: var(--nvm-page, var(--nvm-color-page));
  --inus-viz-surface: var(--nvm-surface, var(--nvm-ed-paper, var(--nvm-color-page)));
  --inus-viz-plaque: var(--nvm-plaque, var(--nvm-color-inset));
  --inus-viz-line: var(--nvm-line, var(--nvm-ed-line, var(--nvm-color-line)));
  --inus-viz-ink: var(--nvm-ink, var(--nvm-color-ink));
  --inus-viz-muted: var(--nvm-muted, var(--nvm-ed-muted, var(--nvm-color-muted)));
  --inus-viz-line-strong: var(--nvm-line-strong, var(--nvm-color-control));
  --inus-viz-action: var(--nvm-action, var(--nvm-color-action));
  --inus-viz-action-hover: var(--nvm-action-hover, var(--nvm-color-action-hover));
  --inus-viz-accent: var(--nvm-accent, var(--nvm-color-link));
  --inus-viz-radius-card: var(--nvm-radius-card, 20px);
  --inus-viz-radius-control: var(--nvm-radius-control, var(--nvm-ed-r-sm));
  --inus-viz-radius-pill: 999px;
  --inus-viz-shadow: var(--nvm-ed-shadow-lift);
  --inus-viz-speed: 0.35s;

  box-sizing: border-box;

  font-family: var(--nvm-font-sans, "Inter", sans-serif);
  color: var(--inus-viz-ink);
}

.inus-viz svg { max-width: 100%; }

.inus-viz__container {
  width: 100%;
  max-width: var(--nvm-container, 1240px);
  margin: 0 auto;
  padding: 0 var(--nvm-gutter-mobile, 16px);
}
@media (min-width: 1024px) {
.inus-viz__container { padding: 0 var(--nvm-gutter-desktop, 24px); }
}
/* ---------- Шапка секции ---------- */

.inus-viz__head { margin: 0 0 clamp(16px, 3vw, 28px); }
.inus-viz__lead {
  margin: 12px 0 0;
  max-width: 720px;
  color: var(--inus-viz-muted);
  font-size: clamp(14px, 3vw, 16px);
  line-height: 1.6;
}
/* ---------- Раскладка ---------- */

.inus-viz__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(16px, 2.5vw, 28px);
  align-items: start;
  min-width: 0;
}
@media (min-width: 1100px) {
.inus-viz__layout {
    grid-template-columns: minmax(0, 1.62fr) minmax(320px, 0.88fr);
    align-items: stretch;
  }
}
@media (min-width: 1100px) {
.inus-viz__panel { height: 100%; }
}
@media (min-width: 1100px) {
/* Низ колонок заподлицо: кадр и плитки этапов тянутся на высоту ряда */
  .inus-viz__scene-col { display: flex; flex-direction: column; }
}
@media (min-width: 1100px) {
.inus-viz__scene-frame { flex: 1 1 auto; }
}
@media (min-width: 1100px) {
.inus-viz__stages { flex: 1 1 auto; align-content: stretch; }
}
/* ---------- Сцена ---------- */

.inus-viz__scene-col { min-width: 0; }
.inus-viz__scene-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 0 var(--nvm-ed-s4);
}
.inus-viz__scene-frame { box-sizing: border-box;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--nvm-color-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: 20px;
  box-shadow: var(--nvm-ed-shadow-lift);
  touch-action: pan-y;
}
.inus-viz__scene {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
/* Хит-зона кожи */
.inus-viz__skin-hit { cursor: pointer; outline: none; }
.inus-viz__skin-hit:focus-visible {
  stroke: var(--inus-viz-accent);
  stroke-width: 2;
  stroke-dasharray: 10 8;
}
/* Всплывающая подсказка слоя — только точный указатель */
.inus-viz__tip { box-sizing: border-box;
  position: absolute;
  z-index: 3;
  padding: 8px 12px;
  background: var(--inus-viz-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--inus-viz-radius-pill);
  box-shadow: var(--nvm-ed-shadow-lift);
  font-size: 12px;
  font-weight: 600;
  color: var(--inus-viz-ink);
  pointer-events: none;
  white-space: nowrap;
}
.inus-viz__tip[hidden] { display: none; }
/* ---------- Состояния сцены по этапам ---------- */

.inus-viz__svg-note { font-family: inherit; }
@media (prefers-reduced-motion: no-preference) {
[data-inus-viz-cream],
[data-inus-viz-pack],
[data-inus-viz-depthgroup],
[data-inus-viz-magnifier],
[data-inus-viz-vacuum-arrows],
[data-inus-viz-heat],
[data-inus-viz-arc],
[data-inus-viz-channel],
[data-inus-viz-trace],
[data-inus-viz-newfibers],
.inus-viz__fibro-halo {
  transition: opacity var(--inus-viz-speed) ease;
}
}
.inus-viz[data-stage="1"] [data-inus-viz-cream] { opacity: 1; }
.inus-viz[data-stage="1"] [data-inus-viz-pack] { opacity: 1; }

.inus-viz[data-stage="2"] [data-inus-viz-vacuum-arrows], .inus-viz[data-stage="3"] [data-inus-viz-vacuum-arrows], .inus-viz[data-stage="4"] [data-inus-viz-vacuum-arrows] { opacity: 0.45; }

.inus-viz[data-stage="3"] [data-inus-viz-depthgroup], .inus-viz[data-stage="4"] [data-inus-viz-depthgroup] { opacity: 1; }

/* Этапы 1–2: пунктирная «тень» заданной глубины до входа игл */
.inus-viz[data-stage="1"] [data-inus-viz-depthgroup], .inus-viz[data-stage="2"] [data-inus-viz-depthgroup] { opacity: 0.35; }
/* Шевроны вакуума: поток вверх, цикл 1.2 с */
@keyframes inusVizVacuum {
  0% { transform: translateY(6px); opacity: 0; }
  30% { opacity: 1; }
  100% { transform: translateY(-26px); opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
.inus-viz[data-stage="2"] [data-inus-viz-vacuum] {
  animation: inusVizVacuum 1.2s ease-in infinite;
}
}
@media (prefers-reduced-motion: no-preference) {
.inus-viz[data-stage="2"] [data-inus-viz-vacuum]:nth-child(2) { animation-delay: 0.2s; }
}
@media (prefers-reduced-motion: no-preference) {
.inus-viz[data-stage="2"] [data-inus-viz-vacuum]:nth-child(3) { animation-delay: 0.4s; }
}
/* Этап 6 · шкала времени */
.inus-viz[data-stage="6"][data-time="now"] [data-inus-viz-capillary] {
  stroke: var(--nvm-color-action);
  stroke-width: 2.2;
}

.inus-viz[data-stage="6"][data-time="days"] .inus-viz__fibro-halo, .inus-viz[data-stage="6"][data-time="months"] .inus-viz__fibro-halo { opacity: 0.85; }
.inus-viz[data-stage="6"][data-time="months"] [data-inus-viz-newfibers] { opacity: 0.95; }
/* ---------- Сравнение принципов ---------- */

.inus-viz__compare[hidden] { display: none; }
.inus-viz__compare { box-sizing: border-box;
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px;
  background: var(--nvm-color-surface);
}
.inus-viz__compare-svg {
  display: block;
  width: 100%;
  height: auto;
}
.inus-viz__compare-caption {
  margin: 8px 0 var(--nvm-ed-s1);
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--inus-viz-muted);
}
/* ---------- Карточка мобильной лупы ---------- */

.inus-viz__lens-card[hidden] { display: none; }
.inus-viz__lens-card { box-sizing: border-box;
  margin-top: 12px;
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--inus-viz-radius-card);
  overflow: hidden;
  box-shadow: var(--nvm-ed-shadow-lift);
}
.inus-viz__lens-card svg { display: block; width: 100%; height: auto; }
@media (min-width: 768px) {
.inus-viz__lens-card { display: none; }
}
/* ---------- Статичный fallback без JS ---------- */

.inus-viz__static { box-sizing: border-box;
  margin-top: 16px;
  padding: 20px 20px;
  background: var(--inus-viz-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--inus-viz-radius-card);
}
.inus-viz__static-title {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--inus-viz-ink);
}
.inus-viz__static-list { box-sizing: border-box;
  margin: 0;
  padding: 0 0 0 20px;
  color: var(--inus-viz-muted);
  font-size: 14px;
  line-height: 1.65;
}
.inus-viz__static-list strong { color: var(--inus-viz-ink); }
.inus-viz--enhanced .inus-viz__static { display: none; }

.inus-viz:not(.inus-viz--enhanced) .inus-viz__panel, .inus-viz:not(.inus-viz--enhanced) .inus-viz__deck { display: none; }
.inus-viz:not(.inus-viz--enhanced) .inus-viz__status { display: none; }
/* ---------- Панель ---------- */

.inus-viz__panel {
  display: flex;
  flex-direction: column;
  gap: var(--nvm-ed-s4);
  min-width: 0;
}
.inus-viz__status { box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: var(--nvm-ed-s2);
  margin: 0;
  padding: 8px 16px;
  min-height: 36px;
  background: var(--inus-viz-plaque);
  border-radius: var(--inus-viz-radius-pill);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--inus-viz-muted);
}
.inus-viz__status-dot {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--inus-viz-line-strong);
}
.inus-viz__status[data-state="demo"] .inus-viz__status-dot { background: var(--inus-viz-accent); }
.inus-viz__status[data-state="manual"] .inus-viz__status-dot { background: var(--inus-viz-action); }
.inus-viz__status[data-state="pause"] .inus-viz__status-dot { background: var(--inus-viz-line-strong); }
@media (min-width: 1100px) {

  .inus-viz__scene-top {
    grid-template-columns: minmax(0, 1.62fr) minmax(320px, 0.88fr);
    gap: clamp(16px, 2.5vw, 28px);
  }
}
@media (min-width: 1100px) {


  .inus-viz__status { grid-column: 2; min-height: 54px; }
}
/* ---------- Полоса контролов (вся ширина блока) ---------- */

.inus-viz__deck {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nvm-ed-s4);
  min-width: 0;
}
@media (min-width: 768px) {
.inus-viz__deck { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
.inus-viz__cartridge,
  .inus-viz__time,
  .inus-viz__controls,
  .inus-viz__actions { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
.inus-viz__deck { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
.inus-viz__cartridge { grid-column: auto; }
}
/* Карточка этапа */
.inus-viz__card { box-sizing: border-box;
  padding: 16px 20px;
  background: var(--inus-viz-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--inus-viz-radius-card);
  box-shadow: var(--nvm-ed-shadow-lift);
}
.inus-viz__card-step {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--inus-viz-accent);
}
.inus-viz__card-title {
  margin: 0 0 8px;
  min-height: 1.3em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--inus-viz-ink);
}
.inus-viz__card-text {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--inus-viz-muted);
  min-height: 4.65em;
}
.inus-viz__card-params { box-sizing: border-box;
  margin: 0 0 12px;
  padding-top: 12px;
  min-height: calc(2.9em + 11px);
  border-top: 1px dashed var(--nvm-ed-line);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--inus-viz-ink);
}

/* Аккуратные переносы: баланс заголовков/подписей, без переноса по слогам */
.inus-viz__card-title, .inus-viz__card-text, .inus-viz__card-params, .inus-viz__stage-name, .inus-viz__stage-caption, .inus-viz__group-name, .inus-viz__minimap-caption {
  text-wrap: balance;
  hyphens: none;
}
.inus-viz__legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
.inus-viz__legend { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.inus-viz__legend-item { box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--nvm-ed-s2);
  min-width: 0;
  padding: var(--nvm-ed-s1) 12px;
  background: var(--inus-viz-plaque);
  border-radius: var(--inus-viz-radius-pill);
  font-size: 12px;
  line-height: 1.2;
  color: var(--inus-viz-ink);
}
.inus-viz__legend-dot { box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid var(--nvm-ed-line);
}
.inus-viz__legend-dot--epi { background: #efc9b0; }
.inus-viz__legend-dot--derma { background: #e6ab95; }
.inus-viz__legend-dot--hypo { background: #f1d9a6; }
.inus-viz__legend-dot--collagen { background: #e7b7ad; }
.inus-viz__legend-dot--heat { background: #e08a5f; }
.inus-viz__legend-dot--fibro { background: var(--nvm-color-action-hover); }
/* ---------- Переключатель этапов ---------- */

.inus-viz__stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 8px;
}
.inus-viz__stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--nvm-ed-s1);
  min-width: 0;
  min-height: 46px;
  padding: 12px 12px;
  background: var(--inus-viz-surface);
  border: 1px solid var(--inus-viz-line-strong);
  border-radius: var(--inus-viz-radius-control);
  color: var(--inus-viz-ink);
  text-align: center;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.inus-viz__stage {
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
}
.inus-viz__stage:hover { background: var(--inus-viz-plaque); }
.inus-viz__stage-name {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: break-word;
}
.inus-viz__stage-caption {
  font-size: 12px;
  line-height: 1.3;
  color: var(--inus-viz-muted);
}
.inus-viz__stage[aria-pressed="true"] {
  background: var(--inus-viz-plaque);
}
.inus-viz__stage[aria-pressed="true"] .inus-viz__stage-name { color: var(--inus-viz-action-hover); }

/* ---------- Группы-сегменты (время, энергия, картридж) ---------- */
.inus-viz__time, .inus-viz__energy, .inus-viz__cartridge, .inus-viz__depth-box { box-sizing: border-box;
  padding: var(--nvm-ed-s4) 16px;
  background: var(--inus-viz-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--inus-viz-radius-card);
  box-shadow: var(--nvm-ed-shadow-lift);
}
.inus-viz__group-name {
  display: block;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--inus-viz-ink);
}
.inus-viz__segments {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 8px;
}
.inus-viz__segment {
  flex: 1 1 auto;
  min-height: 44px;
  padding: 8px 12px;
  background: var(--inus-viz-surface);
  border: 1px solid var(--inus-viz-line-strong);
  border-radius: var(--inus-viz-radius-control);
  color: var(--inus-viz-ink);
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.inus-viz__segment {
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
}
.inus-viz__segment:hover { background: var(--inus-viz-plaque); }
.inus-viz__segment[aria-pressed="true"] {
  background: var(--inus-viz-plaque);
  color: var(--inus-viz-action-hover);
}
.inus-viz__group-note {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--inus-viz-muted);
}
/* ---------- Слайдер глубины ---------- */

.inus-viz__range {
  appearance: none;
  display: block;
  width: 100%;
  height: 28px;
  margin: 0;
  background: transparent;
  cursor: pointer;
}
.inus-viz__range::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(to right, var(--inus-viz-accent) 0%, var(--inus-viz-accent) var(--inus-viz-fill, 50%), var(--inus-viz-line) var(--inus-viz-fill, 50%), var(--inus-viz-line) 100%);
}
.inus-viz__range::-webkit-slider-thumb {
  appearance: none;
  width: 22px;
  height: 22px;
  margin-top: calc(-1 * var(--nvm-ed-s2));
  border-radius: 50%;
  background: var(--inus-viz-surface);
  border: 2px solid var(--inus-viz-line-strong);
}
.inus-viz__range::-moz-range-track {
  height: 8px;
  border-radius: 999px;
  background: var(--inus-viz-line);
}
.inus-viz__range::-moz-range-progress {
  height: 8px;
  border-radius: 999px;
  background: var(--inus-viz-accent);
}
.inus-viz__range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--inus-viz-surface);
  border: 2px solid var(--inus-viz-line-strong);
}
.inus-viz__depth-scale {
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
  font-size: 12px;
  color: var(--inus-viz-muted);
}
.inus-viz__depth-value {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--inus-viz-accent);
}
.inus-viz__depth-scheme {
  font-weight: 400;
  color: var(--inus-viz-muted);
}
/* ---------- Мини-карта картриджа ---------- */

.inus-viz__minimap-box {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
.inus-viz__minimap {
  flex: 0 0 auto;
  width: 120px;
  height: 120px;
}
.inus-viz__minimap-caption {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--inus-viz-muted);
}
/* ---------- Кнопки ---------- */

.inus-viz__controls {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 768px) {
.inus-viz__controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.inus-viz__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 16px;
  border-radius: var(--inus-viz-radius-control);
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.inus-viz__btn {
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
}
.inus-viz__btn--outline {
  background: var(--inus-viz-surface);
  border: 1px solid var(--nvm-ed-coral);
  color: var(--inus-viz-action-hover);
}
.inus-viz__btn--outline:hover { background: var(--inus-viz-plaque); }
.inus-viz__btn--outline[aria-pressed="true"] {
  background: var(--inus-viz-plaque);
  color: var(--inus-viz-ink);
}
.inus-viz__btn-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
.inus-viz__btn-icon--play { display: none; }
.inus-viz__btn[data-playing="false"] .inus-viz__btn-icon--play { display: block; }
.inus-viz__btn[data-playing="false"] .inus-viz__btn-icon--pause { display: none; }
/* Ряд действий: сброс + запись, две равные кнопки */
.inus-viz__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
/* CTA — основная кнопка без тени */
.inus-viz__cta { box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: var(--nvm-ed-s4) 20px;
  border-radius: var(--inus-viz-radius-control);
  background: var(--nvm-h-cta);
  color: var(--nvm-h-cta-ink);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  text-decoration: none; border: 0}
@media (prefers-reduced-motion: no-preference) {
/* CTA — основная кнопка без тени */
.inus-viz__cta {
  transition: background-color 0.25s ease}
}
.inus-viz__cta:hover { background: var(--nvm-h-cta); border: 0}

/* Фокус с клавиатуры у всех контролов */
.inus-viz__btn:focus-visible, .inus-viz__reset:focus-visible, .inus-viz__cta:focus-visible, .inus-viz__stage:focus-visible, .inus-viz__segment:focus-visible, .inus-viz__range:focus-visible {
  outline: 2px solid var(--inus-viz-accent);
  outline-offset: 2px;
}
.inus-viz__range:focus-visible::-webkit-slider-thumb { border-color: var(--inus-viz-accent); }
.inus-viz__range:focus-visible::-moz-range-thumb { border-color: var(--inus-viz-accent); }
/* Примечание под блоком */
.inus-viz__note {
  margin: 24px 0 0;
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
  color: var(--inus-viz-muted);
}
/* Скрытый текст для чтения с экрана */
.inus-viz__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
@media (min-width: 1100px) {

  /* Три равные колонки полосы: содержимое равномерно по высоте ряда */
  .inus-viz__depth-box,
  .inus-viz__energy {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media (min-width: 1100px) {


  .inus-viz__depth-box .inus-viz__group-name,
  .inus-viz__energy .inus-viz__group-name { margin-bottom: 0; }
}
@media (min-width: 1100px) {


  .inus-viz__depth-box .inus-viz__depth-scale { margin-top: 0; }
}
@media (min-width: 1100px) {


  .inus-viz__depth-box .inus-viz__depth-value,
  .inus-viz__energy .inus-viz__group-note { margin-top: 0; }
}
@media (min-width: 1100px) {


  /* Узкая колонка панели: текст этапа 6 занимает до 4 строк — резерв */
  .inus-viz__card-text { min-height: 6.2em; }
}
@media (min-width: 1100px) and (max-width: 1279px) {

  .inus-viz__stage { padding: var(--nvm-ed-s3) var(--nvm-ed-s2); }
}
@media (min-width: 1100px) and (max-width: 1279px) {


  .inus-viz__stage-name { font-size: 12.5px; }
}
@media (min-width: 768px) and (max-width: 1099px) {

  /* Панель — одна колонка (карточка + плитки); полоса контролов — сетка 2×N
     (правила в .inus-viz__deck ≥ 768) */
  .inus-viz__card-text { min-height: 3.1em; }
}
@media (min-width: 768px) and (max-width: 1099px) {


  .inus-viz__card-params { min-height: calc(1.45em + 11px); }
}
@media (max-width: 767px) {

  .inus-viz__layout { gap: 16px; }
}
@media (max-width: 767px) {


  .inus-viz__head { margin-bottom: 16px; }
}
@media (max-width: 767px) {


  .inus-viz__scene-top { display: none; }
}
@media (max-width: 767px) {


  /* Кадр 1:1 только при активном JS */
  .inus-viz--enhanced .inus-viz__scene-frame {
    aspect-ratio: 1 / 1;
    border-radius: var(--inus-viz-radius-card);
  }
}
@media (max-width: 767px) {


  /* Слои ткани сжаты по вертикали, опора — линия поверхности */
  .inus-viz--enhanced .inus-viz__squash {
    transform: scaleY(0.55);
    transform-origin: 0 240px;
    transform-box: view-box;
  }
}
@media (max-width: 767px) {


  /* Линейка остаётся, промежуточные подписи скрыты */
  .inus-viz__ruler-mid { display: none; }
}
@media (max-width: 767px) {


  .inus-viz__stages {
    display: flex;
    gap: 8px;
    min-width: 0;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767px) {


  .inus-viz__stage {
    flex: 0 0 auto;
    min-width: 132px;
    min-height: 48px;
  }
}
@media (max-width: 767px) {


  .inus-viz__stage-name { font-size: 13px; }
}
@media (max-width: 767px) {

  .inus-viz__stage-caption { font-size: 12px; }
}
@media (max-width: 767px) {


  /* Сегменты: текст не вылезает никогда — компактные поля, перенос в 2 строки,
     крайний случай разрывается по break-word; кнопки группы одной высоты */
  .inus-viz__segments { gap: var(--nvm-ed-s2); align-items: stretch; }
}
@media (max-width: 767px) {


  .inus-viz__segment {
    min-width: 0;
    min-height: 48px;
    padding: 8px var(--nvm-ed-s1);
    text-wrap: balance;
    overflow-wrap: break-word;
  }
}
@media (max-width: 767px) {


  .inus-viz__card-text { min-height: 7.75em; }
}
@media (max-width: 767px) {


  .inus-viz__minimap { width: 96px; height: 96px; }
}
@media (max-width: 767px) {


  .inus-viz__btn { min-height: 48px; }
}
@media (max-width: 767px) {


  .inus-viz__cta { min-height: 52px; border: 0}
}
@media (max-width: 767px) {


  /* Бегунок крупнее под палец */
  .inus-viz__range::-webkit-slider-thumb { width: 28px; height: 28px; margin-top: calc(-1 * var(--nvm-ed-s3)); }
}
@media (max-width: 767px) {

  .inus-viz__range::-moz-range-thumb { width: 24px; height: 24px; }
}
@media (max-height: 480px) and (orientation: landscape) {

  .inus-viz__scene-frame { max-height: 72vh; }
}
@media (max-height: 480px) and (orientation: landscape) {

  .inus-viz--enhanced .inus-viz__scene-frame { aspect-ratio: 16 / 10; }
}
@media (pointer: fine) {

  .inus-viz__skin-hit:hover { stroke: var(--inus-viz-line-strong); stroke-width: 1; stroke-dasharray: 4 6; }
}
@media (prefers-reduced-motion: reduce) {

  .inus-viz[data-stage] [data-inus-viz-vacuum] { animation: none; }
}
/* Пигментация Dye-SR. Сетка как в design/anim/pigment. Заголовок берёт H2 страницы, бровь — .nvm-eyebrow, подсказка — .nvm-viz__hint. */
/* PIGMENT — схема Dye-SR · novame.ru · v1.0 · 11.10.2026
   Хром: палитра A / фон c2 (DESIGN-SYSTEM-ANIMATION.md). Все цвета — через --pig-viz-*,
   свои hex только внутри SVG. Стили заголовка h2 задаёт страница. */
.pig-viz { box-sizing: border-box;
  --pig-viz-font: inherit; --pig-viz-font-price: inherit;
  --pig-viz-text: var(--nvm-ink, var(--nvm-color-ink)); --pig-viz-muted: var(--nvm-muted, var(--nvm-ed-muted, var(--nvm-color-muted)));
  --pig-viz-surface: var(--nvm-surface, var(--nvm-ed-paper, var(--nvm-color-page))); --pig-viz-line: var(--nvm-line, var(--nvm-ed-line, var(--nvm-color-line))); --pig-viz-chip: var(--nvm-plaque, var(--nvm-color-inset));
  --pig-viz-accent: var(--nvm-action, var(--nvm-color-action)); --pig-viz-accent-hover: var(--nvm-action-hover, var(--nvm-color-action-hover)); --pig-viz-focus: var(--nvm-accent, var(--nvm-color-link));
  --pig-viz-gap: 12px; --pig-viz-gap-s: 8px; --pig-viz-pad: 20px;
  --pig-viz-r-card: 20px; --pig-viz-r-btn: var(--nvm-ed-r-sm); --pig-viz-r-frame: var(--nvm-ed-r-lg);
  --pig-viz-speed: .35s;
  --pig-viz-shadow: var(--nvm-ed-shadow-lift);
   overflow-wrap: normal; font-family: var(--pig-viz-font); color: var(--pig-viz-text);
  -webkit-text-size-adjust: 100%;
}
.pig-viz__container {max-width: var(--nvm-container, 1240px); margin-inline: auto; width: 100%; padding: 0 var(--nvm-gutter-desktop, 24px)}
.pig-viz__head {margin: 0 0 28px; max-width: 780px}
.pig-viz__eyebrow {margin: 0 0 var(--nvm-ed-s3)}
.pig-viz__lead {margin: 0; max-width: 720px; font-size: clamp(14px, 3vw, 16px); line-height: 1.6; color: var(--pig-viz-muted)}
.pig-viz__layout {display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--pig-viz-gap); align-items: start}
.pig-viz__scene-col {display: flex; flex-direction: column; gap: var(--pig-viz-gap); min-width: 0; margin-bottom: 12px}
.pig-viz__scene-frame { box-sizing: border-box;position: relative; aspect-ratio: 16 / 10; background: var(--nvm-frame, var(--nvm-color-surface)); border: 1px solid var(--nvm-ed-line); border-radius: var(--pig-viz-r-frame); box-shadow: var(--nvm-ed-shadow-lift); overflow: hidden; touch-action: pan-y}
.pig-viz__scene {display: block; width: 100%; height: 100%}
.pig-viz__hint {margin: 0}
.pig-viz__status { box-sizing: border-box;display: flex; align-items: center; gap: 8px; align-self: flex-start; max-width: 100%; height: 36px; margin: var(--nvm-ed-s2) 0 0; padding: 0 12px; background: var(--pig-viz-chip); border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--pig-viz-muted); white-space: nowrap; overflow: hidden}
.pig-viz__status-text {overflow: hidden; text-overflow: ellipsis}
.pig-viz__pill-dot {width: 8px; height: 8px; border-radius: 50%; background: var(--pig-viz-line); flex: none}
.pig-viz__status[data-state="demo"] .pig-viz__status-dot {background: var(--pig-viz-focus)}
.pig-viz__status[data-state="manual"] .pig-viz__status-dot {background: var(--pig-viz-accent)}
.pig-viz__stages {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px}
.pig-viz__stage {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--nvm-ed-s1); min-width: 0; min-height: 44px; padding: var(--nvm-ed-s1) var(--nvm-ed-s2); background: var(--pig-viz-surface); border: 1px solid var(--nvm-ed-line); border-radius: var(--pig-viz-r-btn); cursor: pointer}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__stage { transition: background .2s ease, border-color .2s ease, box-shadow .2s ease}
}
.pig-viz__stage-num {font-size: 12px; font-weight: 600; letter-spacing: .06em; color: var(--pig-viz-muted); font-variant-numeric: tabular-nums}
.pig-viz__stage-name {font-size: 14px; font-weight: 600; color: var(--pig-viz-text); white-space: nowrap}
.pig-viz__stage-digit {display: none; font-size: 16px; font-weight: 700; color: var(--pig-viz-text); font-variant-numeric: tabular-nums}
.pig-viz__stage[aria-pressed="true"] {background: var(--pig-viz-chip)}
.pig-viz__stage[aria-pressed="true"] .pig-viz__stage-name, .pig-viz__stage[aria-pressed="true"] .pig-viz__stage-digit {color: var(--pig-viz-accent-hover)}
.pig-viz__card { box-sizing: border-box;background: var(--pig-viz-surface); border: 1px solid var(--nvm-ed-line); border-radius: var(--pig-viz-r-card); box-shadow: var(--nvm-ed-shadow-lift); padding: var(--pig-viz-pad); min-width: 0}
.pig-viz__card-step {margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--pig-viz-muted); font-variant-numeric: tabular-nums}
.pig-viz__card-title {margin: var(--nvm-ed-s3) 0 0; height: 22px; font-size: 17px; font-weight: 700; line-height: 1.3; white-space: nowrap; overflow: hidden}
.pig-viz__card-meta { box-sizing: border-box;margin: 12px 0 0; border-top: 1px solid var(--nvm-ed-line)}
.pig-viz__card-row { box-sizing: border-box;display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--nvm-ed-line)}
.pig-viz__card-row dt {margin: 0; font-size: 13px; color: var(--pig-viz-muted)}
.pig-viz__card-row dd {margin: 0; font-size: 13px; font-weight: 600; text-align: right; color: var(--pig-viz-text); font-variant-numeric: tabular-nums}
.pig-viz__stack {display: grid; margin-top: 12px}

.pig-viz--enhanced .pig-viz__stack > :where(.pig-viz__card-text, .pig-viz__card-variant) {grid-area: 1 / 1; opacity: 0; visibility: hidden}
@media (prefers-reduced-motion: no-preference) {

.pig-viz--enhanced .pig-viz__stack > :where(.pig-viz__card-text, .pig-viz__card-variant) { transition: opacity .25s ease}
}
.pig-viz--enhanced .pig-viz__stack > .is-active {opacity: 1; visibility: visible}
.pig-viz__card-text {margin: 0; font-size: 14px; line-height: 1.55}
.pig-viz__card-scheme { box-sizing: border-box;margin: 8px 0 0; padding-top: 8px; border-top: 1px solid var(--nvm-ed-line); font-size: 12px; line-height: 1.45; color: var(--pig-viz-muted)}
.pig-viz__card-plaque { box-sizing: border-box;display: flex; align-items: center; min-height: 51px; margin: 12px 0 0; padding: var(--nvm-ed-s2) 12px; background: var(--pig-viz-chip); border-radius: var(--pig-viz-r-btn); font-size: 13px; line-height: 1.5; color: var(--pig-viz-text)}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__card-plaque { transition: background .25s ease}
}
.pig-viz__controls {display: grid; grid-template-columns: 1fr 1fr; gap: 8px}
.pig-viz__btn {display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 4px 12px; border-radius: var(--pig-viz-r-btn); font-size: 14px; font-weight: 600; line-height: 1.2; text-align: center; white-space: nowrap; cursor: pointer; text-decoration: none}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__btn { transition: background .2s ease, color .2s ease, border-color .2s ease}
}
.pig-viz__btn--ghost {background: var(--pig-viz-surface); border: 1px solid var(--nvm-ed-coral); color: var(--pig-viz-accent-hover)}
.pig-viz__btn--ghost:hover, .pig-viz__btn--ghost:active {background: var(--pig-viz-chip)}
.pig-viz__btn-icon {width: 14px; height: 14px; flex: none}
.pig-viz__btn-icon--pause {display: none}
.pig-viz[data-playing] .pig-viz__btn-icon--play {display: none}
.pig-viz[data-playing] .pig-viz__btn-icon--pause {display: block}
.pig-viz__cta { box-sizing: border-box;display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 4px 16px; background: var(--nvm-h-cta); border-radius: var(--pig-viz-r-btn); color: var(--nvm-h-cta-ink); font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; border: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__cta { transition: background .2s ease}
}
.pig-viz__cta:hover, .pig-viz__cta:active {background: var(--nvm-h-cta); border: 0}
.pig-viz__note {margin: 16px 0 0; font-size: 13px; line-height: 1.55; color: var(--pig-viz-muted)}
.pig-viz__sr {position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0}
.pig-viz button:focus-visible, .pig-viz a:focus-visible {outline: 2px solid var(--pig-viz-focus); outline-offset: 2px}
.pig-viz__static { box-sizing: border-box;display: none; margin: 12px 0 0; padding: 0 0 0 20px}
.pig-viz__static-item {margin-bottom: 12px}
.pig-viz__static-step {margin: 0 0 4px; font-size: 13px; font-weight: 600}
.pig-viz:not(.pig-viz--enhanced) .pig-viz__static {display: block}
.pig-viz:not(.pig-viz--enhanced) .pig-viz__stages, .pig-viz:not(.pig-viz--enhanced) .pig-viz__controls, .pig-viz:not(.pig-viz--enhanced) .pig-viz__stack, .pig-viz:not(.pig-viz--enhanced) .pig-viz__status {display: none}
.pig-viz:not(.pig-viz--enhanced) .pig-viz__card {background: none; border: 0; box-shadow: none; padding: 0}
/* ---------- сцена ---------- */
.pig-viz__bg {fill: var(--nvm-color-surface)}
.pig-viz__derm {fill: #efc2a0}
.pig-viz__upderm {fill: #f0b795}
.pig-viz__epi {fill: #f2c3a6}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__epi { transition: fill .35s ease}
}
.pig-viz__horny .pig-viz__flake {fill: #f7dfc9; stroke: #d9ab90; stroke-width: .9}
.pig-viz__epi-cells rect {fill: none; stroke: #dda98c; stroke-width: 1; opacity: .7}
.pig-viz__basal circle {fill: #8a5a3c; opacity: .5}
.pig-viz__melanin {fill: #8a5a3c; opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__melanin { transition: opacity .3s ease}
}
.pig-viz__collagen polyline {fill: none; stroke: #dd9d82; stroke-width: 1.7; opacity: .65}
.pig-viz__vessels path {fill: none; stroke: #d98a80; stroke-width: 2.2; opacity: .55; stroke-linecap: round}
.pig-viz[data-phototype="3"] .pig-viz__epi {fill: #efd0ba}
.pig-viz[data-phototype="4"] .pig-viz__epi {fill: #e6c3a8}
.pig-viz[data-phototype="5"] .pig-viz__epi {fill: #dab493}
.pig-viz[data-phototype="6"] .pig-viz__epi {fill: #cba280}
/* мишени: видны всегда; невыбранные приглушены, выбранная — с контуром */
.pig-viz__spot {opacity: .45}
@media (prefers-reduced-motion: no-preference) {
/* мишени: видны всегда; невыбранные приглушены, выбранная — с контуром */
.pig-viz__spot { transition: opacity var(--pig-viz-speed) ease}
}
.pig-viz__spot-ring {fill: none; stroke: var(--pig-viz-focus); stroke-width: 1.6; stroke-dasharray: 4 4; opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__spot-ring { transition: opacity .3s ease}
}
.pig-viz__spot-core circle {fill: #8a5a3c}
.pig-viz__spot--postacne .pig-viz__spot-core circle {fill: #9a6a4e}
.pig-viz__spot-pale {fill: #b08a6a; opacity: .55}
.pig-viz__mel-deep {fill: #8a5a3c; opacity: .8}
.pig-viz__spot-dark circle {fill: #4e3426}
.pig-viz__spot-dark {opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__spot-dark { transition: opacity .5s ease}
}
.pig-viz__spot-frag {opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__spot-frag { transition: opacity .5s ease, transform .9s ease}
}
.pig-viz__spot-frag circle {fill: #4e3426}
.pig-viz__cloud {fill: #c97a72; opacity: .5}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__cloud { transition: opacity .5s ease}
}

.pig-viz[data-spot="freckle"] .pig-viz__spot--freckle, .pig-viz[data-spot="postacne"] .pig-viz__spot--postacne, .pig-viz[data-spot="melasma"] .pig-viz__spot--melasma {opacity: 1}

.pig-viz[data-spot="freckle"] .pig-viz__spot--freckle .pig-viz__spot-ring, .pig-viz[data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__spot-ring, .pig-viz[data-spot="melasma"] .pig-viz__spot--melasma .pig-viz__spot-ring {opacity: 1}
/* этап 1: осмотр дерматоскопом */
.pig-viz__scope {opacity: 0; transform: translate(220px, 58px)}
@media (prefers-reduced-motion: no-preference) {
/* этап 1: осмотр дерматоскопом */
.pig-viz__scope { transition: opacity .3s ease}
}
.pig-viz__scope-lens {fill: #efece6; stroke: #b9b4ab; stroke-width: 2}
.pig-viz__scope-glass {fill: #cfe3ec; opacity: .85}
.pig-viz__scope-stick {fill: #d9d4ca; stroke: #b9b4ab; stroke-width: 1}
.pig-viz[data-stage="1"] .pig-viz__scope {opacity: 1}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="1"] .pig-viz__scope { animation: pigScope 4.8s ease-in-out infinite}
}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="1"] .pig-viz__mel-deep {animation: pigDeep 2.4s ease-in-out infinite alternate}
}

@keyframes pigScope{0%, 100%{transform: translate(220px, 58px)}33%{transform: translate(400px, 58px)}66%{transform: translate(580px, 58px)}}

@keyframes pigDeep{from{opacity: .45}to{opacity: .95}}
/* этап 2: гель + насадка + очки */
.pig-viz__hand {opacity: 1; transform: translateX(0)}
@media (prefers-reduced-motion: no-preference) {
/* этап 2: гель + насадка + очки */
.pig-viz__hand { transition: transform var(--pig-viz-speed) ease, opacity var(--pig-viz-speed) ease}
}
.pig-viz[data-spot="postacne"] .pig-viz__hand {transform: translateX(180px)}
.pig-viz[data-spot="melasma"] .pig-viz__hand {transform: translateX(360px)}
.pig-viz[data-stage="1"] .pig-viz__hand {opacity: 0}
.pig-viz__hand-body {fill: #efece6; stroke: #d9d4ca; stroke-width: 1.5}
.pig-viz__hand-neck {fill: #d9d4ca; stroke: #b9b4ab; stroke-width: 1}
.pig-viz__hand-label {font-size: 12px; fill: var(--nvm-ed-muted, var(--nvm-color-muted)); font-weight: 600}
.pig-viz__hand-win {fill: #cfe3ec; stroke: #b9c8cc; stroke-width: 1}
.pig-viz__hand-glare {fill: var(--nvm-color-surface); opacity: .6}
.pig-viz__gel {fill: #dfe9ec; opacity: 0; transform: scaleX(0); transform-origin: 146px 108px}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__gel { transition: opacity .3s ease, transform .6s ease}
}
.pig-viz__cool {opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__cool { transition: opacity .6s ease}
}
.pig-viz__glasses {opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__glasses { transition: opacity .35s ease}
}
.pig-viz__glasses circle, .pig-viz__glasses path {fill: none; stroke: var(--nvm-ed-muted, var(--nvm-color-muted)); stroke-width: 1.8}
.pig-viz__glasses text {font-size: 10.5px; fill: var(--nvm-ed-muted, var(--nvm-color-muted)); stroke: none}
.pig-viz:is([data-stage="2"], [data-stage="3"], [data-stage="4"], [data-stage="5"], [data-stage="6"]) .pig-viz__gel {opacity: .75; transform: scaleX(1)}
.pig-viz:is([data-stage="2"], [data-stage="3"], [data-stage="4"], [data-stage="5"], [data-stage="6"]) .pig-viz__cool {opacity: 1}
.pig-viz:is([data-stage="2"], [data-stage="3"], [data-stage="4"], [data-stage="5"], [data-stage="6"]) .pig-viz__glasses {opacity: 1}
/* этап 3: вспышка */
.pig-viz__beam {opacity: 0}
@media (prefers-reduced-motion: no-preference) {
/* этап 3: вспышка */
.pig-viz__beam { transition: opacity .4s ease}
}
.pig-viz[data-stage="3"] .pig-viz__beam {opacity: 1}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="3"] .pig-viz__beam { transition-duration: .15s}
}

.pig-viz[data-stage="3"] .pig-viz__spot--freckle .pig-viz__spot-core, .pig-viz[data-stage="3"] .pig-viz__spot--postacne .pig-viz__spot-core, .pig-viz[data-stage="3"] .pig-viz__spot--melasma .pig-viz__spot-core {filter: none}

.pig-viz[data-stage="3"][data-spot="freckle"] .pig-viz__spot--freckle .pig-viz__spot-core circle, .pig-viz[data-stage="3"][data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__spot-core circle, .pig-viz[data-stage="3"][data-spot="melasma"] .pig-viz__spot--melasma .pig-viz__spot-core circle {fill: #c96a3a}
/* шкала нагрева */
.pig-viz__scale-track {fill: #f3ece2; stroke: var(--nvm-ed-line, var(--nvm-color-line))}
.pig-viz__scale-guide {fill: none; stroke: #b9b4ab; stroke-width: 1; stroke-dasharray: 3 4}
.pig-viz__scale-zone {font-size: 10px; fill: var(--nvm-ed-muted, var(--nvm-color-muted))}
.pig-viz__scale-name {font-size: 10px; fill: var(--nvm-ed-muted, var(--nvm-color-muted)); font-weight: 600}
.pig-viz__scale-fill {transform: scaleY(0); transform-box: fill-box; transform-origin: 50% 100%}
@media (prefers-reduced-motion: no-preference) {
.pig-viz__scale-fill { transition: transform .5s ease}
}
.pig-viz__scale-fill--spot {fill: #e08a4a}
.pig-viz__scale-fill--skin {fill: #e3c25a}
.pig-viz[data-stage="3"] .pig-viz__scale-fill--spot {transform: scaleY(1)}
.pig-viz[data-stage="3"] .pig-viz__scale-fill--skin {transform: scaleY(.18)}
.pig-viz[data-stage="3"]:is([data-phototype="4"], [data-phototype="5"], [data-phototype="6"]) .pig-viz__scale-fill--skin {transform: scaleY(.55)}

/* этап 4: потемнение */
.pig-viz[data-stage="4"][data-spot="freckle"] .pig-viz__spot--freckle .pig-viz__spot-dark, .pig-viz[data-stage="5"][data-spot="freckle"] .pig-viz__spot--freckle .pig-viz__spot-dark, .pig-viz[data-stage="4"][data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__spot-dark, .pig-viz[data-stage="5"][data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__spot-dark, .pig-viz[data-stage="4"][data-spot="melasma"] .pig-viz__spot--melasma .pig-viz__spot-dark, .pig-viz[data-stage="5"][data-spot="melasma"] .pig-viz__spot--melasma .pig-viz__spot-dark {opacity: 1}
.pig-viz[data-stage="6"][data-spot="freckle"] .pig-viz__spot--freckle .pig-viz__spot-dark {opacity: .06}
.pig-viz[data-stage="6"][data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__spot-dark {opacity: .18}
.pig-viz[data-stage="6"][data-spot="melasma"] .pig-viz__spot--melasma .pig-viz__spot-dark {opacity: .25}
.pig-viz[data-stage="4"] .pig-viz__spot-core, .pig-viz[data-stage="5"] .pig-viz__spot-core, .pig-viz[data-stage="6"] .pig-viz__spot-core {opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="4"] .pig-viz__spot-core, .pig-viz[data-stage="5"] .pig-viz__spot-core, .pig-viz[data-stage="6"] .pig-viz__spot-core { transition: opacity .4s ease}
}
.pig-viz[data-stage="4"] .pig-viz__spot-frag {opacity: 1}
.pig-viz[data-stage="5"] .pig-viz__spot-frag {opacity: .95; transform: translateY(-58px)}
.pig-viz[data-stage="6"] .pig-viz__spot-frag {opacity: 0; transform: translateY(-70px)}

.pig-viz[data-stage="4"][data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__cloud, .pig-viz[data-stage="5"][data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__cloud, .pig-viz[data-stage="6"][data-spot="postacne"] .pig-viz__spot--postacne .pig-viz__cloud {opacity: .22}
.pig-viz[data-stage="6"][data-spot="melasma"] .pig-viz__spot--melasma .pig-viz__spot-pale {opacity: .25}
/* этап 5: чешуйки поднимаются вверх */
.pig-viz__shed rect {fill: #e8c9b2; stroke: #c9a184; stroke-width: .7; opacity: 0}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="5"] .pig-viz__shed rect {animation: pigShed 1.4s ease-in forwards}
}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="5"] .pig-viz__shed rect:nth-child(2) {animation-delay: .15s}
}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="5"] .pig-viz__shed rect:nth-child(3) {animation-delay: .3s}
}
@media (prefers-reduced-motion: no-preference) {
.pig-viz[data-stage="5"] .pig-viz__shed rect:nth-child(4) {animation-delay: .45s}
}

@keyframes pigShed{0%{opacity: 0; transform: translateY(0)}20%{opacity: .95}100%{opacity: 0; transform: translateY(-30px)}}
/* этап 6: SPF */
.pig-viz__spf {opacity: 0}
@media (prefers-reduced-motion: no-preference) {
/* этап 6: SPF */
.pig-viz__spf { transition: opacity .4s ease}
}
.pig-viz__spf rect {fill: var(--nvm-color-link)}
.pig-viz__spf text {fill: var(--nvm-color-surface); font-size: 13px; font-weight: 700}
.pig-viz[data-stage="6"] .pig-viz__spf {opacity: 1}
.pig-viz__labels text {font-size: 12px; fill: #96695a}
.pig-viz__footnote {font-size: 12px; fill: var(--nvm-ed-muted, var(--nvm-color-muted))}
@media (min-width: 1100px) {

  .pig-viz__layout{grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); grid-template-areas: "scene card" "controls controls" "cta cta"; column-gap: 36px; row-gap: 24px; align-items: stretch}
}
@media (min-width: 1100px) {

  .pig-viz__scene-col{grid-area: scene; margin-bottom: 0}
}
@media (min-width: 1100px) {

  .pig-viz__stages{margin-top: auto}
}
@media (min-width: 1100px) {

  .pig-viz__card{grid-area: card}
}
@media (min-width: 1100px) {

  .pig-viz__controls{grid-area: controls}
}
@media (min-width: 1100px) {

  .pig-viz__cta{grid-area: cta; border: 0}
}
@media (max-width: 767px) {
.pig-viz__container {padding: 0 var(--nvm-gutter-mobile, 16px)}
}
@media (max-width: 767px) {
.pig-viz__head {margin-bottom: 16px}
}
@media (max-width: 767px) {
.pig-viz__scene-col {margin-bottom: 4px}
}
@media (max-width: 767px) {
.pig-viz--enhanced .pig-viz__scene-frame {aspect-ratio: 1 / 1; border-radius: var(--pig-viz-r-card)}
}
@media (max-width: 767px) {
.pig-viz__labels, .pig-viz__scale, .pig-viz__glasses, .pig-viz__footnote {opacity: 0}
}
@media (max-width: 767px) {
.pig-viz__spf {transform: translate(-170px, -95px)}
}
@media (max-width: 767px) {
.pig-viz__stages {gap: 8px}
}
@media (max-width: 767px) {
.pig-viz__stage {min-height: 48px; padding: 4px var(--nvm-ed-s1)}
}
@media (max-width: 767px) {
.pig-viz__stage-num, .pig-viz__stage-name {position: absolute; visibility: hidden; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%)}
}
@media (max-width: 767px) {
.pig-viz__stage-digit {display: block}
}
@media (max-width: 767px) {
.pig-viz__card {padding: 16px}
}
@media (max-width: 767px) {
.pig-viz__controls .pig-viz__btn {min-height: 48px}
}
@media (max-width: 767px) {
.pig-viz__cta {min-height: 52px; border: 0}
}
@media (max-width: 767px) {
.pig-viz__note {margin-top: 16px}
}
@media (orientation: landscape) and (max-height: 480px) {

.lp-viz--enhanced .lp-viz__scene-frame {
    aspect-ratio: auto;
    height: 72vh;
    width: min(100%, 115.2vh);
    margin: 0 auto;
  }
}
@media (orientation: landscape) and (max-height: 480px) {

.lotus-viz--enhanced .lotus-viz__scene-frame {aspect-ratio: auto; height: 72vh; width: min(100%, 115.2vh); margin: 0 auto}
}
@media (orientation: landscape) and (max-height: 480px) {
.pig-viz__scene-frame, .pig-viz--enhanced .pig-viz__scene-frame {aspect-ratio: auto; height: 72vh; width: min(100%, 115.2vh); margin: 0 auto}
}
/* ---- newsite/assets/css/src/pages-shop.css ---- */
/* Компоненты магазина. Один селектор на компонент, токены nvm, без палитры .nvm-store.
   Сетка карточек — §1.3. Фильтр — панель как у остальных страниц, логика в shop.js. */

.nvm-shop {
  color: var(--nvm-ed-ink);
  font-family: var(--nvm-ed-font-sans);
}
.nvm-store-section h2, .nvm-abon h3, .nvm-cert-title, .nvm-abon-card b, .nvm-shopbox h1 {
  color: var(--nvm-ed-ink);
}

.nvm-shop-lead, .nvm-store-sub { max-width: 720px; color: var(--nvm-ed-muted); font-size: 16px; line-height: 1.6; text-align: center; }
.nvm-store-section { padding: var(--nvm-section-y) 0 0;}
.nvm-store-section h2 { margin: 0 0 var(--nvm-ed-s2); }

.nvm-store-back a, .nvm-store-foot a, .nvm-cart-empty a, .nvm-order__note a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.nvm-store-foot { padding: 0 0 36px; color: var(--nvm-ed-muted); font-size: 15px; line-height: 1.55; text-align: center; }
.nvm-shop a[href^="tel:"] { white-space: nowrap; }
.nvm-certs { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--nvm-ed-s6); align-items: stretch; }
.nvm-cosm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: var(--nvm-gap-card); width: 100%; min-width: 0; align-items: stretch; grid-auto-rows: 1fr; }
.nvm-abon-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--nvm-ed-s4); align-items: stretch; }
.nvm-cert, .nvm-abon-card {
  display: flex; flex-direction: column; height: 100%; min-width: 0; box-sizing: border-box;
  background: var(--nvm-ed-white); border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md);
}

.nvm-cert :where(.nvm-cert__image) {
  display: block; width: calc(100% - 24px); max-width: 100%; height: auto; margin: var(--nvm-ed-s3) var(--nvm-ed-s3) 0;
  border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm);
  background: var(--nvm-ed-white); box-sizing: border-box; aspect-ratio: 8 / 5; object-fit: cover; }

.nvm-cert-body { display: flex; flex-direction: column; gap: var(--nvm-ed-s2); flex: 1; box-sizing: border-box; padding: var(--nvm-ed-s4) var(--nvm-ed-s4) var(--nvm-ed-s4); }
.nvm-cert-title { font-size: 21px; line-height: 1.25; }
.nvm-cert-desc { margin: 0; color: var(--nvm-ed-lead); font: 400 15px/1.6 var(--nvm-ed-font-sans); }
.nvm-abon-card .nvm-abon-more { margin-top: auto; }
.nvm-cosm-desc {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
  max-height: calc(13px * 1.5 * 2); overflow: hidden; margin: 0;
  color: var(--nvm-ed-muted); font: 400 13px/1.5 var(--nvm-ed-font-sans);
}
.nvm-abon-price, .nvm-cart-row-price { color: var(--nvm-ed-ink); font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nvm-abon { margin-bottom: var(--nvm-ed-s6); padding: 28px var(--nvm-ed-s6); background: var(--nvm-ed-paper); border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-lg); }
.nvm-abon h3 { margin: 0 0 var(--nvm-ed-s1); text-align: center; font-size: 24px; line-height: 1.25; }
.nvm-abon-tag { margin: 0 0 var(--nvm-ed-s5); text-align: center; color: var(--nvm-ed-muted); font: 400 14px/1.5 var(--nvm-ed-font-sans); }
.nvm-abon-card { gap: var(--nvm-ed-s2); padding: var(--nvm-ed-s5) var(--nvm-ed-s5) var(--nvm-ed-s5); text-align: center; }
.nvm-abon-card b { font-size: 21px; line-height: 1.25; }
.nvm-abon-per { color: var(--nvm-ed-muted); font: 400 14px/1.4 var(--nvm-ed-font-sans); }
.nvm-abon-card .nvm-abon-price { font-size: 26px; line-height: 1.25; }
.nvm-abon-more {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  color: var(--nvm-ed-mint-link); font: 600 14px/1.3 var(--nvm-ed-font-sans);
  text-decoration: underline; text-underline-offset: 3px;
}
.nvm-shop-layout { display: grid; gap: var(--nvm-gap); align-items: start; }
.nvm-shop-panel, .nvm-shop-results { min-width: 0; }
.nvm-filters { display: flex; flex-direction: column; gap: var(--nvm-ed-s6); }
.nvm-filters--abon { margin-bottom: var(--nvm-ed-s6); }
.nvm-filters-row--search { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--nvm-ed-s3); }
.nvm-filters-row--search input[type="search"], .nvm-filters-row--search select {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 0 var(--nvm-ed-s3);
  border: 1px solid var(--nvm-color-control); border-radius: var(--nvm-ed-r-sm);
  background: var(--nvm-color-surface); color: var(--nvm-color-ink); font: 400 16px/1.4 var(--nvm-ed-font-sans);
}
.nvm-filters-row--search input[type="search"]::placeholder { color: var(--nvm-color-muted); opacity: 1; }
.nvm-filters-row--search select {
  appearance: none; padding-right: var(--nvm-ed-s10);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2329261f' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right var(--nvm-ed-s4) center;
}
.nvm-cosm-stock-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nvm-ed-s2); grid-column: 1 / -1; }
.nvm-cosm-stock-toggle button, .nvm-filters .nvm-shop-chips .nvm-catalog-filter__chip {
  display: inline-flex; align-items: center; justify-content: flex-start; gap: var(--nvm-ed-s2);
  box-sizing: border-box; width: auto; max-width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: var(--nvm-ed-s2) var(--nvm-ed-s3);
  border: 1px solid transparent; border-radius: var(--nvm-ed-r-sm); background: transparent; color: var(--nvm-color-ink);
  font: 500 14px/1.3 var(--nvm-ed-font-sans); text-align: left; white-space: normal; overflow: visible; overflow-wrap: anywhere;
  text-overflow: clip; cursor: pointer; box-shadow: none; transform: none; transition: none;
}
.nvm-cosm-stock-toggle button::before, .nvm-filters .nvm-shop-chips .nvm-catalog-filter__chip::before {
  content: ""; display: block; flex: 0 0 5px; width: 5px; height: 5px; border-radius: 50%; background: transparent;
}
.nvm-cosm-stock-toggle button:hover, .nvm-filters .nvm-shop-chips .nvm-catalog-filter__chip:hover { background: var(--nvm-color-surface); }
.nvm-cosm-stock-toggle button[aria-pressed="true"], .nvm-filters .nvm-shop-chips .nvm-catalog-filter__chip[aria-pressed="true"] {
  border-color: var(--nvm-color-line); background: var(--nvm-color-inset); color: var(--nvm-color-ink); font-weight: 700;
}
.nvm-cosm-stock-toggle button[aria-pressed="true"]::before, .nvm-filters .nvm-shop-chips .nvm-catalog-filter__chip[aria-pressed="true"]::before { background: var(--nvm-color-action); }
.nvm-filters--abon .nvm-shop-chips .nvm-catalog-filter__chip {
  border-color: var(--nvm-color-control); background: var(--nvm-color-page);
}
.nvm-filters--abon .nvm-shop-chips .nvm-catalog-filter__chip[aria-pressed="true"] { border-color: var(--nvm-color-control); }
.nvm-filters-label {
  display: flex; align-items: center; gap: var(--nvm-ed-s2); width: 100%; min-height: var(--nvm-tap);
  margin: 0 0 var(--nvm-ed-s2); padding: var(--nvm-ed-s2) 0; border: 0; background: transparent;
  color: var(--nvm-color-ink); font: 600 15px/1.3 var(--nvm-ed-font-sans); text-align: left; cursor: pointer;
}
.nvm-filters--abon .nvm-filters-label { margin: 0 0 var(--nvm-ed-s1); padding: 0; }
.nvm-filters-label__text { flex-shrink: 0; }
.nvm-filters-value { min-width: 0; color: var(--nvm-color-muted); overflow-wrap: anywhere; }
.nvm-filters-value:empty { display: none; }
.nvm-filters-label svg { flex: 0 0 12px; margin-left: auto; transform: rotate(180deg); }
.nvm-filters-label[aria-expanded="false"] svg { transform: none; }
.nvm-filters-row--fold:not(.is-open) .nvm-shop-wheel { display: none; }
.nvm-shop-chips { display: flex; flex-wrap: wrap; gap: var(--nvm-ed-s2); min-width: 0; }
.nvm-filters .nvm-filters-chip__text { min-width: 0; color: inherit; }
.nvm-cosm-countbar { display: flex; align-items: center; justify-content: space-between; gap: var(--nvm-ed-s2); margin-bottom: var(--nvm-ed-s6); }
.nvm-cosm-count { min-width: 0; margin: 0; color: var(--nvm-color-muted); font: 400 14px/1.4 var(--nvm-ed-font-sans); }
.nvm-cosm-view { display: flex; flex: 0 0 auto; gap: var(--nvm-ed-s2); }
.nvm-cosm-view-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 var(--nvm-tap);
  box-sizing: border-box; width: var(--nvm-tap); height: var(--nvm-tap); margin: 0; padding: 0;
  border: 1px solid var(--nvm-color-control); border-radius: var(--nvm-ed-r-sm); background: var(--nvm-color-surface); color: var(--nvm-color-ink); cursor: pointer;
}
.nvm-cosm-view-btn[aria-pressed="true"] { background: var(--nvm-color-inset); }
.nvm-cosm-view-btn[aria-pressed="true"]::after {
  content: ""; position: absolute; right: var(--nvm-ed-s1); bottom: var(--nvm-ed-s1); width: 5px; height: 5px; border-radius: 50%; background: var(--nvm-color-action);
}
.nvm-shop-results[data-view="1"] .nvm-cosm-grid { grid-template-columns: minmax(0, 1fr); }
.nvm-filters-row--search input:focus-visible, .nvm-filters-row--search select:focus-visible,
.nvm-filters-label:focus-visible, .nvm-cosm-stock-toggle button:focus-visible, .nvm-cosm-view-btn:focus-visible,
.nvm-filters .nvm-shop-chips .nvm-catalog-filter__chip:focus-visible { outline: 2px solid var(--nvm-ed-focus); outline-offset: 2px; }
@media (min-width: 701px) and (max-width: 1023px) {
  .nvm-filters-row--search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nvm-shop-panel .nvm-shop-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nvm-shop-layout { grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); }
  .nvm-shop-panel {
    box-sizing: border-box;
    position: sticky;
    top: calc(var(--nvm-header-h, var(--nvm-h-main)) + var(--nvm-ed-s4));
    max-height: calc(100dvh - var(--nvm-header-h, var(--nvm-h-main)) - var(--nvm-actionbar-h, 0px) - var(--nvm-ed-s8));
    padding: var(--nvm-ed-s1);
    overflow-y: auto;
    scrollbar-gutter: stable;
  }
}
.nvm-store-more { margin: var(--nvm-ed-s6) 0 var(--nvm-ed-s3); text-align: center; }
.nvm-cart-list { display: flex; flex-direction: column; gap: var(--nvm-ed-s3); block-size: 24rem; overflow-y: auto; scrollbar-gutter: stable; }
.nvm-cart-empty {
  padding: 28px var(--nvm-ed-s4); color: var(--nvm-ed-lead); font-size: 16px; line-height: 1.6; text-align: center;
  background: var(--nvm-ed-white); border: 1px dashed var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md);
}
.nvm-cart-row {
  flex-shrink: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: var(--nvm-ed-s3) var(--nvm-ed-s4); align-items: center;
  padding: var(--nvm-ed-s4) var(--nvm-ed-s5); background: var(--nvm-ed-white); border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md);
}
.nvm-cart-row-name { font: 600 16px/1.4 var(--nvm-ed-font-sans); }
.nvm-cart-qty { display: inline-flex; align-items: center; gap: var(--nvm-ed-s1); padding: var(--nvm-ed-s1); border: 1px solid var(--nvm-ed-line-strong); border-radius: var(--nvm-ed-r-pill); }
.nvm-cart-qty button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--nvm-ed-ink); font-size: 20px; cursor: pointer; }
.nvm-cart-del {
  min-height: 44px; padding: 0 var(--nvm-ed-s2); border: 0; background: transparent;
  color: var(--nvm-ed-muted); font: 500 14px/1 var(--nvm-ed-font-sans); text-decoration: underline; cursor: pointer;
}
.nvm-cart-total {
  display: flex; justify-content: space-between; gap: var(--nvm-ed-s3); margin-top: var(--nvm-ed-s4); padding: var(--nvm-ed-s4) var(--nvm-ed-s5);
  border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm); font: 500 16px/1.3 var(--nvm-ed-font-sans);
}
.nvm-cart-total b { font: 700 24px/1.2 var(--nvm-ed-font-sans); font-variant-numeric: tabular-nums; }
.nvm-cart-actions { display: flex; flex-wrap: wrap; gap: var(--nvm-ed-s3); margin-top: var(--nvm-ed-s4); }
.nvm-order { text-align: center; }

.nvm-order__text, .nvm-order__note { margin: 0 0 var(--nvm-ed-s4); color: var(--nvm-ed-muted); font-size: 15px; line-height: 1.65; }
.nvm-toast {
  display: none;
  position: fixed; left: 50%; bottom: 24px; z-index: 80; transform: translateX(-50%);
  padding: var(--nvm-ed-s3) var(--nvm-ed-s5); border-radius: var(--nvm-ed-r-sm); background: var(--nvm-ed-dark); color: var(--nvm-ed-white);
  font: 500 15px/1.4 var(--nvm-ed-font-sans);
}
.nvm-toast.is-visible { display: block; }
.nvm-cartbar {
  position: fixed; left: 50%; bottom: 16px; z-index: 70; display: flex; align-items: center; gap: var(--nvm-ed-s4);
  transform: translateX(-50%); padding: var(--nvm-ed-s2) var(--nvm-ed-s2) var(--nvm-ed-s2) var(--nvm-ed-s5); border-radius: var(--nvm-ed-r-pill);
  background: var(--nvm-ed-dark); color: var(--nvm-ed-white); font: 400 15px/1.3 var(--nvm-ed-font-sans);
}
.nvm-cartbar a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--nvm-ed-s5);
  border-radius: var(--nvm-ed-r-pill); background: var(--nvm-ed-coral); color: var(--nvm-ed-white);
  font: 600 15px/1 var(--nvm-ed-font-sans); text-decoration: none;
}
.nvm-prose .nvm-doc { max-width: 860px;
  margin-top: 0; margin-right: auto; margin-left: auto; color: var(--nvm-ed-ink); }
.nvm-prose .nvm-doc h1 { margin: 0 0 var(--nvm-ed-s4); font-style: normal; font-weight: 400; font-size: clamp(22px, 3.2vw, 30px); line-height: 1.25; text-align: center;}
.nvm-prose .nvm-doc p {
  margin-top: 0; margin-right: 0; margin-left: 0; line-height: 1.7; }
.nvm-prose .nvm-doc table { width: 100%; border-collapse: collapse; margin: var(--nvm-ed-s3) 0; font-size: 0.95rem; }
.nvm-prose .nvm-doc td { border: 1px solid var(--nvm-ed-line); padding: var(--nvm-ed-s2) var(--nvm-ed-s3); vertical-align: top; line-height: 1.5; }
.nvm-prose .nvm-doc td:first-child { width: 38%; font-weight: 600; background: var(--nvm-ed-paper); }
.nvm-shopbox h1 { margin: 0 0 var(--nvm-ed-s2); font-size: clamp(32px, 4vw, 44px); line-height: 1.15; }
.nvm-shopbox .lead { margin: 0; color: var(--nvm-ed-muted); }
.nvm-form {
  display: grid; gap: var(--nvm-ed-s4); margin-top: var(--nvm-ed-s5); padding: var(--nvm-ed-s5);
  background: var(--nvm-ed-paper); border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-lg);
}
#nvm-lk-login[hidden] { display: none; }
.nvm-form label:has(input[type="text"], input[type="tel"], input[type="email"]) { display: grid; gap: var(--nvm-ed-s2); font-weight: 700; }

.nvm-form input[type="text"], .nvm-form input[type="tel"], .nvm-form input[type="email"] {
  width: 100%; min-height: 48px; padding: 0 var(--nvm-ed-s3);
  border-top-width: 1px; border-top-style: solid; border-right-width: 1px; border-right-style: solid; border-bottom-width: 1px; border-bottom-style: solid; border-left-width: 1px; border-left-style: solid; border-radius: var(--nvm-ed-r-sm);
  background: var(--nvm-ed-white); color: var(--nvm-ed-ink);
  font-style: normal; font-weight: 400; font-size: 16px; line-height: 1.4;
}

.nvm-form input::placeholder { color: var(--nvm-color-muted); opacity: 1; }

.nvm-form .nvm-form__hint { margin: 0; color: var(--nvm-color-muted); font: 400 14px/1.5 var(--nvm-font-sans); }


.nvm-form .agree, .nvm-form .hint, .nvm-lk-or { color: var(--nvm-ed-muted); font-weight: 400; }

.nvm-form label.agree, .nvm-form .nvm-radio label { display: flex; gap: var(--nvm-ed-s2); align-items: flex-start; font-weight: 400; }

.nvm-radio, .nvm-mess, .nvm-shopbox .nvm-actions { display: grid; gap: var(--nvm-ed-s2); }
.nvm-lk-or { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--nvm-ed-s3); align-items: center; margin: 0; }

.nvm-lk-or::before, .nvm-lk-or::after { content: ""; height: 1px; background: var(--nvm-ed-line); }
.nvm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nvm-shopbox .nvm-summary { margin: 0; padding: 0; list-style: none; block-size: auto; max-block-size: 12rem; overflow-y: auto; scrollbar-gutter: stable; }
.nvm-summary-total { position: sticky; bottom: 0; background: var(--nvm-ed-paper); }
.nvm-summary li { display: flex; justify-content: space-between; gap: var(--nvm-ed-s3); }
.nvm-summary li > span:last-child { white-space: nowrap; flex-shrink: 0; }

@media (max-width: 700px) {
.nvm-cosm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
.nvm-cart-row { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (max-width: 700px) {
.nvm-abon { padding: var(--nvm-ed-s6) var(--nvm-ed-s4); }
}
@media (max-width: 700px) {
.nvm-abon h3 { font-size: 22px; }
}
@media (max-width: 767px) {
.nvm-shopbox .nvm-actions { grid-template-columns: 1fr; }
}
@media (min-width: 560px) {
.nvm-shopbox .nvm-actions { grid-template-columns: 1fr 1fr; }
}
@media (hover: hover) {
.nvm-cert:hover, .nvm-abon-card:hover { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
.nvm-cert, .nvm-abon-card { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
.nvm-cert:hover, .nvm-abon-card:hover { transform: none; }
}
.nvm-h2 {
  margin: 0 0 var(--nvm-ed-s3);
  color: var(--nvm-ed-ink);
}
.nvm-tone--s1 { --tone: #3b82f6; }
.nvm-tone--s2 { --tone: #22c55e; }
.nvm-tone--s3 { --tone: #eab308; }
.nvm-tone--s4 { --tone: #dc2626; }
.nvm-tone--s5 { --tone: #b91c1c; }
.nvm-tone--s6 { --tone: #7f1d1d; }
.nvm-map__view:focus-visible, .nvm-pin:focus-visible {
  outline: 2px solid var(--nvm-ed-focus);
  outline-offset: 3px;
}
.nvm-map__view {
  min-height: 48px;
  padding: var(--nvm-ed-s3) var(--nvm-ed-s4);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--nvm-ed-r-pill);
  background: var(--nvm-ed-paper);
  color: var(--nvm-ed-ink);
  font: 600 14px/1.3 var(--nvm-ed-font-sans);
  cursor: pointer;
}
.nvm-map__view[aria-pressed="true"] {
  border-color: var(--nvm-ed-mint);
  background: var(--nvm-ed-mint);
  color: var(--nvm-color-surface);
}
.nvm-calc__zone-name { min-width: 0; overflow-wrap: anywhere; }
.nvm-map__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.nvm-map__callout-line {
  stroke: var(--nvm-ed-coral);
  stroke-width: 3;
  fill: none;
}
.nvm-map__callout.is-on .nvm-map__callout-line { stroke: var(--nvm-ed-mint); stroke-width: 4; }
.nvm-map__callout-box { fill: var(--nvm-ed-paper); stroke: var(--nvm-ed-line); }
.nvm-map__callout.is-on .nvm-map__callout-box { fill: var(--nvm-ed-mint); stroke: var(--nvm-ed-mint); }

.nvm-map__callout-name, .nvm-map__callout-price {
  font-family: var(--nvm-ed-font-sans);
  font-weight: 700;
  text-anchor: middle;
  fill: var(--nvm-ed-ink);
}
.nvm-map__callout-name { font-size: 36px; }
.nvm-map__callout-price { font-size: 32px; fill: var(--nvm-ed-coral-text); }

.nvm-map__callout.is-on .nvm-map__callout-name, .nvm-map__callout.is-on .nvm-map__callout-price { fill: var(--nvm-ed-white); }
.nvm-map__pulse {
  fill: none;
  stroke: var(--nvm-ed-coral);
  stroke-width: 3;
  transform-box: fill-box;
  transform-origin: center;
}
@media (prefers-reduced-motion: no-preference) {
.nvm-map__pulse {
  animation: nvm-pin-pulse 1.6s ease-out infinite;
}
}


@keyframes nvm-pin-pulse {
  from { opacity: .7; }
  to { opacity: 0; }
}
@media (max-width: 1024px) {
.nvm-map__callout-line,
  .nvm-map__callout-box,
  .nvm-map__callout-name,
  .nvm-map__callout-price { display: none; }
}
.nvm-map__shot:not([hidden]) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.nvm-pin {
  position: absolute;
  z-index: 1;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: 2px solid var(--nvm-ed-white);
  border-radius: var(--nvm-ed-r-pill);
  background: var(--nvm-ed-coral);
  transform: translate(-50%, -50%);
  box-shadow: none;
  cursor: pointer;
}
.nvm-pin[aria-pressed="true"] { background: var(--nvm-ed-mint); box-shadow: none; }
.nvm-pin[hidden], .nvm-special-price__head[hidden], [data-nvm-filter-row][hidden] { display: none; }
.nvm-special-price__head {
  margin: var(--nvm-ed-s5) 0 var(--nvm-ed-s2);
  color: var(--nvm-ed-ink);
  font: 700 20px/1.3 var(--nvm-font-heading);
  text-align: center;
}
.nvm-meter--95 { --nvm-progress: 95%; }
.nvm-meter--96 { --nvm-progress: 96%; }
.nvm-meter--91 { --nvm-progress: 91%; }
.nvm-meter--100 { --nvm-progress: 100%; }
@media (max-width: 767px) {
.nvm-page--staff .nvm-staff__container,
  .nvm-page--staff .nvm-staff-reviews,
  .nvm-page--staff .nvm-snap--staff {
    max-width: 100%;
    min-width: 0;
  }
}
@media (max-width: 767px) {
.nvm-page--staff .nvm-staff__container { overflow-x: clip; }
}
.nvm-special :where(.nvm-benefits__image), .nvm-page picture {
  max-width: 100%;
}
.nvm-staff { padding: var(--nvm-ed-s7) 0 0; }
.nvm-staff__container {
  margin-top: 0; margin-bottom: 0; }
.nvm-staff-reviews { box-sizing: border-box; display: grid; gap: var(--nvm-ed-s6); margin-top: var(--nvm-section-y); margin-bottom: 0; padding: 32px; border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-lg); background: var(--nvm-ed-white); }
.nvm-staff-reviews__header h2 { margin: 0; }
.nvm-staff-reviews__header p { margin: var(--nvm-ed-s3) 0 0; color: var(--nvm-ed-muted); }
.nvm-staff-reviews__metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--nvm-ed-s3); }
.nvm-staff-reviews__metrics > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--nvm-ed-s1) var(--nvm-ed-s2); min-width: 0; }
.nvm-staff-reviews__metrics b { font: 700 20px/1 var(--nvm-font-display, Georgia, serif); }
.nvm-staff-reviews__metrics span { color: var(--nvm-ed-muted); font: 600 12px/1.2 var(--nvm-ed-font-sans); }
.nvm-staff-reviews__metrics i { position: relative; grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: var(--nvm-ed-r-pill); background: var(--nvm-ed-paper); }
.nvm-staff-reviews__metrics i::after { display: block; width: var(--nvm-progress, 0); height: 100%; border-radius: inherit; background: var(--nvm-ed-mint); content: ""; }
.nvm-staff-reviews__track { box-sizing: border-box; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nvm-ed-s4); min-width: 0; }
.nvm-staff-reviews__link { width: fit-content; color: var(--nvm-ed-mint); font: 700 15px/1.3 var(--nvm-ed-font-sans); }
@media (max-width: 767px) {
.nvm-page--staff .nvm-staff-reviews { padding: var(--nvm-ed-s6) var(--nvm-ed-s4); }
}
@media (max-width: 767px) {
.nvm-page--staff .nvm-staff-reviews__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
.nvm-page--staff .nvm-staff-reviews__track {
    display: flex;
    gap: var(--nvm-ed-s4);
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: var(--nvm-ed-s1) 0 var(--nvm-ed-s4);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
}
@media (prefers-reduced-motion: reduce) {
.nvm-pin, .nvm-map__pulse { transition: none; animation: none; }
}
/* Aquapure II — схема процедуры. Хром из токенов, цвета рисунка только в SVG. */
/* Aquapure II — интерактивная схема процедуры (НОВА МИ)
   Версия 1.0 · 09.10.2026
   Изоляция: все стили scoped под .aqp-viz, переменные --aqp-viz-* с запасными значениями.
   Хром — палитра A, фон c2 (DESIGN-SYSTEM-ANIMATION.md). Анатомические цвета — только внутри SVG. */

.aqp-viz { box-sizing: border-box;
  --aqp-viz-surface: var(--nvm-ed-white);
  --aqp-viz-plaque: var(--nvm-ed-paper);
  --aqp-viz-line: var(--nvm-ed-line);
  --aqp-viz-ink: var(--nvm-ed-ink);
  --aqp-viz-muted: var(--nvm-ed-ink);
  --aqp-viz-line-strong: var(--nvm-ed-line-strong);
  --aqp-viz-action: var(--c-primary);
  --aqp-viz-action-hover: var(--c-primary-hover);
  --aqp-viz-accent: var(--nvm-ed-focus);
  --aqp-viz-font: var(--nvm-font-sans);
  --aqp-viz-radius-card: var(--nvm-radius-card);
  --aqp-viz-radius-control: var(--nvm-radius-control);
  --aqp-viz-radius-pill: var(--nvm-radius-pill);
  --aqp-viz-shadow: var(--nvm-ed-shadow-lift);
  --aqp-viz-speed: .35s;
  --aqp-viz-led: #d9584e;

  font-family: var(--aqp-viz-font);
  color: var(--aqp-viz-ink);
  font-size: 14px;
  line-height: 1.55;

  -webkit-text-size-adjust: 100%;
}
/* ---------- каркас ---------- */

.aqp-viz__container { box-sizing: border-box;
  max-width: var(--nvm-container);
  margin: 0 auto;
  padding: 0 var(--nvm-gutter-desktop);
}
.aqp-viz__head {
  margin: 0 0 28px;
}
.aqp-viz__lead {
  margin: 0;
  font: 400 16px/1.6 var(--nvm-font-sans);
  color: var(--nvm-ed-muted);
}
.nvm-viz__hint {
  font: 400 13px/1.5 var(--nvm-font-sans);
  color: var(--nvm-ed-muted);
}
.aqp-viz__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
/* ---------- строка «подпись + статус» ---------- */

.aqp-viz__scene-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 0 var(--nvm-ed-s4);
}
.aqp-viz__scene-caption { box-sizing: border-box;
  margin: 0;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: var(--nvm-ed-s2) 16px;
  background: var(--aqp-viz-plaque);
  border-radius: var(--aqp-viz-radius-pill);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--aqp-viz-muted);
  white-space: nowrap;
}
.aqp-viz__status { box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px var(--nvm-ed-s4);
  min-height: 34px;
  background: var(--aqp-viz-plaque);
  border-radius: var(--aqp-viz-radius-pill);
  font-size: 13px;
  color: var(--aqp-viz-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aqp-viz__scene-frame { box-sizing: border-box;
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--nvm-color-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--aqp-viz-radius-card);
  box-shadow: var(--nvm-ed-shadow-lift);
  overflow: hidden;
  touch-action: pan-y;
}
.aqp-viz__scene { display: block; width: 100%; height: 100%; }
.aqp-viz__static { box-sizing: border-box;
  position: absolute;
  inset: 0;
  overflow: auto;
  background: var(--nvm-color-surface);
  padding: 20px 24px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--aqp-viz-muted);
}
.aqp-viz__static p { margin: 0 0 var(--nvm-ed-s3); }
.aqp-viz__static ol { box-sizing: border-box; margin: 0 0 var(--nvm-ed-s3); padding-left: 20px; }
.aqp-viz__static li { margin-bottom: var(--nvm-ed-s2); }
.aqp-viz__static strong { color: var(--aqp-viz-ink); }
.aqp-viz--enhanced .aqp-viz__static { display: none; }
/* ---------- переключатель этапов ---------- */

.aqp-viz__stages {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: var(--nvm-ed-s4);
}
.aqp-viz__stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--nvm-ed-s1);
  min-height: 44px;
  padding: 8px 12px;
  background: var(--aqp-viz-surface);
  border: 1px solid var(--aqp-viz-line-strong);
  border-radius: var(--aqp-viz-radius-control);
  text-align: center;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__stage {
  transition: background .2s ease, border-color .2s ease;
}
}
.aqp-viz__stage-name { font-size: 13px; font-weight: 600; color: var(--aqp-viz-ink); white-space: nowrap; }
.aqp-viz__stage-caption { font-size: 12px; font-weight: 400; color: var(--aqp-viz-muted); white-space: nowrap; }
.aqp-viz__stage[aria-pressed="true"] { background: var(--aqp-viz-plaque); }
.aqp-viz__stage[aria-pressed="true"] .aqp-viz__stage-name { color: var(--aqp-viz-action-hover); }
/* ---------- панель ---------- */

.aqp-viz__panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.aqp-viz__status-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--aqp-viz-line-strong);
  flex: none;
}
.aqp-viz__status[data-state="demo"] .aqp-viz__status-dot { background: var(--aqp-viz-accent); }
.aqp-viz__status[data-state="manual"] .aqp-viz__status-dot { background: var(--aqp-viz-action); }
.aqp-viz__card { box-sizing: border-box;
  background: var(--aqp-viz-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--aqp-viz-radius-card);
  box-shadow: var(--nvm-ed-shadow-lift);
  padding: var(--nvm-ed-s4) 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aqp-viz__card-step {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--aqp-viz-muted);
}
.aqp-viz__card-title { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.3; }
.aqp-viz__card-meta { margin: 0; display: flex; flex-direction: column; }
.aqp-viz__card-row { box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: var(--nvm-ed-s1) 0;
  border-top: 1px solid var(--nvm-ed-line);
}
.aqp-viz__card-row dt { font-size: 13px; color: var(--aqp-viz-muted); }
.aqp-viz__card-row dd { margin: 0; font-size: 13px; font-weight: 600; }
.aqp-viz__card-text { margin: 0; font-size: 14px; line-height: 1.55; min-height: 48px; }
.aqp-viz__card-note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--aqp-viz-muted); min-height: 40px; }
.aqp-viz__legend { box-sizing: border-box;
  list-style: none;
  margin: var(--nvm-ed-s1) 0 0;
  padding: 8px 0 0;
  border-top: 1px solid var(--nvm-ed-line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.aqp-viz__legend-item { box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 4px 8px;
  background: var(--aqp-viz-plaque);
  border-radius: var(--aqp-viz-radius-pill);
  font-size: 12px;
  color: var(--aqp-viz-ink);
  white-space: nowrap;
}
.aqp-viz__legend-dot, .aqp-viz__pill-dot { box-sizing: border-box;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--aqp-viz-dot, #e8d9a8);
  border: 1px solid var(--nvm-ed-line);
  flex: none;
}
/* ---------- слот контролов этапа (фиксированная высота, меняется только содержимое) ---------- */

.aqp-viz__options {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100px;
  justify-content: center;
}
.aqp-viz__opts-hint {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--aqp-viz-muted);
}
.aqp-viz__opts-hint:empty { display: none; }
.aqp-viz__serums, .aqp-viz__spectra, .aqp-viz__vacuum-btns {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 8px;
}
.aqp-viz__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--nvm-ed-s2);
  min-width: 0;
  min-height: 44px;
  padding: 8px 12px;
  background: var(--aqp-viz-surface);
  border: 1px solid var(--aqp-viz-line-strong);
  border-radius: var(--aqp-viz-radius-pill);
  font-size: 13px;
  font-weight: 600;
  color: var(--aqp-viz-ink);
  white-space: nowrap;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__pill {
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
}
.aqp-viz__pill-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.25;
}
.aqp-viz__pill-name { font-size: 13px; font-weight: 600; }
.aqp-viz__pill-cap { font-size: 12px; font-weight: 400; color: var(--aqp-viz-muted); }
.aqp-viz__pill[aria-pressed="true"] {
  background: var(--aqp-viz-plaque);
  color: var(--aqp-viz-action-hover);
}
/* ---------- кнопки ---------- */

.aqp-viz__controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}
.aqp-viz__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 20px;
  border-radius: var(--aqp-viz-radius-control);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__btn {
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
}
.aqp-viz__controls .aqp-viz__btn, .aqp-viz__controls .aqp-viz__cta { box-sizing: border-box;
  min-height: 46px;
  height: 100%;
  padding: 4px 8px;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
}
.aqp-viz__btn--block { width: 100%; }
.aqp-viz__btn--ghost {
  background: var(--aqp-viz-surface);
  border: 1px solid var(--nvm-ed-coral);
  color: var(--aqp-viz-action-hover);
}
.aqp-viz__btn--ghost:hover, .aqp-viz__btn--ghost:active { background: var(--aqp-viz-plaque); }
.aqp-viz__btn-icon { width: 14px; height: 14px; flex: none; }
.aqp-viz__btn-icon--pause { display: none; }
.aqp-viz[data-playing] .aqp-viz__btn-icon--play { display: none; }
.aqp-viz[data-playing] .aqp-viz__btn-icon--pause { display: block; }
.aqp-viz__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  background: var(--nvm-h-cta);
  border-radius: var(--aqp-viz-radius-control);
  color: var(--nvm-h-cta-ink);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none; border: 0}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__cta {
  transition: background .2s ease}
}
.aqp-viz__cta:hover, .aqp-viz__cta:active { background: var(--nvm-h-cta); border: 0}
.aqp-viz__note {
  margin: 24px 0 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--aqp-viz-muted);
}
/* ---------- служебное ---------- */

.aqp-viz [hidden] { display: none; }

.aqp-viz button:focus-visible, .aqp-viz a:focus-visible, .aqp-viz [role="slider"]:focus-visible {
  outline: 2px solid var(--aqp-viz-accent);
  outline-offset: 2px;
}

.aqp-viz:not(.aqp-viz--enhanced) .aqp-viz__panel, .aqp-viz:not(.aqp-viz--enhanced) .aqp-viz__stages { display: none; }
/* ---------- SVG: насадки и эффекты ---------- */

.aqp-viz__nozzle, .aqp-viz__led {
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
/* ---------- SVG: насадки и эффекты ---------- */

.aqp-viz__nozzle, .aqp-viz__led {
  transition: opacity var(--aqp-viz-speed) ease, transform var(--aqp-viz-speed) ease;
}
}
.aqp-viz__nozzle.is-active, .aqp-viz__led.is-active { opacity: 1; transform: translateY(0); }
.aqp-viz__manipula { cursor: grab; }
.aqp-viz__manipula.is-drag { cursor: grabbing; }
.aqp-viz__manipula.is-off { cursor: default; }
.aqp-viz__adring {
  transform-box: fill-box;
  transform-origin: center;
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__adring {
  animation: aqp-spin 1.2s linear infinite;
}
}


@keyframes aqp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__flow-in, .aqp-viz__flow-out { animation: aqp-flow .9s linear infinite; }
}

@keyframes aqp-flow { to { stroke-dashoffset: -10; } }
.aqp-viz[data-serum="peel"] .aqp-viz__flow-in { stroke: #e9c58a; }
.aqp-viz[data-serum="sebo"] .aqp-viz__flow-in { stroke: #cfe5e1; }
.aqp-viz[data-serum="peel"] .aqp-viz__film { fill: #e9c58a; }
.aqp-viz[data-serum="sebo"] .aqp-viz__film { fill: #cfe5e1; }
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__film { transition: opacity .4s ease, fill var(--aqp-viz-speed) ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__beams { transition: opacity .45s ease; }
}
.aqp-viz__beams--red { fill: url(#aqpBeamR); }
.aqp-viz__beams--green { fill: url(#aqpBeamG); }
.aqp-viz__beams--blue { fill: url(#aqpBeamB); }
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__beams.is-active { animation: aqp-breathe 2.4s ease-in-out infinite alternate; }
}

@keyframes aqp-breathe { from { opacity: .18; } to { opacity: .32; } }
.aqp-viz__diode { fill: var(--aqp-viz-led); }
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__diode { transition: fill var(--aqp-viz-speed) ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__flake { transition: opacity .4s ease, transform .4s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__plug { transition: transform var(--aqp-plug-duration, 1.1s) cubic-bezier(.4, 0, .2, 1), opacity var(--aqp-plug-duration, .4s) ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__plug-body { transition: fill .4s ease; }
}
.aqp-viz__mouth { transform-box: fill-box; transform-origin: center; }
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__mouth { transition: transform var(--aqp-viz-speed) ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__pore-serum { transition: opacity .5s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__pore-halo { transition: opacity .3s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__mchannel { transition: opacity .25s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__moisture { transition: opacity .6s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__fib-halo { transition: opacity .45s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__collagen { transition: stroke-width .45s ease, opacity .45s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__melanin { transition: opacity .45s ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__lift { transition: opacity .3s ease; }
}
.aqp-viz__compare, .aqp-viz__mcompare { pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__compare, .aqp-viz__mcompare { transition: opacity var(--aqp-viz-speed) ease; }
}
@media (prefers-reduced-motion: no-preference) {
.aqp-viz__squash { transition: transform .35s ease; }
}
@media (min-width: 1100px) {

  .aqp-viz__scene-top { grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); gap: 36px; }
}
@media (min-width: 1100px) {

  .aqp-viz__layout { grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); gap: 36px; }
}
@media (min-width: 1100px) {

  .aqp-viz__panel { height: 100%; }
}
@media (min-width: 1100px) {

  .aqp-viz__controls { margin-top: auto; }
}
@media (min-width: 1100px) {

  .aqp-viz__card-text { min-height: 88px; }
}
@media (min-width: 1100px) {

  .aqp-viz__options { min-height: 100px; }
}
@media (max-width: 767px) {

  .aqp-viz__container { padding: 0 var(--nvm-gutter-mobile); }
}
@media (max-width: 767px) {

  .aqp-viz__layout { gap: 16px; }
}
@media (max-width: 767px) {

  .aqp-viz__scene-top { gap: 8px; margin-bottom: 12px; }
}
@media (max-width: 767px) {

  .aqp-viz__scene-caption { font-size: 12px; }
}
@media (max-width: 767px) {

  .aqp-viz__scene-frame { border-radius: var(--aqp-viz-radius-card); }
}
@media (max-width: 767px) {

  .aqp-viz--enhanced .aqp-viz__scene-frame { aspect-ratio: 1 / 1; }
}
@media (max-width: 767px) {

  .aqp-viz__labels { display: none; }
}
@media (max-width: 767px) {

  .aqp-viz__status { display: none; }
}
@media (max-width: 767px) {

  .aqp-viz__stages {
    display: flex;
    gap: 8px;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767px) {

  .aqp-viz__stage { flex: 0 0 auto; min-width: 148px; scroll-snap-align: start; }
}
@media (max-width: 767px) {

  .aqp-viz__options { min-height: 106px; }
}
@media (max-width: 767px) {

  .aqp-viz__card-text { min-height: 110px; }
}
@media (max-width: 767px) {

  .aqp-viz__card-note { min-height: 60px; }
}
@media (max-width: 767px) {

  .aqp-viz__pill { min-height: 48px; }
}
@media (max-width: 767px) {

  .aqp-viz__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {

  .aqp-viz__controls { gap: 8px; }
}
@media (max-width: 767px) {

  .aqp-viz__controls .aqp-viz__btn, .aqp-viz__controls .aqp-viz__cta { min-height: 52px; }
}
@media (max-width: 767px) {

  .aqp-viz__btn { min-height: 48px; }
}
@media (max-width: 767px) {

  .aqp-viz__note { margin-top: 16px; }
}
@media (orientation: landscape) and (max-height: 480px) {

  .aqp-viz__scene-frame,
  .aqp-viz--enhanced .aqp-viz__scene-frame {
    aspect-ratio: auto;
    height: 72vh;
    width: min(100%, 115.2vh);
    margin: 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {

  .aqp-viz__adring, .aqp-viz__flow-in, .aqp-viz__flow-out, .aqp-viz__beams.is-active { animation: none; }
}
@media (prefers-reduced-motion: reduce) {

  .aqp-viz__beams.is-active { opacity: .26; }
}
.aqp-viz__dot--stratum { --aqp-viz-dot: #f4d8c2; }
.aqp-viz__dot--epi { --aqp-viz-dot: #f7e0cf; }
.aqp-viz__dot--derm { --aqp-viz-dot: #f0c9b6; }
.aqp-viz__dot--hypo { --aqp-viz-dot: #f8e9c6; }
.aqp-viz__dot--plug { --aqp-viz-dot: #e8d9a8; }
.aqp-viz__dot--serum { --aqp-viz-dot: #cfe5e1; }
.aqp-viz__dot--peel { --aqp-viz-dot: #e9c58a; }
.aqp-viz__dot--red { --aqp-viz-dot: #d9584e; }
.aqp-viz__dot--green { --aqp-viz-dot: #6fae7a; }
.aqp-viz__dot--blue { --aqp-viz-dot: #5b8fd6; }
/* Harmony NIR — схема процедуры NIR. Сетка блока как в design/anim/harmony-nir. */
/* Процедура NIR — интерактивная схема (НОВА МИ)
   Версия 1.3 · 10.10.2026
   Изоляция: все стили scoped под .nir-viz, переменные --nir-viz-* с запасными значениями.
   Хром — палитра A, фон c2 (DESIGN-SYSTEM-ANIMATION.md). Анатомические цвета — только внутри SVG.
   Шапка без карточного хрома. Шрифт h2 — правило прозы страницы, бровь — .nvm-eyebrow.
   Шрифт и цвет статуса и подсказки — .nvm-viz__status и .nvm-viz__hint.
   Статус-строка — отдельный ряд на всю ширину над сеткой (R2): сцена и карточка на одной линии.
   Термометры в SVG — горизонтальные шкалы над манипулой, заливка scaleX от левого края (R2).
   Панель: 2 группы (Режим, Зона) — строка цены и группы «После сеанса»/«Курс» убраны (R3).
   Стопки работают только с JS (.nir-viz--enhanced); без JS весь контент — в потоке.
   Каркас неподвижен: меняются только текст в стопках, цвет и прозрачность (ТЗ §20.1).
   Без форсированных деклараций: reduced-motion решается специфичностью селектора и порядком (блок в конце). */

.nir-viz { box-sizing: border-box;
  --nir-viz-page: var(--nvm-page, var(--nvm-color-page));
  --nir-viz-surface: var(--nvm-surface, var(--nvm-ed-paper, var(--nvm-color-page)));
  --nir-viz-plaque: var(--nvm-plaque, var(--nvm-color-inset));
  --nir-viz-line: var(--nvm-line, var(--nvm-ed-line, var(--nvm-color-line)));
  --nir-viz-ink: var(--nvm-ink, var(--nvm-color-ink));
  --nir-viz-muted: var(--nvm-muted, var(--nvm-ed-muted, var(--nvm-color-muted)));
  --nir-viz-line-strong: var(--nvm-line-strong, var(--nvm-color-control));
  --nir-viz-action: var(--nvm-action, var(--nvm-color-action));
  --nir-viz-action-hover: var(--nvm-action-hover, var(--nvm-color-action-hover));
  --nir-viz-accent: var(--nvm-accent, var(--nvm-color-link));
  --nir-viz-frame: var(--nvm-frame, var(--nvm-color-surface));
  --nir-viz-on-action: var(--nvm-on-action, var(--nvm-color-surface));
  --nir-viz-font: var(--nvm-font-sans, "Inter", sans-serif);
  --nir-viz-radius-card: var(--nvm-radius-card, 20px);
  --nir-viz-radius-control: var(--nvm-radius-control, var(--nvm-ed-r-sm));
  --nir-viz-shadow: var(--nvm-ed-shadow-lift);
  /* шкала отступов блока (высоты контролов — метрики, остаются в px) */
  --nir-viz-sp-4: 4px;
  --nir-viz-sp-8: 8px;
  --nir-viz-sp-12: 12px;
  --nir-viz-sp-16: 16px;
  --nir-viz-sp-20: 20px;
  --nir-viz-sp-24: 24px;
  --nir-viz-sp-28: 28px;
  --nir-viz-sp-36: 36px;
  --nir-viz-sp-40: 40px;
  --nir-viz-sp-56: 56px;

  font-family: var(--nir-viz-font);
  color: var(--nir-viz-ink);
  font-size: 14px;
  line-height: 1.55;

  -webkit-text-size-adjust: 100%;
}
.nir-viz__container {
  max-width: var(--nvm-container, 1240px);
  margin: 0 auto;
  padding: 0 var(--nvm-gutter-mobile, 16px);
}
/* ---------- шапка секции: без хрома, типографика — из ДС сайта ---------- */

.nir-viz__head { margin: 0 0 var(--nir-viz-sp-16); }
.nir-viz__lead {
  margin: 0;
  max-width: 720px;
  font-size: 16px;
  line-height: 1.6;
}
/* ---------- статус-строка над сеткой, на всю ширину блока (R2) ---------- */

.nir-viz__statusline {
  display: flex;
  align-items: center;
  gap: var(--nir-viz-sp-8);
  margin: 0 0 var(--nir-viz-sp-12);
  height: 20px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.nir-viz__statusline-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--nir-viz-accent);
  flex: none;
}
.nir-viz__statusline[data-state="manual"] .nir-viz__statusline-dot { background: var(--nir-viz-action); }
/* ---------- каркас ---------- */

.nir-viz__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nir-viz-sp-12);
  align-items: stretch;
}
.nir-viz__left {
  display: flex;
  flex-direction: column;
  gap: var(--nir-viz-sp-12);
  min-width: 0;
}
.nir-viz__right {
  display: flex;
  flex-direction: column;
  gap: var(--nir-viz-sp-12);
  min-width: 0;
}
/* ---------- сцена ---------- */

.nir-viz__scene-frame { box-sizing: border-box;
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--nir-viz-frame);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--nir-viz-radius-card);
  box-shadow: var(--nvm-ed-shadow-lift);
  overflow: hidden;
  touch-action: pan-y;
}
.nir-viz--enhanced .nir-viz__scene-frame { aspect-ratio: 1 / 1; }
.nir-viz__scene { display: block; width: 100%; height: 100%; }
.nir-viz__static { box-sizing: border-box;
  position: absolute;
  inset: 0;
  overflow: auto;
  background: var(--nir-viz-frame);
  padding: var(--nir-viz-sp-20);
  font-size: 13px;
  line-height: 1.55;
  color: var(--nir-viz-muted);
}
.nir-viz__static p { margin: 0 0 var(--nvm-ed-s3); }
.nir-viz__static ol { box-sizing: border-box; margin: 0; padding-left: 20px; }
.nir-viz__static li { margin-bottom: var(--nvm-ed-s2); }
.nir-viz__static strong { color: var(--nir-viz-ink); }
.nir-viz--enhanced .nir-viz__static { display: none; }
/* ---------- подсказка под сценой ---------- */

.nir-viz__scenhint {
  margin: 0;
  min-height: 17px;
}
/* ---------- вкладки этапов (§21.1) ---------- */

.nir-viz__stages {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--nir-viz-sp-8);
}
.nir-viz__stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--nvm-ed-s1);
  min-width: 0;
  height: 48px;
  padding: 4px;
  background: var(--nir-viz-surface);
  border: 1px solid var(--nir-viz-line-strong);
  border-radius: var(--nir-viz-radius-control);
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.nir-viz__stage {
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
}
.nir-viz__stage-step, .nir-viz__stage-name { display: none; }
.nir-viz__stage-num { font-size: 16px; font-weight: 600; color: var(--nir-viz-ink); }
.nir-viz__stage[aria-pressed="true"] {
  background: var(--nir-viz-plaque);
}
.nir-viz__stage[aria-pressed="true"] .nir-viz__stage-num { color: var(--nir-viz-action-hover); }
/* ---------- карточка этапа (§21.4, стопка §20.1) ---------- */

.nir-viz__card { box-sizing: border-box;
  background: var(--nir-viz-surface);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--nir-viz-radius-card);
  box-shadow: var(--nvm-ed-shadow-lift);
  padding: var(--nir-viz-sp-16);
  display: flex;
  flex-direction: column;
  gap: var(--nir-viz-sp-8);
}

/* Стопки — только под JS-enhanced; без JS все варианты идут в потоке друг за другом */
.nir-viz__stack > :where(.nir-viz__card-step, .nir-viz__card-title, .nir-viz__card-text, .nir-viz__card-note, .nir-viz__card-value, .nir-viz__hint) { display: block; }

.nir-viz:not(.nir-viz--enhanced) .nir-viz__stack > :where(.nir-viz__card-step, .nir-viz__card-title, .nir-viz__card-text, .nir-viz__card-note, .nir-viz__card-value, .nir-viz__hint) + :where(.nir-viz__card-step, .nir-viz__card-title, .nir-viz__card-text, .nir-viz__card-note, .nir-viz__card-value, .nir-viz__hint) { margin-top: var(--nir-viz-sp-8); }
.nir-viz--enhanced .nir-viz__stack { display: grid; }

.nir-viz--enhanced .nir-viz__stack > :where(.nir-viz__card-step, .nir-viz__card-title, .nir-viz__card-text, .nir-viz__card-note, .nir-viz__card-value, .nir-viz__hint) {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
}
@media (prefers-reduced-motion: no-preference) {

.nir-viz--enhanced .nir-viz__stack > :where(.nir-viz__card-step, .nir-viz__card-title, .nir-viz__card-text, .nir-viz__card-note, .nir-viz__card-value, .nir-viz__hint) {
  transition: opacity .25s ease, visibility .25s ease;
}
}
.nir-viz--enhanced .nir-viz__stack > .is-active { opacity: 1; visibility: visible; }
.nir-viz__card-step {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nir-viz-muted);
  white-space: nowrap;
}
.nir-viz__card-title { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.nir-viz__card-rows { margin: 0; display: flex; flex-direction: column; }
.nir-viz__card-row { box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--nir-viz-sp-12);
  padding: var(--nir-viz-sp-4) 0;
  border-top: 1px solid var(--nvm-ed-line);
}
.nir-viz__card-row dt { font-size: 13px; color: var(--nir-viz-muted); }
.nir-viz__card-row dd { margin: 0; font-size: 13px; font-weight: 600; text-align: right; }
.nir-viz__card-row dd > span { white-space: nowrap; }
.nir-viz__card-text { margin: 0; font-size: 14px; line-height: 1.55; }
.nir-viz__card-text, .nir-viz__card-note, .nir-viz__lead {
  hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
  text-align: left;
}
.nir-viz__card-note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--nir-viz-muted); }
/* «Схема иллюстрирует механизм…» — видна только на этапе 5; место зарезервировано всегда,
   без JS остаётся в потоке как текстовое примечание */
.nir-viz--enhanced .nir-viz__scheme-note {
  opacity: 0;
  visibility: hidden;
}
@media (prefers-reduced-motion: no-preference) {
/* «Схема иллюстрирует механизм…» — видна только на этапе 5; место зарезервировано всегда,
   без JS остаётся в потоке как текстовое примечание */
.nir-viz--enhanced .nir-viz__scheme-note {
  transition: opacity .25s ease, visibility .25s ease;
}
}
.nir-viz--enhanced .nir-viz__scheme-note.is-active { opacity: 1; visibility: visible; }
/* ---------- группы переключателей (§21.2, §20.4) ---------- */

.nir-viz__groups { display: flex; flex-direction: column; gap: var(--nir-viz-sp-12); }
.nir-viz__group { display: flex; flex-direction: column; gap: var(--nir-viz-sp-8); min-width: 0; }
.nir-viz__group-label {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nir-viz-muted);
}
.nir-viz__seg { display: grid; gap: var(--nir-viz-sp-8); }
.nir-viz__seg--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nir-viz__seg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nir-viz__seg button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 48px;
  padding: 4px 8px;
  background: var(--nir-viz-surface);
  border: 1px solid var(--nir-viz-line-strong);
  border-radius: var(--nir-viz-radius-control);
  font-size: 13px;
  font-weight: 600;
  color: var(--nir-viz-ink);
  white-space: nowrap;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.nir-viz__seg button {
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
}
.nir-viz__seg button[aria-pressed="true"] {
  background: var(--nir-viz-plaque);
  color: var(--nir-viz-action-hover);
  box-shadow: none;
}
.nir-viz__group-hint {
  margin: 0;
  min-height: 17px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--nir-viz-muted);
}
/* ---------- пара «Пауза/Сброс» и CTA ---------- */

.nir-viz__pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--nir-viz-sp-8);
}
.nir-viz__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 48px;
  padding: 4px 8px;
  border-radius: var(--nir-viz-radius-control);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.nir-viz__btn {
  transition: background .2s ease, color .2s ease;
}
}
.nir-viz__btn--ghost {
  background: var(--nir-viz-surface);
  border: 1px solid var(--nvm-ed-coral);
  color: var(--nir-viz-action-hover);
}
.nir-viz__btn--ghost:hover, .nir-viz__btn--ghost:active { background: var(--nir-viz-plaque); }
.nir-viz__ctas {
  display: flex;
  flex-direction: column;
  gap: var(--nir-viz-sp-12);
}
.nir-viz__cta { box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 4px 16px;
  border-radius: var(--nir-viz-radius-control);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
.nir-viz__cta {
  transition: background .2s ease, color .2s ease;
}
}
.nir-viz__cta--primary {
  background: var(--nvm-h-cta);
  border: 0;
  color: var(--nvm-h-cta-ink);
}
.nir-viz__cta--primary:hover, .nir-viz__cta--primary:active { background: var(--nvm-h-cta); border: 0}
.nir-viz__cta--ghost {
  background: var(--nvm-h-cta);
  border: 0;
  color: var(--nvm-h-cta-ink);
}
.nir-viz__cta--ghost:hover, .nir-viz__cta--ghost:active { background: var(--nvm-h-cta); border: 0}
/* ---------- обязательная плашка (§7) ---------- */

.nir-viz__legal { box-sizing: border-box;
  margin: var(--nir-viz-sp-16) 0 0;
  padding: var(--nir-viz-sp-12) var(--nir-viz-sp-16);
  background: var(--nir-viz-plaque);
  border-radius: var(--nir-viz-radius-control);
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
  color: var(--nir-viz-muted);
}
/* ---------- служебное ---------- */

.nir-viz__sr {
  position: absolute;
  width: 1px; height: 1px;
  margin: 0; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.nir-viz button:focus-visible, .nir-viz a:focus-visible {
  outline: 2px solid var(--nir-viz-accent);
  outline-offset: 2px;
}

/* Без JS: контролы инертны и скрыты; карточка, CTA-якорь, плашка и текстовая
   версия этапов (оверлей сцены) остаются в потоке */
.nir-viz:not(.nir-viz--enhanced) .nir-viz__stages, .nir-viz:not(.nir-viz--enhanced) .nir-viz__groups, .nir-viz:not(.nir-viz--enhanced) .nir-viz__pair, .nir-viz:not(.nir-viz--enhanced) .nir-viz__statusline, .nir-viz:not(.nir-viz--enhanced) .nir-viz__scenhint { display: none; }
/* ---------- SVG: анимируемые узлы ---------- */

.nir-viz__tcol { transform-box: fill-box; transform-origin: 0 50%; }
.nir-viz__tval { font-variant-numeric: tabular-nums; }
.nir-viz__fibpulse { transform-box: view-box; transform-origin: 310px 310px; }
[data-nir-dermis] {
  transform-box: view-box;
  transform-origin: 0 230px;
}
@media (prefers-reduced-motion: no-preference) {
[data-nir-dermis] {
  transition: transform .35s ease;
}
}
@media (prefers-reduced-motion: no-preference) {
[data-nir-hypod] { transition: transform .35s ease; }
}
[data-nir-beam-derm] {
  transform-box: view-box;
  transform-origin: 0 230px;
}
@media (prefers-reduced-motion: no-preference) {
[data-nir-beam-derm] {
  transition: transform .35s ease;
}
}
@media (prefers-reduced-motion: no-preference) {
[data-nir-fibers], [data-nir-dens], [data-nir-oil], [data-nir-epitint],
[data-nir-glow], [data-nir-beam] { transition: opacity .35s ease; }
}
@media (min-width: 768px) {

  .nir-viz__container { padding: 0 var(--nvm-gutter-desktop, 24px); }
}
@media (min-width: 768px) {

  .nir-viz__head { margin-bottom: var(--nir-viz-sp-28); }
}
@media (min-width: 768px) {

  .nir-viz__scene-frame { border-radius: 20px; }
}
@media (min-width: 768px) {

  .nir-viz--enhanced .nir-viz__scene-frame { aspect-ratio: 16 / 10; }
}
@media (min-width: 768px) {

  .nir-viz__stage { height: auto; min-height: 44px; padding: 8px var(--nvm-ed-s2); }
}
@media (min-width: 768px) {

  .nir-viz__stage-step, .nir-viz__stage-name { display: block; white-space: nowrap; }
}
@media (min-width: 768px) {

  .nir-viz__stage-num { display: none; }
}
@media (min-width: 768px) {

  .nir-viz__stage-step {
    font-size: 12px; font-weight: 600; letter-spacing: .06em;
    text-transform: uppercase; color: var(--nir-viz-muted);
  }
}
@media (min-width: 768px) {

  .nir-viz__stage-name { font-size: 14px; font-weight: 600; color: var(--nir-viz-ink); }
}
@media (min-width: 768px) {

  .nir-viz__stage[aria-pressed="true"] .nir-viz__stage-name { color: var(--nir-viz-action-hover); }
}
@media (min-width: 768px) {

  .nir-viz__card { padding: var(--nir-viz-sp-20); }
}
@media (min-width: 768px) {

  .nir-viz__seg button { height: 44px; font-size: 14px; }
}
@media (min-width: 768px) {

  .nir-viz__btn { height: 46px; }
}
@media (min-width: 768px) {

  .nir-viz__cta { height: 46px; }
}
@media (min-width: 768px) {

  .nir-viz__legal { margin-top: var(--nir-viz-sp-24); }
}
@media (min-width: 768px) and (max-width: 1099px) {

  .nir-viz__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nir-viz-sp-16); }
}
@media (min-width: 1100px) {

  .nir-viz__grid { grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); column-gap: var(--nir-viz-sp-36); }
}
@media (min-width: 1100px) {

  .nir-viz__scene-frame { flex: 1; min-height: 0; }
}
@media (min-width: 1100px) {

  .nir-viz__ctas { margin-top: auto; }
}
@media (orientation: landscape) and (max-height: 480px) {

  .nir-viz__scene-frame,
  .nir-viz--enhanced .nir-viz__scene-frame {
    aspect-ratio: auto;
    height: 72vh;
    width: min(100%, 115.2vh);
    margin: 0 auto;
  }
}
/* LOTUS — схема лазерной эпиляции. Сетка блока как в design/anim/lotus-epil. Шапка — заголовок секции, шрифт статуса и подсказки — общие классы. */
/* LOTUS — интерактивная схема диодной лазерной эпиляции (НОВА МИ)
   Версия 2.1 · 10.10.2026
   Изоляция: все стили scoped под .lotus-viz, переменные --lotus-viz-* с запасными значениями.
   Хром — палитра A, фон c2 (DESIGN-SYSTEM-ANIMATION.md). Анатомические цвета — только внутри SVG.
   Вёрстка — по ТЗ §20–21: каркас неподвижен, меняются только текст/цвет/opacity.
   ≥1100 — по образцу INUS: сетка с областями (сцена+вкладки | карточка), оси 4 колонками
   на всю ширину, кнопки 3 колонками, CTA отдельным рядом; сцена всегда 16/10 без кропа
   (viewBox "-12 0 1024 640" — ровно 1.6, slice не режет). Легенда-чипы убраны по решению заказчика.
   Заголовки h2/h3 (.lotus-viz__title, .lotus-viz__card-title) намеренно не стилизуются:
   на сайте они наследуют сайтовую типографику (в демо эмулируется в index.html).
   Перекрытия состояний собраны на специфичности через [data-stage]. */

.lotus-viz {--lotus-viz-page: var(--nvm-page, var(--nvm-color-page)); --lotus-viz-surface: var(--nvm-surface, var(--nvm-ed-paper, var(--nvm-color-page))); --lotus-viz-plaque: var(--nvm-plaque, var(--nvm-color-inset)); --lotus-viz-line: var(--nvm-line, var(--nvm-ed-line, var(--nvm-color-line))); --lotus-viz-ink: var(--nvm-ink, var(--nvm-color-ink)); --lotus-viz-muted: var(--nvm-muted, var(--nvm-ed-muted, var(--nvm-color-muted))); --lotus-viz-line-strong: var(--nvm-line-strong, var(--nvm-color-control)); --lotus-viz-action: var(--nvm-action, var(--nvm-color-action)); --lotus-viz-action-hover: var(--nvm-action-hover, var(--nvm-color-action-hover)); --lotus-viz-accent: var(--nvm-accent, var(--nvm-color-link)); --lotus-viz-font: var(--nvm-font-sans, "Inter", sans-serif); --lotus-viz-radius-card: var(--nvm-radius-card, 20px); --lotus-viz-radius-control: var(--nvm-radius-control, var(--nvm-ed-r-sm)); --lotus-viz-radius-pill: var(--nvm-radius-pill, 999px); --lotus-viz-shadow: var(--nvm-ed-shadow-lift); --lotus-viz-speed: .35s; --lotus-viz-hair: #2b2420; --lotus-viz-hair-alt: #2b2420; --lotus-viz-skin: #dac4b5; --lotus-viz-glowmax: 1; font-family: var(--lotus-viz-font); color: var(--lotus-viz-ink); font-size: 14px; line-height: 1.55; padding: 56px 0; -webkit-text-size-adjust: 100%; hyphens: manual; overflow-wrap: normal; word-break: normal}
.lotus-viz[data-hair="blond"] {--lotus-viz-hair: #6b4e36; --lotus-viz-hair-alt: #6b4e36}
.lotus-viz[data-hair="light"] {--lotus-viz-hair: #c8b089; --lotus-viz-hair-alt: #a85a32; --lotus-viz-glowmax: .35}
.lotus-viz[data-hair="grey"] {--lotus-viz-hair: #cfcac2; --lotus-viz-hair-alt: #cfcac2; --lotus-viz-glowmax: 0}
.lotus-viz[data-prep="wax"] {--lotus-viz-glowmax: 0}
.lotus-viz[data-phototype="1"] {--lotus-viz-skin: #f6e3d6}
.lotus-viz[data-phototype="2"] {--lotus-viz-skin: #dac4b5}
.lotus-viz[data-phototype="3"] {--lotus-viz-skin: #bea494}
.lotus-viz[data-phototype="4"] {--lotus-viz-skin: #a28574}
.lotus-viz[data-phototype="5"] {--lotus-viz-skin: #866653}
.lotus-viz[data-phototype="6"] {--lotus-viz-skin: #6a4632}
.lotus-viz--enhanced .lotus-viz__static {display: none}
.lotus-viz--enhanced .lotus-viz__stack {display: grid}

.lotus-viz--enhanced .lotus-viz__stack > :where(.lotus-viz__card-text) {grid-area: 1 / 1; opacity: 0; visibility: hidden}
@media (prefers-reduced-motion: no-preference) {

.lotus-viz--enhanced .lotus-viz__stack > :where(.lotus-viz__card-text) { transition: opacity .25s ease}
}
.lotus-viz button:focus-visible, .lotus-viz a:focus-visible, .lotus-viz [role="button"]:focus-visible {outline: 2px solid var(--lotus-viz-accent); outline-offset: 2px}
.lotus-viz__fol {cursor: pointer}
.lotus-viz__melanin {fill: #3d2c22}
@media (prefers-reduced-motion: no-preference) {
.lotus-viz__melanin { transition: opacity .3s ease}
}
.lotus-viz__gel {fill: #cfe3e8; opacity: .55; transform: scaleX(1); transform-box: fill-box; transform-origin: 0 50%}
@media (prefers-reduced-motion: no-preference) {
.lotus-viz__gel { transition: transform .6s ease}
}

@keyframes lotus-flick {
  from{opacity: .05}
  to{opacity: .16}
}
@media (max-width: 767px) {
.lotus-viz {padding: 40px 0}
}
@media (max-width: 767px) {
.lotus-viz--enhanced .lotus-viz__scene-frame {aspect-ratio: 1 / 1; border-radius: var(--lotus-viz-radius-card)}
}
/* ---------- появление секции (§11): только с JS и без reduced-motion ---------- */

.lp-viz--enhanced { opacity: 0; transform: translateY(18px); }
.lp-viz--enhanced.is-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: no-preference) {
.lp-viz--enhanced.is-in {
  transition: opacity .6s ease, transform .6s ease;
}
}
.lp-viz--enhanced .lp-viz__scene-frame { aspect-ratio: 1 / 1; }
.lp-viz__stage-step {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--lp-viz-muted);
  white-space: nowrap;
}
.lp-viz__stage-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--lp-viz-text);
  white-space: nowrap;
}
/* стопки — только под enhanced; без JS карточка скрыта (hidden), тексты — в <ol> §22.8 */
.lp-viz--enhanced .lp-viz__stack { display: grid; }

.lp-viz--enhanced .lp-viz__stack > :where(.lp-viz__card-step, .lp-viz__card-title, .lp-viz__card-val, .lp-viz__card-text, .lp-viz__card-note, .lp-viz__hint-var) {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
}
@media (prefers-reduced-motion: no-preference) {

.lp-viz--enhanced .lp-viz__stack > :where(.lp-viz__card-step, .lp-viz__card-title, .lp-viz__card-val, .lp-viz__card-text, .lp-viz__card-note, .lp-viz__hint-var) {
  transition: opacity .25s ease, visibility .25s ease;
}
}
.lp-viz__card-text-p { margin: 0; font-size: 14px; line-height: 1.55; }
/* легенда слоёв (§21.3 п.7): 3 равных чипа */
.lp-viz__legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--lp-viz-gap-s);
}
.lp-viz__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 4px 8px;
  background: var(--lp-viz-chip);
  border-radius: var(--nvm-radius-pill, 999px);
  font-size: 12px;
  font-weight: 600;
  color: var(--lp-viz-muted);
  white-space: nowrap;
}
@media (min-width: 768px) and (max-width: 1279px) {

  .lp-viz__stage-name { font-size: 13px; }
}
.lp-viz--enhanced .lp-viz__nojs { display: none; }
/* Режимы HELEO4: один компонент. Телефон — база, планшет от 768, ПК от 1025. */
.nvm-modes {
  box-sizing: border-box;
  margin-right: auto; margin-left: auto;
  padding-inline: var(--nvm-card-pad);
  color: var(--nvm-ed-ink);
  font-family: var(--nvm-ed-font-sans);
}
.nvm-modes__lead {
  max-width: 42em;
  margin: var(--nvm-ed-s3) 0 var(--nvm-ed-s6);
  color: var(--nvm-ed-lead);
  font-size: 16px;
  line-height: 1.5;
}
.nvm-modes__layout { display: grid; gap: var(--nvm-gap-card-lg); }
.nvm-modes__grid { display: grid; gap: var(--nvm-ed-s6); }
.nvm-modes__group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--nvm-ed-s3);
  margin-bottom: var(--nvm-ed-s3);
}
.nvm-modes__group-head h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}
.nvm-modes__group-head span {
  color: var(--nvm-ed-muted);
  font-size: 13px;
  line-height: 1.3;
}

.nvm-modes__spectra, .nvm-modes__programs { display: grid; gap: var(--nvm-gap-list); }
.nvm-modes__spectra { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
.nvm-modes__programs { grid-template-columns: 1fr; }
.nvm-modes__pick {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--nvm-ed-s3);
  min-height: var(--nvm-tap);
  margin: 0;
  padding: var(--nvm-ed-s3) var(--nvm-ed-s4);
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--nvm-ed-r-md);
  background: var(--nvm-ed-white);
  color: var(--nvm-ed-ink);
  text-align: left;
  cursor: pointer;
}
.nvm-modes__pick.is-on {
  border-color: var(--nvm-ed-mint);
  background: color-mix(in srgb, var(--nvm-ed-mint) 10%, var(--nvm-ed-white));
}
.nvm-modes__pick:focus-visible {
  outline: 2px solid var(--nvm-ed-focus);
  outline-offset: 2px;
}
.nvm-modes__dots { display: flex; gap: var(--nvm-ed-s1); }
.nvm-modes__dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: var(--nvm-ed-r-pill);
  background: var(--tone, var(--nvm-ed-line-strong));
}
.nvm-modes__pick-text { display: grid; min-width: 0; }
.nvm-modes__pick-text b { font-size: 15px; font-weight: 600; line-height: 1.25; }
.nvm-modes__pick-text small { color: var(--nvm-ed-muted); font-size: 13px; line-height: 1.3; }
.nvm-modes__check {
  position: absolute;
  top: 50%;
  right: var(--nvm-ed-s4);
  width: 16px;
  height: 16px;
  margin-top: -8px;
  color: var(--nvm-ed-mint);
  opacity: 0;
}
.nvm-modes__spectra .nvm-modes__pick.is-on { padding-right: calc(var(--nvm-ed-s4) + var(--nvm-ed-s5)); }
.nvm-modes__pick.is-on .nvm-modes__check { opacity: 1; }
.nvm-modes__programs .nvm-modes__check { display: none; }
.nvm-modes__chevron { width: 16px; height: 16px; color: var(--nvm-ed-muted); }
.nvm-modes__spectra .nvm-modes__chevron { display: none; }
.nvm-modes__card { box-sizing: border-box;
  display: grid;
  align-content: start;
  gap: var(--nvm-ed-s4);
  padding: var(--nvm-card-pad);
  border-radius: var(--nvm-ed-r-lg);
  background: var(--nvm-ed-white);
}

.nvm-modes__card-head, .nvm-modes__card-main { display: grid; gap: var(--nvm-ed-s3); }
.nvm-modes__card-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.nvm-modes__count { box-sizing: border-box;
  margin: 0;
  padding: var(--nvm-ed-s1) var(--nvm-ed-s3);
  border-radius: var(--nvm-ed-r-pill);
  background: var(--nvm-ed-paper);
  color: var(--nvm-ed-muted);
  font-size: 12px;
  line-height: 1.3;
}
.nvm-modes__identity h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 400;
  line-height: 1.15;
}
.nvm-modes__figure { display: grid; justify-items: center; margin: var(--nvm-ed-s4) 0; }
.nvm-modes__figure b {
  font-family: var(--nvm-font-heading);
  font-size: clamp(56px, 8vw, 72px);
  font-weight: 400;
  line-height: 0.9;
}
.nvm-modes__card[data-combo="1"] .nvm-modes__figure b { font-size: clamp(28px, 4vw, 40px); line-height: 1.1; }
.nvm-modes__figure small {
  margin-top: var(--nvm-ed-s2);
  color: var(--nvm-ed-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.nvm-modes__task { display: grid; gap: var(--nvm-ed-s2); }
.nvm-modes__consult {
  color: var(--nvm-h-cta-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
 background: var(--nvm-h-cta); border: 0;}
@media (min-width: 768px) {
.nvm-modes__spectra,
  .nvm-modes__programs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
.nvm-modes__programs .nvm-modes__chevron { display: none; }
}
@media (min-width: 768px) {
.nvm-modes__programs .nvm-modes__check { display: block; }
}
@media (min-width: 768px) {
.nvm-modes__programs .nvm-modes__pick.is-on { padding-right: calc(var(--nvm-ed-s4) + var(--nvm-ed-s5)); }
}
@media (min-width: 768px) {
.nvm-modes__card-main {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--nvm-gap-card-lg);
  }
}
@media (min-width: 1025px) {
.nvm-modes__layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.7fr);
    align-items: start;
  }
}
@media (min-width: 1025px) {
.nvm-modes__card-main { grid-template-columns: 1fr; }
}
.nvm-clinic-facts {
  margin-top: var(--nvm-section-y); margin-bottom: 0;
  font-family: var(--nvm-ed-font-sans);
}
.nvm-clinic-facts h2 {
  margin: 0 0 var(--nvm-ed-s2);
  letter-spacing: 0;
  text-transform: none;
  color: var(--nvm-color-ink);
}
.nvm-clinic-facts .nvm-cf-sub {
  margin: 0 0 var(--nvm-ed-s6);
  font-size: 14px;
  line-height: 1.55;
  color: var(--nvm-ed-muted, var(--nvm-color-muted));
}
.nvm-clinic-facts ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nvm-gap-card);
  margin: 0;
  padding: 0;
  list-style: none;
}
.nvm-fact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--nvm-ed-s2);
  margin: 0;
  padding: var(--nvm-card-pad);
  background: var(--nvm-color-surface);
  border: 1px solid var(--nvm-color-line);
  border-radius: var(--nvm-ed-r-lg);
}
.nvm-fact svg {
  width: 24px;
  height: 24px;
  color: var(--nvm-color-link);
}
.nvm-fact h3 {
  margin: 0;
  color: var(--nvm-color-ink);
  font-style: normal; font-weight: 600; font-size: 16px; line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
}
.nvm-fact p {
  margin: 0;
  color: var(--nvm-color-ink);
  font: 400 14px/1.5 var(--nvm-ed-font-sans);
}
.nvm-fact__more {
  display: block;
  margin-top: auto;
  color: var(--nvm-color-link);
  font: 500 14px/1.3 var(--nvm-ed-font-sans);
  text-decoration: none;
}
.nvm-fact__more:hover { color: var(--nvm-color-action); }
@media (max-width: 834px) {
.nvm-clinic-facts ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
.nvm-clinic-facts ul { grid-template-columns: 1fr; }
}


section.nvm-calc-cta__root {
  max-width: var(--nvm-container);
}


.nvm-pl section.nvm-calc-cta__root {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}
.inus-viz__stages { box-sizing: border-box;
  min-width: 0;
}
.nvm-calc-cta__chip, .nvm-calc-cta__option, .aqp-viz__stage, .inus-viz__stage, .nvm-doc__badge {
  background: var(--nvm-ed-paper);
  border: 1px solid var(--nvm-ed-line-strong);
}
.aqp-viz__stages, .inus-viz__stages, .nvm-staff-reviews__track { box-sizing: border-box;
  min-width: 0;
}


body.nvm-page--article .nv-section {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-inline: 0;
}


/* Схема и карточки преимуществ препарата. */
.nvm-skin { margin: var(--nvm-ed-s4) 0 var(--nvm-ed-s2); aspect-ratio: 4 / 3; }
.nvm-skin > .nvm-skin-anim { height: 100%; }

.nvm-skin-anim {
  display: block;
  width: 100%;
  border-radius: 16px;
}

.nvm-benefits__photo :where(.nvm-benefits__image) {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover; aspect-ratio: 1; }
body.nvm-page :is(.nvm-calc-cta__chip), body.nvm-page :is(.nvm-calc-cta__option), body.nvm-page :is(.nvm-pd__tags li), body.nvm-page :is(.nvm-abon-tag), body.nvm-page :is(.nvm-badge), body.nvm-page :is(.nvm-bap__badge), body.nvm-page :is(.lp-viz__chip), body.nvm-page :is(.glow-stage__tag) { box-sizing: border-box;
  background: var(--nvm-ed-paper, var(--nvm-color-surface));
  border: 1px solid var(--nvm-ed-line-strong, var(--nvm-color-line));
}

.nvm-pl-links { margin: var(--nvm-ed-s2) 0 0; padding: 0; list-style: none; }

.nvm-pl-links a { display: inline-flex; align-items: center; min-width: 24px; min-height: 24px; }
@media (max-width: 767px) {
 .nvm-pl-links a { min-height: var(--nvm-tap); }
}

.nvm-page.nvm-page--service.nvm-ed .nvm-special .nvm-ssf-selection > .nvm-section__head {
  margin-bottom: var(--nvm-ed-s6);
}
.nvm-special .nvm-hero-core__title-text {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  text-align: left;
  text-wrap: wrap;
}

/* п.10 научный блок: факты рядом с фото, колонки ровные */
.nvm-special .nvm-mech__top:has(.nvm-mech__facts) { align-items: stretch; }

.nvm-special .nvm-mech__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nvm-ed-s3); margin: 0; padding: 0; list-style: none; }

.nvm-special .nvm-mech__fact { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--nvm-ed-s1); padding: var(--nvm-ed-s4); border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md); background: var(--nvm-ed-white); }

.nvm-special .nvm-mech__fact b { color: var(--nvm-ed-mint); font: 400 28px/1.1 var(--nvm-font-heading); }

.nvm-special .nvm-mech__fact span { color: var(--nvm-ed-muted); font: 400 14px/1.45 var(--nvm-ed-font-sans); }
@media (min-width: 1100px) {

  .nvm-special .nvm-mech__top:has(.nvm-mech__facts) .nvm-mech__figure { flex: 1 1 auto; min-height: 240px; aspect-ratio: auto; }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech__top:has(.nvm-mech__facts) .nvm-mech__copy { display: flex; flex-direction: column; }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech__top:has(.nvm-mech__facts) .nvm-mech__remark { margin-top: auto; }
}
@media (max-width: 420px) {
 .nvm-special .nvm-mech__facts { grid-template-columns: minmax(0, 1fr); }
}

/* п.8 видео: кнопка-оверлей, иконка Play только на паузе */
.nvm-special .nvm-video-steps__phone--overlay .nvm-video-play { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0; border-radius: var(--nvm-ed-r-lg); background: transparent; box-shadow: none; cursor: pointer; }

.nvm-special .nvm-video-play__icon { display: flex; align-items: center; justify-content: center; width: var(--nvm-video-play-size); height: var(--nvm-video-play-size); border-radius: 0; background: transparent; color: var(--nvm-video-play-color); box-shadow: none; filter: var(--nvm-video-play-shadow); }

.nvm-special .nvm-video-play__icon svg { width: var(--nvm-video-play-size); height: var(--nvm-video-play-size); margin: 0; overflow: visible; }

.nvm-special .nvm-video-play__icon svg, .nvm-special .nvm-video-play__icon svg path { fill: none; stroke: currentColor; stroke-width: var(--nvm-video-play-stroke); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }

.nvm-special .nvm-video-steps__device.is-playing .nvm-video-play__icon { opacity: 0; }

.nvm-special .nvm-video-play:focus-visible { outline: 3px solid var(--nvm-ed-focus); outline-offset: -6px; }

.nvm-special .nvm-video-steps__device:not(.is-playing) .nvm-video-play:focus-visible .nvm-video-play__icon { opacity: 1; }
@media (min-width: 1024px) {

  .nvm-special .nvm-calc-cta__controls:has(.nvm-calc-cta__option:nth-child(4)) { --nvm-calc-columns: 4; }
}

/* п.2 калькулятор: выбранный вариант и кнопка — AA */
body.nvm-page .nvm-special .nvm-calc-cta__option:has(input:checked) { background: color-mix(in srgb, var(--nvm-h-cta) 8%, var(--nvm-color-surface)); border-color: var(--nvm-h-cta); color: var(--nvm-color-dark); }

.nvm-special .nvm-calc-cta__option:has(input:checked) input { accent-color: var(--nvm-color-action); }

.nvm-special .nvm-calc-cta__button { background: var(--nvm-h-cta); color: var(--nvm-h-cta-ink); border: 0}

/* Научный блок ботулинотерапии: фото 5/12, текст на высоту кадра. */
.nvm-mech__eyebrow--in-card { display: none; }

.nvm-mech--card .nvm-mech__head .nvm-mech__eyebrow { display: none; }

.nvm-mech--card .nvm-mech__eyebrow--in-card { display: flex; }

.nvm-mech--card .nvm-mech__top {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: stretch;
}

.nvm-mech--card .nvm-mech__copy { display: flex; flex-direction: column; min-height: 100%; }

.nvm-mech--card .nvm-mech__remark { margin-top: auto; }

.nvm-mech--card .nvm-mech__figure { height: 100%; aspect-ratio: 4 / 3; }
@media (max-width: 1099px) {

  .nvm-mech--card .nvm-mech__top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1099px) {

  .nvm-mech--card .nvm-mech__figure { height: auto; }
}

/* Памятка: 1440 — 3 колонки, 834 — 2+1, 390 — стопка. */
.nvm-memo__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nvm-ed-s5);
}

.nvm-memo__col h3 {
  margin: 0 0 var(--nvm-ed-s3);
  color: var(--nvm-ed-ink);
  font-style: normal; font-weight: 400; font-size: 22px; line-height: 1.2;
}

.nvm-memo__col ul { box-sizing: border-box; margin: 0; padding-left: var(--nvm-ed-s5); }

.nvm-memo__col li { color: var(--nvm-ed-muted); font: 400 15px/1.6 var(--nvm-ed-font-sans); }

.nvm-memo__col li + li { margin-top: var(--nvm-ed-s1); }
@media (min-width: 768px) {

  .nvm-memo__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {

  .nvm-memo__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Преимущества: карточка без тени и без плашки, полоска под фото. */
.nvm-special .nvm-benefits__head { margin: 0 0 var(--nvm-gutter); }

.nvm-special .nvm-benefits__eyebrow {
  margin: 0 0 var(--nvm-ed-s2);
  color: var(--nvm-ed-coral);
  font: 600 12px/1.2 var(--nvm-ed-font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nvm-special .nvm-benefits__lead {
  margin-top: var(--nvm-ed-s3);
  color: var(--nvm-ed-lead);
  font: 400 16px/1.5 var(--nvm-ed-font-sans);
}

.nvm-special .nvm-benefits__grid { gap: var(--nvm-gap-card-lg); margin-top: 0; }

.nvm-special .nvm-benefits__card {
  box-shadow: none;
}

.nvm-special .nvm-benefits__grid > :nth-child(3n + 1) {
  --nvm-adv-accent: var(--nvm-ed-coral);
  --nvm-adv-ink: var(--nvm-ed-coral);
}

.nvm-special .nvm-benefits__grid > :nth-child(3n + 2) {
  --nvm-adv-accent: var(--nvm-ed-mint);
  --nvm-adv-ink: var(--nvm-ed-mint);
}

.nvm-special .nvm-benefits__grid > :nth-child(3n) {
  --nvm-adv-accent: var(--nvm-color-bronze);
  --nvm-adv-ink: var(--nvm-ed-lead);
}

.nvm-special .nvm-benefits__photo {
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-bottom: 3px solid var(--nvm-adv-accent, var(--nvm-ed-line));
}
.nvm-special .nvm-benefits__photo :where(.nvm-benefits__image) {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  box-shadow: none;
}

.nvm-special .nvm-benefits__body { padding: var(--nvm-card-pad) var(--nvm-card-pad) calc(var(--nvm-card-pad) + var(--nvm-ed-s1)); }

.nvm-special .nvm-benefits__hrow {
  display: flex;
  align-items: center;
  gap: var(--nvm-ed-s3);
  margin-bottom: var(--nvm-ed-s3);
}

.nvm-special .nvm-benefits__icon {
  display: grid;
  flex: none;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: var(--nvm-ed-r-pill);
  background: var(--nvm-ed-paper);
  color: var(--nvm-adv-ink, var(--nvm-ed-ink));
}

.nvm-special .nvm-benefits__icon svg { width: 18px; height: 18px; }

.nvm-special .nvm-benefits__card h3 {
  margin: 0;
  color: var(--nvm-ed-ink);
  font-style: normal; font-weight: 600; font-size: 24px; line-height: 1.15;
}

.nvm-special .nvm-benefits__card p {
  color: var(--nvm-ed-lead);
  font: 400 15px/1.55 var(--nvm-ed-font-sans);
}

.nvm-special .nvm-benefits__note {
  margin-top: var(--nvm-ed-s4);
  color: var(--nvm-ed-lead);
  text-align: left;
}
@media (max-width: 1100px) {

  .nvm-special .nvm-benefits__grid { gap: var(--nvm-gap-card); }
}
@media (max-width: 1100px) {

  .nvm-special .nvm-benefits__body { padding: var(--nvm-ed-s5); }
}
@media (max-width: 1100px) {

  .nvm-special .nvm-benefits__card h3 { font-size: 21px; }
}
@media (max-width: 700px) {

  .nvm-special .nvm-benefits__photo { aspect-ratio: 1 / 1; }
}


/* Шапка страниц: те же отступы, что у крошек героя услуги. */
:root {
  --nvm-h1-size: clamp(34px, 4vw, 48px);
  --nvm-h1-weight: 400;
  --nvm-h1-lh: 1.1;
  --nvm-pagehead-gap: 16px;
}
.nvm-pagehead > h1 { margin: 0; text-align: left; }

.nvm-pagehead > p, .nvm-pagehead > .nvm-shop-lead, .nvm-pagehead > div { max-width: 72ch; text-align: left; }

.nvm-links-block, .nvm-pokaz-block {
  box-sizing: border-box;
  max-width: var(--nvm-container);
}

.nvm-page :is(.inus-viz__stage, .aqp-viz__stage, .lotus-viz__stage, .lp-viz__stage, .nir-viz__stage, .pig-viz__stage, .hel-viz__stage), .nvm-page :is(.inus-viz__stage, .aqp-viz__stage, .lotus-viz__stage, .lp-viz__stage, .nir-viz__stage, .pig-viz__stage, .hel-viz__stage)[aria-pressed="true"] {
  border: 0;
  box-shadow: none;
}

.nvm-page :is(.inus-viz__stage, .aqp-viz__stage, .lotus-viz__stage, .lp-viz__stage, .nir-viz__stage, .pig-viz__stage, .hel-viz__stage):focus-visible {
  outline: 2px solid var(--nvm-ed-mint, var(--nvm-color-link));
  outline-offset: -3px;
}

.nvm-page :is(.inus-viz__stage-name, .inus-viz__stage-caption, .aqp-viz__stage-name, .aqp-viz__stage-caption, .lotus-viz__stage-name, .lp-viz__stage-name, .nir-viz__stage-name, .pig-viz__stage-name, .hel-viz__stage-name) {
  border: 0;
  outline: none;
  box-shadow: none;
}


.nvm-page .nvm-calc-cta__layout { gap: 0; padding: 0; overflow: hidden; }

.nvm-page .nvm-calc-cta__controls { box-sizing: border-box; padding: var(--nvm-s7, 28px); }

.nvm-page .nvm-calc-cta__result {
  position: static;
  align-self: stretch;
  margin: 0;
  background: var(--nvm-ed-ink, var(--nvm-color-ink));
  color: var(--nvm-ed-white, var(--nvm-color-surface));
  border-radius: 0 var(--nvm-radius-card, 20px) var(--nvm-radius-card, 20px) 0;
  box-shadow: none;
}
.nvm-page .nvm-calc-cta__result .nvm-calc-cta__price { color: var(--nvm-ed-white, var(--nvm-color-surface)); }

.nvm-page .nvm-calc-cta__result .nvm-calc-cta__button {
  background: var(--nvm-h-cta);
  color: var(--nvm-h-cta-ink); border: 0}

.nvm-page .nvm-calc-cta__result .nvm-calc-cta__summary, .nvm-page .nvm-calc-cta__result .nvm-calc-cta__context {
  color: color-mix(in srgb, var(--nvm-ed-white, var(--nvm-color-surface)) 80%, transparent);
}
@media (max-width: 1023px) {

  .nvm-page .nvm-calc-cta__layout { padding: 0; gap: 0; }
}
@media (max-width: 1023px) {

  .nvm-page .nvm-calc-cta__controls { padding: var(--nvm-s5, 20px); }
}
@media (max-width: 767px) {

  .nvm-page .nvm-calc-cta__layout { grid-template-columns: minmax(0, 1fr); padding: 0; }
}
@media (max-width: 767px) {

  .nvm-page .nvm-calc-cta__controls { padding: var(--nvm-s4, 16px); }
}
@media (max-width: 767px) {

  .nvm-page .nvm-calc-cta__result {
    width: 100%;
    border-radius: 0 0 var(--nvm-radius-card, 20px) var(--nvm-radius-card, 20px);
  }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 40px;
    align-items: start;
  }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__media {
    display: flex;
    flex-direction: column;
    gap: var(--nvm-ed-s4);
    align-self: start;
  }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__top:has(.nvm-mech__facts) .nvm-mech__figure,
  .nvm-special .nvm-mech--prose .nvm-mech__figure {
    flex: none;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__facts { margin: 0; }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__copy {
    align-self: start;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__text p {
    margin: 0;
    color: var(--nvm-ed-ink);
    font: 400 16px/1.7 var(--nvm-ed-font-sans);
  }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__text p + p { margin-top: var(--nvm-ed-s4); }
}
@media (min-width: 1100px) {

  .nvm-special .nvm-mech--prose .nvm-mech__remark { margin-top: var(--nvm-ed-s4); }
}


/* Лазерная эпиляция: карта зон и калькулятор. Логика прода, шрифты и цвета новой системы. */
.nvm-laser-calc {
  box-sizing: border-box;
  max-width: var(--nvm-container);
}

#novame-laser-root {
  --nvm-laser-accent: var(--nvm-ed-coral);
  --calc-accent: var(--nvm-laser-accent);
  position: relative;
  color: var(--nvm-ed-ink);
  font-family: var(--nvm-ed-font-sans);
}

#novame-laser-root[data-nm-gender="male"] {
  --nvm-laser-accent: var(--nvm-ed-mint);
  --calc-accent: var(--nvm-laser-accent);
}

#novame-laser-root .nvm-section__head { margin-bottom: var(--nvm-ed-s6); }

#novame-laser-root .nvm-section__head p {
  margin: var(--nvm-ed-s3) 0 0;
  max-width: 72ch;
  color: var(--nvm-ed-muted);
  font: 400 16px/1.6 var(--nvm-ed-font-sans);
}

#novame-laser-root .nm-interactive-wrapper {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--nvm-ed-r-lg, 20px);
  background: var(--nvm-ed-white);
}

#novame-laser-root .nm-visual-pane {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px 16px;
  background: var(--nvm-ed-paper);
}

#novame-laser-root .nm-view-toggles {
  display: flex;
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}

#novame-laser-root .nm-model-container {
  box-sizing: border-box;
  width: min(100%, 360px);
  border: 1px solid var(--nvm-ed-line);
  border-radius: 16px;
  overflow: hidden;
  background: var(--nvm-ed-white);
}

#novame-laser-root .nm-svg-overlay { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 1500; }

#novame-laser-root .nm-mobile-selected-info { box-sizing: border-box; display: none; }

#novame-laser-root .nm-ui-pane {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  padding: 24px;
}

#novame-laser-root .nm-gender, #novame-laser-root .nm-sessions__grid { display: grid; gap: 8px; }

#novame-laser-root .nm-gender { grid-template-columns: 1fr 1fr; }

#novame-laser-root .nm-sessions__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

#novame-laser-root .nm-gender-btn, #novame-laser-root .nm-view-btn, #novame-laser-root .abonement-btn {
  border: 1px solid var(--nvm-ed-line-strong);
  border-radius: 12px;
  background: var(--nvm-ed-white);
  color: var(--nvm-ed-ink);
  font-style: normal; font-weight: 600; font-size: 15px; line-height: 1.3;
  cursor: pointer;
}

#novame-laser-root .nm-gender-btn, #novame-laser-root .nm-view-btn { min-height: 48px; padding: 8px 16px; }

#novame-laser-root .abonement-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: var(--nvm-ed-s2);
}

#novame-laser-root .nm-gender-btn.active, #novame-laser-root .nm-view-btn.active, #novame-laser-root .abonement-btn.active {
  background: var(--nvm-laser-accent);
  border-color: var(--nvm-laser-accent);
  color: var(--nvm-ed-white);
}

#novame-laser-root .abonement-btn span:last-child { color: var(--nvm-laser-accent); font-size: 13px; }

#novame-laser-root .abonement-btn.active span:last-child { color: var(--nvm-ed-white); }

#novame-laser-root .nm-search input {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border-top-width: 1px; border-top-style: solid; border-right-width: 1px; border-right-style: solid; border-bottom-width: 1px; border-bottom-style: solid; border-left-width: 1px; border-left-style: solid;
  border-radius: 12px;
  background: var(--nvm-ed-white);
  color: var(--nvm-ed-ink);
  font-style: normal; font-weight: 400; font-size: 16px; line-height: 1.3;
}

#novame-laser-root .nm-sessions > span {
  display: block;
  margin-bottom: 8px;
  color: var(--nvm-ed-muted);
  font: 700 13px/1.3 var(--nvm-ed-font-sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}

#novame-laser-root .nm-total {
  box-sizing: border-box;
  display: grid;
  gap: 12px;
  padding: 20px;
  border-radius: 20px;
  background: var(--nvm-ed-ink);
  color: var(--nvm-ed-white);
}

#novame-laser-root .nm-total__top, #novame-laser-root .nm-total__sum {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
}

#novame-laser-root .nm-total__top span, #novame-laser-root .nm-total__sum > div > span:first-child {
  color: color-mix(in srgb, var(--nvm-ed-white) 78%, transparent);
  font: 700 13px/1.3 var(--nvm-ed-font-sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}

#novame-laser-root #nm-reset {
  border: 0;
  background: transparent;
  color: var(--nvm-laser-accent);
  font-style: normal; font-weight: 700; font-size: 13px; line-height: 1.3;
  cursor: pointer;
}

#novame-laser-root #nm-selected-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: 80px;
  overflow: auto;
}

#novame-laser-root #nm-selected-badges > div {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border: 1px solid var(--nvm-ed-line);
  border-radius: var(--nvm-ed-r-img);
  background: color-mix(in srgb, var(--nvm-ed-white) 10%, transparent);
  color: var(--nvm-ed-white);
  font: 600 13px/1.3 var(--nvm-ed-font-sans);
}

#novame-laser-root #nm-discount-label { display: block; margin-top: 4px; color: var(--nvm-laser-accent); font: 700 13px/1.35 var(--nvm-ed-font-sans); text-transform: none; letter-spacing: 0; }

#novame-laser-root #nm-discount-label svg { width: 14px; height: 14px; vertical-align: -2px; }

#novame-laser-root .nm-total__price { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }

#novame-laser-root #nm-total-old { color: color-mix(in srgb, var(--nvm-ed-white) 60%, transparent); font: 700 13px/1.3 var(--nvm-ed-font-sans); text-decoration: line-through; }

#novame-laser-root #nm-total-price { color: var(--nvm-ed-white); font: 400 32px/1.1 var(--nvm-font-heading); }

#novame-laser-root #nm-per-session-label { color: var(--nvm-laser-accent); font: 700 13px/1.3 var(--nvm-ed-font-sans); }

#novame-laser-root #nm-price-container { max-height: 350px; overflow: auto; }

.nm-catalog__group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }

.nm-catalog__empty { margin-bottom: 16px; }

.nm-catalog__title {
  color: var(--nvm-ed-muted);
  font: 700 13px/1.3 var(--nvm-ed-font-sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}

#novame-laser-root .nm-item {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--nvm-ed-line);
  border-radius: 12px;
  background: var(--nvm-ed-white);
  color: var(--nvm-ed-ink);
  cursor: pointer;
}

#novame-laser-root .nm-zone--on { border-color: var(--nvm-laser-accent); background: color-mix(in srgb, var(--nvm-laser-accent) 10%, var(--nvm-ed-white)); }

#novame-laser-root .nm-item.bg-rose-50 { background: color-mix(in srgb, var(--nvm-laser-accent) 16%, var(--nvm-ed-white)); }

#novame-laser-root .nm-tick--on { background: var(--nvm-laser-accent); border-color: var(--nvm-laser-accent); color: var(--nvm-ed-white); }

#novame-laser-root .nm-tick--on svg { width: 12px; height: 12px; }

#novame-laser-root .hidden { display: none; }

#novame-laser-root .nm-svg-zone-group { cursor: pointer; color: var(--nvm-laser-accent); }

#novame-laser-root .nm-svg-pulse { stroke: var(--nvm-laser-accent); stroke-width: 2px; fill: color-mix(in srgb, var(--nvm-laser-accent) 10%, transparent); }
@media (prefers-reduced-motion: no-preference) {

  .nm-svg-pulse { animation: nvm-laser-pulse 2.5s infinite ease-in-out; }
}

#novame-laser-root .nm-svg-zone-group:hover .nm-svg-pulse, #novame-laser-root .nm-svg-zone-group.active .nm-svg-pulse { fill: color-mix(in srgb, var(--nvm-laser-accent) 25%, transparent); animation: none; }

#novame-laser-root .nm-svg-dot { fill: var(--nvm-ed-white); stroke: var(--nvm-laser-accent); stroke-width: 5px; }

#novame-laser-root .nm-svg-zone-group:hover .nm-svg-dot, #novame-laser-root .nm-svg-zone-group.active .nm-svg-dot { fill: var(--nvm-laser-accent); stroke: var(--nvm-ed-white); stroke-width: 3px; }

#novame-laser-root .nm-svg-line { stroke: color-mix(in srgb, var(--nvm-laser-accent) 40%, var(--nvm-ed-white)); stroke-width: 2.5px; stroke-dasharray: 4 4; }

#novame-laser-root .nm-svg-zone-group:hover .nm-svg-line, #novame-laser-root .nm-svg-zone-group.active .nm-svg-line { stroke: var(--nvm-laser-accent); stroke-dasharray: none; }

#novame-laser-root .nm-svg-rect { fill: var(--nvm-ed-white); stroke: color-mix(in srgb, var(--nvm-laser-accent) 35%, var(--nvm-ed-white)); stroke-width: 2px; }

#novame-laser-root .nm-svg-zone-group:hover .nm-svg-rect, #novame-laser-root .nm-svg-zone-group.active .nm-svg-rect { fill: var(--nvm-laser-accent); stroke: var(--nvm-laser-accent); }

#novame-laser-root .nm-svg-text-name, #novame-laser-root .nm-svg-text-price { font-family: var(--nvm-ed-font-sans); }

#novame-laser-root .nm-svg-text-name { font-size: 19px; font-weight: 700; fill: var(--nvm-ed-ink); }

#novame-laser-root .nm-svg-text-price { font-size: 21px; font-weight: 700; fill: var(--nvm-laser-accent); }

#novame-laser-root .nm-svg-zone-group:hover .nm-svg-text-name, #novame-laser-root .nm-svg-zone-group.active .nm-svg-text-name, #novame-laser-root .nm-svg-zone-group:hover .nm-svg-text-price, #novame-laser-root .nm-svg-zone-group.active .nm-svg-text-price { fill: var(--nvm-ed-white); }

#novame-laser-root .nm-svg-zone-group.locked { cursor: not-allowed; }

#novame-laser-root .nm-calc-toast {
  box-sizing: border-box;
  max-width: min(520px, 100%);
  padding: 12px 20px;
  border-radius: 12px;
  background: var(--nvm-ed-ink);
  color: var(--nvm-ed-white);
  font: 600 14px/1.35 var(--nvm-ed-font-sans);
  text-align: center;
  opacity: 0;
  transform: translateY(12px);
}
@media (prefers-reduced-motion: no-preference) {

  .nm-calc-toast { transition: opacity .2s, transform .2s; }
}

#novame-laser-root .nm-calc-toast.is-visible { opacity: 1; transform: none; }

#novame-laser-root #nm-toast-container { position: absolute; right: 20px; bottom: 20px; left: 20px; z-index: 4; display: flex; justify-content: center; pointer-events: none; }

@keyframes nvm-laser-pulse { 0%, 100% { opacity: .35; } 50% { opacity: .9; } }
@media (max-width: 1024px) {

  #novame-laser-root .nm-interactive-wrapper { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {

  #novame-laser-root .nm-sessions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {

  #novame-laser-root .nm-mobile-selected-info { display: block; width: 100%; padding: 12px; border: 1px solid var(--nvm-ed-line); border-radius: 16px; text-align: center; }
}
@media (max-width: 1024px) {

  #novame-laser-root .nm-svg-line,
  #novame-laser-root .nm-svg-rect,
  #novame-laser-root .nm-svg-text { display: none; }
}
@media (max-width: 1024px) {

  #novame-laser-root .nm-mobile-zone-tooltip {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 3;
    padding: 8px 12px;
    border-radius: var(--nvm-ed-r-img);
    background: var(--nvm-ed-ink);
    color: var(--nvm-ed-white);
    font: 600 12px/1.3 var(--nvm-ed-font-sans);
    text-align: center;
    opacity: 0;
  }
}
@media (max-width: 1024px) {

  #novame-laser-root .nm-mobile-zone-tooltip.is-visible { opacity: 1; }
}


/* Карточки фото+текст: обводка текстовой части до нижнего края фото. */
.nvm-special .nvm-benefits__card {
  border: 0;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

.nvm-special .nvm-benefits__photo {
  border-radius: var(--nvm-ed-r-lg, 20px) var(--nvm-ed-r-lg, 20px) 0 0;
}

.nvm-special .nvm-benefits__body {
  border-width: 0 1px 1px;
  border-style: solid;
  border-color: var(--nvm-ed-line);
  border-radius: 0 0 var(--nvm-ed-r-lg, 20px) var(--nvm-ed-r-lg, 20px);
  background: var(--nvm-ed-white);
}


/* HELEO4: карточка режима светится цветом спектра, без резкой рамки. */
.nvm-modes__card {
  border: 0;
  box-shadow: 0 0 56px 18px color-mix(in srgb, var(--tone, var(--nvm-ed-line)) 42%, transparent);
}
@media (prefers-reduced-motion: no-preference) {


/* HELEO4: карточка режима светится цветом спектра, без резкой рамки. */
.nvm-modes__card {
  transition: box-shadow .55s ease;
}
}
@media (prefers-reduced-motion: reduce) {

  .nvm-modes__card { transition: none; }
}

.nvm-special .nvm-mech__figure--contain {
  background: #fff;
}


/* Полоса третьей карточки «Преимущества процедуры» — золотая на всех страницах. */
.nvm-benefits__grid > :nth-child(3n) .nvm-benefits__photo {
  border-bottom: 3px solid var(--nvm-ed-line);
}


/* Пакет 3 (15.10): карточки «Преимущества процедуры» — одна фиксированная высота текстовой части на всех страницах. */
.nvm-benefits__body { box-sizing: border-box; overflow: hidden; }
@media (min-width: 1200px) {

@scope (.nvm-page:not(.nvm-page--service)) { .nvm-benefits__grid .nvm-benefits__body { height: 196px; }
}
}
@media (min-width: 768px) and (max-width: 1199px) {

@scope (.nvm-page:not(.nvm-page--service)) { .nvm-benefits__grid .nvm-benefits__body { height: 288px; }
}
}
@media (max-width: 767px) {

@scope (.nvm-page:not(.nvm-page--service)) { .nvm-benefits__grid .nvm-benefits__body { height: 194px; }
}
}

/* Калькулятор: тёмный блок результата скруглён по всем углам, как раньше. */
.nvm-calc-cta__layout .nvm-calc-cta__result { border-radius: var(--nvm-radius-card); }

/* Эпиляция: иконка в подсказке под картой тела. */
.nm-mobile-info-title svg { width: 16px; height: 16px; flex: 0 0 16px; }
.nvm-store > .nvm-store-foot, .nvm-store > .nvm-store-back { box-sizing: border-box; width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter))); padding-left: 0; padding-right: 0; }
@media (min-width: 1200px) {

  .nvm-mech__top > .nvm-mech__copy { align-self: stretch; display: flex; flex-direction: column; }
}
@media (min-width: 1200px) {

  .nvm-mech__top > .nvm-mech__copy > .nvm-mech__remark { margin-top: auto; }
}
@media (min-width: 1200px) {

  .nvm-special .nvm-mech--prose .nvm-mech__top > .nvm-mech__copy { align-self: stretch; }
}
@media (min-width: 1200px) {

  .nvm-special .nvm-mech--prose .nvm-mech__top > .nvm-mech__copy > .nvm-mech__remark { margin-top: auto; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-mech__top > .nvm-mech__media { align-self: stretch; display: flex; flex-direction: column; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-mech__top > .nvm-mech__media > .nvm-mech__figure { flex: 1 1 auto; min-height: 320px; display: flex; }
}

@scope (.nvm-page:not(.nvm-page--service)) {
/* 2. Заглушка «Фото · 4:3»: колонку не показываем, текст на всю ширину. */
#nvm-main .nvm-mech__figure:has(> .nvm-ph) { display: none; }
}


@scope (.nvm-page:not(.nvm-page--service)) {
#nvm-main .nvm-mech__top:has(.nvm-mech__figure > .nvm-ph):not(:has(.nvm-mech__facts li)) { grid-template-columns: minmax(0, 1fr); }
}


@scope (.nvm-page:not(.nvm-page--service)) {
#nvm-main .nvm-mech__top:has(.nvm-mech__figure > .nvm-ph):not(:has(.nvm-mech__facts li)) > .nvm-mech__media { display: none; }
}
#nvm-main .nvm-links { grid-auto-rows: 1fr; }
@media (min-width: 768px) and (max-width: 1199px) {

  #nvm-main .nvm-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {

  #nvm-main .nvm-hero-core__price { align-self: flex-start; margin-left: 0; margin-right: auto; }
}

/* 14. Личный кабинет: поле в пределах карточки, форма по контейнеру. */
#nvm-main .nvm-article .nvm-form { box-sizing: border-box; max-width: none; margin-left: 0; margin-right: 0; }

#nvm-main .nvm-form input:not([type="checkbox"]):not([type="radio"]) { box-sizing: border-box; width: 100%; max-width: 100%; }










#nvm-main :is(div):has(> .nvm-fact), #nvm-main :is(ul):has(> .nvm-fact), #nvm-main :is(ol):has(> .nvm-fact), #nvm-main .nvm-mech__steps { grid-auto-rows: 1fr; }
@media (max-width: 860px) {

  body #nvm-actionbar { box-sizing: border-box; height: auto; min-height: 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
}

/* 14. Личный кабинет: чекбокс в цвете бренда. */
#nvm-main .nvm-form input[type="checkbox"] { accent-color: var(--nvm-ed-coral, var(--nvm-color-action)); width: 18px; height: 18px; }

/* Калькулятор Astra v2: тёмная панель внутри общей карточки. */
#nvm-main .nvm-calc-cta__layout .nvm-calc-cta__result { margin: 0; border-radius: var(--nvm-radius-card); }

/* 18. Отступ до дисклеймера на всех страницах магазина одинаковый. */
#nvm-main.nvm-article > :last-child, main.nvm-article > :last-child { margin-bottom: 0; }

/* 19. Калькулятор зон: высота списка кратна строке 48 px, снизу подсказка прокрутки. */
#nvm-main #novame-laser-root #nm-price-container { max-height: 336px; mask-image: linear-gradient(180deg, #000 85%, transparent); }
@media (max-width: 767px) {

  #nvm-main .inus-viz__stages { mask-image: linear-gradient(90deg, #000 85%, transparent); scroll-snap-type: x proximity; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
#nvm-main .nvm-memo__grid, #nvm-main .nvm-certs, #nvm-main .nvm-abon-cards, #nvm-main .nvm-calc-cta__chips { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1199.98px) {

  #nvm-main .nvm-calc-cta__chips > .nvm-calc-cta__option:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-calc-cta__chips > .nvm-calc-cta__option:last-child:nth-child(4n+1) { grid-column: 1 / -1; }
}
@media (max-width: 767px) {

  #nvm-main .nvm-calc-cta__chips > .nvm-calc-cta__option:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__copy { align-self: start; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__figure,
  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__media > .nvm-mech__figure { position: relative; height: auto; min-height: 240px; aspect-ratio: auto; overflow: hidden; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__media { min-height: 240px; }
}

/* 6. ЛК: контейнер 1240 (x=100), отступ до дисклеймера 32/24. */
body.nvm-page .nvm-prose .nvm-lk-shell { max-width: none;
  margin-top: 0; margin-right: 0; margin-left: 0; }

/* 9. Одна высота в списке: памятка, сертификаты, «Направления» на планшете. */
#nvm-main .nvm-memo__grid, #nvm-main .nvm-certs { grid-auto-rows: 1fr; }
@media (max-width: 1024px) {
 #nvm-main .nvm-hero-core__price { text-align: left; }
}
@media (max-width: 767px) {

  #nvm-main .nvm-modes__pick { min-height: 80px; }
}

/* DEV-FIX доп.: ЛК на всю ширину контейнера; INUS без дробного отступа на планшете; научный блок — фото на высоту строки. */
body.nvm-page .nvm-prose .nvm-lk-shell { width: auto; }
@media (min-width: 768px) and (max-width: 1199.98px) {
 #nvm-main .inus-viz { padding-block: 40px; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__figure { align-self: stretch; }
}

/* Калькулятор: ровные ряды опций по числу опций в группе; одиночная опция обычной ширины. */
#nvm-main .nvm-calc-cta__chips > .nvm-calc-cta__option:first-child:last-child { grid-column: auto; }

#nvm-main .nvm-calc-cta__chips:has(> :nth-child(7):last-child) { grid-template-columns: repeat(12, minmax(0, 1fr)); }

#nvm-main .nvm-calc-cta__chips:has(> :nth-child(7):last-child) > .nvm-calc-cta__option { grid-column: span 3; }

#nvm-main .nvm-calc-cta__chips:has(> :nth-child(7):last-child) > .nvm-calc-cta__option:nth-child(n+5) { grid-column: span 4; }
@media (min-width: 768px) and (max-width: 1199.98px) {

  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(8):last-child),
  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1199.98px) {

  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(4):last-child) > .nvm-calc-cta__option:last-child { grid-column: auto; }
}
@media (max-width: 767px) {

  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {

  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(3):last-child) > .nvm-calc-cta__option:last-child { grid-column: auto; }
}
@media (max-width: 767px) {

  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(7):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 767px) {

  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(7):last-child) > .nvm-calc-cta__option { grid-column: span 3; }
}
@media (max-width: 767px) {

  #nvm-main .nvm-calc-cta__chips:has(> :nth-child(7):last-child) > .nvm-calc-cta__option:nth-child(n+5) { grid-column: span 2; }
}
@media (min-width: 1200px) {

  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__figure,
  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__media,
  #nvm-main .nvm-mech__top:not(:has(.nvm-mech__facts li)):not(:has(.nvm-mech__text > :nth-child(6))) > .nvm-mech__media > .nvm-mech__figure { min-height: 0; }
}
/* Размер cookie не наследуется всем DOM: потребители получают его адресно. */
@property --nvm-cookie-offset {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
/* Якоря: заголовок не уходит под sticky-шапку (88 px на ≥768, 72 px на ≤767) + 16 px воздуха. */
html { scroll-padding-top: calc(var(--nvm-header-h, 96px) + 8px);  scroll-padding-bottom: calc(max(var(--nvm-actionbar-h, 0px), var(--nvm-cookie-offset, 0px)) + 8px);}

.nvm-page main :is(section, article, header, h1, h2, h3, h4, h5, h6)[id] { scroll-margin-top: var(--nvm-anchor-offset, 104px); }
@media (max-width: 767px) {
 .nvm-page main :is(section, article, header, h1, h2, h3, h4, h5, h6)[id] { scroll-margin-top: var(--nvm-anchor-offset, 88px); }
}
@media (min-width: 768px) {

  #nvm-main#nvm-main .nvm-mech__top > .nvm-mech__media { align-self: start; display: block; min-height: 0; }
}
@media (min-width: 768px) {

  #nvm-main#nvm-main .nvm-mech__top > .nvm-mech__figure,
  #nvm-main#nvm-main .nvm-mech__top > .nvm-mech__media > .nvm-mech__figure { position: relative; display: block; align-self: start; height: auto; min-height: 0; aspect-ratio: 4 / 3; overflow: hidden; }
}
/* Научный блок: перенесённые под фото абзацы */
.nvm-mech__media .nvm-mech__spill { margin: var(--nvm-ed-s1) 0 0; }

.nvm-mech__media .nvm-mech__spill > :first-child { margin-top: 0; }

/* DEV-FIX 6 (аудит 16.10): отступ до общего дисклеймера задаёт только дисклеймер — 24 на ≤767, 32 шире. */
body > main > :nth-last-child(1 of :not(script, style, template, link)) { padding-bottom: 0; }

@scope (.nvm-page:not(.nvm-page--service)) {
/* DEV-FIX 4: заглушки «Фото · 1:1» в карточках преимуществ скрыты до фотосессии. */
#nvm-main .nvm-benefits__photo:has(> .nvm-ph) { display: none; }
}
@media (min-width: 1100px) {

  #nvm-main#nvm-main .nvm-mech__top.nvm-mech__top--short > .nvm-mech__copy { align-self: center; }
}


body #nvm-main :is(.nvm-staff-reviews__track), body #nvm-main :is(.nvm-pd__related) { grid-auto-rows: 1fr; }
body #nvm-main .nvm-pd > .nvm-pd__block { margin-top: 104px; }
@media (max-width: 1199px) {
body #nvm-main .nvm-pd > .nvm-pd__block { margin-top: var(--nvm-ed-s10); }
}
@media (max-width: 767px) {
body #nvm-main .nvm-pd > .nvm-pd__block { margin-top: 56px; }
}
@media (min-width: 768px) {

  body #nvm-main .nvm-calc-cta__chips:has(> :nth-child(7):last-child) > :nth-child(n + 5) { grid-column: span 4; }
}

@scope (.nvm-page:not(.nvm-page--service)) {

/* Научный блок без фото (заглушка «Фото · 4:3»): колонка фото скрыта и при правиле 4:3 с #nvm-main#nvm-main (#109). */
#nvm-main#nvm-main .nvm-mech__top:has(.nvm-mech__figure > .nvm-ph):not(:has(.nvm-mech__facts li)) > .nvm-mech__media,
#nvm-main#nvm-main .nvm-mech__top > .nvm-mech__media > .nvm-mech__figure:has(> .nvm-ph),
#nvm-main#nvm-main .nvm-mech__top > .nvm-mech__figure:has(> .nvm-ph) { display: none; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {

  .inus-viz__head { margin-bottom: var(--nvm-ed-s6); }
}
@media (min-width: 768px) and (max-width: 1199.98px) {

  .inus-viz__layout { row-gap: var(--nvm-ed-s5); column-gap: var(--nvm-ed-s5); }
}

/* «Сбросить всё» в калькуляторе эпиляции — цель касания 44 px. */
#nvm-main .nm-total__top > button { min-height: 44px; }

@scope (.nvm-page:not(.nvm-page--service)) {
/* Пустой figure без фото (заглушка «Фото» убрана из разметки) — та же раскладка, что раньше давали правила :has(> .nvm-ph). */
#nvm-main#nvm-main .nvm-mech__figure:empty { display: none; }
}


@scope (.nvm-page:not(.nvm-page--service)) {
#nvm-main .nvm-mech__top:has(.nvm-mech__figure:empty):not(:has(.nvm-mech__facts li)) { grid-template-columns: minmax(0, 1fr); }
}


@scope (.nvm-page:not(.nvm-page--service)) {
#nvm-main#nvm-main .nvm-mech__top:has(.nvm-mech__figure:empty):not(:has(.nvm-mech__facts li)) > .nvm-mech__media { display: none; }
}

/* Личный кабинет: счёт, абонементы, записи (16.10.2026) */
.nvm-lk-tabs { display: flex; flex-wrap: wrap; gap: var(--nvm-gap-sm); margin: var(--nvm-gap) 0; }

.nvm-lk-tab[hidden] { display: none; }

.nvm-lk-demo__users { display: grid; gap: var(--nvm-gap-sm); margin-top: var(--nvm-gap-sm); }
.nvm-lk-shell #nvm-lk-demo .nvm-btn { height: auto; min-height: var(--nvm-lk-btn-h); padding-block: var(--nvm-ed-s2); }

.nvm-lk-card { margin: 0 0 var(--nvm-gap-sm); padding: var(--nvm-card-pad-sm); border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md); background: var(--nvm-ed-paper); }

.nvm-lk-card.is-active { border-color: var(--nvm-ed-mint); }

.nvm-lk-card__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--nvm-gap-sm); align-items: baseline; }

.nvm-lk-card__label, .nvm-lk-card__note { margin: 0; color: var(--nvm-ed-muted); font-size: 0.875rem; }

.nvm-lk-balance__sum { margin: var(--nvm-s1) 0; font-family: var(--nvm-font-heading); font-size: clamp(2rem, 5vw, 2.75rem); line-height: 1.1; color: var(--nvm-ed-ink); }

.nvm-lk-badge { padding: 2px var(--nvm-s1); border-radius: var(--nvm-ed-r-pill); background: var(--nvm-ed-mint-tint); color: var(--nvm-ed-mint-text); font-size: 0.8125rem; }

.nvm-lk-abon__rest { margin: var(--nvm-s1) 0; }

.nvm-lk-bar { height: 6px; margin: 0 0 var(--nvm-s1); border-radius: var(--nvm-ed-r-pill); background: var(--nvm-ed-line-soft); overflow: hidden; }

.nvm-lk-bar span { display: block; height: 100%; background: var(--nvm-ed-mint); }

.nvm-lk-sec { margin: var(--nvm-gap) 0 var(--nvm-gap-sm); font-size: 1.125rem; }

.nvm-lk-recs { margin: 0; padding: 0; list-style: none; }

.nvm-lk-rec { display: grid; grid-template-columns: 9.5rem 1fr; gap: 2px var(--nvm-gap-sm); padding: var(--nvm-s1) 0; border-bottom: 1px solid var(--nvm-ed-line-soft); }

.nvm-lk-rec__when { color: var(--nvm-ed-muted); }

.nvm-lk-rec__who { grid-column: 2; color: var(--nvm-ed-muted); font-size: 0.875rem; }

.nvm-lk-refresh { padding: 0; border: 0; background: none; color: var(--nvm-ed-mint-link); font: inherit; font-size: 0.875rem; text-decoration: underline; cursor: pointer; }

.nvm-lk-empty { color: var(--nvm-ed-muted); }
@media (max-width: 479px) {

  .nvm-lk-rec { grid-template-columns: 1fr; }
}
@media (max-width: 479px) {

  .nvm-lk-rec__who { grid-column: 1; }
}

html body #nvm-svc .nvm-vid__cap { border-radius: var(--nvm-ed-r-pill); }

html body .nvm-order-delivery { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm); }

html body #nvm-pvz-map { border-radius: var(--nvm-ed-r-sm); border: 1px solid var(--nvm-ed-line); }

html body #nvm-pvz-locate, html body #nvm-pvz-search-btn { border: 1px solid var(--nvm-ed-line); }

html body #nvm-pvz-locate:hover, html body #nvm-pvz-search-btn:hover { border-color: var(--nvm-ed-coral); }

html body .nvm-pvz-results { border: 1px solid var(--nvm-ed-line); }

html body .nvm-pvz-results button { border-bottom: 1px solid var(--nvm-ed-line); }

html body .nvm-pvz-selected { border: 1px solid var(--nvm-ed-line); }

html body #nvm-svc .rounded-\[30px\] { border-radius: var(--nvm-ed-r-lg); }

html body #nvm-svc .rounded-\[40px\] { border-radius: var(--nvm-ed-r-lg); }

html body #nvm-svc .rounded-full { border-radius: var(--nvm-ed-r-pill); }

html body #nvm-svc .border-\[\#FFD2C9\]\/50 { border-color: var(--nvm-ed-line); }

html body #nvm-svc .border-emerald-500\/30 { border-color: var(--nvm-ed-mint); }

html body #nvm-svc .shadow-inner { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .shadow-md, html body #nvm-svc .shadow-sm { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .hover\:shadow-md:hover { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .hover\:shadow-lg:hover, html body #nvm-svc .hover\:shadow-md:hover { box-shadow: var(--nvm-ed-shadow-lift); }

html body #novame-laser-root .nm-interactive-wrapper { border: 1px solid var(--nvm-ed-line); }

html body #novame-laser-root .nm-gender-btn, html body #novame-laser-root .nm-view-btn, html body #novame-laser-root .abonement-btn { border: 1px solid var(--nvm-ed-line); }

html body #novame-laser-root .nm-gender-btn.active, html body #novame-laser-root .nm-view-btn.active, html body #novame-laser-root .abonement-btn.active { box-shadow: var(--nvm-ed-shadow-lift); }

html body #novame-laser-root .abonement-btn { border-radius: var(--nvm-ed-r-sm); }

html body #novame-laser-root .nm-calc-toast { box-shadow: var(--nvm-ed-shadow-lift); }
@media (max-width:1024px) {
 html body #novame-laser-root .nm-visual-pane { border-bottom: 1px solid var(--nvm-ed-line); }
}
@media (max-width:1024px) {
 html body #novame-laser-root .nm-mobile-zone-tooltip { border-radius: var(--nvm-ed-r-img); }
}

html body .nvm-oferta-doc td { border: 1px solid var(--nvm-ed-line); }

html body .nvm-d6a__item { border: 1px solid var(--nvm-ed-mint); }

html body .nvm-d6a__item--open { border-color: var(--nvm-ed-mint); }

html body .nvm-flt2__head { border: 1px solid var(--nvm-ed-coral); }

html body .nvm-flt2__head:hover { border-color: var(--nvm-ed-coral); }

html body .nvm-flt2--open .nvm-flt2__head { border-color: var(--nvm-ed-coral); }

html body #nvm-svc .divide-slate-800\/80>:not([hidden])~:not([hidden]) { border-color: var(--nvm-ed-line); }

html body #nvm-svc .border-\[\#1A7F74\]\/40 { border-color: var(--nvm-ed-mint); }

html body #nvm-svc .border-brandMint\/30 { border-color: var(--nvm-ed-mint); }

html body #nvm-svc .shadow-md { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .shadow-sm { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .divide-slate-700\/60>:not([hidden])~:not([hidden]) { border-color: var(--nvm-ed-line); }

html body #nvm-svc .border-slate-700\/60 { border-color: var(--nvm-ed-line); }

html body #nvm-svc #novame-vessel-root ::-webkit-scrollbar-thumb { border-radius: var(--nvm-ed-r-img); }

html body #nvm-svc .shadow-\[0_0_10px_rgba\(239\2c 68\2c 68\2c 0\.6\)\] { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .shadow-\[0_0_10px_rgba\(250\2c 204\2c 21\2c 0\.6\)\] { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .shadow-\[0_0_10px_rgba\(34\2c 197\2c 94\2c 0\.6\)\] { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-svc .shadow-\[0_0_10px_rgba\(59\2c 130\2c 246\2c 0\.6\)\], html body #nvm-svc .shadow-inner { box-shadow: var(--nvm-ed-shadow-lift); }
@media (min-width:640px) {
 html body #nvm-svc .sm\:rounded-full { border-radius: var(--nvm-ed-r-pill); }
}

html body #nvm-svc .spectrum-tab-btn.active-tab { border-left-color: var(--nvm-ed-coral); box-shadow: var(--nvm-ed-shadow-card); }

html body .nvm-lk-tab { border: 1px solid var(--nvm-ed-line); }

html body .nvm-lk-tab:hover { border-color: var(--nvm-ed-coral); }

html body .nvm-lk-tab.is-active { border-color: var(--nvm-ed-coral); }

html body .nvm-lk-order { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm); }

html body .nvm-lk-abon { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm); }

html body .nvm-lk-abon.is-active { border-color: var(--nvm-ed-line); }

html body .nvm-lk-empty { border: 1px dashed var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm); }

html body .nvm-lk-bind { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md); }

html body .nvm-lk-mess-btn { border: 1px solid var(--nvm-ed-line); }

html body .nvm-lk-mess-btn:hover { border-color: var(--nvm-ed-coral); }

html body #nvm-lk-bot-wait { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm); }

html body #nvm-aq .nvm-tab { box-shadow: var(--nvm-ed-shadow-lift); }

html body #nvm-aq .nvm-tab[aria-selected="true"] { box-shadow: var(--nvm-ed-shadow-lift); }

html body .nvm-product-img { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-md); }

html body .nvm-product-tag { border: 1px solid var(--nvm-ed-line); }

html body .nvm-product-rules { border: 1px solid var(--nvm-ed-line); }

html body .nvm-product-delivery { border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-sm); }

html body #nvm-svc #novame-nir-root ::-webkit-scrollbar-thumb { border-radius: var(--nvm-ed-r-img); }

html body #nvmFlt .nvm-flt2__head { border: 1px solid var(--nvm-ed-coral); }

html body #nvmFlt .nvm-flt2__head:hover { border-color: var(--nvm-ed-coral); }

html body #nvmFlt.nvm-flt2--open .nvm-flt2__head { border-color: var(--nvm-ed-coral); }




.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-badge { display: inline-flex; align-items: center; padding: 2px var(--nvm-s2); border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-pill); background: var(--nvm-ed-line-soft); color: var(--nvm-ed-muted); font-family: var(--nvm-ed-font-sans); font-size: 0.8125rem; font-weight: 600; line-height: 1.5; white-space: nowrap; }

.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-abon.is-active .nvm-lk-badge { border-color: var(--nvm-ed-mint); background: var(--nvm-ed-mint); color: var(--nvm-ed-white); }

/* Карточка косметики: цена и кнопка без дробного margin-top:auto — описание тянется, цена через шаг шкалы. */
#nvm-main .nvm-cosm-card .nvm-cosm-desc { flex: 1 1 auto; max-height: none; align-content: start; }


/* ЛК: согласие на показ записей (16.10.2026) */
.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-consent { display: grid; gap: var(--nvm-gap-sm); }

.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-consent__label { display: flex; gap: var(--nvm-s1); align-items: flex-start; font-size: 0.9375rem; line-height: 1.5; }

.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-consent__label input { flex: 0 0 auto; margin-top: var(--nvm-ed-s1); }


/* ЛК: одинаковые кнопки (16.10.2026). Фиксированная сетка, размер не зависит от текста:
   1440 — все кнопки 13rem × 48px; 390 — вкладки и «Выйти» по половине ряда, действия на всю ширину, высота 48px. */
.nvm-lk-shell { --nvm-lk-btn-h: 48px; --nvm-lk-nav-w: 13rem; --nvm-lk-act-w: 13rem; }

.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-tabs { display: flex; flex-wrap: wrap; gap: var(--nvm-gap-sm); }
.nvm-lk-shell #nvm-lk-cabinet #nvm-lk-logout {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 var(--nvm-lk-nav-w); width: var(--nvm-lk-nav-w); min-width: 0; height: var(--nvm-lk-btn-h);
  margin: 0; padding: 0 var(--nvm-s2); font-family: var(--nvm-ed-font-sans); font-size: 0.9375rem; line-height: 1.2; white-space: nowrap;
}

.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-tabs .nvm-lk-tab[hidden] { display: none; }
.nvm-lk-shell #nvm-lk-cabinet #nvm-lk-consent-go, .nvm-lk-shell #nvm-lk-cabinet .nvm-lk-refresh {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 var(--nvm-lk-act-w); width: var(--nvm-lk-act-w); min-width: 0; height: var(--nvm-lk-btn-h); margin: 0;
  padding: 0 var(--nvm-s2); font-family: var(--nvm-ed-font-sans); font-size: 0.9375rem; line-height: 1.15; white-space: normal; text-align: center; overflow: hidden; justify-self: start;
}

.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-refresh {
  border: 1px solid var(--nvm-ed-line); border-radius: var(--nvm-ed-r-pill); background: var(--nvm-ed-paper);
  color: var(--nvm-ed-ink); font-weight: 600; text-decoration: none; cursor: pointer;
}

.nvm-lk-shell #nvm-lk-cabinet .nvm-lk-revoke { margin: var(--nvm-gap-sm) 0 0; }

.nvm-lk-shell #nvm-lk-demo .nvm-lk-demo__users { display: flex; flex-wrap: wrap; gap: var(--nvm-gap-sm); }

.nvm-lk-shell #nvm-lk-login .nvm-mess { display: flex; flex-wrap: wrap; gap: var(--nvm-gap-sm); }

.nvm-lk-shell { container-type: inline-size; }
@media (max-width: 479px) {

  .nvm-lk-shell { --nvm-lk-nav-w: calc((100cqi - var(--nvm-gap-sm)) / 2); --nvm-lk-act-w: calc((100cqi - var(--nvm-gap-sm)) / 2); }
}

.inus-viz__stage[aria-pressed="true"] { border-color: var(--inus-viz-action-hover); }

.inus-viz__segment[aria-pressed="true"] { border-color: var(--inus-viz-action-hover); }

.pig-viz__stage[aria-pressed="true"] { border-color: var(--pig-viz-accent-hover); box-shadow: inset 0 0 0 1px var(--pig-viz-accent-hover); }

.pig-viz__card-plaque[data-warn] { box-shadow: inset 0 0 0 1px var(--pig-viz-muted); }

.aqp-viz__pill-dot { border: 1px solid color-mix(in srgb, var(--nvm-color-dark) 10%, transparent); }

.aqp-viz__pill[aria-pressed="true"] { border-color: var(--aqp-viz-action-hover); }

.nir-viz__stage[aria-pressed="true"] { box-shadow: inset 0 0 0 1px var(--nir-viz-action-hover); }


/* Подзаголовок курса абонемента — обычный текст, без рамки чипа. */
body.nvm-page p.nvm-abon-tag {
  background: transparent;
  border: 0;
}


/* Калькулятор: подпись на кнопке зоны тоньше (Inter variable 100–900, начертание 300 есть). Размеры и высота кнопки прежние. */
.nvm-calc-cta__chip { font-weight: 300; }


/* Калькуляторы: кнопки зон без переполнения (решение Алексея 17.10.2026 21:00). Высота кнопки (--nvm-calc-option-height, 72 px), кегль и тексты прежние; меняются только сетка колонок и вертикальные поля кнопки. Калькулятор выбирается по data-zone-name корня (nvm-zone-<id ресурса>); сетка меняется только у группы кнопок зон (:has(> .nvm-calc-cta__chip)), группа «Количество сеансов» прежняя. */
/* Все калькуляторы: поля кнопки зоны по вертикали 5 px — в 72 px помещаются три строки (3 × 19,6 px); текст в одну-две строки по-прежнему по центру. */
#nvm-main .nvm-calc-cta__controls .nvm-calc-cta__chip { padding-block: 5px; }
@media (min-width: 768px) and (max-width: 1023.98px) {

  /* HELEO4 (7): 4 зоны — сетка 2×2, как на телефоне. */
  #nvm-main [data-zone-name="nvm-zone-7"] .nvm-calc-cta__controls .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1023.98px) {

  /* Aquapure (12): длинные названия программ — по одной в строке. */
  #nvm-main [data-zone-name="nvm-zone-12"] .nvm-calc-cta__controls .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 768px) and (max-width: 1023.98px) {

  /* RF-лифтинг INUS (15): 7 зон — 3 + 3 + 1 на всю строку. */
  body #nvm-main [data-zone-name="nvm-zone-15"] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1023.98px) {

  body #nvm-main [data-zone-name="nvm-zone-15"] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) > .nvm-calc-cta__option { grid-column: auto; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {

  body #nvm-main [data-zone-name="nvm-zone-15"] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) > .nvm-calc-cta__option:last-child { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {

  /* Aquapure (12): длинные названия программ — две в строке. */
  #nvm-main [data-zone-name="nvm-zone-12"] .nvm-calc-cta__controls .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {

  /* Aquapure (12): по одной программе в строке. */
  #nvm-main [data-zone-name="nvm-zone-12"] .nvm-calc-cta__controls .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {

  /* AFT (21), NIR (13): 3 зоны — 2 + 1 на всю строку. */
  #nvm-main :is([data-zone-name="nvm-zone-21"], [data-zone-name="nvm-zone-13"]) .nvm-calc-cta__controls .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {

  #nvm-main :is([data-zone-name="nvm-zone-21"], [data-zone-name="nvm-zone-13"]) .nvm-calc-cta__controls .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) > .nvm-calc-cta__option:last-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {

  /* RF-лифтинг INUS (15): 7 зон — по две в строке, последняя на всю строку. */
  body #nvm-main [data-zone-name="nvm-zone-15"] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {

  body #nvm-main [data-zone-name="nvm-zone-15"] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) > .nvm-calc-cta__option { grid-column: auto; }
}
@media (max-width: 767px) {

  body #nvm-main [data-zone-name="nvm-zone-15"] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) > .nvm-calc-cta__option:last-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {

  #nvm-main .nvm-calc-cta__layout .nvm-calc-cta__result {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 26px var(--nvm-ed-s5);
    border-radius: var(--nvm-radius-card);
  }
}

/* Карточки «Преимущества процедуры» (.nvm-benefits__body): абзац переносится, на узкой ширине высота карточки по тексту. Текст и кегль прежние. */
#nvm-main .nvm-benefits__body > p {
  white-space: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}
@media (max-width: 767px) {

@scope (.nvm-page:not(.nvm-page--service)) {
  #nvm-main .nvm-benefits__grid .nvm-benefits__body {
    height: auto;
    min-height: 194px;
  }
}
}


/* Описание карточки косметики — ровно 2 строки.
   #nvm-main .nvm-cosm-card .nvm-cosm-desc задаёт align-content: start и max-height: none.
   align-content: start перебивает display: -webkit-box (вычисленное значение flow-root),
   max-height: none снимает предел высоты, и -webkit-line-clamp не удерживает 2 строки.
   Специфичность выше того правила.
   Свободное место карточки — над наличием, кнопка остаётся у нижнего края. */
#nvm-main .nvm-shop .nvm-cosm-card .nvm-cosm-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  max-height: calc(13px * 1.5 * 2);
  align-content: normal;
}

#nvm-main .nvm-staff:has(.nvm-breadcrumbs) { padding-top: 0; }

#nvm-main .nvm-pd:has(.nvm-breadcrumbs) { margin-top: 0; }
@media (max-width: 767px) {


  .inus-viz--enhanced .inus-viz__scene > [data-inus-viz-magnifier],
  .inus-viz--enhanced .inus-viz__scene > [data-inus-viz-pack],
  .aqp-viz--enhanced .aqp-viz__compare > rect,
  .aqp-viz--enhanced .aqp-viz__compare > text {
    transform-box: view-box;
    transform-origin: 0 0;
  }
}
@media (max-width: 767px) {


  .inus-viz--enhanced .inus-viz__scene > [data-inus-viz-magnifier] { transform: translate(572px, 532px); }
}
@media (max-width: 767px) {

  .inus-viz--enhanced .inus-viz__scene > [data-inus-viz-pack] { transform: translate(560px, 540px); }
}
@media (max-width: 767px) {


  .aqp-viz--enhanced .aqp-viz__compare > rect:nth-of-type(2),
  .aqp-viz--enhanced .aqp-viz__compare > text:nth-of-type(1) { transform: translate(144px, 36px); }
}
@media (max-width: 767px) {


  .aqp-viz--enhanced .aqp-viz__compare > rect:nth-of-type(3),
  .aqp-viz--enhanced .aqp-viz__compare > text:nth-of-type(2) { transform: translate(-144px, 36px); }
}
@media (max-width: 767px) {


  .aqp-viz--enhanced .aqp-viz__mcompare > rect,
  .aqp-viz--enhanced .aqp-viz__mcompare > text {
    transform-box: view-box;
    transform-origin: 0 0;
  }
}
@media (max-width: 767px) {


  .aqp-viz--enhanced .aqp-viz__mcompare > rect:nth-of-type(7),
  .aqp-viz--enhanced .aqp-viz__mcompare > text:nth-of-type(1) { transform: translate(8px, 36px); }
}
@media (max-width: 767px) {


  .aqp-viz--enhanced .aqp-viz__mcompare > rect:nth-of-type(8),
  .aqp-viz--enhanced .aqp-viz__mcompare > text:nth-of-type(2) { transform: translate(0px, 36px); }
}
@media (min-width: 1100px) {

  .inus-viz--enhanced .inus-viz__scene-frame {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}
@media (min-width: 1100px) {


  .inus-viz--enhanced .inus-viz__scene {
    flex: 0 0 auto;
    height: auto;
    aspect-ratio: 1000 / 640;
  }
}
@media (max-width: 767px) {

  #nvm-main .nvm-oferta-doc table {
    width: 100%;
    table-layout: fixed;
  }
}
@media (max-width: 767px) {

  #nvm-main .nvm-oferta-doc td {
    overflow-wrap: anywhere;
  }
}
@media (max-width: 767px) {

  #nvm-main .nvm-oferta-doc td:first-child {
    width: auto;
  }
}
@media (max-width: 767px) {
#nvm-main :is(.ico-table-wrap)[tabindex="0"], #nvm-main :is(.rsl-article .comparison)[tabindex="0"] {
    overflow-x: auto;
    container-type: scroll-state;
    container-name: nvm-hscroll;
  }
}
@media (max-width: 767px) {
#nvm-main :is(.ico-table-wrap)[tabindex="0"]::before, #nvm-main :is(.rsl-article .comparison)[tabindex="0"]::before {
    content: "Таблицу можно прокрутить вбок";
    display: block;
    position: sticky;
    left: 0;
    z-index: 1;
    width: max-content;
    max-width: 100%;
    margin: 0 0 var(--nvm-ed-s2);
    font-family: var(--nvm-font-sans, "Inter", sans-serif);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--nvm-ed-muted, var(--nvm-color-muted));
  }
}
@media (max-width: 767px) {
@supports (container-type: scroll-state) {
#nvm-main :is(.ico-table-wrap)[tabindex="0"]::before, #nvm-main :is(.rsl-article .comparison)[tabindex="0"]::before {
      content: none;
      display: none;
    }
}
}
@media (max-width: 767px) {
@container nvm-hscroll scroll-state(scrollable: inline) {
#nvm-main :is(.ico-table-wrap)[tabindex="0"]::before, #nvm-main :is(.rsl-article .comparison)[tabindex="0"]::before {
      content: "Таблицу можно прокрутить вбок";
      display: block;
    }
}
}
@media (max-width: 767px) {
 :root { --nvm-h1-size: min(34px, 9vw); }
}


/* Палитра «НОВА МИ»: состояния и контраст на светлой и тёмной поверхности.
   Существующие классы; размеры, порядок блоков, текст и фотографии прежние. */
.nvm-page {
  background-color: var(--nvm-color-page);
}

[data-nvm-component] {
  --nvm-white: var(--nvm-color-surface);
  --nvm-scene: var(--nvm-color-surface);
  --nvm-page: var(--nvm-color-page);
  --nvm-surface: var(--nvm-color-surface);
  --nvm-plaque: var(--nvm-color-inset);
  --nvm-line: var(--nvm-color-line);
  --nvm-line-strong: var(--nvm-color-control);
  --nvm-ink: var(--nvm-color-ink);
  --nvm-muted: var(--nvm-color-muted);
  --nvm-action: var(--nvm-color-action);
  --nvm-action-hover: var(--nvm-color-action-hover);
  --nvm-accent: var(--nvm-color-link);
}

.nvm-calc-cta__result, .nm-total {
  --nvm-ed-ink: var(--nvm-color-dark);
  --nvm-ed-white: var(--nvm-color-on-dark);
  --nvm-ed-muted: var(--nvm-color-on-dark-muted);
  --nvm-ed-coral: var(--nvm-color-on-dark-action);
  --nvm-ed-focus: var(--nvm-color-on-dark-action);
  --nvm-accent: var(--nvm-color-on-dark-action);
  --nvm-laser-accent: var(--nvm-color-on-dark-action);
  --calc-accent: var(--nvm-color-on-dark-action);
  background: var(--nvm-color-dark);
  color: var(--nvm-color-on-dark);
}

.nvm-calc-cta__result .nvm-calc-cta__button {
  --nvm-ed-white: var(--nvm-color-dark);
  background: var(--nvm-h-cta);
  color: var(--nvm-h-cta-ink); border: 0}
.nvm-calc-cta__result .nvm-calc-cta__button:hover {
  --nvm-ed-coral: var(--nvm-color-on-dark-hover);
  --nvm-laser-accent: var(--nvm-color-on-dark-hover);
  background: var(--nvm-h-cta);
  color: var(--nvm-h-cta-ink); border: 0}
.nvm-calc-cta__result .nvm-calc-cta__button:active {
  --nvm-ed-coral: var(--nvm-color-on-dark-active);
  --nvm-laser-accent: var(--nvm-color-on-dark-active);
  background: var(--nvm-h-cta);
  color: var(--nvm-h-cta-ink); border: 0}

.nvm-calc-cta__result .nvm-calc-cta__summary, .nvm-calc-cta__result .nvm-calc-cta__context {
  color: var(--nvm-color-on-dark-muted);
}

.nvm-calc-cta__root :focus-visible, .nvm-laser-calc :focus-visible {
  outline: 2px solid var(--nvm-ed-focus);
  outline-offset: 3px;
}

.nvm-calc-cta__option:has(input:checked) input {
  accent-color: var(--nvm-color-action);
}

.nm-mobile-selected-info .nm-mobile-remove {
  color: var(--nvm-color-on-dark);
}

.nm-gender, .nm-view-toggles, .nm-sessions {
  --nvm-ed-line: var(--nvm-color-control);
}

.nvm-calc-cta__error {
  color: var(--nvm-color-error);
}

.nvm-calc-cta__number::placeholder, .nm-search input::placeholder {
  color: var(--nvm-color-muted);
  opacity: 1;
}
.nvm-calc-cta__option:has(input:disabled) {
  background: var(--nvm-color-disabled-bg);
  border-color: var(--nvm-color-control);
  color: var(--nvm-color-disabled-text);
  opacity: 1;
}


/* Подписи схем читаются как текст, а не как декоративные линии. */
.nvm-skin-anim text {
  fill: var(--nvm-color-muted);
}

.nvm-skin-anim text[font-weight="700"] {
  fill: var(--nvm-color-link);
}

.nir-viz__scene text, .inus-viz__scene text {
  fill: var(--nvm-color-ink);
}
.aqp-viz__labels text, .pig-viz__scene text {
  fill: var(--nvm-color-ink);
}
.nvm-page main > nav.nvm-breadcrumbs + :is(.nvm-staff), .nvm-page main > nav.nvm-breadcrumbs + :is(.nvm-pd) {
  margin-top: 0;
  padding-top: 0;
}

.nvm-page main > nav.nvm-breadcrumbs + .nvm-special > .nvm-staff {
  padding-top: 0;
}


/* layout-align 3: один внешний контентный край, без повторных полей. */
.nvm-page main {
  --nvm-content-width: 100%;
  --nvm-content-margin: 0;
}
.nvm-page .nvm-special :is(.nir-viz__container), .nvm-page .nvm-special :is(.pig-viz__container), .nvm-page .nvm-special :is(.inus-viz__container) {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

.nvm-page main :is(.nvm-oferta-doc) {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding-inline: 0;
  margin-inline: 0;
}


.nvm-page main :is(.nvm-doc) {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.nvm-page .nvm-special .nvm-pl .nvm-ssf-selection > .nvm-section__head:where(:not([hidden])) {
  display: block;
  grid-area: heading;
}


.nvm-page main .nvm-article {
  overflow-wrap: anywhere;
}

.nvm-page .nvm-modes__consult {
  box-sizing: border-box;
  min-height: var(--nvm-tap);
  padding: 10px var(--nvm-ed-s4);

  border-radius: var(--nvm-radius-control);
}
.nvm-page :is(.trends-cta), .nvm-page :is(.glow-cta), .nvm-page :is(.ico-cta), .nvm-page :is(.acne-cta) {
  --nvm-ed-coral: var(--nvm-color-on-dark-action);
}
.nvm-contact__map > :where(.nvm-contact__map-image), .nvm-map-gate :where(.nvm-contact__map-image) {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 640 / 400;
  object-fit: cover;
  border: 0;
}
@media (max-width: 767px) {
.nvm-contact__map > :where(.nvm-contact__map-image), .nvm-map-gate :where(.nvm-contact__map-image) { aspect-ratio: 640 / 400; }
}
html body .rsl-article .comparison { box-sizing: border-box; border: 1px solid var(--nvm-ed-line); border-radius: 0 0 var(--nvm-ed-r-sm) var(--nvm-ed-r-sm); }
.rsl-article .lead {font-size:20px;line-height:1.6}
.rsl-article .comparison {overflow:auto;border:1px solid var(--line);border-top:none;border-radius:0 0 14px 14px}
@media (max-width:700px) {
.rsl-article .lead {font-size:18px}
}
@media (min-width: 1100px) {
body #nvm-main :is(.glow-cards) > :where(.nvm-blog-mag__cell) { grid-column: span 2; }
}
@media (min-width: 1100px) {
body #nvm-main :is(.ico-cards) > :where(.nvm-blog-mag__cell) { grid-column: span 2; }
}
/* Редакционная сетка: герой снаружи, оглавление в собственной колонке. */
.nvm-blog-layout, .rsl-editorial-grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: var(--nvm-ed-s8);
  width: 100%;
  margin: var(--nvm-ed-s8) 0;
  align-items: start;
  box-sizing: border-box;
}
.nvm-blog-layout > :where(.nvm-blog-content, .trends-body, .ico-body, .acne-body, .glow-body, .nvm-lip),
.rsl-editorial-grid > .glow-body {
  min-width: 0;
  box-sizing: border-box;
}
.nvm-blog-sidebar, .rsl-sidebar {
  position: sticky;
  top: 152px;
  align-self: start;
  max-height: calc(100dvh - 240px);
  overflow-y: auto;
  scrollbar-width: thin;
  margin: 0;
}
@media (max-width: 1100px) {
  .nvm-blog-layout, .rsl-editorial-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--nvm-ed-s7);
    margin-block: var(--nvm-ed-s6);
  }
  .nvm-blog-sidebar, .rsl-sidebar {
    position: static;
    max-height: none;
    overflow-y: visible;
  }
}

/* Общая типографика и свойства компонентов. */
#nvm-lips-article [id] {
  scroll-margin-top: 100px;
}
#nvm-icoone-article .ico-table-wrap {
  overflow-x: auto;
}
/* Колонка этапов препарата: та же сетка и шаги, что у услуги. */
.nvm-page.nvm-page--drug.nvm-ed .nvm-special .nvm-video-steps > .nvm-section__head {
  padding-top: var(--nvm-ed-s6);
  border-top: 1px solid var(--nvm-ed-line);
  margin-bottom: 32px;
}
.nvm-page.nvm-page--drug.nvm-ed .nvm-special .nvm-video-steps .nvm-section__title {
  letter-spacing: -.02em;
  max-width: 26ch;
}
.nvm-video-steps__phone > .nvm-bap {
  margin: 0 auto;
}
@media (max-width: 700px) {
  .nvm-page.nvm-page--drug.nvm-ed .nvm-special .nvm-video-steps > .nvm-section__head {
    padding-top: var(--nvm-ed-s5);
    margin-bottom: var(--nvm-ed-s6);
  }
}

/* Общая SSR-анкета: одна поверхность для главной, услуг и списка специалистов. */
html.nvmk-profile-open {
  overflow: hidden;
  overscroll-behavior: none;
}
html.nvmk-profile-open #nvm-main .nvmk-doctors-grid[data-nvm-snap-track] {
  scroll-snap-type: none;
}
#nvm-main .nvmk-doctors .nvmk-doctor-open {
  margin-top: auto;
  border: 0;
  background: none;
  cursor: pointer;
  text-align: left;
  touch-action: manipulation;
}
#nvm-main .nvmk-doctor-card > .nvmk-profile-dialog:not([open]) {
  display: none;
}
#nvm-main .nvmk-profile-dialog {
  --nvmk-profile-backdrop: color-mix(in srgb, var(--nvmk-text) 45%, transparent);
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: min(680px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: var(--nvm-ed-r-lg);
  background: var(--nvmk-surface);
  color: var(--nvmk-text);
  font: 400 15px/1.6 var(--nvmk-font-body);
  overflow: hidden;
  box-shadow: var(--nvm-ed-shadow-photo);
}
#nvm-main .nvmk-profile-dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
#nvm-main .nvmk-profile-dialog::backdrop {
  background: var(--nvmk-profile-backdrop);
  backdrop-filter: none;
}
#nvm-main .nvmk-profile-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 20px 8px 32px;
}
#nvm-main .nvmk-profile-eyebrow {
  margin: 0;
}
#nvm-main .nvmk-profile-close {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--nvmk-soft);
  color: var(--nvmk-text);
  font: 400 28px/1 var(--nvmk-font-body);
  cursor: pointer;
  touch-action: manipulation;
}
#nvm-main .nvmk-profile-close:hover {
  background: var(--nvmk-green-soft);
}
#nvm-main .nvmk-profile-dialog .nvmk-doctor-profile {
  box-sizing: border-box;
  min-height: 0;
  min-width: 0;
  max-width: none;
  padding: 8px 32px 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-header {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
  max-width: none;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-photo {
  display: block;
  flex: 0 0 105px;
  width: 105px;
  max-width: none;
  height: 125px;
  border-radius: var(--nvm-ed-r-sm);
  object-fit: cover;
  object-position: center 30%;
  background: var(--nvmk-green-soft);
}
#nvm-main .nvm-special .nvmk-profile-dialog .nvmk-profile-photo {
  max-width: none;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-heading {
  min-width: 0;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-name {
  font-size: 28px;
  line-height: 1.2;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-specialty {
  display: block;
  margin-top: 12px;
  color: var(--nvmk-green);
  font-size: 13px;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-copy {
  font-size: 15px;
  color: var(--nvmk-muted);
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-education-title {
  margin-top: 28px;
  font-size: 23px;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-education {
  box-sizing: border-box;
  margin: 12px 0 0;
  padding-left: 20px;
  color: var(--nvmk-muted);
  list-style: disc;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-education li {
  margin-bottom: 8px;
  padding: 0;
}
#nvm-main .nvmk-profile-dialog .nvmk-profile-education a {
  box-sizing: border-box;
  display: inline-block;
  min-height: 44px;
  padding-block: 10px;
  color: var(--nvmk-green);
  text-decoration: underline;
  text-underline-offset: 3px;
}
#nvm-main .nvmk-profile-footer {
  padding: 16px 32px 24px;
  border-top: 1px solid var(--nvm-ed-line);
}
#nvm-main .nvmk-profile-close:focus-visible,
#nvm-main .nvmk-profile-dialog .nvmk-doctor-profile:focus-visible,
#nvm-main .nvmk-doctor-open:focus-visible {
  outline: 3px solid var(--nvmk-green);
  outline-offset: 2px;
}
@media (max-width: 600px) {
  #nvm-main .nvmk-profile-dialog {
    width: calc(100% - 24px);
    max-height: calc(100dvh - 24px);
    font-size: 14px;
  }
  #nvm-main .nvmk-profile-toolbar {
    padding: 8px 12px 8px 20px;
  }
  #nvm-main .nvmk-profile-dialog .nvmk-doctor-profile {
    padding: 8px 20px 20px;
  }
  #nvm-main .nvmk-profile-dialog .nvmk-profile-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
  }
  #nvm-main .nvmk-profile-dialog .nvmk-profile-photo,
  #nvm-main .nvm-special .nvmk-profile-dialog .nvmk-profile-photo {
    flex-basis: auto;
    width: 80px;
    height: 96px;
  }
  #nvm-main .nvmk-profile-dialog .nvmk-profile-name {
    font-size: 24px;
  }
  #nvm-main .nvmk-profile-dialog .nvmk-profile-copy {
    font-size: 14px;
  }
  #nvm-main .nvmk-profile-dialog .nvmk-profile-education-title {
    font-size: 22px;
  }
  #nvm-main .nvmk-profile-footer {
    padding: 12px 20px 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #nvm-main .nvmk-profile-dialog,
  #nvm-main .nvmk-profile-dialog::backdrop {
    scroll-behavior: auto;
  }
}

/* Страница специалистов: обычный список, карточка общая с остальными страницами. */
.nvm-staff__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: var(--nvm-ed-s6);
}
@media (min-width: 1024px) {
  .nvm-staff__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
#nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card {
  display: grid;
  align-items: stretch;
  min-height: 0;
  height: auto;
  margin: 0;
  overflow: hidden;
  border-radius: var(--nvmk-radius);
  background: var(--nvmk-surface);
}
/* 592 - 2×16 gutter = 560px карточки; с 1024 две колонки снова узкие. */
@media (min-width: 1200px), (min-width: 592px) and (max-width: 1023px) {
  #nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card {
    grid-template-columns: 42% minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }
  #nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card > .nvmk-doctor-photo {
    height: 100%;
    aspect-ratio: auto;
  }
}
#nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card > .nvmk-doctor-photo {
  display: block;
  width: 100%;
  min-height: 0;
  object-fit: cover;
}
@media (max-width: 591px), (min-width: 1024px) and (max-width: 1199px) {
  #nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
  }
  #nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card > .nvmk-doctor-photo {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}
@media (min-width: 1200px) {
  #nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card > .nvmk-doctor-photo {
    object-position: center 8%;
  }
}
/* В компактном кадре смещаем окно к лицу, не увеличивая высоту портрета. */
@media (max-width: 1199px) {
  #nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card > .nvmk-doctor-photo {
    object-position: center 40%;
  }
}
#nvm-main .nvm-page--staff .nvm-staff__list > .nvmk-doctor-card > .nvmk-doctor-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  min-width: 0;
  padding: 24px;
}

/* task7-device-start */
/* Icoone: одна плашка на ширину фото. Зазор колонки прозы глушило display:block.
   Фото держит ширину колонки: абсолютная картинка иначе схлопывает figure во flex. */
@media (min-width: 768px) {
  #nvm-main#nvm-main .nvm-mech--prose .nvm-mech__top:has(.nvm-mech__facts) > .nvm-mech__media {
    display: flex;
    flex-direction: column;
    gap: var(--nvm-ed-s4);
    align-self: start;
  }
  #nvm-main#nvm-main .nvm-mech--prose .nvm-mech__top:has(.nvm-mech__facts) > .nvm-mech__media > .nvm-mech__figure {
    flex: none;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }
}
.nvm-special .nvm-mech__facts > :only-child {
  grid-column: 1 / -1;
}
/* HELEO4: квадратный снимок аппарата целиком, по центру, с полем. */
.nvm-special .nvm-mech__figure.nvm-mech__figure--contain {
  position: relative;
}
#nvm-main#nvm-main .nvm-mech__top > .nvm-mech__figure.nvm-mech__figure--contain > .nvm-mech__image {
  position: absolute;
  top: var(--nvm-ed-s5);
  left: var(--nvm-ed-s5);
  width: calc(100% - 2 * var(--nvm-ed-s5));
  height: calc(100% - 2 * var(--nvm-ed-s5));
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  background: transparent;
}
/* task7-device-end */

/* «Когда подходит»: общий компонент препаратов и услуг. */
.nvm-scen {
  width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter)));
  margin: var(--nvm-section-y) auto;
  color: var(--nvm-color-ink);
  font-family: var(--nvm-font-sans);
}
.nvm-scen__head { margin-bottom: 32px; }
.nvm-scen__head h2 {
  margin: 0 0 12px;
  font-family: var(--nvm-font-heading);
}
.nvm-scen__head p { margin: 0; max-width: 75ch; font-size: 17px; line-height: 1.6; }
.nvm-scen__layout { display: grid; gap: 32px; align-items: start; }
.nvm-scen__layout:has(.nvm-scen__figure) { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.nvm-scen__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.nvm-scen__item {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--nvm-color-line);
  border-radius: 16px;
  background: var(--nvm-color-surface);
}
.nvm-scen__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
.nvm-scen__item svg { width: 22px; height: 22px; color: var(--nvm-color-link); }
.nvm-scen__item b { display: block; font-size: 16px; line-height: 1.4; font-weight: 600; }
.nvm-scen__item b + p { margin-top: 8px; }
.nvm-scen__item p { margin: 0; color: var(--nvm-color-muted); font-size: 15px; line-height: 1.6; }
.nvm-scen__figure { min-width: 0; margin: 0; }
.nvm-scen__image { display: block; width: 100%; height: auto; border-radius: 16px; }
.nvm-scen__caption { margin-top: 12px; color: var(--nvm-color-muted); font-size: 13px; line-height: 1.5; }

/* Калькуляторы Astra v2/v3. Геометрия кнопок сеансов сохранена. */
.nvm-calc-cta__root {
  --nvm-ink: var(--nvm-color-dark);
  --nvm-accent: var(--nvm-color-action);
  --nvm-radius-card: var(--nvm-ed-r-md);
  --nvm-radius-control: 10px;
  border: 1px solid var(--nvm-color-line);
  border-radius: var(--nvm-radius-card);
  background: var(--nvm-color-surface);
  overflow: hidden;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--nvm-color-dark) 4%, transparent);
}
.nvm-calc-cta__root .nvm-calc-cta__header {
  /* В shorthand переменная y задаёт верх/право/низ, x — лево. */
  --nvm-header-y: var(--nvm-ed-s7) var(--nvm-s8) 26px;
  --nvm-header-x: var(--nvm-s8);
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--nvm-color-line);
  border-radius: 0;
  background: var(--nvm-color-surface);
}
.nvm-calc-cta__header::before { display: none; }
.nvm-calc-cta__header .nvm-eyebrow {
  display: block;
  color: var(--nvm-color-action);
  margin-bottom: 10px;
  font-size: 11px;
  letter-spacing: .12em;
}
.nvm-calc-cta__root .nvm-calc-cta__title { font-size: 38px; line-height: 1.15; }
.nvm-calc-cta__lead { padding-top: 10px; color: var(--nvm-color-muted); }
.nvm-page .nvm-calc-cta__layout {
  grid-template-columns: minmax(0, 1fr) 360px;
  border: 0;
  border-radius: 0;
  background: var(--nvm-color-surface);
}
.nvm-page .nvm-calc-cta__controls { padding: var(--nvm-s7) var(--nvm-s8) var(--nvm-s8); }
.nvm-calc-cta__legend {
  font-size: var(--nvm-caption);
  letter-spacing: .06em;
  padding-bottom: 14px;
  color: var(--nvm-color-muted);
  font-weight: 500;
}
.nvm-calc-cta__fieldset + .nvm-calc-cta__fieldset {
  margin-top: var(--nvm-s7);
  padding-top: 25px;
  border-top: 1px solid var(--nvm-color-line);
}
.nvm-calc-cta__root .nvm-calc-cta__option { background: var(--nvm-color-surface); border-color: var(--nvm-color-line); }
.nvm-calc-cta__option:hover { border-color: var(--nvm-color-action); }
.nvm-calc-cta__chip span { text-align: left; }
.nvm-page .nvm-calc-cta__result {
  padding: var(--nvm-ed-s7) var(--nvm-s7);
  border-left: 1px solid var(--nvm-color-line);
  border-radius: var(--nvm-radius-card);
  background: var(--nvm-color-dark);
  box-shadow: inset 0 1px color-mix(in srgb, var(--nvm-h-cta-ink) 12%, transparent);
}
.nvm-calc-cta__result .nvm-eyebrow {
  display: block;
  color: var(--nvm-color-on-dark-action);
  margin: 0;
  letter-spacing: .1em;
}
.nvm-calc-cta__root .nvm-calc-cta__price { font-size: 48px; min-height: 0; margin: var(--nvm-s5) 0 var(--nvm-s3); line-height: 1.1; overflow-wrap: anywhere; }
.nvm-calc-cta__root .nvm-calc-cta__summary { min-height: 0; font-size: var(--nvm-small); line-height: 1.6; }
.nvm-calc-cta__button { margin-top: var(--nvm-s7); font-weight: 500; }
.nvm-calc-cta__context { border-top: 1px solid var(--nvm-color-muted); margin-top: var(--nvm-s6); padding-top: var(--nvm-s5); line-height: 1.65; font-size: var(--nvm-caption); }
.nvm-calc-cta__field { font-size: var(--nvm-caption); letter-spacing: .04em; color: var(--nvm-color-muted); max-width: 200px; }
.nvm-calc-cta__number { background: var(--nvm-color-surface); border-color: var(--nvm-color-control); min-height: 52px; font-size: 20px; color: var(--nvm-color-dark); }
.nvm-calc-cta__root .nvm-calc-cta__ranges { margin-top: var(--nvm-s6); gap: 0; }
.nvm-calc-cta__range { border: 0; border-top: 1px solid var(--nvm-color-line); border-radius: 0; padding: 15px var(--nvm-s3); grid-template-columns: var(--nvm-calc-mark) minmax(0, 1fr); column-gap: var(--nvm-s3); row-gap: 5px; }
.nvm-calc-cta__range::before { content: ""; grid-column: 1; grid-row: 1 / span 2; }
.nvm-calc-cta__range-main { grid-column: 2; align-items: baseline; gap: var(--nvm-s5); line-height: 1.45; }
.nvm-calc-cta__range-main > span:last-child { white-space: nowrap; }
.nvm-calc-cta__range-note { grid-column: 2; font-size: var(--nvm-caption); line-height: 1.6; }
.nvm-calc-cta__range[aria-current="true"] { background: color-mix(in srgb, var(--nvm-h-cta) 8%, var(--nvm-color-surface)); border: 1px solid var(--nvm-h-cta); border-radius: var(--nvm-radius-control); margin-bottom: var(--nvm-s1); }
.nvm-calc-cta__range[aria-current="true"]::before { color: var(--nvm-color-action); font-size: var(--nvm-small); }
.nvm-calc-cta__fallback { padding: 0 var(--nvm-s8); border-top: 1px solid var(--nvm-color-line); }
.nvm-calc-cta__fallback summary { min-height: 54px; text-decoration: none; color: var(--nvm-color-muted); font-size: var(--nvm-caption); }
.nvm-calc-cta__fallback summary::after { content: "+"; margin-left: auto; color: var(--nvm-color-action); font-size: 18px; }
.nvm-calc-cta__fallback[open] summary::after { transform: rotate(45deg); }
@media (max-width: 1023px) {
  .nvm-page .nvm-calc-cta__layout { grid-template-columns: minmax(0, 1fr); }
  .nvm-page .nvm-calc-cta__result { border-left: 0; border-top: 1px solid var(--nvm-color-line); }
}
@media (max-width: 767px) {
  .nvm-calc-cta__root .nvm-calc-cta__header {
    --nvm-header-y: var(--nvm-s6) var(--nvm-s5) 22px;
    --nvm-header-x: var(--nvm-s5);
  }
  .nvm-calc-cta__root .nvm-calc-cta__title { font-size: 28px; }
  .nvm-page .nvm-calc-cta__controls { padding: var(--nvm-s6) var(--nvm-s5); }
  body #nvm-main [data-zone-name] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) { grid-template-columns: minmax(0, 1fr); }
  body #nvm-main [data-zone-name] .nvm-calc-cta__controls .nvm-calc-cta__fieldset .nvm-calc-cta__chips:has(> .nvm-calc-cta__chip) > .nvm-calc-cta__option { grid-column: auto; }
  .nvm-calc-cta__root .nvm-calc-cta__price { font-size: 42px; margin-top: var(--nvm-s4); }
  .nvm-calc-cta__context { margin-top: 22px; }
  .nvm-calc-cta__range { padding: 15px 6px; grid-template-columns: 12px minmax(0, 1fr); column-gap: var(--nvm-s2); }
  .nvm-calc-cta__range-main { display: grid; gap: 6px; font-size: 13px; }
  .nvm-calc-cta__range-main > span:last-child { font-weight: 500; }
  .nvm-calc-cta__fallback { padding-inline: var(--nvm-s5); }
}
/* Решение 22:51: на телефоне все углы итога прямые; с 701px остаётся радиус карточки. */
@media (max-width: 700px) {
  #nvm-main .nvm-calc-cta__root .nvm-calc-cta__result { border-radius: 0; }
}
@media (max-width: 359px) {
  .nvm-page .nvm-calc-cta__controls { padding-inline: var(--nvm-s4); }
}
.nvm-scen__footer { margin-top: 24px; font-size: 16px; line-height: 1.6; }
.nvm-scen__footer p { margin: 0; }
@media (max-width: 1023px) {
  .nvm-scen__layout:has(.nvm-scen__figure) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .nvm-scen__figure { width: min(100%, 600px); }
}
@media (max-width: 599px) {
  .nvm-scen__head { margin-bottom: 24px; }
  .nvm-scen__head p { font-size: 16px; }
  .nvm-scen__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .nvm-scen__item { padding: 16px; }
}

/* Меню Astra v2/v3: оформление панелей, без изменения структуры и текстов. */
.nvm-mega {
  --nvm-menu-rule: color-mix(in srgb, var(--nvm-color-line) 50%, transparent);
  padding: 28px;
  border-radius: var(--nvm-ed-r-md);
  background: linear-gradient(180deg, color-mix(in srgb, var(--nvm-color-surface) 27%, transparent), transparent 85px), var(--nvm-h-panel);
  box-shadow: 0 14px 34px color-mix(in srgb, var(--nvm-color-dark) 5%, transparent);
}
.nvm-mega__title { font: 700 32px/1.2 var(--nvm-h-font); }
.nvm-mega__all,
.nvm-mega .nvm-task-link {
  color: var(--nvm-color-action);
  font: 500 14px/1.5 var(--nvm-font-sans);
}
.nvm-mega__cols { gap: var(--nvm-ed-s4); padding: var(--nvm-ed-s6) 0; }
.nvm-mega__group { gap: 0; }
.nvm-mega__group h3 {
  box-sizing: border-box;
  min-height: 68px;
  margin: 0;
  padding: 0 var(--nvm-ed-s3) 18px;
  font: 700 20px/1.25 var(--nvm-h-font);
}
.nvm-mega__link {
  min-height: 64px;
  padding: 11px var(--nvm-ed-s3);
  border-top: 1px solid var(--nvm-menu-rule);
  border-radius: 0;
  font: 400 14px/20px var(--nvm-font-sans);
}
.nvm-site-header .nvm-mega__link[aria-current="page"] {
  background: var(--nvm-h-selected);
  color: var(--nvm-color-action);
  border-color: transparent;
  border-radius: 10px;
  box-shadow: none;
}
.nvm-mega__foot { padding-top: var(--nvm-ed-s5); }
.nvm-mega__foot p { font: 400 13px/1.5 var(--nvm-font-sans); }
.nvm-mega__start { gap: 32px; }

@media (min-width: 701px) and (max-width: 1279px) {
  .nvm-tablet-panel {
    --nvm-menu-rule: color-mix(in srgb, var(--nvm-color-line) 50%, transparent);
    grid-template-columns: 240px minmax(0, 1fr);
    border-radius: var(--nvm-ed-r-md);
    background: linear-gradient(180deg, color-mix(in srgb, var(--nvm-color-surface) 27%, transparent), transparent 85px), var(--nvm-h-panel);
  }
  .nvm-tablet-side { padding: 28px var(--nvm-ed-s5); background: var(--nvm-color-page); }
  .nvm-tablet-kicker,
  .nvm-tablet-contact > p:first-child {
    font: 500 10px/1.4 var(--nvm-font-sans);
    letter-spacing: .1em;
  }
  .nvm-tablet-nav__services,
  .nvm-tablet-nav__link {
    min-height: 52px;
    padding: 0 var(--nvm-ed-s3);
    border-bottom: 1px solid var(--nvm-menu-rule);
    border-radius: 0;
    font: 400 15px/1.4 var(--nvm-font-sans);
  }
  .nvm-tablet-nav__services[aria-current="true"],
  .nvm-tablet-nav__link[aria-current="page"] {
    color: var(--nvm-color-action);
  }
  .nvm-tablet-nav__services:is(:focus-visible, :active),
  .nvm-tablet-nav__link:is(:focus-visible, :active) {
    color: var(--nvm-h-link);
  }
  @media (hover: hover) {
    .nvm-tablet-nav__services:hover,
    .nvm-tablet-nav__link:hover {
      color: var(--nvm-h-link);
    }
  }
  .nvm-tablet-account {
    width: 100%;
    gap: 10px;
    padding-top: var(--nvm-ed-s5);
    margin-top: var(--nvm-ed-s6);
    font: 400 13px/1.4 var(--nvm-font-sans);
  }
  .nvm-tablet-phone { font: 600 16px/1.4 var(--nvm-font-sans); }
  .nvm-tablet-address { font: 400 12px/1.7 var(--nvm-font-sans); }
  .nvm-tablet-social { gap: var(--nvm-ed-s6); }
  .nvm-tablet-social a { font: 400 13px/1.4 var(--nvm-font-sans); }
  .nvm-tablet-services { padding: 28px var(--nvm-ed-s6); }
  .nvm-tablet-services__head {
    padding-bottom: var(--nvm-ed-s5);
    margin-bottom: var(--nvm-ed-s4);
    border-bottom: 1px solid var(--nvm-h-line);
  }
  .nvm-tablet-services__head a { font: 500 12px/1.4 var(--nvm-font-sans); }
  .nvm-tablet-group__toggle {
    min-height: 64px;
    padding: var(--nvm-ed-s3);
    border-radius: 10px;
    font: 700 19px/1.3 var(--nvm-h-font);
  }
  .nvm-tablet-group__toggle[aria-expanded="true"] {
    background: var(--nvm-h-selected);
    color: var(--nvm-h-text);
  }
  .nvm-tablet-group__toggle[aria-expanded="false"] {
    border-top: 1px solid var(--nvm-menu-rule);
    border-radius: 0;
  }
  .nvm-tablet-group__panel { gap: 0; padding: var(--nvm-ed-s1) 0 var(--nvm-ed-s4); }
  .nvm-tablet-service {
    min-height: 48px;
    padding: var(--nvm-ed-s3);
    border-bottom: 1px solid var(--nvm-menu-rule);
    font: 400 14px/1.5 var(--nvm-font-sans);
  }
  .nvm-tablet-service[aria-current="page"] {
    background: var(--nvm-h-selected);
    color: var(--nvm-color-action);
    border-color: transparent;
    border-radius: 10px;
    box-shadow: none;
  }
  .nvm-tablet-task {
    padding-top: var(--nvm-ed-s5);
    margin-top: var(--nvm-ed-s4);
    border-top: 1px solid var(--nvm-h-line);
  }
  .nvm-tablet-task p { font: 400 12px/1.5 var(--nvm-font-sans); }
  .nvm-tablet-task .nvm-task-link { color: var(--nvm-color-action); font: 500 14px/1.5 var(--nvm-font-sans); }
}
/* Мобильное меню, вариант А (Astra v2/v3). Тема ограничена панелью. */
@media (max-width: 700px) {
  .nvm-phone-panel {
    --nvm-h-panel: var(--nvm-color-dark);
    --nvm-h-text: var(--nvm-color-on-dark);
    --nvm-h-muted: var(--nvm-color-on-dark-muted);
    --nvm-h-link: var(--nvm-color-on-dark-action);
    --nvm-h-line: var(--nvm-color-dark-inset);
    --nvm-h-selected: var(--nvm-color-dark-inset);
    --nvm-h-task-line: var(--nvm-color-on-dark-muted);
    --nvm-h-font: var(--nvm-ed-font-sans);
    --nvm-coral: var(--nvm-color-on-dark-action);
    inset: 0;
    border-radius: 12px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--nvm-color-on-dark) 2.5%, transparent), transparent 45%), var(--nvm-h-panel);
    color: var(--nvm-h-text);
    font-family: var(--nvm-ed-font-sans);
  }
  .nvm-phone-panel :focus-visible {
    outline-color: var(--nvm-h-link);
  }
  .nvm-phone-step {
    padding: 24px 24px 16px;
  }
  .nvm-phone-title {
    max-width: 325px;
    margin: 4px 0 24px;
    font: 700 30px/1.14 var(--nvm-ed-font-display);
    overflow-wrap: anywhere;
  }
  .nvm-phone-nav {
    gap: 0;
  }
  .nvm-phone-link {
    gap: 14px;
    min-height: 52px;
    padding: 12px;
    border-bottom: 1px solid var(--nvm-h-line);
    font: 400 16px/1.5 var(--nvm-ed-font-sans);
    overflow-wrap: anywhere;
  }
  .nvm-phone-link[aria-current="page"],
  .nvm-phone-link[aria-current="true"] {
    color: var(--nvm-h-link);
  }
  .nvm-phone-link:focus-visible,
  .nvm-phone-link:active {
    color: var(--nvm-h-link);
  }
  @media (hover: hover) {
    .nvm-phone-link:hover {
      color: var(--nvm-h-link);
    }
  }
  .nvm-phone-link .nvm-chevron {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
  }
  .nvm-phone-account {
    gap: 12px;
    min-height: 52px;
    margin-top: 12px;
    padding: 0 12px;
    border-bottom: 1px solid var(--nvm-h-line);
    font: 400 14px/1.3 var(--nvm-ed-font-sans);
  }
  .nvm-phone-tel {
    margin-top: 20px;
    font: 700 23px/1.2 var(--nvm-ed-font-display);
  }
  .nvm-phone-meta {
    margin-top: 4px;
    font: 400 13px/1.8 var(--nvm-ed-font-sans);
  }
  .nvm-phone-social {
    gap: 24px;
    margin-top: 12px;
  }
  .nvm-phone-social a {
    font: 400 13px/1.3 var(--nvm-ed-font-sans);
  }
  .nvm-phone-back {
    margin: -8px 0 12px;
    font: 400 14px/1.3 var(--nvm-ed-font-sans);
  }
  .nvm-phone-count {
    margin: -12px 0 20px;
    font: 400 12px/1.3 var(--nvm-ed-font-sans);
    letter-spacing: .03em;
  }
  .nvm-phone-all {
    margin-top: 16px;
    padding: 0 12px;
    font: 400 14px/1.3 var(--nvm-ed-font-sans);
  }
  .nvm-phone-foot {
    padding: 20px 24px calc(24px + env(safe-area-inset-bottom));
  }
  .nvm-phone-book {
    min-height: 52px;
    padding: 12px 18px;
    border-radius: 14px;
    font: 700 17px/1.3 var(--nvm-ed-font-display);
  }
}

/* Хедер Astra v2/v3: верхняя полоса, навигация и запись; панели меню — отдельно. */
.nvm-header-main { border-bottom-color: var(--nvm-color-dark-inset); }
.nvm-header-util__place,
.nvm-header-util__meta { font: 400 13px/1.4 var(--nvm-font-sans); }
.nvm-header-cta {
  border-radius: var(--nvm-radius-control);
  font-family: var(--nvm-font-sans);
  font-size: 13px;
}
.nvm-nav-link {
  border-radius: 10px;
  font: 500 14px/1.4 var(--nvm-font-sans);
}
.nvm-nav-link--services { padding: 0 var(--nvm-ed-s3); }
.nvm-site-header .nvm-nav-link[aria-current="page"],
.nvm-site-header .nvm-nav-link[aria-current="true"],
.nvm-site-header .nvm-nav-link:is(:focus-visible, :active) {
  color: var(--nvm-color-on-dark-action);
}
@media (hover: hover) {
  .nvm-site-header .nvm-nav-link:hover {
    color: var(--nvm-color-on-dark-action);
  }
}
@media (min-width: 1280px) {
  .nvm-desktop-nav { gap: var(--nvm-ed-s6); }
}

/* Футер: утверждённый макет Astra v3, без изменения текстов и ссылок. */
.nvm-site-footer {
  background: var(--nvm-color-dark);
  color: var(--nvm-color-on-dark-muted);
  border-top: 1px solid var(--nvm-color-dark-inset);
  border-radius: 16px 16px 0 0;
}
.nvm-footer-shell { padding-block: 64px 40px; }
.nvm-footer-grid {
  grid-template-columns: 300px minmax(0, 1fr) 298px;
  gap: 64px;
  padding-bottom: 44px;
}
.nvm-footer-grid > section { min-width: 0; }
.nvm-footer-brand :where(.nvm-footer-brand__image) {
  width: 164px;
  height: auto;
  margin-bottom: 26px;
}
.nvm-footer-brand p {
  max-width: 300px;
  margin: 0;
  line-height: 1.8;
}
.nvm-footer-title {
  margin-bottom: 22px;
  font: 700 24px/1.2 var(--nvm-font-heading);
}
.nvm-footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 26px;
  align-items: stretch;
}
.nvm-footer-links a {
  min-width: 0;
  min-height: 52px;
  padding-block: 12px;
  border-bottom: 1px solid var(--nvm-color-dark-inset);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.nvm-footer-social { margin-top: 24px; }
.nvm-footer-social .nvm-social__btn {
  border: 1px solid var(--nvm-color-dark-inset);
  border-radius: 12px;
  box-shadow: inset 0 1px color-mix(in srgb, var(--nvm-color-surface) 4%, transparent);
}
.nvm-footer-social .nvm-social__mark {
  width: 22px;
  height: 22px;
  flex-basis: 22px;
}
.nvm-footer-social .nvm-social__btn:hover,
.nvm-footer-social .nvm-social__btn:focus-visible {
  color: var(--nvm-color-on-dark-action);
  border-color: var(--nvm-color-on-dark-action);
}
.nvm-footer-contacts { margin-bottom: 0; gap: 0; line-height: 1.8; }
.nvm-footer-contacts li:has(a[href^="tel:"]) { order: -1; margin-bottom: 14px; }
.nvm-footer-contacts a[href^="tel:"] {
  font: 700 26px/1.25 var(--nvm-font-heading);
  white-space: nowrap;
}
.nvm-footer-icon { display: none; }
.nvm-footer-contacts small { display: inline-block; margin-top: 8px; font-size: 13px; }
.nvm-footer-contacts strong { font-weight: 500; }
.nvm-site-footer .nvm-yandex-rating { margin-top: 16px; }
.nvm-site-footer .nvm-yandex-rating a {
  color: var(--nvm-color-on-dark-action);
  font: 400 13px/1.5 var(--nvm-font-sans);
  text-decoration: none;
}
.nvm-footer-bottom {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 0 56px;
  padding: 0;
  border-color: var(--nvm-color-dark-inset);
  font-size: 11px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
/* Документы идут отдельным рядом; копирайт и лицензия остаются в DOM как есть. */
.nvm-footer-bottom > span:nth-child(2) {
  grid-column: 1 / -1;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 36px;
  padding-block: 20px;
  border-bottom: 1px solid var(--nvm-color-dark-inset);
}
.nvm-footer-bottom a,
.nvm-footer-bottom .nvm-cookie-settings {
  min-height: 44px;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
  text-decoration: none;
}
.nvm-footer-bottom > span:first-child { grid-column: 1; grid-row: 2; padding-top: 26px; max-width: 310px; }
.nvm-footer-bottom > p { grid-column: 2; grid-row: 2; width: auto; padding-top: 26px; }
.nvm-footer-bottom .nvm-cookie-settings:hover,
.nvm-footer-bottom .nvm-cookie-settings:focus-visible,
.nvm-site-footer .nvm-yandex-rating a:hover,
.nvm-site-footer .nvm-yandex-rating a:focus-visible { color: var(--nvm-color-on-dark-hover); }
@media (max-width: 1100px) {
  .nvm-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .nvm-footer-grid > section:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .nvm-footer-bottom { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 0 32px; }
  .nvm-footer-bottom > span:nth-child(2) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; }
}
@media (max-width: 860px) {
  .nvm-footer-shell,
  .nvm-footer-grid > section,
  .nvm-footer-bottom,
  .nvm-footer-bottom p { text-align: left; }
  .nvm-footer-shell { padding-top: 40px; }
  .nvm-footer-grid > section { display: block; }
  .nvm-footer-links { align-items: stretch; }
  .nvm-footer-social,
  .nvm-footer-contacts,
  .nvm-footer-contacts li { align-items: flex-start; justify-content: flex-start; }
  .nvm-footer-bottom { align-items: start; }
  .nvm-site-footer .nvm-yandex-rating { margin-inline: 0; }
  .nvm-footer-mobile-status { width: 100%; margin-bottom: 32px; }
}
@media (max-width: 599px) {
  .nvm-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-bottom: 32px; }
  .nvm-footer-grid > section:nth-child(2) { grid-column: auto; grid-row: auto; }
  .nvm-footer-links { column-gap: 20px; }
  .nvm-footer-bottom { grid-template-columns: minmax(0, 1fr); }
  .nvm-footer-bottom > span:nth-child(2) { grid-template-columns: minmax(0, 1fr); }
  .nvm-footer-bottom > span:first-child { max-width: none; }
  .nvm-footer-bottom > p { grid-column: 1; grid-row: 3; padding-top: 16px; }
}

/* Отзывы: Astra v3, три равные карточки и полный текст без обрезки.
   Только .nvm-yreviews: соседний FAQ и другие виды отзывов сохраняют свой CSS. */
.nvm-yreviews .nvm-yreviews__head {
  flex-direction: row;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}
.nvm-yreviews .nvm-eyebrow {
  margin: 0 0 12px;
  color: var(--nvm-color-action);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.nvm-yreviews .nvm-yreviews__head h2 {
  margin: 0;
  line-height: 1.15;
}
.nvm-yreviews__head .nvm-yreviews__source {
  align-self: auto;
  gap: 14px;
  min-height: var(--nvm-tap);
  padding-bottom: 0;
  color: var(--nvm-color-action);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  border-bottom: 1px solid var(--nvm-color-line);
}
.nvm-yreviews .nvm-yreviews__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.nvm-yreviews .nvm-yreviews__card {
  position: relative;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--nvm-color-line);
  border-radius: var(--nvm-ed-r-md);
  background: var(--nvm-color-surface);
  box-shadow: inset 0 1px 0 var(--nvm-h-cta-ink);
}
.nvm-yreviews .nvm-yreviews__card:hover {
  border-color: var(--nvm-color-line);
  box-shadow: inset 0 1px 0 var(--nvm-h-cta-ink);
  transform: none;
}
.nvm-yreviews .nvm-yreviews__card:first-child { grid-column: auto; }
.nvm-yreviews .nvm-yreviews__card::before,
.nvm-yreviews .nvm-yreviews__card:first-child::after { content: none; }
.nvm-yreviews .nvm-yreviews__meta,
.nvm-yreviews .nvm-yreviews__card:first-child .nvm-yreviews__meta {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--nvm-color-line);
}
.nvm-yreviews .nvm-yreviews__rating {
  color: var(--nvm-color-action);
  font-size: 15px;
  letter-spacing: 2px;
  white-space: nowrap;
}
.nvm-yreviews .nvm-yreviews__label {
  color: var(--nvm-color-muted);
  font-size: 11px;
  font-weight: 400;
}
.nvm-yreviews .nvm-yreviews__card blockquote,
.nvm-yreviews .nvm-yreviews__card:first-child blockquote {
  display: block;
  max-width: none;
  margin: 0 0 24px;
  overflow: visible;
  color: var(--nvm-color-dark);
  font: 400 16px/1.65 var(--nvm-ed-font-sans);
  -webkit-line-clamp: unset;
}
.nvm-yreviews .nvm-yreviews__toggle { display: none; }
.nvm-yreviews .nvm-yreviews__foot {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--nvm-color-line);
}
.nvm-yreviews .nvm-yreviews__author {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 500;
}
.nvm-yreviews time { color: var(--nvm-color-muted); font-size: 12px; }
.nvm-yreviews .nvm-yreviews__open {
  gap: 5px;
  min-height: var(--nvm-tap);
  color: var(--nvm-color-action);
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
}
@media (max-width: 767px) {
  .nvm-yreviews .nvm-yreviews__head { display: block; margin-bottom: 24px; }
  .nvm-yreviews .nvm-yreviews__head h2 { font-size: 30px; }
  .nvm-yreviews__head .nvm-yreviews__source { margin-top: 16px; font-size: 13px; }
  .nvm-yreviews .nvm-yreviews__grid,
  .nvm-yreviews .nvm-yreviews__grid:has(> .nvm-yreviews__card:nth-child(2)) {
    display: flex;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 0;
  }
  .nvm-yreviews .nvm-yreviews__card,
  .nvm-yreviews .nvm-yreviews__grid:has(> .nvm-yreviews__card:nth-child(2)) > .nvm-yreviews__card {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    scroll-snap-align: start;
  }
  .nvm-yreviews .nvm-yreviews__card { padding: 24px; border-radius: 14px; }
  .nvm-yreviews .nvm-yreviews__meta,
  .nvm-yreviews .nvm-yreviews__card:first-child .nvm-yreviews__meta {
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 16px;
  }
  .nvm-yreviews .nvm-yreviews__label { font-size: 10px; }
  .nvm-yreviews .nvm-yreviews__card blockquote,
  .nvm-yreviews .nvm-yreviews__card:first-child blockquote { font-size: 15px; }
  .nvm-yreviews .nvm-yreviews__foot { padding-top: 16px; }
}

/* style-1102 contra */
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz-setka {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz {
  align-self: start;
  height: auto;
  min-width: 0;
  gap: 0;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--nvm-color-line);
  border-radius: 16px;
  background: var(--nvm-color-surface);
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz:only-child {
  grid-column: 1 / -1;
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__head {
  gap: 12px;
  min-height: 48px;
  margin-bottom: 20px;
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz h3 {
  font: 400 26px/1.2 var(--nvm-font-heading);
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--nvm-color-inset);
  color: var(--nvm-color-link);
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__icon svg {
  width: 21px;
  height: 21px;
  stroke-width: 1.5;
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) :is(.nvm-pokaz--no, .nvm-pokaz--rel) .nvm-pokaz__icon {
  color: var(--nvm-color-action);
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__mark {
  padding: 5px 9px;
  border: 1px solid var(--nvm-color-line);
  border-radius: 6px;
  background: transparent;
  color: var(--nvm-color-action);
  font: 600 10px/1.4 var(--nvm-ed-font-sans);
  letter-spacing: .06em;
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz ul {
  gap: 0;
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--nvm-color-line);
  font-size: 15px;
  line-height: 1.5;
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz li .nvm-ed-ico {
  width: 17px;
  height: 17px;
  margin-top: 3px;
  stroke-width: 1.5;
  color: var(--nvm-color-link);
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) :is(.nvm-pokaz--no, .nvm-pokaz--rel) li .nvm-ed-ico {
  color: var(--nvm-color-action);
}
.nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__note {
  margin: 12px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--nvm-color-line);
  color: var(--nvm-color-muted);
  font-size: 14px;
  line-height: 1.6;
}
.nvm-page:is(.nvm-page--service, .nvm-page--drug) #nvm-main .nvm-hero-warn {
  position: relative;
  box-sizing: border-box;
  padding: 20px 24px;
  border: 1px solid var(--nvm-color-line);
  border-radius: 12px;
  background: var(--nvm-color-surface);
  color: var(--nvm-color-dark);
  font-size: 16px;
  line-height: 1.5;
}
.nvm-page:is(.nvm-page--service, .nvm-page--drug) #nvm-main .nvm-hero-warn::before {
  content: "";
  position: absolute;
  inset: 14px auto 14px 8px;
  width: 2px;
  border-radius: var(--nvm-ed-r-pill);
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--nvm-color-action) 32%, transparent) 25%, color-mix(in srgb, var(--nvm-color-action) 32%, transparent) 75%, transparent);
  pointer-events: none;
}
@media (max-width: 700px) {
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz-setka {
    gap: 20px;
  }
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz {
    padding: 20px;
    border-radius: 14px;
  }
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__head {
    gap: 10px;
    margin-bottom: 16px;
  }
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz h3 {
    font-size: 23px;
  }
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__mark {
    margin-left: 50px;
    margin-top: -6px;
  }
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz li {
    font-size: 14px;
    line-height: 1.55;
  }
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-pokaz__note {
    font-size: 13px;
  }
  .nvm-page:is(.nvm-page--service, .nvm-page--drug) #nvm-main .nvm-hero-warn {
    padding: 16px 18px;
    font-size: 14px;
  }
}

@media (min-width: 1025px) {
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz-setka {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .nvm-page.nvm-ed:is(.nvm-page--service, .nvm-page--drug) .nvm-special .nvm-pokaz {
    align-self: stretch;
  }
}

/* Планшет: предупреждение и H1 следуют сразу за компактным фото hero. */
@media (min-width: 701px) and (max-width: 1024px) {
  .nvm-page:is(.nvm-page--service, .nvm-page--drug) #nvm-main .nvm-hero-core__media {
    --nvm-photo-ratio: auto;
    margin-bottom: var(--nvm-ed-s4);
  }
  /* Фото растягивается по строке; заглушка без фото сохраняет прежнюю высоту. */
  .nvm-page:is(.nvm-page--service, .nvm-page--drug) #nvm-main .nvm-hero-core__media:has(> div) {
    display: grid;
    grid-template-rows: clamp(240px, 34vh, 320px);
  }
}
