
/* ===== [1] nvm-section-plaques-v1.css — assets/novame/nvm-section-plaques-v1.css ===== */
/* NVM SERVICE PLAQUES + TOP BADGES v2 — чистые общие шаблоны услуг */

/* Component base for service pages.
   Replaces the legacy per-page WordPress typography resets that were removed
   from resource content. All 91 lists in service markup are decorative
   containers (custom bullets are drawn by markup, not by list-style), so the
   list reset stays as one shared component rule instead of 19 copies.
   Headings and paragraphs now take spacing from their components. */
#nvm-svc ul { list-style: none; margin: 0; padding: 0; }

/* Horizontal containment for service pages.
   Inner carousels (e.g. the HELEO4 mobile spectra slider) scroll inside their
   own overflow-x:auto track, but the page root must clip the overflow so the
   whole document never gains a horizontal scrollbar. overflow-x:clip is used
   instead of hidden so sticky/positioned children keep working. */
#nvm-svc { overflow-x: clip; }
#nvm-svc > * { min-width: 0; }

/* Border style restore.
   The service markup carries a partial Tailwind build: `.border` sets only
   border-width, while Tailwind's preflight rule that sets `border-style: solid`
   on every element was never ported. Without it the browser default `none`
   wins and declared card borders are simply not painted, which is what made
   white cards look flat on the light page background. */
#nvm-svc [class*="border"] { border-style: solid; }

/* Laser calculator theme.
   Every accent surface derives from --calc-accent, which the calculator swaps
   between coral ("Для неё") and mint ("Для него"). Previously these colours were
   hardcoded in the row templates, so half of the UI stayed coral in male mode. */
#novame-laser-root .nm-zone--on { border-color: var(--calc-accent); background: var(--calc-accent-soft); }
#novame-laser-root .nm-zone--off { border-color: #e6ecec; background: #fff; }
#novame-laser-root .nm-zone--off:hover { border-color: var(--calc-accent); }
#novame-laser-root .nm-tick--on { border-color: var(--calc-accent); background: var(--calc-accent); }
#novame-laser-root .nm-tick--off { border-color: #d8e2e0; background: #fff; }
#novame-laser-root .nm-zone-name--on { color: var(--calc-accent); }
#novame-laser-root .nm-chip-accent { background: var(--calc-accent); }
#novame-laser-root .nm-accent-text { color: var(--calc-accent); }

/* Complex/zone row: the name takes the free space and may wrap, the "Выгодно"
   tag follows it and drops onto the next line when the row is narrow, while the
   price is always kept on a single line at the trailing edge. */
#novame-laser-root .nm-row__main { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-width: 0; flex: 1 1 auto; }
#novame-laser-root .nm-row__name { min-width: 0; flex: 1 1 auto; }
#novame-laser-root .nm-row__tag { flex: 0 0 auto; }
#novame-laser-root .nm-row__price { flex: 0 0 auto; margin-left: 12px; white-space: nowrap; }

/* Summary panel: the course total and its per-session caption must never split
   the amount from the currency sign, which happened at 390px. */
#novame-laser-root #nm-total-price,
#novame-laser-root #nm-total-old,
#novame-laser-root #nm-per-session-label { white-space: nowrap; }

/* Calculator step selectors (duration / session count).
   Four columns leave only ~76px per control at 390px, which truncates labels
   such as "За 15 − 20%". Below the tablet breakpoint they wrap into 2x2, which
   matches the laser calculator and keeps 44px+ tap targets. */
@media (max-width: 767px) {
  #nvm-svc .grid.grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Simulator slider (RSL vibro-compression, Icoone intensity).
   The live value used to sit between the two scale captions, so at 390px the
   three labels touched and read as "дренажМощность". The value now lives above
   the track next to its label; the scale below keeps only the two endpoints. */
#nvm-svc .nvm-sim__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
#nvm-svc .nvm-sim__label { flex: 1 1 auto; min-width: 0; }
#nvm-svc .nvm-sim__value { flex: 0 0 auto; white-space: nowrap; color: var(--calc-accent, var(--c-primary, #bc5850)); }
#nvm-svc .nvm-sim__range { accent-color: var(--calc-accent, var(--c-primary, #bc5850)); }
#nvm-svc .nvm-sim__scale { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; }
#nvm-svc .nvm-sim__scale > span { flex: 0 1 auto; min-width: 0; }
#nvm-svc .nvm-sim__scale > span:last-child { text-align: right; }

/* Simulator shell.
   The dark panel utility only existed inside the Icoone page styles, so the RSL
   simulator rendered on a transparent background and its canvas floated on the
   white page. Declaring it once here gives both modules (and any future one)
   the same surface without duplicating page-level CSS. */
#nvm-svc .bg-slate-950 { background-color: rgb(2 6 23); }
/* Type inside the dark shell: the simulator heading and legend inherited the
   page ink colour, which is unreadable on the near-black surface. */
#nvm-svc .bg-slate-950 h2,
#nvm-svc .bg-slate-950 h3,
#nvm-svc .bg-slate-950 h4 { color: #f8fafc; }
#nvm-svc .bg-slate-950 p,
#nvm-svc .bg-slate-950 span:not([class*="text-"]),
#nvm-svc .bg-slate-950 div:not([class*="text-"]):not([class*="bg-"]) { color: #cbd5e1; }

/* Card token: white cards sitting on the light page background need a hairline
   so they read as separate surfaces. Applies only to cards that declare a
   white background and a card radius but no border of their own. */
#nvm-svc .bg-white.rounded-2xl:not([class*="border-"]),
#nvm-svc .bg-white.rounded-3xl:not([class*="border-"]):not(.nvm-price-frame-free),
#nvm-svc .bg-white.rounded-xl:not([class*="border-"]) {
  border: 1px solid #d8e2e0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .06);
}
#nvm-svc .border-none { border-style: none; }
#nvm-svc .border-dashed { border-style: dashed; }
#nvm-svc .border-dotted { border-style: dotted; }

/* Mobile hero gap standard: one component rule for every hero markup variant.
   Replaces the removed nv_base_css patch that used 35px with !important and
   only covered part of the pages. */
@media (max-width: 1024px) {
  #nvm-svc .nvm-mobile-hero-photo,
  #nvm-aq .nvm-mobile-hero-photo { margin: 0 0 24px; }
  #nvm-aq .nvm-hero { gap: 0; }
  #nvm-aq .nvm-hero-media { margin-bottom: 24px; }
}

/* Section plaque: centred heading and centred note, symmetric inner padding.
   Notes are matched by position inside the plaque (not by adjacency), because
   legacy markup places extra nodes between the heading and the note. */
#nvm-svc .nvm-section-plaque,
#nvm-aq .nvm-head {
  box-sizing: border-box;
  text-align: center;
}
#nvm-svc .nvm-section-plaque > h2,
#nvm-svc .nvm-section-plaque > h3,
#nvm-aq .nvm-head .nvm-h2 {
  margin: 0;
  text-align: center;
}
#nvm-svc .nvm-section-plaque > p,
#nvm-svc .nvm-section-plaque > blockquote,
#nvm-aq .nvm-head .nvm-lead {
  max-width: 900px;
  margin: 20px auto 0;
  text-align: center;
}
#nvm-svc .nvm-section-plaque > h2:first-child,
#nvm-svc .nvm-section-plaque > h3:first-child,
#nvm-svc .nvm-section-plaque > p:first-child,
#nvm-svc .nvm-section-plaque > blockquote:first-child,
#nvm-aq .nvm-head > :first-child {
  margin-top: 0;
}
/* NVM service top badge, caption and PLLA spacing standard v9 — exact header gap and exact CTA-to-breadcrumb gap. */
@media(min-width:1025px){
  #nvm-svc .nvm-service-hero-shell{padding-top:30px!important;padding-bottom:0!important;}
  #nvm-aq > .nvm-sec:first-of-type{padding-top:30px!important;padding-bottom:0!important;}
  #nvm-svc #novame-heleo-root > #nvm-h4-pc-hero{padding-top:30px!important;padding-bottom:0!important;}
  #nvm-svc>#novame-laser-root>.nvm-top-badge-wrap,
  #nvm-svc>.nvm-top-badge-wrap{margin-top:30px!important;}
  /* PLLA: parent padding prevents first-child margin collapsing against the root. */
  #nvm-svc>#novame-pla-root{padding-top:30px!important;}
  #nvm-svc>#novame-pla-root>.nvm-top-badge-wrap{margin-top:0!important;}
  .nvm-top-badge-wrap{box-sizing:border-box!important;display:block!important;position:relative!important;left:auto!important;transform:none!important;width:700px!important;max-width:700px!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin-right:auto!important;margin-bottom:30px!important;margin-left:auto!important;padding:0!important;}
  .nvm-badge-std{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:700px!important;max-width:700px!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin:0!important;padding:0 24px!important;color:#1A7F74!important;font:700 16px/1 Bellota,Arial,sans-serif!important;letter-spacing:.01em!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;background:rgba(26,127,116,.06)!important;border:1px solid rgba(26,127,116,.5)!important;border-radius:999px!important;box-shadow:none!important;}
}
@media(max-width:1024px){
  #nvm-svc .nvm-section-plaque{padding:20px;}
  #nvm-svc .nvm-service-hero-shell{padding-top:20px!important;padding-bottom:0!important;}
  #nvm-aq > .nvm-sec:first-of-type{padding-top:20px!important;padding-bottom:0!important;}
  #nvm-svc #novame-heleo-root > #nvm-h4-pc-hero{padding-top:20px!important;padding-bottom:0!important;}
  #nvm-svc>#novame-laser-root>.nvm-top-badge-wrap,
  #nvm-svc>.nvm-top-badge-wrap{margin-top:20px!important;}
  /* PLLA: match mobile badge standard without margin collapsing. */
  #nvm-svc>#novame-pla-root{padding-top:20px!important;}
  #nvm-svc>#novame-pla-root>.nvm-top-badge-wrap{margin-top:0!important;}
  .nvm-top-badge-wrap{box-sizing:border-box!important;display:block!important;position:relative!important;left:auto!important;transform:none!important;width:300px!important;max-width:calc(100vw - 32px)!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin-right:auto!important;margin-bottom:30px!important;margin-left:auto!important;padding:0!important;}
  .nvm-badge-std{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:300px!important;max-width:100%!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin:0!important;padding:0 14px!important;color:#1A7F74!important;font:700 13px/1 Bellota,Arial,sans-serif!important;letter-spacing:.01em!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;background:rgba(26,127,116,.06)!important;border:1px solid rgba(26,127,116,.5)!important;border-radius:999px!important;box-shadow:none!important;}
}

/* NVM CANVAS WORKAREAS v1 — единый ПК-шаблон внешней рабочей области */
@media(min-width:1025px){#nvm-svc .nvm-canvas-workarea{box-sizing:border-box!important;width:1240px!important;max-width:100%!important;margin-inline:auto!important}#nvm-svc .nvm-canvas-stage{width:100%!important;max-width:none!important}#novame-glow-root .nvm-canvas-bleed{width:calc(100% + 64px)!important;max-width:none!important;margin-inline:-32px!important}}

/* NVM THREE PHOTO STANDARD v1 — AFT-пигментация: три равные карточки 1×1 */
@media(min-width:1025px){#novame-pigment-root .nvm-three-photo-standard{box-sizing:border-box!important;width:1240px!important;max-width:100%!important;margin-inline:auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}#novame-pigment-root .nvm-three-photo-standard>div{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important}#novame-pigment-root .nvm-three-photo-standard>div>div:first-child{width:100%!important;max-width:none!important;aspect-ratio:1!important}#novame-pigment-root .nvm-three-photo-standard>div>div:last-child{width:100%!important;max-width:none!important;text-align:center!important}}
@media(max-width:1024px){#novame-pigment-root .nvm-three-photo-standard{box-sizing:border-box!important;width:calc(100% + 12px)!important;max-width:none!important;margin-inline:-6px!important;display:grid!important;gap:20px!important}#novame-pigment-root .nvm-three-photo-standard>div{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}#novame-pigment-root .nvm-three-photo-standard>div>div:first-child{width:100%!important;max-width:none!important;aspect-ratio:1!important}#novame-pigment-root .nvm-three-photo-standard>div>div:last-child{width:100%!important;max-width:none!important;text-align:center!important}}

/* NVM SERVICE 1240 MOBILE GEOMETRY v1 — единый отступ 10 px от viewport */
@media(max-width:1024px){#nvm-svc .nvm-service-1240{box-sizing:border-box!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;width:calc(100vw - 20px)!important;max-width:none!important;margin-left:0!important;margin-right:0!important}}
/* NVM PLLA COMPARE TABLE v1 — isolated mobile comparison table */
@media(max-width:767px){
  .nvm-plla-compare-scroll{overflow-x:visible!important}
  .nvm-plla-compare-table{width:100%!important;table-layout:fixed!important;font-size:11px!important}
  .nvm-plla-compare-table th,.nvm-plla-compare-table td{padding:8px 4px!important;vertical-align:top!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .nvm-plla-compare-table th:nth-child(1),.nvm-plla-compare-table td:nth-child(1){width:31%!important}
  .nvm-plla-compare-table th:nth-child(2),.nvm-plla-compare-table td:nth-child(2){width:31%!important}
  .nvm-plla-compare-table th:nth-child(3),.nvm-plla-compare-table td:nth-child(3){width:38%!important}
}

/* Clean service hero core. The top badge is intentionally excluded. */
.nvm-hero-core {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 720px) 420px;
  justify-content: space-between;
  align-items: start;
  column-gap: 100px;
}
.nvm-hero-core__content {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
/* D7: bottom of the actions row aligns with the bottom of the media frame. */
@media (min-width: 1025px) {
  .nvm-hero-core { align-items: stretch; }
  .nvm-hero-core__media--desktop { align-self: stretch; }
  .nvm-hero-core__content > .nvm-hero-core__benefits { margin-top: auto; }
}
.nvm-hero-core__media--mobile { display: none; }
.nvm-hero-core__media--desktop {
  display: block;
  width: 420px;
  align-self: start;
}
.nvm-hero-core__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .14);
}
.nvm-hero-core__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nvm-hero-core__shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 48%, rgba(15, 23, 42, .5) 100%);
}
.nvm-hero-core__caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 12px 16px;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.72);
  border-radius: 0;
  background: rgba(255,255,255,.96);
  color: #0f172a;
  text-align: center;
  box-shadow: none;
}
/* Aquapure uses .nvm-glass rather than the clean hero caption class. */
#nvm-aq .nvm-glass{
  right:0!important;
  bottom:0!important;
  left:0!important;
  padding:12px 16px!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.42)!important;
  border-radius:0!important;
  background:rgba(15,23,42,.94)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#nvm-aq .nvm-glass p{color:#fff!important;}
#nvm-aq .nvm-glass p+p{color:rgba(255,255,255,.86)!important;}
.nvm-hero-core__caption-title,
.nvm-hero-core__caption-text { margin: 0; }
.nvm-hero-core__caption-title { font-size: 14px; font-weight: 800; line-height: 1.25; }
.nvm-hero-core__caption-text { margin-top: 4px; font-size: 13px; font-weight: 700; line-height: 1.3; color: #334155; }
.nvm-hero-core__title {
  margin: 0;
  color: #0f172a;
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
}
.nvm-hero-core__subtitle {
  margin: 0;
  color: #0f172a;
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
}
.nvm-hero-core__accent { color: #bc5850; }
.nvm-hero-core__description {
  max-width: 640px;
  margin: 20px 0 0;
  color: #1e293b;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.48;
}
.nvm-hero-core__benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 720px;
  max-width: 100%;
  margin-top: 24px;
}
.nvm-hero-core__benefit {
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 16px;
  border: 1px solid #d8e2e0;
  border-left: 3px solid #bc5850;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15,23,42,.06);
}
.nvm-hero-core__benefit--mint { border-left-color: #1a7f74; }
.nvm-hero-core__benefit-icon {
  margin-right: 12px;
}
.nvm-service-icon {
  display: inline-flex;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.nvm-service-icon > .nvm-service-icon__glyph {
  display: block;
  width: 20px;
  height: 20px;
  max-width: 100%;
  max-height: 100%;
}
.nvm-hero-core__benefit-title,
.nvm-hero-core__benefit-text { margin: 0; }
.nvm-hero-core__benefit-title { color: #0f172a; font-size: 16px; font-weight: 700; line-height: 1.2; }
.nvm-hero-core__benefit-text { margin-top: 3px; color: #475569; font-size: 14px; font-weight: 600; line-height: 1.25; }
.nvm-hero-core__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 720px;
  max-width: 100%;
  margin-top: 20px;
  padding-top: 0;
}
.nvm-hero-core__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 56px;
  padding: 0 28px;
  border: 1px solid #d8e2e0;
  border-radius: 999px;
  color: #0f172a;
  background: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}
.nvm-hero-core__button--primary { border-color: #bc5850; color: #fff; background: #bc5850; }
.nvm-hero-core__button .nvm-ico { width: 18px; height: 18px; margin-left: 10px; }
@media (max-width: 1024px) {
  .nvm-hero-core {
    width: calc(100% - 32px);
    margin-right: 16px;
    margin-left: 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .nvm-hero-core__media--desktop { display: none; }
  /* D1: explicit breathing room between the mobile hero media and the H1. */
  .nvm-hero-core__media--mobile { display: block; order: -1; width: 100%; margin-bottom: 24px; }
  .nvm-hero-core__content { order: 2; min-height: 0; align-items: center; text-align: center; }
  .nvm-hero-core__frame { width: 100%; border-width: 0; border-radius: 10px; }
  .nvm-hero-core__title { width: 100%; margin-top: 0; font-size: 28px; line-height: 1.18; }
  .nvm-hero-core__subtitle { width: 100%; font-size: 28px; line-height: 1.18; }
  .nvm-hero-core__description { width: 100%; max-width: none; margin-top: 20px; font-size: 15px; line-height: 1.42; }
  .nvm-hero-core__benefits { grid-template-columns: 1fr; gap: 20px; width: 100%; margin-top: 20px; }
  .nvm-hero-core__benefit { min-height: 76px; text-align: left; }
  .nvm-hero-core__actions { grid-template-columns: 1fr; gap: 20px; width: 100%; margin-top: 20px; padding-top: 0; }
  .nvm-hero-core__button { width: 100%; height: 52px; }
}

/* NVM breadcrumb standard v2 — centered; exact CTA-to-breadcrumb gap. */
@media(min-width:1025px){
  .nvm-breadcrumbs{box-sizing:border-box;width:min(1240px,calc(100% - 32px));margin:24px auto 32px;padding:0;font-family:'Bellota','Inter',sans-serif;}
}
@media(max-width:1024px){
  .nvm-breadcrumbs{box-sizing:border-box;width:calc(100% - 32px);margin:16px 16px 24px;padding:0;font-family:'Bellota','Inter',sans-serif;}
}
.nvm-breadcrumbs__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;min-height:28px;color:#6b7280;font-size:14px;line-height:1.35;text-align:center;}
.nvm-breadcrumbs__link{color:#536963;text-decoration:none;text-underline-offset:3px;}
.nvm-breadcrumbs__link:hover,.nvm-breadcrumbs__link:focus-visible{color:#c75d51;text-decoration:underline;}
.nvm-breadcrumbs__separator{color:#a8aaa8;user-select:none;}
.nvm-breadcrumbs__current{color:#1f2937;}
@media(max-width:1024px){.nvm-breadcrumbs__inner{font-size:12px;gap:5px;min-height:24px;}}

/* Unified calculator booking CTA */
.nvm-calc-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 20px;
  /* Inherits the calculator accent so the CTA follows the gender theme
     (coral for the default state, mint for "Для него"). Falls back to the
     brand primary when the CTA is used outside a themed calculator. */
  border: 1px solid var(--calc-accent, var(--c-primary, #bc5850));
  border-radius: 14px;
  background: var(--calc-accent, var(--c-primary, #bc5850));
  color: #fff;
  font: 600 16px/1.2 'Bellota', 'Inter', sans-serif;
  text-decoration: none;
}
.nvm-calc-cta:hover,
.nvm-calc-cta:focus-visible { background: color-mix(in srgb, var(--calc-accent, var(--c-primary, #bc5850)) 88%, #000); border-color: color-mix(in srgb, var(--calc-accent, var(--c-primary, #bc5850)) 88%, #000); color: #fff; }
.nvm-calc-cta__icon { width: 20px; height: 20px; margin-right: 10px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 1024px) { .nvm-calc-cta { width: 100%; } }

/* Aquapure hero: three balanced benefits */
#nvm-aq .nvm-grid2.nvm-hero-benefits--three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1024px) { #nvm-aq .nvm-grid2.nvm-hero-benefits--three { grid-template-columns: 1fr; gap: 20px; } }

/* Service content media: aspect-ratio belongs to the container, never to a stretched image. */
#nvm-svc .aspect-\[16\/9\] > picture,
#nvm-svc .aspect-square > picture {
  display: block;
  width: 100%;
  height: 100%;
}

#nvm-svc .aspect-\[16\/9\] > picture > img,
#nvm-svc .aspect-square > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Science layout: concise mechanism beside media, long-form content below the row.
   The media column must stay on the first row next to .nvm-science__top, so the
   long-form block is explicitly placed on the second row across all columns. */
@media (min-width: 1025px) {
  #nvm-svc .nvm-science-layout { row-gap: 48px; }
  #nvm-svc .nvm-science-layout > .nvm-science__column { display: contents; }
  #nvm-svc .nvm-science-layout .nvm-science__top { grid-row: 1; grid-column: 1 / span 7; align-self: start; }
  #nvm-svc .nvm-science-layout > .nvm-science__column ~ * { grid-row: 1; grid-column: 8 / -1; align-self: start; }
  #nvm-svc .nvm-science-layout .nvm-science__long { grid-row: 2; grid-column: 1 / -1; width: 100%; margin: 0; }
}

/* Shared service price layout. Existing filters and table/list logic remain untouched. */
#nvm-svc .nvm-price-layout-standard {
  box-sizing: border-box;
  width: min(1240px, calc(100% - 32px));
  margin-inline: auto;
  padding-block: 40px;
}
#nvm-svc .nvm-price-layout-standard > .max-w-7xl {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}
#nvm-svc .nvm-price-layout-standard .nvm-section-plaque {
  margin-bottom: 40px;
}
#nvm-svc .nvm-price-layout-standard .bg-white {
  background: #fff;
}
@media (max-width: 1024px) {
  #nvm-svc .nvm-price-layout-standard {
    width: calc(100% - 32px);
    max-width: none;
    margin-inline: auto;
    padding-block: 20px;
  }
  #nvm-svc .nvm-price-layout-standard .nvm-section-plaque {
    margin-bottom: 20px;
  }
}


/* NVM ICOONE PRICE SECTIONS v1 — structured programme and tariff columns. */
#nvm-icoone-price .nvm-icoone-price__table { table-layout: fixed; }
#nvm-icoone-price .nvm-icoone-price__table thead th { vertical-align: middle; line-height: 1.25; }
#nvm-icoone-price .nvm-icoone-price__table thead th:first-child { width: 33%; }
#nvm-icoone-price .nvm-icoone-price__table thead th + th,
#nvm-icoone-price .nvm-icoone-price__table tbody td + td { border-left: 1px solid #d8e2e0; }
#nvm-icoone-price .nvm-icoone-price__table tbody tr + tr td { border-top: 1px solid #d8e2e0; }
#nvm-icoone-price .nvm-icoone-price__table tbody td:first-child { padding-right: 28px; }
@media (max-width: 639px) {
  #nvm-icoone-price .nvm-icoone-price__mobile { display: grid; gap: 20px; }
  #nvm-icoone-price .nvm-icoone-price__mobile > div { margin-top: 0; }
  #nvm-icoone-price .nvm-icoone-price__mobile > div > div:first-child { gap: 12px; }
}


/* NVM PHONE VIDEO v1 — one reusable phone shell; video loading and playback logic remain in chunk-service-video. */

/* Подпись внутри корпуса видео: белая плашка, прижата к нижней кромке экрана. */

/* Подпись симулятора над холстом. Позиционирование задаёт компонент целиком —
   утилиты absolute/top/left/z из разметки убраны, поэтому конфликта нет.
   Мобильный: обычный блок в потоке над холстом, по центру, на всю ширину.
   ПК: плашка лежит поверх тёмной панели в левом верхнем углу. */
#nvm-svc .nvm-canvas-badge {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  margin: 0 0 12px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  #nvm-svc .nvm-canvas-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 10;
    width: auto;
    margin: 0;
    text-align: left;
    white-space: nowrap;
  }
}

/* NVM POKAZ COMPONENT v1 */
/* ==========================================================================
   NVM — блоки показаний и противопоказаний (компонент вместо инлайн-стилей).
   Ранее геометрия и цвета этих блоков задавались инлайн с !important на
   каждой странице услуг (до 65 объявлений на страницу). Компонент повторяет
   ту же визуальную форму, но правится в одном месте и без !important.
   ========================================================================== */
.nvm-pokaz-setka {
  display: block;
  max-width: 1240px;
  margin: 0 auto;
  background: transparent;
}
.nvm-pokaz {
  border: 1px solid rgba(184, 92, 79, .5);
  border-left: 3px solid #b85c4f;
  border-radius: 20px;
  padding: 20px;
  margin: 0 0 20px;
  box-shadow: none;
  background: transparent;
}
.nvm-pokaz--terra { border-color: rgba(184, 92, 79, .5); border-left-color: #b85c4f; }
.nvm-pokaz--myata { border-color: rgba(26, 127, 116, .5); border-left-color: #1a7f74; }
.nvm-pokaz--zhelt { border-color: rgba(200, 145, 47, .5); border-left-color: #c8912f; }
.nvm-pokaz-znak {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #b85c4f;
}
.nvm-pokaz--myata .nvm-pokaz-znak { color: #1a7f74; }
.nvm-pokaz--zhelt .nvm-pokaz-znak { color: #c8912f; }

/* Точечные акценты, ранее заданные инлайн. */
.nvm-accent-left--coral { border-left-color: #bc5850; }
.nvm-accent-left--teal { border-left-color: #1a7f74; }
.nvm-text--coral { color: #bc5850; }
.nvm-text--teal { color: #1a7f74; }
.nvm-bg--coral { background-color: #bc5850; }
.nvm-bg--teal { background-color: #1a7f74; }
.nvm-accent-color--coral { accent-color: #bc5850; }
.nvm-mt-32 { margin-top: 32px; }

/* Остаточные инлайн-декларации, вынесенные в классы. */
.nvm-accent-left--teal-box {
  border-left: 3px solid #1a7f74;
}
.nvm-metric-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 700;
  color: #44403c;
  margin-bottom: 4px;
}
.nvm-text--ink { color: #0c0a09; font-weight: 800; }
.nvm-note-box {
  background-color: #f5f5f4;
  border: 1px solid #cbd5e1;
  padding: 12px;
  border-radius: 12px;
}
.nvm-canvas-surface { background-color: #fff; border-color: #cbd5e1; }


/* Табличные и справочные элементы страниц услуг, ранее заданные инлайн. */
.nvm-meta-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #57534e;
  text-transform: uppercase;
  line-height: 1.2;
}

.nvm-meta-value {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #1c1917;
  margin-top: 4px;
}
.nvm-meta-hint {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 800;
  color: #0369a1;
  margin-top: 4px;
  line-height: 1.2;
}
.nvm-body-13 {
  font-size: 13px;
  font-weight: 700;
  color: #1c1917;
  line-height: 1.5;
}
.nvm-note-muted {
  color: #78716c;
  font-size: 13px;
  font-weight: 600;
  margin: 0;
}
.nvm-divider-top {
  border-top: 1px solid #cbd5e1;
  margin-top: 32px;
  padding-top: 16px;
}
.nvm-soft-box {
  background-color: #fafaf9;
  border: 1px solid #cbd5e1;
  padding: 16px;
  border-radius: 12px;
}
.nvm-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.nvm-accent-left--coral-only {
  border-left: 3px solid #bc5850;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  padding-left: 18px;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  margin: 0;
}
.nvm-panel-dark {
  background-color: #1e293b;
  color: #f8fafc;
}
.nvm-max-100 { max-width: 100%; }
.nvm-accent-color--teal { accent-color: #1a7f74; }

/* Тёмная панель симулятора: заголовок, подпись и легенда. */
.nvm-panel-dark__kicker {
  color: #bc5850;
  font-weight: 900;
  font-size: 13px;
}
.nvm-panel-dark__title {
  color: #fff;
  font-weight: 800;
  font-size: 20px;
  margin: 4px 0 0;
  line-height: 1.3;
}
.nvm-panel-dark__meta {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 700;
}
.nvm-panel-light {
  background-color: #fff;
  color: #1c1917;
  padding: 24px;
}
.nvm-panel-light__title {
  color: #1c1917;
  border-bottom: 1px solid #cbd5e1;
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 16px;
  padding-bottom: 12px;
}
.nvm-progress-fill--coral { background-color: #bc5850; transition: width .1s ease; }
.nvm-progress-fill--teal { background-color: #1a7f74; transition: width .3s ease; }
.nvm-section-divider {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.nvm-mt-24 { margin-top: 1.5rem; }
.nvm-text--rose-soft { color: #fbefec; opacity: .8; }
.nvm-text--coral-soft { color: #e3a79f; }

.nvm-fw-800 { font-weight: 800; }

.nvm-meta-caption-alt {
  font-size: 13px;
  font-weight: 800;
  color: #57534e;
  text-transform: uppercase;
  margin: 0 0 8px;
}

/* R9 — mobile-only static label above interactive canvas. */
.nvm-canvas-badge--mobile { position: relative; z-index: 20; flex: 0 0 auto; background: rgba(15, 23, 42, .88); color: #e2e8f0; border: 1px solid rgba(148, 163, 184, .4); border-radius: 999px; }
@media (min-width: 1024px) { .nvm-canvas-badge--mobile { display: none; } }


/* ===== [2] nvm-design-system-v1.css — assets/novame/nvm-design-system-v1.css ===== */
/* NVM Design System v1: global tokens and clean shared components. */
:root {
  --c-primary: #bc5850;
  --c-primary-hover: #a6463f;
  --c-dark: #1e1e21;
  --c-bg: #ffffff;
  --c-teal: #1a7f74;
  --c-text: #1f2937;
  --c-muted: #6b7280;
  --nvm-container: 1240px;
  --nvm-gutter-desktop: 24px;
  --nvm-gutter-mobile: 16px;
  --nvm-radius-card: 20px;
  --nvm-radius-control: 14px;
  --nvm-radius-pill: 999px;
  --nvm-shadow-card: 0 8px 30px rgba(0, 0, 0, .06);
  --nvm-font-display: "Bellota", cursive;
  --nvm-font-sans: "Inter", Arial, sans-serif;
  /* Compatibility aliases consumed by remaining legacy home components. */
  --brand-mint: var(--c-teal);
  --brand-coral: var(--c-primary);
  --brand-coral-hover: var(--c-primary-hover);
  --bg-white: #f8fafc;
  --text-slate-900: #0f172a;
  --text-slate-800: #1e293b;
  --text-slate-600: #475569;
  --text-slate-500: #64748b;
  --text-slate-400: #94a3b8;
  --border-slate-200: #cbd5e1;
  --border-slate-100: #e2e8f0;
  --shadow-sm: 0 1px 3px 0 rgba(0,0,0,.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,.08);
}

/* Unified section badge */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-height: 32px;
  padding: 6px 14px;
  border: 1px solid #d8e2e0;
  border-radius: var(--nvm-radius-pill);
  background: transparent;
  color: #5b6b68;
  font: 600 12px/1 var(--nvm-font-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.badge::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-primary);
  content: '';
}
.badge--center { justify-self: center; }

/* Header */
.nvm-no-scroll { overflow: hidden; }
.nvm-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.nvm-site-header {
  position: relative;
  z-index: 1000;
  width: 100%;
  height: 82px;
  background: var(--c-dark);
  color: #fff;
  box-shadow: 0 3px 15px rgba(0, 0, 0, .15);
}
.nvm-header-shell {
  width: min(var(--nvm-container), calc(100% - 48px));
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
}
.nvm-header-logo {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  line-height: 0;
}
.nvm-header-logo img {
  display: block;
  width: auto;
  height: 40px;
  max-width: 164px;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .25));
}
.nvm-desktop-nav {
  display: flex;
  align-items: center;
  align-self: stretch;
  margin-left: auto;
}
.nvm-nav-services {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}
.nvm-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 100%;
  padding: 0 13px;
  color: #f7f7f8;
  font: 500 14px/1 var(--nvm-font-sans);
  text-decoration: none !important;
  white-space: nowrap;
  background: transparent;
  transition: color .2s ease;
}
@media (min-width: 1025px) {
  .nvm-nav-link:hover,
  .nvm-nav-link:focus-visible,
  .nvm-nav-link.is-current {
    color: var(--c-primary);
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    outline-color: transparent;
  }
}
.nvm-nav-link svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.nvm-mega-menu {
  position: fixed;
  top: 82px;
  left: 50%;
  z-index: 1100;
  display: grid;
  grid-template-columns: 1fr 1.35fr 1.2fr .9fr;
  gap: 28px;
  width: min(1120px, calc(100vw - 48px));
  padding: 26px 28px;
  background: var(--c-bg);
  border: 1px solid rgba(188, 88, 80, .25);
  border-radius: 0 0 var(--nvm-radius-card) var(--nvm-radius-card);
  box-shadow: 0 20px 42px rgba(0, 0, 0, .2);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(-5px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.nvm-nav-services:hover .nvm-mega-menu,
.nvm-nav-services:focus-within .nvm-mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%);
}
.nvm-mega-menu section { min-width: 0; }
.nvm-mega-menu h3 {
  margin: 0 0 13px;
  color: var(--c-primary);
  font: 700 12px/1.35 var(--nvm-font-sans);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.nvm-mega-menu a {
  display: block;
  margin: 0 0 9px;
  color: var(--c-text) !important;
  font: 500 13px/1.35 var(--nvm-font-sans);
  text-decoration: none !important;
}
.nvm-mega-menu a:hover,
.nvm-mega-menu a:focus-visible { color: var(--c-primary); }
.nvm-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  margin-left: 4px;
  padding: 0 20px;
  border-radius: var(--nvm-radius-pill);
  background: var(--c-primary);
  color: #fff;
  font: 600 13px/1 var(--nvm-font-sans);
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(188, 88, 80, .25);
  transition: background .2s ease, transform .2s ease;
}
.nvm-header-cta:hover,
.nvm-header-cta:focus-visible {
  background: var(--c-primary-hover);
  transform: translateY(-1px);
}
.nvm-header-cta__icon { width: 17px; height: 17px; flex: 0 0 17px; }
.nvm-mobile-menu-trigger,
.nvm-mobile-drawer { display: none; }

/* Sticky action bar.
   Hides on scroll down and returns on scroll up, on desktop and mobile alike.
   It carries the opening-hours state, the phone number and the booking CTA, so
   the contact path stays reachable without pinning the tall site footer. */
.nvm-actionbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 900;
  transform: translateY(110%);
  transition: transform .28s ease;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--c-line, #d8e2e0);
  box-shadow: 0 -6px 24px rgba(15, 23, 42, .08);
  font-family: var(--nvm-font-sans);
  pointer-events: none;
}
.nvm-actionbar.is-visible { transform: translateY(0); pointer-events: auto; }
.nvm-actionbar.is-hidden { transform: translateY(110%); }
.nvm-actionbar.is-suppressed { transform: translateY(110%); pointer-events: none; }
.nvm-actionbar__shell {
  width: min(var(--nvm-container), calc(100% - 32px));
  margin: 0 auto;
  min-height: 64px;
  padding: 10px 0;
  display: flex;
  align-items: center;
  gap: 16px;
}
.nvm-actionbar__status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.nvm-actionbar__status i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #16a34a;
}
.nvm-actionbar__status.is-open { color: #15803d; }
.nvm-actionbar__status.is-closed { color: #b91c1c; }
.nvm-actionbar__status.is-closed i { background: #dc2626; }
.nvm-actionbar__hours {
  font-size: 14px;
  color: var(--c-muted, #55635f);
  white-space: nowrap;
}
.nvm-actionbar__tel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--c-line, #d8e2e0);
  border-radius: 999px;
  color: var(--c-ink, #202525);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.nvm-actionbar__tel svg { width: 17px; height: 17px; flex: 0 0 17px; }
.nvm-actionbar__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--c-primary, #bc5850);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.nvm-actionbar__cta svg { width: 17px; height: 17px; flex: 0 0 17px; }
.nvm-actionbar__cta:hover,
.nvm-actionbar__cta:focus-visible { background: #a94842; }
@media (max-width: 767px) {
  /* One row only: a 144px bar would eat a sixth of a 390px viewport, so the
     hours label drops out and the open/closed state shrinks to its dot. */
  .nvm-actionbar__shell {
    width: calc(100% - 32px);
    flex-wrap: nowrap;
    gap: 10px;
    min-height: 64px;
    padding: 8px 0;
  }
  .nvm-actionbar__hours { display: none; }
  .nvm-actionbar__status { flex: 0 0 auto; font-size: 0; gap: 0; }
  .nvm-actionbar__status b { display: none; }
  .nvm-actionbar__status i { width: 10px; height: 10px; }
  .nvm-actionbar__tel {
    margin-left: 0;
    flex: 0 0 auto;
    width: 48px;
    padding: 0;
    justify-content: center;
  }
  .nvm-actionbar__tel span { display: none; }
  .nvm-actionbar__cta { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .nvm-actionbar { transition: none; }
}

/* Footer */
.nvm-site-footer {
  width: 100%;
  margin: 40px 0 0 !important;
  padding: 0 !important;
  background: var(--c-dark);
  color: #fff;
  font-family: var(--nvm-font-sans);
}
.nvm-footer-shell {
  width: min(var(--nvm-container), calc(100% - 48px));
  margin: 0 auto;
  padding: 58px 0 0;
}
.nvm-footer-mobile-status { display: none; }
.nvm-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr .95fr 1.1fr;
  gap: 60px;
  padding-bottom: 42px;
}
.nvm-footer-brand img {
  display: block;
  width: auto;
  height: 40px;
  max-width: 164px;
  margin: 0 0 16px;
  object-fit: contain;
}
.nvm-footer-brand p {
  max-width: 340px;
  margin: 0 0 20px;
  color: #bcbcc2;
  font: 400 14px/1.6 var(--nvm-font-sans);
}
.nvm-footer-grid h2, .nvm-footer-grid .nvm-footer-title {
  margin: 4px 0 17px;
  color: #fff;
  font: 700 14px/1.2 var(--nvm-font-sans);
}
.nvm-footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}
.nvm-footer-links a {
  color: #c9c9cd !important;
  font: 400 14px/1.3 var(--nvm-font-sans);
  text-decoration: none !important;
}
.nvm-footer-links a:hover,
.nvm-footer-links a:focus-visible { color: var(--c-primary); }
.nvm-footer-social,
.nvm-drawer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.nvm-footer-social a,
.nvm-drawer-social a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 30px;
  padding: 0 8px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: var(--nvm-radius-control);
  color: #fff;
  font: 600 10px/1 var(--nvm-font-sans);
  text-decoration: none !important;
}
.nvm-footer-social a:hover,
.nvm-footer-social a:focus-visible,
.nvm-drawer-social a:hover,
.nvm-drawer-social a:focus-visible {
  border-color: var(--c-primary);
  color: var(--c-primary);
}
.nvm-footer-social a[aria-label]::after {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  z-index: 1;
  padding: 5px 8px;
  border-radius: 6px;
  background: #fff;
  color: var(--c-text);
  font: 500 11px/1 var(--nvm-font-sans);
  content: attr(aria-label);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(3px);
  transition: opacity .15s ease, transform .15s ease;
  white-space: nowrap;
}
.nvm-footer-social a:hover::after,
.nvm-footer-social a:focus-visible::after {
  opacity: 1;
  transform: translateX(-50%);
}
.nvm-footer-social a svg,
.nvm-drawer-social a { gap: 6px; }
.nvm-drawer-social a svg { width: 18px; height: 18px; }
.nvm-footer-contacts {
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin: 0 0 18px;
  padding: 0;
  color: #e7e7e9;
  font: 400 14px/1.5 var(--nvm-font-sans);
  list-style: none;
}
.nvm-footer-contacts li { display: flex; align-items: flex-start; gap: 10px; }
.nvm-footer-contacts small { color: #a1a1aa; }
.nvm-footer-contacts strong,
.nvm-footer-icon { color: var(--c-primary); }
.nvm-footer-contacts a { color: #fff; font-weight: 700; text-decoration: none !important; }
.nvm-footer-icon { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; }
.nvm-yandex-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 230px;
  padding: 10px 12px;
  border-radius: var(--nvm-radius-control);
  background: rgba(255, 255, 255, .05);
}
.nvm-yandex-rating > b {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 7px;
  background: #fff;
  color: #e21d38;
  font: 800 20px/1 Arial, sans-serif;
}
.nvm-yandex-rating span { display: flex; flex-direction: column; gap: 2px; font: 400 11px/1.25 var(--nvm-font-sans); }
.nvm-yandex-rating em { color: #c8912f; font-style: normal; font-weight: 700; }
.nvm-yandex-rating em i { margin-left: 4px; color: #fff; font-style: normal; }
.nvm-yandex-rating small { color: #a1a1aa; }
.nvm-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 21px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #8f8f96;
  font: 400 11px/1.5 var(--nvm-font-sans);
}
.nvm-footer-bottom > span:nth-child(2) { display: flex; flex-wrap: wrap; gap: 18px; }
.nvm-footer-bottom a { color: #aaaab0 !important; text-decoration: none !important; }
.nvm-footer-bottom a:hover,
.nvm-footer-bottom a:focus-visible { color: var(--c-primary); }
.nvm-footer-bottom p { width: 100%; margin: 5px 0 0; color: #77777e; }
.nvm-footer-bottom p b { color: #bcbcc2; font-weight: 600; }
.nvm-footer-public-offer-note { display: inline-block; margin-top: 4px; }

@media (max-width: 1080px) {
  .nvm-header-shell { gap: 7px; }
  .nvm-nav-link { padding: 0 9px; font-size: 13px; }
  .nvm-header-cta { padding: 0 14px; font-size: 12px; }
}
@media (max-width: 960px) {
  .nvm-site-header { height: 70px; }
  .nvm-header-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    width: calc(100% - 32px);
    gap: 8px;
  }
  .nvm-header-logo { grid-column: 1; justify-self: start; }
  .nvm-header-logo img { height: 34px; max-width: 124px; }
  .nvm-desktop-nav { display: none; }
  .nvm-header-cta {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    min-height: 30px;
    margin-left: 0;
    padding: 0 12px;
    font-size: 11px;
  }
  .nvm-header-cta__icon { display: none; }
  .nvm-mobile-menu-trigger {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    width: 42px;
    height: 42px;
    padding: 9px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 0;
    background: transparent;
    color: #fff;
  }
  .nvm-mobile-menu-trigger span { display: block; width: 23px; height: 2px; border-radius: 2px; background: #fff; }
  .nvm-mobile-drawer { position: fixed; inset: 0; z-index: 2000; display: block; visibility: hidden; pointer-events: none; }
  .nvm-mobile-drawer.is-open { visibility: visible; pointer-events: auto; }
  .nvm-drawer-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .62); opacity: 0; transition: opacity .25s ease; }
  .nvm-mobile-drawer.is-open .nvm-drawer-overlay { opacity: 1; }
  .nvm-drawer-panel { position: absolute; top: 0; right: 0; width: 100%; height: 100%; overflow: hidden; background: var(--c-dark); box-shadow: -12px 0 30px rgba(0, 0, 0, .3); transform: translateX(100%); transition: transform .28s ease; }
  .nvm-mobile-drawer.is-open .nvm-drawer-panel { transform: none; }
  .nvm-drawer-step { display: none; height: 100%; overflow-y: auto; }
  .nvm-drawer-step.is-active { display: block; }
  .nvm-drawer-top,
  .nvm-drawer-step-title { display: flex; min-height: 68px; padding: 12px 20px; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .nvm-drawer-top img { width: auto; height: 34px; max-width: 148px; object-fit: contain; }
  .nvm-drawer-top button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: #bdbdc4; font-size: 26px; }
  .nvm-drawer-step-title button { padding: 8px 11px; border: 0; border-radius: var(--nvm-radius-control); background: var(--c-primary); color: #fff; font: 700 11px/1 var(--nvm-font-sans); }
  .nvm-drawer-step-title b { color: #fff; font: 700 15px/1 var(--nvm-font-sans); text-transform: uppercase; }
  .nvm-drawer-nav { display: flex; flex-direction: column; padding: 17px 24px; }
  .nvm-drawer-nav a,
  .nvm-drawer-nav button { width: 100%; min-height: 44px; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); background: transparent; color: #fff; font: 400 16px/1.35 var(--nvm-font-sans); text-align: left; text-decoration: none !important; }
  .nvm-drawer-nav button { display: flex; align-items: center; justify-content: space-between; }
  .nvm-drawer-nav button span { color: #909099; font-size: 22px; }
  .nvm-drawer-cta { position: relative; display: flex; align-items: center; justify-content: center; text-align: center; gap: 8px; min-height: 48px; margin: 0 0 16px; border-radius: var(--nvm-radius-pill); background: var(--c-primary); color: #fff !important; font: 500 15px/48px var(--nvm-font-sans) !important; letter-spacing: .02em; text-decoration: none !important; box-shadow: 0 4px 12px rgba(188, 88, 80, .25); transition: background .2s ease; }
  .nvm-drawer-cta:hover, .nvm-drawer-cta:focus-visible { background: var(--c-primary-hover); }
  .nvm-drawer-cta svg { position: absolute; left: 20px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); }
  .nvm-drawer-contact { position: absolute; right: 0; bottom: 0; left: 0; padding: 18px 24px; border-top: 1px solid rgba(255, 255, 255, .12); background: #18181a; }
  .nvm-drawer-contact p { margin: 0; color: #a1a1aa; font: 700 10px/1.3 var(--nvm-font-sans); letter-spacing: .05em; text-transform: uppercase; }
  .nvm-drawer-contact > a { display: block; margin: 3px 0 14px; color: #fff; font: 700 17px/1.2 var(--nvm-font-sans); text-decoration: none !important; }
  .nvm-drawer-contact address { margin-top: 14px; color: #bdbdc4; font: 400 12px/1.45 var(--nvm-font-sans); font-style: normal; }
  .nvm-drawer-contact address strong { color: var(--c-primary); }
}
@media (max-width: 860px) {
  .nvm-footer-shell { width: calc(100% - 20px); padding: 32px 0 0; text-align: center; }
  .nvm-footer-grid { grid-template-columns: 1fr; gap: 28px; padding: 32px 0; }
  .nvm-footer-grid > section { display: flex; flex-direction: column; align-items: center; text-align: center; }
  .nvm-footer-brand > a { display: inline-flex; justify-content: center; }
  .nvm-footer-brand img { margin-right: auto; margin-left: auto; }
  .nvm-footer-brand p { max-width: none; margin-inline: auto; }
  .nvm-footer-grid h2, .nvm-footer-grid .nvm-footer-title { margin-top: 0; }
  .nvm-footer-links,
  .nvm-footer-social { align-items: center; justify-content: center; }
  .nvm-footer-contacts { align-items: center; }
  .nvm-footer-contacts li { justify-content: center; text-align: center; }
  .nvm-footer-icon { margin-top: 1px; }
  .nvm-yandex-rating { margin: 0 auto; }
  .nvm-footer-bottom { flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding-bottom: 20px; text-align: center; }
  .nvm-footer-bottom > span:nth-child(2) { justify-content: center; }
  .nvm-footer-bottom p { margin-top: 0; text-align: center; }
  .nvm-footer-public-offer-note { margin-top: 6px; }
}


/* Home hero slider */
.nv-site-main > .nvm-home-hero {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.nvm-home-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--c-dark);
}
.nvm-home-hero .nv-home-slider__track {
  display: grid;
  grid-auto-columns: 100%;
  grid-auto-flow: column;
  min-height: 680px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
}
.nvm-home-hero .nv-home-slider__track::-webkit-scrollbar { display: none; }
.nvm-home-hero .nv-home-slide {
  position: relative;
  display: flex;
  min-height: 680px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--c-dark);
  scroll-snap-align: start;
}
.nvm-home-hero .nv-home-slide__media,
.nvm-home-hero .nv-home-slide__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.nvm-home-hero .nv-home-slide__media { z-index: 0; }
.nvm-home-hero .nv-home-slide__media img { object-fit: cover; object-position: center; }
.nvm-home-hero .nv-home-slide::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: '';
  background: linear-gradient(90deg, rgba(18, 34, 31, .70) 0%, rgba(18, 34, 31, .35) 52%, rgba(18, 34, 31, .08) 100%);
}
.nvm-home-hero .nv-home-slide__body {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(620px, calc(100% - 40px));
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 0 10px;
  color: #fff;
  text-align: center;
}
.nvm-home-hero .nv-home-slide__eyebrow {
  margin: 0 0 8px;
  font: 700 13px/1.35 var(--nvm-font-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.nvm-home-hero .nv-home-slide__title {
  margin: 0;
  font: 700 clamp(30px, 4vw, 52px)/1.08 var(--nvm-font-display);
  letter-spacing: -.02em;
}
.nvm-home-hero .nv-home-slide__text {
  margin: 14px 0 0;
  font: 400 16px/1.45 var(--nvm-font-sans);
}
.nvm-home-hero .nv-home-slide .nv-button {
  width: max-content;
  min-height: 48px;
  margin-top: 20px;
  border: 1.5px solid #fff;
  border-radius: var(--nvm-radius-pill);
  background: #fff;
  color: var(--c-primary);
}
.nvm-home-hero .nv-home-slide .nv-button:hover,
.nvm-home-hero .nv-home-slide .nv-button:focus-visible {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: #fff;
}
.nvm-home-hero__dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  z-index: 3;
  display: flex;
  gap: 8px;
  align-items: center;
  transform: translateX(-50%);
}
.nvm-home-hero__dot {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.nvm-home-hero__dot::after {
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-radius: var(--nvm-radius-pill);
  background: rgba(255, 255, 255, .65);
  content: '';
  transition: width .2s ease, background .2s ease;
}
.nvm-home-hero__dot[aria-current="true"]::after {
  width: 24px;
  background: #fff;
}
@media (max-width: 1024px) {
  .nvm-home-hero .nv-home-slider__track,
  .nvm-home-hero .nv-home-slide { min-height: 560px; }
  .nvm-home-hero .nv-home-slide__body { width: min(360px, calc(100% - 32px)); padding: 0; }
}
@media (max-width: 860px) {
  .nvm-home-hero .nv-home-slide::after { background: rgba(18, 34, 31, .45); }
  .nvm-home-hero .nv-home-slide__title { font-size: 30px; }
  .nvm-home-hero .nv-home-slide__text { font-size: 15px; }
  .nvm-home-hero__dots { bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .nvm-home-hero .nv-home-slider__track { scroll-behavior: auto; }
  .nvm-home-hero__dot::after { transition: none; }
}


/* Transitional SVG bridge for the restored home category component. */
#novame-bento-root .nvm-bento-icon {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
#novame-bento-root #bentoItem_0 .nvm-bento-icon,
#novame-bento-root #bentoItem_3 .nvm-bento-icon { color: var(--c-teal); }
#novame-bento-root #bentoItem_1 .nvm-bento-icon,
#novame-bento-root #bentoItem_2 .nvm-bento-icon { color: var(--c-primary); }


/* Home doctors */
.nvm-home-doctors {
  padding: 80px 0;
  background: var(--c-bg);
  color: var(--c-text);
}
.nvm-home-doctors__container {
  width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter-desktop)));
  margin: 0 auto;
}
.nvm-home-doctors__header {
  display: grid;
  max-width: 820px;
  margin: 0 auto 40px;
  gap: 14px;
  text-align: center;
}
.nvm-home-doctors__header h2 { margin: 0; font: 700 32px/1.12 var(--nvm-font-display); }
.nvm-home-doctors__header p { margin: 0; color: var(--c-muted); font: 400 16px/1.5 var(--nvm-font-sans); }
.nvm-home-doctors__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.nvm-doctor-card {
  display: grid;
  min-width: 0;
  overflow: clip;
  border: 1px solid color-mix(in srgb, var(--c-teal) 50%, transparent);
  border-radius: var(--nvm-radius-card);
  background: #fff;
  box-shadow: var(--nvm-shadow-card);
}
.nvm-doctor-card__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center top;
  background: #f3f4f6;
}
.nvm-doctor-card__body { display: grid; gap: 8px; padding: 20px 20px 16px; }
.nvm-doctor-card__body h3 { margin: 0; font: 700 22px/1.16 var(--nvm-font-display); }
.nvm-doctor-card__role { margin: 0; color: var(--c-primary); font: 700 13px/1.35 var(--nvm-font-sans); letter-spacing: .04em; text-transform: uppercase; }
.nvm-doctor-card__description { min-height: 66px; margin: 0; color: var(--c-muted); font: 400 15px/1.45 var(--nvm-font-sans); }
.nvm-doctor-card__details { margin: 0 20px 16px; border: 1px solid rgba(31,41,55,.12); border-radius: var(--nvm-radius-control); }
.nvm-doctor-card__details summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
  color: var(--c-text);
  font: 700 15px/1.2 var(--nvm-font-sans);
}
.nvm-doctor-card__details summary::-webkit-details-marker { display: none; }
.nvm-doctor-card__details summary svg,
.nvm-doctor-card__cta svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.nvm-doctor-card__less { display: none; }
.nvm-doctor-card__details[open] .nvm-doctor-card__more { display: none; }
.nvm-doctor-card__details[open] .nvm-doctor-card__less { display: inline; }
.nvm-doctor-card__details[open] summary svg { transform: rotate(180deg); }
.nvm-doctor-card__resume { display: grid; gap: 16px; padding: 0 20px 20px; border-top: 1px solid rgba(31,41,55,.10); color: var(--c-text); font: 400 15px/1.5 var(--nvm-font-sans); }
.nvm-doctor-card__resume > div { display: grid; gap: 10px; }
.nvm-doctor-card__resume > div > span,
.nvm-doctor-card__resume > div > div > span { color: var(--c-muted); font: 700 13px/1.3 var(--nvm-font-sans); letter-spacing: .05em; text-transform: uppercase; }
.nvm-doctor-card__resume > div > div { display: grid; gap: 8px; }
.nvm-doctor-card__resume > div > div > div { padding: 12px; border: 1px solid rgba(31,41,55,.10); border-radius: var(--nvm-radius-control); background: #fff; }
.nvm-doctor-card__resume a { color: var(--c-teal); font-weight: 700; }
.nvm-doctor-card__education { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nvm-doctor-card__education li { position: relative; padding-left: 18px; }
.nvm-doctor-card__education li::before { position: absolute; top: .62em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--c-primary); content: ''; }
.nvm-doctor-card__cta {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 20px 20px;
  padding: 12px 16px;
  border-radius: var(--nvm-radius-pill);
  background: var(--c-primary);
  color: #fff;
  font: 700 15px/1.2 var(--nvm-font-sans);
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.nvm-doctor-card__cta:hover,
.nvm-doctor-card__cta:focus-visible { background: var(--c-primary-hover); color: #fff; transform: translateY(-1px); }
@media (max-width: 1024px) {
  .nvm-home-doctors { padding: 48px 0; }
  .nvm-home-doctors__container { width: calc(100% - 2 * var(--nvm-gutter-mobile)); }
  .nvm-home-doctors__header { margin-bottom: 32px; }
  .nvm-home-doctors__header h2 { font-size: 24px; }
  .nvm-home-doctors__header p { font-size: 15px; }
  .nvm-home-doctors__track {
    grid-auto-columns: minmax(300px, calc(100% - 36px));
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .nvm-home-doctors__track::-webkit-scrollbar { display: none; }
  .nvm-doctor-card { scroll-snap-align: start; }
  .nvm-doctor-card__photo { aspect-ratio: 3 / 4; }
}
@media (prefers-reduced-motion: reduce) {
  .nvm-doctor-card__details summary svg,
  .nvm-doctor-card__cta { transition: none; }
}


/* Home problem links */
.nvm-home-seo__content { margin-bottom: 48px; }
.nvm-problem-links { display: grid; gap: 24px; }
.nvm-problem-links__header { display: grid; justify-items: start; gap: 14px; }
.nvm-problem-links__header h3 { margin: 0; color: var(--c-text); font: 700 28px/1.15 var(--nvm-font-display); }
.nvm-problem-links__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.nvm-problem-links__card { display: grid; gap: 7px; min-height: 118px; padding: 18px; border: 1px solid #e3e9e7; border-radius: 14px; background: #fff; color: var(--c-text); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
.nvm-problem-links__card:hover,
.nvm-problem-links__card:focus-visible { border-color: var(--c-primary); box-shadow: var(--nvm-shadow-card); }
.nvm-problem-links__card b { font: 700 16px/1.22 var(--nvm-font-display); }
.nvm-problem-links__card span { color: var(--c-muted); font: 400 13px/1.35 var(--nvm-font-sans); }
@media (max-width: 1024px) {
  .nvm-home-seo__content { margin-bottom: 32px; }
  .nvm-problem-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .nvm-problem-links__header h3 { font-size: 24px; }
  .nvm-problem-links__card { min-height: 112px; padding: 16px; }
}


/* Home legal and service navigation */
.nvm-home-seo {
  margin-bottom: 80px;
  padding: 80px 0;
  background: #fff;
  color: var(--c-text);
}
.nvm-home-seo__container {
  width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter-desktop)));
  margin: 0 auto;
}
.nvm-home-seo__header { display: grid; gap: 14px; margin-bottom: 40px; }
.nvm-home-seo__header h2 { margin: 0; font: 700 32px/1.14 var(--nvm-font-display); }
.nvm-home-seo__grid { display: grid; gap: 48px; }
.nvm-home-seo__content { display: grid; gap: 20px; }
.nvm-home-seo__content > p { margin: 0; color: var(--c-muted); font: 400 16px/1.6 var(--nvm-font-sans); }
.nvm-home-seo__trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.nvm-home-seo__trust-card { padding: 20px; border: 1px solid color-mix(in srgb, var(--c-teal) 50%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-home-seo__trust-card h3 { margin: 0 0 10px; font: 700 19px/1.2 var(--nvm-font-display); }
.nvm-home-seo__trust-card p { margin: 0; color: var(--c-muted); font: 400 14px/1.5 var(--nvm-font-sans); }
@media (max-width: 1024px) {
  .nvm-home-seo { margin-bottom: 16px; padding: 48px 0; }
  .nvm-home-seo__container { width: calc(100% - 2 * var(--nvm-gutter-mobile)); }
  .nvm-home-seo__header { margin-bottom: 32px; }
  .nvm-home-seo__header h2 { font-size: 24px; }
  .nvm-home-seo__grid { gap: 32px; }
  .nvm-home-seo__trust { grid-template-columns: 1fr; }
}


/* Clean services catalog */
.nvm-catalog { padding: 72px 0; background: #fff; color: var(--c-text); }
.nvm-catalog__container { width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter-desktop))); margin: 0 auto; }
.nvm-catalog__header { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.nvm-catalog__header h1 { margin: 0; font: 700 44px/1.05 var(--nvm-font-display); }
.nvm-catalog__header p { margin: 16px 0 0; color: var(--c-muted); font: 400 16px/1.55 var(--nvm-font-sans); }
.nvm-catalog-filter { display: grid; gap: 16px; margin-bottom: 24px; padding: 24px; border: 1px solid color-mix(in srgb, var(--c-teal) 40%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-catalog-filter h2 { margin: 0; font: 700 24px/1.15 var(--nvm-font-display); }
.nvm-catalog-filter__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.nvm-catalog-filter__chip { min-height: 36px; padding: 7px 13px; border: 1px solid color-mix(in srgb, var(--c-teal) 40%, transparent); border-radius: var(--nvm-radius-pill); background: #fff; color: var(--c-text); font: 600 13px/1.2 var(--nvm-font-sans); cursor: pointer; transition: .2s ease; }
.nvm-catalog-filter__chip:hover,.nvm-catalog-filter__chip:focus-visible,.nvm-catalog-filter__chip[aria-pressed="true"] { border-color: var(--c-primary); background: var(--c-primary); color: #fff; }
.nvm-catalog-filter__search { position: relative; display: block; }
.nvm-catalog-filter__search input { width: 100%; min-height: 48px; padding: 12px 46px 12px 15px; border: 1px solid color-mix(in srgb, var(--c-teal) 45%, transparent); border-radius: var(--nvm-radius-control); background: #fff; color: var(--c-text); font: 400 15px/1.3 var(--nvm-font-sans); }
.nvm-catalog-filter__search svg { position: absolute; top: 50%; right: 15px; width: 20px; height: 20px; fill: none; stroke: var(--c-teal); stroke-width: 1.8; transform: translateY(-50%); pointer-events: none; }
.nvm-catalog-filter__meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.nvm-catalog-filter__meta p { margin: 0; color: var(--c-muted); font: 600 14px/1.3 var(--nvm-font-sans); }
.nvm-catalog-filter__meta button { border: 0; background: transparent; color: var(--c-primary); font: 700 14px/1.2 var(--nvm-font-sans); cursor: pointer; text-decoration: underline; }
.nvm-catalog__groups { display: grid; gap: 16px; }
.nvm-catalog__group { overflow: clip; border: 1px solid color-mix(in srgb, var(--c-teal) 40%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-catalog__group > summary { display: grid; grid-template-columns: 52px minmax(0,1fr) 28px; align-items: center; gap: 16px; min-height: 96px; padding: 20px 24px; list-style: none; cursor: pointer; }
.nvm-catalog__group > summary::-webkit-details-marker { display: none; }
.nvm-catalog__category-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 14px; background: color-mix(in srgb, var(--c-teal) 10%, #fff); color: var(--c-teal); }
.nvm-catalog__category-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.nvm-catalog__category-copy { display: grid; gap: 5px; min-width: 0; }
.nvm-catalog__category-copy strong { color: var(--c-text); font: 700 22px/1.15 var(--nvm-font-display); }
.nvm-catalog__category-copy small { color: var(--c-muted); font: 400 14px/1.35 var(--nvm-font-sans); }
.nvm-catalog__plus { position: relative; width: 28px; height: 28px; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: 50%; }
.nvm-catalog__plus::before,.nvm-catalog__plus::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; border-radius: 1px; background: var(--c-teal); content: ''; transform: translate(-50%,-50%); transition: transform .2s ease; }
.nvm-catalog__plus::after { transform: translate(-50%,-50%) rotate(90deg); }
.nvm-catalog__group[open] .nvm-catalog__plus::after { transform: translate(-50%,-50%) rotate(0); }
.nvm-catalog__services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 4px 24px 24px; border-top: 1px solid color-mix(in srgb, var(--c-teal) 25%, transparent); }
.nvm-catalog__service { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 56px; padding: 13px 15px; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: var(--nvm-radius-control); background: #fff; color: var(--c-text); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.nvm-catalog__service:hover,.nvm-catalog__service:focus-visible { border-color: var(--c-primary); box-shadow: var(--nvm-shadow-card); transform: translateY(-1px); }
.nvm-catalog__service span { display: grid; gap: 3px; min-width: 0; }
.nvm-catalog__service b { font: 700 15px/1.25 var(--nvm-font-display); }
.nvm-catalog__service small { color: var(--c-muted); font: 400 12px/1.3 var(--nvm-font-sans); }
.nvm-catalog__service-arrow { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: var(--c-teal); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* nvm brand no-wrap utility */
.nb { white-space: nowrap; }
/* nvm-catalog hidden-state support */
.nvm-catalog__service[hidden],
.nvm-catalog__group[hidden],
.nvm-catalog__empty[hidden],
.nvm-catalog-filter__meta button[hidden] { display: none; }
.nvm-catalog__empty { margin: 24px 0 0; padding: 20px; border: 1px solid color-mix(in srgb, var(--c-primary) 45%, transparent); border-radius: var(--nvm-radius-card); color: var(--c-muted); font: 400 15px/1.5 var(--nvm-font-sans); text-align: center; }
.nvm-catalog__empty a { color: var(--c-primary); font-weight: 700; }
@media (max-width: 767px) {
  .nvm-catalog { padding: 40px 0; }
  .nvm-catalog__container { width: calc(100% - 2 * var(--nvm-gutter-mobile)); }
  .nvm-catalog__header { margin-bottom: 24px; }
  .nvm-catalog__header h1 { font-size: 30px; }
  .nvm-catalog__header p { font-size: 14px; }
  .nvm-catalog-filter { padding: 20px; }
  .nvm-catalog-filter h2 { font-size: 22px; }
  .nvm-catalog-filter__chips { gap: 8px; }
  .nvm-catalog-filter__chip { min-height: 34px; padding: 7px 11px; font-size: 12px; }
  .nvm-catalog__groups { gap: 12px; }
  .nvm-catalog__group > summary { grid-template-columns: 44px minmax(0,1fr) 26px; min-height: 86px; gap: 12px; padding: 16px; }
  .nvm-catalog__category-icon { width: 44px; height: 44px; border-radius: 12px; }
  .nvm-catalog__category-icon svg { width: 24px; height: 24px; }
  .nvm-catalog__category-copy strong { font-size: 18px; }
  .nvm-catalog__category-copy small { font-size: 12px; }
  .nvm-catalog__services { grid-template-columns: 1fr; gap: 10px; padding: 4px 16px 16px; }
  .nvm-catalog__service { min-height: 56px; padding: 12px 14px; }
}

.nvm-catalog__info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; margin-top: 40px; padding: 32px; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-catalog__info h2 { margin: 0; font: 700 26px/1.18 var(--nvm-font-display); }
.nvm-catalog__info p { margin: 14px 0 0; color: var(--c-muted); font: 400 15px/1.6 var(--nvm-font-sans); }
.nvm-catalog__info blockquote { margin: 20px 0 0; padding: 16px 18px; border-left: 3px solid var(--c-teal); background: color-mix(in srgb, var(--c-teal) 8%, #fff); color: var(--c-text); font: 600 14px/1.5 var(--nvm-font-sans); }
.nvm-catalog__info ul { display: grid; gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; }
.nvm-catalog__info li { position: relative; padding-left: 20px; color: var(--c-muted); font: 400 14px/1.5 var(--nvm-font-sans); }
.nvm-catalog__info li::before { position: absolute; top: .6em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--c-primary); content: ''; }
@media (max-width: 767px) { .nvm-catalog__info { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; padding: 24px 20px; } .nvm-catalog__info h2 { font-size: 23px; } .nvm-catalog__info p,.nvm-catalog__info li { font-size: 13px; } }


/* Specialists and reviews */
.nvm-staff { padding: 30px 0 80px; background: #fff; color: var(--c-text); }
.nvm-staff__container { width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter-desktop))); margin: 0 auto; }
.nvm-staff__header { max-width: 720px; margin: 0 auto 32px; text-align: center; }
.nvm-staff__header h1 { margin: 0; font: 700 44px/1.08 var(--nvm-font-display); }
.nvm-staff__header > p:last-child { margin: 14px 0 0; color: var(--c-muted); font: 400 16px/1.55 var(--nvm-font-sans); }
.nvm-staff__list { display: grid; gap: 24px; }
.nvm-staff-card { display: grid; grid-template-columns: 320px minmax(0,1fr); align-items: start; overflow: hidden; border: 1px solid color-mix(in srgb, var(--c-teal) 42%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
/* Portrait keeps its own 3/4 ratio instead of stretching to the card height,
   which varies with the amount of text in each profile. */
.nvm-staff-card__photo { display: block; width: 320px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--nvm-radius-card) 0 var(--nvm-radius-card) 0; background: #f4f4f3; }
.nvm-staff-card__body { display: grid; align-content: start; gap: 20px; padding: 32px; }
.nvm-staff-card h2 { margin: 0; font: 700 30px/1.15 var(--nvm-font-display); }
.nvm-staff-card__role { margin: -10px 0 0; color: var(--c-primary); font: 700 14px/1.35 var(--nvm-font-sans); text-transform: uppercase; }
.nvm-staff-card h3 { margin: 0; font: 700 19px/1.2 var(--nvm-font-display); }
.nvm-staff-card__education { display: grid; gap: 10px; }
.nvm-staff-card__education ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nvm-staff-card__education li { position: relative; padding-left: 18px; color: var(--c-muted); font: 400 15px/1.45 var(--nvm-font-sans); }
.nvm-staff-card__education li::before { position: absolute; top: .62em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--c-teal); content: ''; }
.nvm-staff-card__methods { display: grid; gap: 10px; }
.nvm-staff-card__methods ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.nvm-staff-card__methods li { padding: 8px 12px; border: 1px solid color-mix(in srgb, var(--c-teal) 34%, transparent); border-radius: var(--nvm-radius-pill); color: var(--c-muted); font: 500 13px/1.35 var(--nvm-font-sans); }
.nvm-staff-card__cta { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: 48px; padding: 12px 22px; border-radius: var(--nvm-radius-pill); background: var(--c-primary); color: #fff; font: 700 15px/1 var(--nvm-font-sans); text-decoration: none; transition: background .2s ease, transform .2s ease; }
.nvm-staff-card__cta:hover,.nvm-staff-card__cta:focus-visible { background: var(--c-primary-hover); transform: translateY(-1px); }
.nvm-staff-reviews { display: grid; gap: 24px; margin-top: 48px; padding: 32px; border: 1px solid color-mix(in srgb, var(--c-teal) 42%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-staff-reviews__header h2 { margin: 0; font: 700 32px/1.15 var(--nvm-font-display); }
.nvm-staff-reviews__header p { margin: 10px 0 0; color: var(--c-muted); font: 400 15px/1.5 var(--nvm-font-sans); }
.nvm-staff-reviews__metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.nvm-staff-reviews__metrics > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 9px; min-width: 0; }
.nvm-staff-reviews__metrics b { color: var(--c-text); font: 700 20px/1 var(--nvm-font-display); }
.nvm-staff-reviews__metrics span { color: var(--c-muted); font: 600 12px/1.2 var(--nvm-font-sans); }
.nvm-staff-reviews__metrics i { position: relative; grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 99px; background: color-mix(in srgb, var(--c-teal) 14%, #fff); }
.nvm-staff-reviews__metrics i::after { display: block; width: var(--nvm-progress); height: 100%; border-radius: inherit; background: var(--c-teal); content: ''; }
.nvm-staff-reviews__track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.nvm-review-card { display: grid; align-content: start; gap: 14px; min-height: 230px; padding: 20px; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: var(--nvm-radius-card); background: #fff; }
.nvm-review-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--c-text); font: 700 14px/1.2 var(--nvm-font-sans); }
.nvm-review-card__stars { color: var(--c-primary); font-size: 15px; letter-spacing: .02em; }
.nvm-review-card p { margin: 0; color: var(--c-muted); font: 400 14px/1.5 var(--nvm-font-sans); }
.nvm-review-card small { align-self: end; color: var(--c-muted); font: 600 12px/1.2 var(--nvm-font-sans); }
.nvm-staff-reviews__link { width: fit-content; color: var(--c-primary); font: 700 15px/1.3 var(--nvm-font-sans); }
@media (max-width: 767px) { .nvm-staff { padding: 30px 0 48px; } .nvm-staff__container { width: calc(100% - 2 * var(--nvm-gutter-mobile)); } .nvm-staff__header { margin-bottom: 24px; } .nvm-staff__header h1 { font-size: 30px; } .nvm-staff__header > p:last-child { font-size: 15px; } .nvm-staff-card { grid-template-columns: 1fr; } .nvm-staff-card__photo { width: 100%; min-height: 0; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 22%; border-radius: var(--nvm-radius-card) var(--nvm-radius-card) 0 0; } .nvm-staff-card__body { gap: 18px; padding: 24px 20px; } .nvm-staff-card h2 { font-size: 25px; } .nvm-staff-card__methods ul { grid-template-columns: 1fr; } .nvm-staff-card__cta { width: 100%; } .nvm-staff-reviews { gap: 20px; margin-top: 32px; padding: 24px 20px; } .nvm-staff-reviews__header h2 { font-size: 24px; } .nvm-staff-reviews__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .nvm-staff-reviews__track { display: flex; overflow-x: auto; gap: 16px; padding-bottom: 4px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; } .nvm-review-card { flex: 0 0 calc(100% - 42px); min-height: 250px; scroll-snap-align: start; } }
/* ===== Свёртка длинных секций карточки специалиста (мобильный) ===== */
@media (max-width: 1024px) {
  .nvm-staff-card__toggle { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 0; border: 0; background: none; color: var(--c-primary); font: 700 14px/1.3 var(--nvm-font-sans); cursor: pointer; }
  .nvm-staff-card__toggle::after { border-top: 5px solid currentColor; border-right: 4px solid transparent; border-left: 4px solid transparent; content: ''; transition: transform .2s ease; }
  .nvm-staff-card[data-expanded="true"] .nvm-staff-card__toggle::after { transform: rotate(180deg); }
  .nvm-staff-card[data-expanded="false"] .nvm-staff-card__education li:nth-child(n+3),
  .nvm-staff-card[data-expanded="false"] .nvm-staff-card__methods li:nth-child(n+3) { display: none; }
  .nvm-staff-card[data-expanded="false"] .nvm-staff-card__methods:nth-of-type(n+3) { display: none; }
}
@media (min-width: 1025px) {
  .nvm-staff-card__toggle { display: none; }
}


/* Price list */
section.nvm-price { padding: 30px 0 80px; background: #fff; color: var(--c-text); }
.nvm-price__container { width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter-desktop))); margin: 0 auto; }
.nvm-price__header { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.nvm-price__header .badge, .nvm-contact__header .badge, .nvm-staff__header .badge, .nvm-promo__header .badge { margin-top: 0; margin-bottom: 30px; }
.nvm-price__header h1 { margin: 0; font: 700 44px/1.08 var(--nvm-font-display); }
.nvm-price__header > p:last-child { margin: 14px 0 0; color: var(--c-muted); font: 400 16px/1.55 var(--nvm-font-sans); }
.nvm-price__nav { display: grid; gap: 16px; margin-bottom: 40px; padding: 24px; border: 1px solid color-mix(in srgb, var(--c-teal) 40%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-price__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.nvm-price__chips button { min-height: 48px; padding: 13px 24px; border: 2px solid #cbd5e1; border-radius: 12px; background: #fff; color: var(--c-text); font: 700 14px/1.2 var(--nvm-font-sans); cursor: pointer; transition: .25s ease; }
.nvm-price__chips button:hover,.nvm-price__chips button:focus-visible { border-color: var(--c-primary); color: var(--c-primary); }
.nvm-price__chips button[aria-pressed="true"] { border-color: var(--c-primary); background: var(--c-primary); color: #fff; letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 4px 10px color-mix(in srgb, var(--c-primary) 25%, transparent); }
.nvm-price__toggle { display: none; }
.nvm-price__search { position: relative; display: block; }
.nvm-price__search input { width: 100%; min-height: 48px; padding: 12px 46px 12px 15px; border: 1px solid color-mix(in srgb, var(--c-teal) 45%, transparent); border-radius: var(--nvm-radius-control); background: #fff; color: var(--c-text); font: 400 15px/1.3 var(--nvm-font-sans); }
.nvm-price__search svg { position: absolute; top: 50%; right: 15px; width: 20px; height: 20px; fill: none; stroke: var(--c-teal); stroke-width: 1.8; transform: translateY(-50%); pointer-events: none; }
.nvm-price__meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nvm-price__meta p { margin: 0; color: var(--c-muted); font: 600 14px/1.3 var(--nvm-font-sans); }
.nvm-price__meta button { border: 0; background: transparent; color: var(--c-primary); font: 700 14px/1.2 var(--nvm-font-sans); cursor: pointer; text-decoration: underline; }
.nvm-price__categories { display: grid; gap: 48px; }
/* При активном фильтре документу нужен запас высоты, иначе выбранный раздел
   невозможно подвести к верху экрана: короткая страница упирается в конец. */
.nvm-price-category { scroll-margin-top: 90px; }
.nvm-price-category > h2 { margin: 0 0 20px; font: 700 32px/1.15 var(--nvm-font-display); }
.nvm-price-category__groups { display: grid; gap: 14px; }
.nvm-price-group { overflow: clip; border: 1px solid color-mix(in srgb, var(--c-teal) 40%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-price-group > summary { display: grid; grid-template-columns: minmax(0,1fr) 24px; align-items: center; gap: 16px; min-height: 68px; padding: 18px 22px; list-style: none; cursor: pointer; }
.nvm-price-group > summary::-webkit-details-marker { display: none; }
.nvm-price-group > summary span { max-width: 85%; color: var(--c-text); font: 700 19px/1.25 var(--nvm-font-display); }
.nvm-price-group > summary svg { width: 22px; height: 22px; fill: none; stroke: var(--c-teal); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.nvm-price-group[open] > summary { border-bottom: 1px solid color-mix(in srgb, var(--c-teal) 25%, transparent); }
.nvm-price-group[open] > summary svg { transform: rotate(180deg); }
.nvm-price-group__rows { display: grid; gap: 0; padding: 6px 22px 14px; }
.nvm-price__row { display: grid; grid-template-columns: minmax(0,auto) minmax(18px,1fr) auto; align-items: end; gap: 10px; padding: 14px 0; border-bottom: 1px solid color-mix(in srgb, var(--c-teal) 20%, transparent); }
.nvm-price__row:last-child { border-bottom: 0; }
.nvm-price__name { display: grid; gap: 4px; min-width: 0; }
.nvm-price__name b { font: 600 15px/1.35 var(--nvm-font-sans); }
.nvm-price__name small { color: var(--c-muted); font: 400 13px/1.42 var(--nvm-font-sans); }
.nvm-price__leader { min-width: 18px; margin-bottom: .42em; border-bottom: 1px dotted color-mix(in srgb, var(--c-muted) 55%, transparent); }
.nvm-price__price { color: var(--c-text); font: 700 16px/1.25 var(--nvm-font-display); white-space: nowrap; }

.nvm-price__empty { margin: 24px 0 0; padding: 20px; border: 1px solid color-mix(in srgb, var(--c-primary) 45%, transparent); border-radius: var(--nvm-radius-card); color: var(--c-muted); font: 400 15px/1.5 var(--nvm-font-sans); text-align: center; }
.nvm-price__empty a { color: var(--c-primary); font-weight: 700; }
@media (max-width: 767px) { section.nvm-price { padding: 30px 0 48px; } .nvm-price__container { width: calc(100% - 2 * var(--nvm-gutter-mobile)); } .nvm-price__header { margin-bottom: 24px; } .nvm-price__header h1 { font-size: 30px; } .nvm-price__header > p:last-child { font-size: 15px; } .nvm-price__nav { gap: 14px; padding: 20px; } .nvm-price__toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 52px; padding: 14px 18px; border: 1px solid color-mix(in srgb, var(--c-teal) 45%, transparent); border-radius: var(--nvm-radius-control); background: #fff; color: var(--c-text); font: 700 15px/1.25 var(--nvm-font-sans); cursor: pointer; } .nvm-price__toggle svg { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--c-muted); stroke-width: 2; transition: transform .3s ease; } .nvm-price--chips-open .nvm-price__toggle svg { transform: rotate(180deg); } .nvm-price__chips { flex-direction: column; gap: 10px; max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; transition: all .4s cubic-bezier(.4,0,.2,1); } .nvm-price--chips-open .nvm-price__chips { max-height: 500px; margin-top: 12px; opacity: 1; } .nvm-price__chips button { width: 100%; font-size: 13px; }   .nvm-price__categories { gap: 32px; } .nvm-price-category > h2 { margin-bottom: 16px; font-size: 24px; } .nvm-price-category__groups { gap: 12px; } .nvm-price-group > summary { min-height: 64px; padding: 16px; } .nvm-price-group > summary span { font-size: 17px; } .nvm-price-group__rows { padding: 4px 16px 12px; } .nvm-price__row { grid-template-columns: minmax(0,1fr) auto; gap: 8px; } .nvm-price__leader { display: none; } .nvm-price__name b { font-size: 14px; } .nvm-price__name small { font-size: 12px; } .nvm-price__price { font-size: 15px; } }


/* Blog hub */






























/* Contacts */
.nvm-contact { padding: 30px 0 80px; background: #fff; color: var(--c-text); }
.nvm-contact__container { width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter-desktop))); margin: 0 auto; }
.nvm-contact__header { max-width: 820px; margin: 0 auto 32px; text-align: center; }
.nvm-contact__header h1 { margin: 0; font: 700 44px/1.08 var(--nvm-font-display); }
.nvm-contact__header > p:last-child { margin: 14px 0 0; color: var(--c-muted); font: 400 16px/1.55 var(--nvm-font-sans); }
.nvm-contact__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.nvm-contact-card { display: grid; align-content: center; gap: 9px; min-height: 154px; padding: 24px; border: 1px solid color-mix(in srgb, var(--c-teal) 42%, transparent); border-left: 3px solid var(--c-teal); border-radius: var(--nvm-radius-card); background: #fff; color: var(--c-text); box-shadow: var(--nvm-shadow-card); text-decoration: none; }
.nvm-contact-card:first-child { border-left-color: var(--c-primary); }.nvm-contact-card:first-child b { color: var(--c-primary); }
.nvm-contact-card > span { color: var(--c-muted); font: 700 12px/1.2 var(--nvm-font-sans); letter-spacing: .06em; text-transform: uppercase; }
.nvm-contact-card b { color: var(--c-teal); font: 700 22px/1.2 var(--nvm-font-display); }.nvm-contact-card small { color: var(--c-muted); font: 400 14px/1.35 var(--nvm-font-sans); }
.nvm-contact__social { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 20px; }.nvm-contact__social > span { margin-right: 4px; color: var(--c-muted); font: 500 15px/1.3 var(--nvm-font-sans); }.nvm-contact__social a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 16px; border: 1px solid color-mix(in srgb, var(--c-teal) 42%, transparent); border-radius: var(--nvm-radius-pill); color: var(--c-teal); font: 700 14px/1 var(--nvm-font-sans); text-decoration: none; }
.nvm-contact__section { margin-top: 48px; }.nvm-contact__section h2 { margin: 0 0 18px; font: 700 32px/1.15 var(--nvm-font-display); }.nvm-contact__section-lead { margin: -4px 0 18px; color: var(--c-muted); font: 400 15px/1.55 var(--nvm-font-sans); }
.nvm-contact__map { overflow: hidden; border: 1px solid color-mix(in srgb, var(--c-teal) 40%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }.nvm-contact__map iframe { display: block; width: 100%; height: 420px; border: 0; }.nvm-contact__maplink { display: inline-block; margin-top: 14px; color: var(--c-primary); font: 700 15px/1.3 var(--nvm-font-sans); }
.nvm-contact__ways { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }.nvm-contact__ways article { padding: 22px; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: var(--nvm-radius-card); background: #fff; }.nvm-contact__ways h3 { margin: 0 0 9px; font: 700 20px/1.2 var(--nvm-font-display); }.nvm-contact__ways p { margin: 0; color: var(--c-muted); font: 400 15px/1.5 var(--nvm-font-sans); }
.nvm-contact__cta { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 32px; padding: 24px; border: 1px solid color-mix(in srgb, var(--c-teal) 40%, transparent); border-radius: var(--nvm-radius-card); background: #edf6f4; }.nvm-contact__cta p { margin: 0; color: var(--c-text); font: 400 16px/1.5 var(--nvm-font-sans); }.nvm-contact__cta a { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border-radius: var(--nvm-radius-pill); background: var(--c-primary); color: #fff; font: 700 14px/1 var(--nvm-font-sans); text-decoration: none; }
.nvm-contact__requisites { margin: 0; border-top: 1px solid color-mix(in srgb, var(--c-teal) 25%, transparent); }.nvm-contact__requisites > div { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 18px; padding: 14px 0; border-bottom: 1px solid color-mix(in srgb, var(--c-teal) 25%, transparent); }.nvm-contact__requisites dt { color: var(--c-muted); font: 600 14px/1.4 var(--nvm-font-sans); }.nvm-contact__requisites dd { margin: 0; color: var(--c-text); font: 600 15px/1.4 var(--nvm-font-sans); }.nvm-contact__note { color: var(--c-muted); font: 400 15px/1.55 var(--nvm-font-sans); }.nvm-contact__note a,.nvm-contact__appeal a,.nvm-contact__authorities a { color: var(--c-primary); font-weight: 700; }
.nvm-contact__appeal { margin-top: 22px; padding: 22px; border-left: 3px solid var(--c-primary); border-radius: var(--nvm-radius-card); background: #f8f2f1; }.nvm-contact__appeal h3 { margin: 0 0 8px; font: 700 20px/1.2 var(--nvm-font-display); }.nvm-contact__appeal p { margin: 0; color: var(--c-muted); font: 400 15px/1.55 var(--nvm-font-sans); }
.nvm-contact__authorities { display: grid; gap: 10px; }.nvm-contact__authorities details { overflow: hidden; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: var(--nvm-radius-card); background: #fff; }.nvm-contact__authorities summary { position: relative; padding: 18px 52px 18px 20px; color: var(--c-text); font: 700 16px/1.35 var(--nvm-font-sans); cursor: pointer; list-style: none; }.nvm-contact__authorities summary::-webkit-details-marker { display: none; }.nvm-contact__authorities summary::after { position: absolute; top: 50%; right: 20px; color: var(--c-teal); content: '+'; font: 400 25px/1 var(--nvm-font-sans); transform: translateY(-50%); }.nvm-contact__authorities details[open] summary::after { content: '–'; }.nvm-contact__authorities details > div { padding: 4px 20px 18px; border-top: 1px solid color-mix(in srgb, var(--c-teal) 20%, transparent); }.nvm-contact__authorities p { display: grid; grid-template-columns: 94px minmax(0,1fr); gap: 12px; margin: 9px 0; color: var(--c-muted); font: 400 14px/1.45 var(--nvm-font-sans); }.nvm-contact__authorities p span { color: var(--c-muted); font-weight: 600; }
@media (max-width: 767px) { .nvm-contact { padding: 30px 0 48px; }.nvm-contact__container { width: calc(100% - 2 * var(--nvm-gutter-mobile)); }.nvm-contact__header { margin-bottom: 24px; }.nvm-contact__header h1 { font-size: 30px; }.nvm-contact__header > p:last-child { font-size: 15px; }.nvm-contact__cards { grid-template-columns: 1fr; gap: 12px; }.nvm-contact-card { min-height: 0; padding: 20px; }.nvm-contact-card b { font-size: 20px; }.nvm-contact__section { margin-top: 36px; }.nvm-contact__section h2 { font-size: 24px; }.nvm-contact__map iframe { height: 330px; }.nvm-contact__ways { grid-template-columns: 1fr; gap: 12px; }.nvm-contact__cta { align-items: stretch; flex-direction: column; padding: 20px; }.nvm-contact__cta a { width: 100%; }.nvm-contact__requisites > div { display: block; }.nvm-contact__requisites dt { margin-bottom: 4px; }.nvm-contact__authorities summary { padding: 16px 46px 16px 18px; font-size: 15px; }.nvm-contact__authorities details > div { padding: 4px 18px 18px; }.nvm-contact__authorities p { display: block; }.nvm-contact__authorities p span { display: block; margin-bottom: 2px; } }


/* Promotions */
.nvm-promo { padding: 30px 0 80px; background: #fff; color: var(--c-text); }
.nvm-promo__container { width: min(var(--nvm-container), calc(100% - 2 * var(--nvm-gutter-desktop))); margin: 0 auto; }
.nvm-promo__header { max-width: 760px; margin: 0 auto 32px; text-align: center; }.nvm-promo__header > p { margin: 0 0 10px; color: var(--c-teal); font: 700 13px/1.2 var(--nvm-font-sans); letter-spacing: .06em; text-transform: uppercase; }.nvm-promo__header h1 { margin: 0; font: 700 44px/1.08 var(--nvm-font-display); }.nvm-promo__rule { display: block; width: 64px; height: 3px; margin: 18px auto; border-radius: 99px; background: var(--c-primary); }.nvm-promo__header > div { color: var(--c-muted); font: 400 17px/1.55 var(--nvm-font-sans); }
.nvm-promo__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }.nvm-promo-card { overflow: hidden; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: var(--nvm-radius-card); background: #fff; box-shadow: var(--nvm-shadow-card); }.nvm-promo-card > header { position: relative; min-height: 250px; padding: 32px; overflow: hidden; }.nvm-promo-card--birthday > header { background: #f8f2f1; }.nvm-promo-card--telegram > header { background: #edf6f4; }.nvm-promo-card > header > p { display: inline-flex; margin: 0 0 18px; padding: 7px 12px; border-radius: var(--nvm-radius-pill); background: #fff; color: var(--c-primary); font: 700 12px/1.2 var(--nvm-font-sans); letter-spacing: .04em; }.nvm-promo-card--telegram > header > p { color: var(--c-teal); }.nvm-promo-card h2 { position: relative; z-index: 1; max-width: 360px; margin: 0 0 12px; font: 700 30px/1.15 var(--nvm-font-display); }.nvm-promo-card > header > span { position: relative; z-index: 1; display: block; max-width: 380px; color: var(--c-muted); font: 400 16px/1.5 var(--nvm-font-sans); }.nvm-promo-card > header svg { position: absolute; right: -22px; bottom: -18px; width: 168px; height: 168px; fill: none; stroke: var(--c-primary); stroke-width: 2; opacity: .13; }.nvm-promo-card--telegram > header svg { stroke: var(--c-teal); }.nvm-promo-card__body { padding: 28px; }.nvm-promo-discounts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.nvm-promo-discounts > div { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid color-mix(in srgb, var(--c-teal) 28%, transparent); border-radius: 14px; background: #fff; }.nvm-promo-discounts b { color: var(--c-primary); font: 700 34px/1 var(--nvm-font-display); }.nvm-promo-discounts span { color: var(--c-text); font: 600 13px/1.35 var(--nvm-font-sans); }.nvm-promo-period { display: flex; align-items: center; gap: 10px; margin: 18px 0; padding: 15px; border: 1px dashed color-mix(in srgb, var(--c-primary) 35%, transparent); border-radius: 14px; color: var(--c-text); font: 600 14px/1.45 var(--nvm-font-sans); }.nvm-promo-period svg { flex: 0 0 auto; width: 24px; height: 24px; fill: none; stroke: var(--c-primary); stroke-width: 2; }.nvm-promo-calculator { padding: 20px; border: 1px solid color-mix(in srgb, var(--c-teal) 30%, transparent); border-radius: 16px; background: #f8fbfa; }.nvm-promo-calculator h3 { margin: 0 0 6px; font: 700 20px/1.25 var(--nvm-font-display); }.nvm-promo-calculator > p { margin: 0 0 14px; color: var(--c-muted); font: 400 14px/1.5 var(--nvm-font-sans); }.nvm-promo-calculator form { display: flex; gap: 10px; }.nvm-promo-calculator label { flex: 1; }.nvm-promo-calculator input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--c-teal) 38%, transparent); border-radius: 12px; background: #fff; color: var(--c-text); font: 600 14px/1 var(--nvm-font-sans); }.nvm-promo-calculator button { min-height: 46px; padding: 10px 16px; border: 0; border-radius: var(--nvm-radius-pill); background: var(--c-primary); color: #fff; font: 700 14px/1 var(--nvm-font-sans); cursor: pointer; }.nvm-promo-calculator__result { margin-top: 14px; padding: 14px; border: 1px solid color-mix(in srgb, var(--c-teal) 30%, transparent); border-radius: 12px; background: #edf6f4; color: var(--c-teal); font: 600 14px/1.45 var(--nvm-font-sans); }.nvm-promo-calculator__result strong { display: block; margin-bottom: 4px; }
.nvm-promo-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }.nvm-promo-steps li { padding: 16px; border: 1px solid color-mix(in srgb, var(--c-teal) 30%, transparent); border-radius: 14px; background: #fff; }.nvm-promo-steps b { display: block; margin-bottom: 10px; color: var(--c-teal); font: 700 19px/1 var(--nvm-font-display); }.nvm-promo-steps span { color: var(--c-text); font: 600 13px/1.35 var(--nvm-font-sans); }.nvm-promo-telegram-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; border-radius: 16px; background: #173f3c; color: #fff; }.nvm-promo-telegram-cta h3 { margin: 0 0 6px; font: 700 22px/1.2 var(--nvm-font-display); }.nvm-promo-telegram-cta p { margin: 0; color: color-mix(in srgb,#fff 75%,transparent); font: 400 13px/1.45 var(--nvm-font-sans); }.nvm-promo-telegram-cta a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; min-height: 44px; padding: 10px 14px; border-radius: var(--nvm-radius-pill); background: #fff; color: var(--c-teal); font: 700 13px/1 var(--nvm-font-sans); text-decoration: none; }
.nvm-promo__restriction { margin: 28px 0 0; padding: 18px 20px; border-left: 3px solid var(--c-primary); border-radius: 0 var(--nvm-radius-card) var(--nvm-radius-card) 0; background: #f8f2f1; color: var(--c-muted); font: 400 14px/1.5 var(--nvm-font-sans); }.nvm-promo__information { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; margin-top: 56px; padding-top: 48px; border-top: 1px solid color-mix(in srgb, var(--c-teal) 25%, transparent); }.nvm-promo__information h2,.nvm-promo__information h3 { margin: 0 0 14px; font: 700 28px/1.2 var(--nvm-font-display); }.nvm-promo__information h3 { font-size: 22px; }.nvm-promo__information p,.nvm-promo__information li { color: var(--c-muted); font: 400 15px/1.55 var(--nvm-font-sans); }.nvm-promo__information p { margin: 0; }.nvm-promo__information ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }.nvm-promo__information li { position: relative; padding-left: 22px; }.nvm-promo__information li::before { position: absolute; left: 0; color: var(--c-teal); content: '•'; font-size: 24px; line-height: .75; }.nvm-promo__disclaimer { margin: 40px 0 0; padding: 18px; border: 1px solid color-mix(in srgb, var(--c-teal) 24%, transparent); border-radius: var(--nvm-radius-card); color: var(--c-muted); font: 600 13px/1.5 var(--nvm-font-sans); text-align: center; }
@media (max-width: 767px) { .nvm-promo { padding: 30px 0 48px; }.nvm-promo__container { width: calc(100% - 2 * var(--nvm-gutter-mobile)); }.nvm-promo__header { margin-bottom: 24px; }.nvm-promo__header h1 { font-size: 30px; }.nvm-promo__header > div { font-size: 15px; }.nvm-promo__grid { grid-template-columns: 1fr; gap: 16px; }.nvm-promo-card > header { min-height: 216px; padding: 24px; }.nvm-promo-card h2 { font-size: 26px; }.nvm-promo-card__body { padding: 20px; }.nvm-promo-discounts { grid-template-columns: 1fr; }.nvm-promo-calculator form { flex-direction: column; }.nvm-promo-calculator button { width: 100%; }.nvm-promo-steps { grid-template-columns: 1fr; }.nvm-promo-steps li { display: flex; align-items: center; gap: 12px; }.nvm-promo-steps b { margin: 0; }.nvm-promo-telegram-cta { align-items: stretch; flex-direction: column; }.nvm-promo-telegram-cta a { justify-content: center; }.nvm-promo__information { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; padding-top: 36px; }.nvm-promo__information h2 { font-size: 24px; } }

/* Home mobile content gutter and slider touch behavior */
@media (max-width: 1024px) {
  .nv-home-slider__track,
  .nv-home-slide { touch-action: pan-y pinch-zoom; }
  .nv-home-slider__track { overflow-x: hidden; overscroll-behavior-x: auto; }
  #novame-bento-root .bento-container,
  #novame-standards-root > .mx-auto,
  #novame-contacts-root > .mx-auto,
  #novame-faq-root .faq-container {
    width: calc(100% - 32px);
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }
}

/* Blog hub: clean site-native cards replacing legacy Elementor journal markup. */
.nvm-blog-clean {
  width: min(var(--nvm-container), calc(100% - 48px));
  margin: 0 auto 80px;
  color: var(--c-text);
  font-family: var(--nvm-font-sans);
}
.nvm-blog-clean__hero {
  display: grid;
  justify-items: start;
  gap: 20px;
  padding: 48px 0 20px;
}
.nvm-blog-clean__hero h1,
.nvm-blog-clean__intro h2 { margin: 0; color: var(--c-dark); font-family: var(--nvm-font-display); }
.nvm-blog-clean__hero h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1; }
.nvm-blog-clean__hero p,
.nvm-blog-clean__intro p { max-width: 720px; margin: 0; color: var(--c-muted); font-size: 17px; font-weight: 500; line-height: 1.55; }
.nvm-blog-clean__content { display: grid; gap: 32px; }
.nvm-blog-clean__intro { display: grid; gap: 12px; }
.nvm-blog-clean__intro h2 { font-size: 30px; line-height: 1.1; }
.nvm-blog-clean__topics { display: flex; flex-wrap: wrap; gap: 10px; }
.nvm-blog-clean__topics span { padding: 8px 12px; border: 1px solid #d8e2e0; border-radius: var(--nvm-radius-pill); color: #5b6b68; font-size: 13px; font-weight: 600; }
.nvm-blog-clean__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nvm-blog-clean__card { display: flex; min-height: 260px; flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px; border: 1px solid #e3e9e7; border-radius: 10px; background: #fff; box-shadow: var(--nvm-shadow-card); }
.nvm-blog-clean__card h3 { margin: 0; color: var(--c-dark); font-size: 22px; line-height: 1.2; }
.nvm-blog-clean__card > p:not(.nvm-blog-clean__meta) { margin: 0; color: var(--c-muted); font-size: 15px; line-height: 1.5; }
.nvm-blog-clean__meta { margin: 0; color: var(--c-teal); font-size: 13px; font-weight: 700; text-transform: uppercase; }
.nvm-blog-clean__card a,
.nvm-blog-clean__pending { margin-top: auto; color: var(--c-primary); font-size: 15px; font-weight: 700; text-decoration: none; }
.nvm-blog-clean__card a:hover,
.nvm-blog-clean__card a:focus-visible { color: var(--c-primary-hover); text-decoration: underline; }
.nvm-blog-clean__card--pending { border-style: dashed; background: #fbfdfc; }
@media (max-width: 1024px) {
  .nvm-blog-clean { width: calc(100% - 32px); margin-bottom: 56px; }
  .nvm-blog-clean__hero { padding-top: 32px; }
  .nvm-blog-clean__grid { grid-template-columns: 1fr; }
  .nvm-blog-clean__card { min-height: 0; }
}


/* NVM PRICE HYBRID v1 — local icons and readable price hierarchy; filter geometry is intentionally untouched. */
@font-face {
  font-family: "NVM Price Icons";
  src: url("/assets/novame/fonts/nvm-price-icons.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: block;
}
.nvm-price-group > summary[data-nvm-price-icon] { grid-template-columns: 24px minmax(0, 1fr) 24px; }
.nvm-price-group > summary[data-nvm-price-icon]::before {
  display: block;
  width: 20px;
  color: var(--nvm-price-item-icon, var(--c-teal));
  content: var(--nvm-price-item-glyph);
  font: 900 16px/1 "NVM Price Icons";
  text-align: center;
}
.nvm-price-group > summary[data-nvm-price-icon] > span { max-width: none; }
.nvm-price-group > summary[data-nvm-price-icon="stethoscope"] { --nvm-price-item-glyph: "\f0f1"; --nvm-price-item-icon: #9aa6b8; }
.nvm-price-group > summary[data-nvm-price-icon="water"] { --nvm-price-item-glyph: "\f773"; --nvm-price-item-icon: #7fc4d6; }
.nvm-price-group > summary[data-nvm-price-icon="bolt"] { --nvm-price-item-glyph: "\f0e7"; --nvm-price-item-icon: #b3a4e0; }
.nvm-price-group > summary[data-nvm-price-icon="sun"] { --nvm-price-item-glyph: "\f185"; --nvm-price-item-icon: #e8bf7d; }
.nvm-price-group > summary[data-nvm-price-icon="temperature"] { --nvm-price-item-glyph: "\e040"; --nvm-price-item-icon: #eda2a2; }
.nvm-price-group > summary[data-nvm-price-icon="wave"] { --nvm-price-item-glyph: "\f83e"; --nvm-price-item-icon: #eca3b4; }
.nvm-price-group > summary[data-nvm-price-icon="camera"] { --nvm-price-item-glyph: "\f083"; --nvm-price-item-icon: #eeb493; }
.nvm-price-group > summary[data-nvm-price-icon="wand"] { --nvm-price-item-glyph: "\e2ca"; --nvm-price-item-icon: #dfc781; }
.nvm-price-group > summary[data-nvm-price-icon="spa"] { --nvm-price-item-glyph: "\f5bb"; --nvm-price-item-icon: #8ecbb2; }
.nvm-price-group > summary[data-nvm-price-icon="bubbles"] { --nvm-price-item-glyph: "\e05e"; --nvm-price-item-icon: #8cc3bd; }
.nvm-price-group > summary[data-nvm-price-icon="smile"] { --nvm-price-item-glyph: "\f5b8"; --nvm-price-item-icon: #a9aae2; }
.nvm-price-group > summary[data-nvm-price-icon="droplet"] { --nvm-price-item-glyph: "\f5c7"; --nvm-price-item-icon: #93c4e2; }
.nvm-price-group > summary[data-nvm-price-icon="flask"] { --nvm-price-item-glyph: "\f0c3"; --nvm-price-item-icon: #8ecbb2; }
.nvm-price-group > summary[data-nvm-price-icon="syringe"] { --nvm-price-item-glyph: "\f48e"; --nvm-price-item-icon: #b3a4e0; }
.nvm-price-group > summary[data-nvm-price-icon="eraser"] { --nvm-price-item-glyph: "\f12d"; --nvm-price-item-icon: #9aa6b8; }
.nvm-price-group > summary[data-nvm-price-icon="vial"] { --nvm-price-item-glyph: "\f492"; --nvm-price-item-icon: #e2a3b3; }
.nvm-price-group > summary[data-nvm-price-icon="dna"] { --nvm-price-item-glyph: "\f471"; --nvm-price-item-icon: #dcbb92; }
.nvm-price-group > summary[data-nvm-price-icon="clean"] { --nvm-price-item-glyph: "\e05e"; --nvm-price-item-icon: #8ecbb2; }
.nvm-price-group > summary[data-nvm-price-icon="peel"] { --nvm-price-item-glyph: "\e4f3"; --nvm-price-item-icon: #bcd39a; }
.nvm-price-group > summary[data-nvm-price-icon="venus"] { --nvm-price-item-glyph: "\f221"; --nvm-price-item-icon: #f1adba; }
.nvm-price-group > summary[data-nvm-price-icon="mars"] { --nvm-price-item-glyph: "\f222"; --nvm-price-item-icon: #a3bfe8; }
.nvm-price-group__note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 22px 0 6px;
  padding: 18px 0 8px;
  border-top: 1px solid color-mix(in srgb, var(--c-teal) 24%, transparent);
  color: var(--c-teal);
  font: 700 12px/1.3 var(--nvm-font-sans);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.nvm-price-group__note:first-child { margin-top: 4px; padding-top: 6px; border-top: 0; }
.nvm-price-group__note::before { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--c-primary); content: ""; }
@media (max-width: 767px) {
  .nvm-price-group > summary[data-nvm-price-icon] { grid-template-columns: 22px minmax(0,1fr) 22px; gap: 10px; }
  .nvm-price-group__note { margin-top: 18px; padding-top: 16px; }
}

/* NVM ACTIONBAR BACK-TO-TOP v1
   Круглая кнопка возврата к началу страницы, стоит последней в панели действий.
   Появляется вместе с самой панелью, поэтому отдельной логики видимости не требует. */
.nvm-actionbar__top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--c-line, #d8e2e0);
  border-radius: 50%;
  background: #fff;
  color: var(--c-primary);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.nvm-actionbar__top svg { width: 18px; height: 18px; }
.nvm-actionbar__top:hover,
.nvm-actionbar__top:focus-visible {
  background: var(--c-primary);
  color: #fff;
  transform: translateY(-1px);
}
@media (max-width: 1024px) {
  .nvm-actionbar__top {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }
  .nvm-actionbar__top svg { width: 18px; height: 18px; }
}
.nvm-actionbar__top:active { background: var(--c-primary); color: #fff; }
.nvm-actionbar__top:hover svg, .nvm-actionbar__top:focus-visible svg, .nvm-actionbar__top:active svg { color: #fff; }
/* /NVM ACTIONBAR BACK-TO-TOP v1 */

/* NVM-FIX-20261006: на 768–860px панель не влезала на ~22px (кнопка «наверх» уходила за край) — прячем часы, как на мобильном */
@media (min-width: 768px) and (max-width: 860px) {
  .nvm-actionbar__hours { display: none; }
}

/* ===== NVM VIDEO BLOCK (единый видеоблок услуг, эталон aquapure) ===== */
/* Геометрия и оформление совпадают на ПК и мобильном: корпус 290x516,
   бордюр 10px, радиус 40px, чёлка 110x18, белая плашка-подпись внизу экрана. */
.nvm-video-block{
  position:relative;box-sizing:border-box;
  width:290px;max-width:290px;aspect-ratio:9/16;
  margin:0 auto 20px;overflow:hidden;
  border:10px solid #1e293b;border-radius:40px;background:#020617;
  box-shadow:0 12px 32px rgba(15,23,42,.12)
}
.nvm-video-block *,
.nvm-video-block *::before,
.nvm-video-block *::after{box-sizing:border-box}
.nvm-video-block .nvm-phone-notch{
  position:absolute;top:0;left:50%;z-index:5;
  width:110px;height:18px;transform:translateX(-50%);
  border-radius:0 0 12px 12px;background:#1e293b
}
.nvm-video-block__media{
  position:absolute;inset:0;display:block;
  width:100%;height:100%;
  border-radius:30px;object-fit:cover
}
.nvm-video-block__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:10px 16px 12px;border:0;border-top:1px solid rgba(15,23,42,.14);
  border-radius:16px 16px 30px 30px;text-align:center;
  background:#fff;box-shadow:0 -4px 14px rgba(15,23,42,.08)
}}
.nvm-video-block__cap p{margin:0}
.nvm-video-block__cap-title{
  font-size:.78rem;font-weight:800;line-height:1.25;color:#0f172a
}
.nvm-video-block__cap-note{
  margin-top:4px;font-size:.68rem;font-weight:600;line-height:1.3;color:#475569
}
/* ===== /NVM VIDEO BLOCK ===== */

/* NVM PRICE TABLE SOFT FRAME — one soft outline, no boxed price cells */
@media(min-width:1025px){
#nvm-svc #prices .nvm-price-table-shell{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
#nvm-svc #prices .nvm-price-table-head{min-height:64px;padding:0 24px;border:0;background:rgba(26,127,116,.045)}
#nvm-svc #prices .nvm-price-table-content{background:transparent}
#nvm-svc #prices .nvm-price-table-group{border:0;border-bottom:1px solid rgba(32,37,37,.08);background:rgba(26,127,116,.028)}
#nvm-svc #prices .nvm-price-table-row{border:0;border-bottom:1px solid rgba(32,37,37,.08);background:#fff}
#nvm-svc #prices .nvm-price-table-row:last-child{border-bottom:0}
#nvm-svc #prices .nvm-price-table-shell .border-l{border-left:0}
}

/* Header navigation: static header and current section */

@media(max-width:960px){.nvm-drawer-nav a.is-current,.nvm-drawer-nav button.is-current{color:var(--c-primary);font-weight:700}.nvm-drawer-nav button.is-current span{color:var(--c-primary)}}
.nvm-actionbar__tel:active{border-color:var(--c-primary);background:var(--c-primary);color:#fff}.nvm-actionbar__tel:active svg{color:#fff}
@media(max-width:767px){.nvm-actionbar__tel,.nvm-actionbar__top{border-color:rgba(188,88,80,.50);background:#fff;color:rgba(188,88,80,.50)}.nvm-actionbar__tel svg,.nvm-actionbar__top svg{color:rgba(188,88,80,.50)}}

/* nvm-clean-price-cards-20260820 */
.nvm-price-desktop-card {
  border: 1px solid #dce4ec;
  border-radius: 15px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .07);
}
.nvm-price-mobile-card {
  border: 0;
  border-radius: 15px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .07);
}
.nvm-price-option {
  border: 0;
  border-radius: 12px;
  background: #f3f6f9;
}

@media (max-width: 860px) {
  .nvm-footer-mobile-status { display: flex; width: calc(100% - 64px); min-height: 48px; box-sizing: border-box; margin: 0 auto 12px; padding: 0 16px; align-items: center; justify-content: center; gap: 9px; border: 1px solid rgba(57, 168, 112, .52); border-radius: 999px; background: rgba(13, 68, 49, .78); box-shadow: 0 6px 16px rgba(0, 0, 0, .16); color: #c8f3d4; font: 600 14px/1.2 var(--nvm-font-sans); letter-spacing: 0; text-transform: none; }
  .nvm-footer-mobile-status span { width: 12px; height: 12px; flex: 0 0 12px; border-radius: 50%; transition: background-color .2s, box-shadow .2s; }
  .nvm-footer-mobile-status.is-open span { background: #45da8f; box-shadow: 0 0 0 4px rgba(69, 218, 143, .16); }
  .nvm-footer-mobile-status.is-closed { border-color: rgba(223, 93, 85, .55); background: rgba(94, 34, 31, .78); color: #ffd5d2; }
  .nvm-footer-mobile-status.is-closed span { background: #df5d55; box-shadow: 0 0 0 4px rgba(223, 93, 85, .16); }
}

/* NVM_PRICE_CATEGORY_STANDARD_V2 */
#nvm-svc .category-header.nvm-price-category-standard{min-height:60px;padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;line-height:1.35}
#nvm-svc .nvm-price-category-icon{width:20px;height:20px;flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center;background:transparent}
#nvm-svc .nvm-price-category-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor}
#nvm-svc .nvm-price-category-standard>span:not(.nvm-price-category-icon){text-align:center}

/* Home hero: fixed 18:9 aspect on desktop (>=1025px) */
@media (min-width: 1025px) {
  .nvm-home-hero .nv-home-slider__track,
  .nvm-home-hero .nv-home-slide { min-height: 0; }
  .nvm-home-hero .nv-home-slider__track { aspect-ratio: 18 / 9; }
}

/* ==========================================================================
   Blog magazine «Наука и Красота» (Quiet Luxury) — /blog/
   ========================================================================== */
.nvm-blog-mag {
  background-color: #FAF9F6;
  font-family: 'Plus Jakarta Sans', var(--nvm-font-sans);
  overflow: hidden;
}

/* Бегущая строка */
.nvm-blog-mag__ticker {
  overflow: hidden;
  white-space: nowrap;
  border-bottom: 1px solid rgba(9, 11, 15, .08);
  background-color: #FAF9F6;
}
.nvm-blog-mag__ticker-inner {
  display: inline-flex;
  animation: nvmBlogTicker 40s linear infinite;
  will-change: transform;
}
.nvm-blog-mag__ticker-set {
  display: inline-flex;
  flex: none;
}
.nvm-blog-mag__ticker-item {
  display: inline-block;
  padding: 10px 2rem;
  font: 600 11px/1.4 'Plus Jakarta Sans', var(--nvm-font-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(9, 11, 15, .55);
}
@keyframes nvmBlogTicker {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .nvm-blog-mag__ticker-inner { animation: none; }
}

/* Шапка */
.nvm-blog-mag__hero {
  max-width: 860px;
  margin: 0 auto;
  padding: 30px 20px 0;
  text-align: center;
}
.nvm-blog-mag__kicker {
  margin: 30px 0 10px;
  font: 600 12px/1.4 'Plus Jakarta Sans', var(--nvm-font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(9, 11, 15, .5);
}
.nvm-blog-mag__title {
  margin: 0;
  font: italic 600 clamp(34px, 5vw, 54px)/1.08 'Playfair Display', var(--nvm-font-display);
  letter-spacing: -.01em;
  color: #101318;
}
.nvm-blog-mag__lead {
  margin: 16px auto 0;
  max-width: 620px;
  font: 400 16px/1.55 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: rgba(9, 11, 15, .72);
}

/* Манифест: журнальный разворот в две колонки */
.nvm-blog-mag__manifesto {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 48px;
  max-width: 1080px;
  margin: 56px auto 0;
  padding: 0 20px;
  border-top: 1px solid rgba(9, 11, 15, .08);
}
.nvm-blog-mag__manifesto-left,
.nvm-blog-mag__manifesto-right { padding-top: 36px; }
.nvm-blog-mag__vestnik {
  margin: 0 0 12px;
  font: 600 11px/1.4 'Plus Jakarta Sans', var(--nvm-font-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(9, 11, 15, .45);
}
.nvm-blog-mag__masthead {
  margin: 0;
  font: italic 600 clamp(30px, 3.4vw, 42px)/1.12 'Playfair Display', var(--nvm-font-display);
  color: #101318;
}
.nvm-blog-mag__issue {
  margin: 12px 0 0;
  font: 400 13px/1.5 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: rgba(9, 11, 15, .55);
}
.nvm-blog-mag__manifesto-right p {
  margin: 0;
  font: 400 15px/1.65 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: rgba(9, 11, 15, .75);
}
.nvm-blog-mag__theses {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.nvm-blog-mag__theses li {
  position: relative;
  padding: 14px 0 14px 52px;
  border-top: 1px solid rgba(9, 11, 15, .08);
  font: 400 14px/1.6 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: rgba(9, 11, 15, .75);
}
.nvm-blog-mag__theses strong { color: #101318; font-weight: 600; }
.nvm-blog-mag__thesis-num {
  position: absolute;
  left: 0;
  top: 14px;
  font: italic 600 15px/1.6 'Playfair Display', var(--nvm-font-display);
  color: rgba(9, 11, 15, .35);
}

/* Рубрики Quiet Luxury */
.nvm-blog-mag__rubrics {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-width: 1080px;
  margin: 40px auto 0;
  padding: 0 20px;
}
.nvm-blog-mag__rubric {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  font: 600 13px/1.4 'Plus Jakarta Sans', var(--nvm-font-sans);
}
.nvm-blog-mag__rubric i {
  font: italic 600 13px/1 'Playfair Display', var(--nvm-font-display);
  opacity: .55;
}
.nvm-blog-mag__rubric--trends    { background: #FDF6F4; color: #9E675E; border: 1px solid #F5E2DD; }
.nvm-blog-mag__rubric--cosmetics { background: #F4F8F5; color: #527059; border: 1px solid #E2EDE4; }
.nvm-blog-mag__rubric--drugs     { background: #F4F7FB; color: #4C6585; border: 1px solid #E1EBF5; }
.nvm-blog-mag__rubric--tech      { background: #FAF8F3; color: #7A6F54; border: 1px solid #F1ECE0; }
.nvm-blog-mag__rubric--dermatology { background: #F7F4FA; color: #6A5B7C; border: 1px solid #E9E2F1; }

/* Сетка статей */
.nvm-blog-mag__content {
  max-width: 1080px;
  margin: 48px auto 0;
  padding: 0 20px;
}
.nvm-blog-mag__intro { max-width: 640px; }
.nvm-blog-mag__intro h2 {
  margin: 0;
  font: italic 600 clamp(24px, 2.6vw, 32px)/1.15 'Playfair Display', var(--nvm-font-display);
  color: #101318;
}
.nvm-blog-mag__intro p {
  margin: 10px 0 0;
  font: 400 14px/1.6 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: rgba(9, 11, 15, .65);
}
.nvm-blog-mag__grid { margin-top: 28px; }

/* Карточки статей в журнальной стилистике (поверх chunk-blog-card) */
.nvm-blog-mag .nvm-blog-clean__card {
  background: #fff;
  border: 1px solid rgba(9, 11, 15, .08);
  border-radius: 18px;
  box-shadow: none;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s cubic-bezier(.16, 1, .3, 1);
}
.nvm-blog-mag .nvm-blog-clean__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px -18px rgba(9, 11, 15, .25);
}
.nvm-blog-mag .nvm-blog-clean__card h3 {
  font-family: 'Playfair Display', var(--nvm-font-display);
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0;
}
.nvm-blog-mag .nvm-blog-clean__meta {
  font-family: 'Plus Jakarta Sans', var(--nvm-font-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Дисклеймер */
.nvm-blog-mag__disclaimer {
  max-width: 1080px;
  margin: 48px auto 0;
  padding: 20px 20px 40px;
  border-top: 1px solid rgba(9, 11, 15, .08);
  font: 400 12px/1.6 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: rgba(9, 11, 15, .45);
}

/* Мобильная версия */
@media (max-width: 860px) {
  .nvm-blog-mag__manifesto {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 40px;
  }
  .nvm-blog-mag__manifesto-left,
  .nvm-blog-mag__manifesto-right { padding-top: 24px; }
  .nvm-blog-mag__manifesto-right { padding-top: 0; }
  .nvm-blog-mag__ticker-item { padding: 8px 1.4rem; font-size: 10px; }
  .nvm-blog-mag__content { margin-top: 36px; }
}

/* Блог-магазин: скрытый H1 (SEO), компактный hero, симметричные рубрики */
.nvm-blog-mag__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.nvm-blog-mag__hero { padding-bottom: 0; }
.nvm-blog-mag__rubrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.nvm-blog-mag__rubric {
  justify-content: center;
  width: 100%;
  padding: 12px 10px;
  text-align: center;
}
.nvm-blog-mag__rubric i { flex: none; }
@media (max-width: 860px) {
  .nvm-blog-mag__rubrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Блог-магазин v2: рубрики-кнопки фильтра, активное состояние, строка фильтра */
.nvm-blog-mag__rubric {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-family: 'Plus Jakarta Sans', var(--nvm-font-sans);
}
.nvm-blog-mag__rubric.is-active {
  box-shadow: inset 0 0 0 1.5px currentColor;
  font-weight: 700;
}
.nvm-blog-mag__filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  max-width: 1080px;
  margin: 20px auto 0;
  padding: 0 20px;
  font: 400 13px/1.5 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: rgba(9, 11, 15, .65);
}
.nvm-blog-mag__filterbar strong { color: #101318; }
.nvm-blog-mag__filter-reset {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  font: 600 13px/1.5 'Plus Jakarta Sans', var(--nvm-font-sans);
  color: var(--c-primary, #1a7f74);
}
.nvm-blog-mag__filter-reset:hover { text-decoration: underline; }
.nvm-blog-mag__cell[hidden] { display: none; }

/* === nvm-doctors-v2 (2026-08-29): карточки специалистов — слайдер (моб) / 2 в ряд (ПК) === */
.nvm-docs__track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.nvm-docs__nav { display: none; }
@media (max-width: 767px) {
  .nvm-docs__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .nvm-docs__track::-webkit-scrollbar { display: none; }
  .nvm-docs__track > .nvm-docs__card { flex: 0 0 100%; scroll-snap-align: start; }
  .nvm-docs__nav { display: flex; gap: 10px; margin-top: 16px; }
  .nvm-docs__btn { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid color-mix(in srgb, var(--c-teal) 35%, transparent); border-radius: 50%; background: #fff; color: var(--c-teal); cursor: pointer; transition: background .2s ease, color .2s ease; }
  .nvm-docs__btn:hover { background: var(--c-teal); color: #fff; }
  .nvm-docs__btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
}

/* === nvm-filters-v2 (2026-08-29): рубричные фильтры — одинаковый размер, симметрия (ПК) === */
@media (min-width: 640px) {
  .nvm-catalog-filter__chips, .nvm-price__chips, #icoone-filter-desktop, #rf-filter-desktop, #filter-container, .mobile-filter-collapsed { counter-reset: nvmchip; }
  .nvm-catalog-filter__chips { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
  .nvm-price__chips { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  #icoone-filter-desktop { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  #rf-filter-desktop { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }

  .nvm-catalog-filter__chips .nvm-catalog-filter__chip,
  .nvm-price__chips [data-nvm-price-chip],
  #icoone-filter-desktop .icoone-filter-btn,
  #rf-filter-desktop .rf-filter-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 999px;
    border-width: 1px; border-style: solid;
    font: 600 13px/1.3 'Plus Jakarta Sans', var(--nvm-font-sans); text-align: center;
    transition: transform .25s ease, box-shadow .25s ease, background .2s ease, color .2s ease, border-color .2s ease;
  }
  button.filter-btn {
    width: 230px !important; max-width: 100% !important; min-height: 46px !important;
    padding: 10px 14px !important; border-radius: 999px !important; border-width: 1px !important;
    font: 600 13px/1.3 'Plus Jakarta Sans', var(--nvm-font-sans) !important;
    transition: transform .25s ease, box-shadow .25s ease, background .2s ease, color .2s ease, border-color .2s ease !important;
  }

  .nvm-catalog-filter__chip::before, .nvm-price__chips [data-nvm-price-chip]::before,
  #icoone-filter-desktop .icoone-filter-btn::before, #rf-filter-desktop .rf-filter-btn::before,
  button.filter-btn::before {
    content: none;
  }

  /* пастельная ротация — неактивные */
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+1),
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+1),
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+1),
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+1) { background: #FDF6F4; color: #9E675E; border-color: #F5E2DD; }
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+2),
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+2),
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+2),
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+2) { background: #F4F8F5; color: #527059; border-color: #E2EDE4; }
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+3),
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+3),
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+3),
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+3) { background: #F4F7FB; color: #4C6585; border-color: #E1EBF5; }
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+4),
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+4),
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+4),
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+4) { background: #FAF8F3; color: #7A6F54; border-color: #F1ECE0; }
  button.filter-btn.btn-white-immune:nth-child(4n+1) { background: #FDF6F4 !important; color: #9E675E !important; border-color: #F5E2DD !important; }
  button.filter-btn.btn-white-immune:nth-child(4n+2) { background: #F4F8F5 !important; color: #527059 !important; border-color: #E2EDE4 !important; }
  button.filter-btn.btn-white-immune:nth-child(4n+3) { background: #F4F7FB !important; color: #4C6585 !important; border-color: #E1EBF5 !important; }
  button.filter-btn.btn-white-immune:nth-child(4n+4) { background: #FAF8F3 !important; color: #7A6F54 !important; border-color: #F1ECE0 !important; }

  /* ховер и активное состояние — сплошной цвет своей пары */
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+1):hover,
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+1)[aria-pressed="true"],
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+1):hover,
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+1)[aria-pressed="true"],
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+1):hover,
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+1).is-active,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+1):hover,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+1).is-active { background: #9E675E; color: #fff; border-color: #9E675E; }
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+2):hover,
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+2)[aria-pressed="true"],
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+2):hover,
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+2)[aria-pressed="true"],
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+2):hover,
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+2).is-active,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+2):hover,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+2).is-active { background: #527059; color: #fff; border-color: #527059; }
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+3):hover,
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+3)[aria-pressed="true"],
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+3):hover,
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+3)[aria-pressed="true"],
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+3):hover,
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+3).is-active,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+3):hover,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+3).is-active { background: #4C6585; color: #fff; border-color: #4C6585; }
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+4):hover,
  .nvm-catalog-filter__chips .nvm-catalog-filter__chip:nth-child(4n+4)[aria-pressed="true"],
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+4):hover,
  .nvm-price__chips [data-nvm-price-chip]:nth-child(4n+4)[aria-pressed="true"],
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+4):hover,
  #icoone-filter-desktop .icoone-filter-btn:nth-child(4n+4).is-active,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+4):hover,
  #rf-filter-desktop .rf-filter-btn:nth-child(4n+4).is-active { background: #7A6F54; color: #fff; border-color: #7A6F54; }
  button.filter-btn.btn-coral-immune:nth-child(4n+1) { background: #9E675E !important; color: #fff !important; border-color: #9E675E !important; }
  button.filter-btn.btn-coral-immune:nth-child(4n+2) { background: #527059 !important; color: #fff !important; border-color: #527059 !important; }
  button.filter-btn.btn-coral-immune:nth-child(4n+3) { background: #4C6585 !important; color: #fff !important; border-color: #4C6585 !important; }
  button.filter-btn.btn-coral-immune:nth-child(4n+4) { background: #7A6F54 !important; color: #fff !important; border-color: #7A6F54 !important; }
  .nvm-catalog-filter__chip:hover, .nvm-price__chips [data-nvm-price-chip]:hover,
  #icoone-filter-desktop .icoone-filter-btn:hover, #rf-filter-desktop .rf-filter-btn:hover,
  button.filter-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px -14px rgba(9, 11, 15, .3); }
  [aria-pressed="true"]::before, .is-active::before, button.filter-btn.btn-coral-immune::before { opacity: .8; }
}

/* fix: отступ после номера в кнопках-фильтрах услуг */
@media (min-width: 640px) {
  button.filter-btn::before { margin-right: 8px; }
}

/* === nvm-home-doctors-v3 (2026-08-29): ПК/планшет — компактные карточки 2×2, без развёртки === */
.nvm-doctor-card__short { display: none; }
@media (min-width: 768px) {
  .nvm-home-doctors__track {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row;
    gap: 20px; overflow: visible; padding-bottom: 0; scroll-snap-type: none;
  }
  .nvm-doctor-card { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: stretch; }
  .nvm-doctor-card__photo { grid-row: 1 / 3; width: 180px; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center top; border-radius: calc(var(--nvm-radius-card) - 1px) 0 0 calc(var(--nvm-radius-card) - 1px); }
  .nvm-doctor-card__body { grid-column: 2; align-content: start; gap: 6px; padding: 18px 20px 12px; }
  .nvm-doctor-card__body h3 { font-size: 19px; }
  .nvm-doctor-card__description { display: none; }
  .nvm-doctor-card__short { display: block; margin: 0; color: var(--c-muted); font: 400 14px/1.5 var(--nvm-font-sans); }
  .nvm-doctor-card__details { display: none; }
  .nvm-doctor-card__cta { grid-column: 2; align-self: end; margin: 0 20px 18px; }
}

/* === 2026-08-31: Магазин в шапке (узкий дропдаун) + иконка личного кабинета === */
.nvm-mega-menu--shop { grid-template-columns: 1fr; width: min(360px, calc(100vw - 48px)); }
.nvm-header-account {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; margin-left: 4px; flex: 0 0 40px;
  border-radius: 50%; border: 1px solid rgba(247, 247, 248, .35);
  color: #f7f7f8; text-decoration: none !important;
  transition: color .2s, border-color .2s, background .2s;
}
.nvm-header-account:hover, .nvm-header-account:focus-visible { color: #fff; border-color: var(--c-primary); background: rgba(188, 88, 80, .35); }
.nvm-header-account svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
@media (max-width: 960px) { .nvm-header-account { display: none; } }


/* ===== [3] nvmk-core.css — assets/novame/ui-kit-v1/css/nvmk-core.css ===== */
/* Load after the site's CSS, before the component styles. No site-wide reset.
   Static font files: Bellota 400/700; Inter 400/500 (not a variable font). */
@font-face {
  font-family: "NVMKBellota";
  src: url("/assets/novame/ui-kit-v1/fonts/bellota-regular-cyrillic.woff2") format("woff2"); /* NVM-SEO-20261003-E: было ../fonts/bellota-regular-cyrillic.ttf (404 из /assets/novame/css/) */
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "NVMKBellota";
  src: url("/assets/novame/ui-kit-v1/fonts/bellota-bold-cyrillic.woff2") format("woff2"); /* NVM-SEO-20261003-E: было ../fonts/bellota-bold-cyrillic.ttf (404 из /assets/novame/css/) */
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "NVMKInter";
  src: url("/assets/novame/ui-kit-v1/fonts/inter-regular-cyrillic.woff2") format("woff2"); /* NVM-SEO-20261003-E: было ../fonts/inter-regular-cyrillic.ttf (404 из /assets/novame/css/) */
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "NVMKInter";
  src: url("/assets/novame/ui-kit-v1/fonts/inter-medium-cyrillic.woff2") format("woff2"); /* NVM-SEO-20261003-E: было ../fonts/inter-medium-cyrillic.ttf (404 из /assets/novame/css/) */
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
.nvmk {
  --nvmk-bg: #fbfaf7;
  --nvmk-surface: #fff;
  --nvmk-soft: #f1eee8;
  --nvmk-text: #29332f;
  --nvmk-muted: #686e68;
  --nvmk-line: #dedfd7;
  --nvmk-accent: #bc5850;
  --nvmk-accent-hover: #a54a43;
  --nvmk-green: #376b60;
  --nvmk-green-soft: #eaf0e9;
  --nvmk-radius: 20px;
  --nvmk-font-heading: "NVMKBellota", Arial, sans-serif;
  --nvmk-font-body: "NVMKInter", Arial, sans-serif;
  color-scheme: light;
  font-family: var(--nvmk-font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  font-synthesis: none;
  line-height: 1.65;
  letter-spacing: normal;
  color: var(--nvmk-text);
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.nvmk,
.nvmk::before,
.nvmk::after,
.nvmk *,
.nvmk *::before,
.nvmk *::after {
  box-sizing: border-box;
}
.nvmk .nvmk-container {
  width: min(1240px, calc(100% - 80px));
  margin-inline: auto;
}
.nvmk.nvmk-section {
  padding-block: 96px;
}
.nvmk.nvmk-section-compact {
  padding-block: 64px;
}
.nvmk .nvmk-title,
.nvmk .nvmk-subtitle {
  margin: 0;
  color: var(--nvmk-text);
  font-family: var(--nvmk-font-heading);
  font-weight: 700;
  font-style: normal;
  line-height: 1.15;
  letter-spacing: -.025em;
  text-transform: none;
}
.nvmk .nvmk-title {
  font-size: clamp(28px, 3.1vw, 42px);
}
.nvmk .nvmk-subtitle {
  font-size: 26px;
}
.nvmk .nvmk-copy {
  margin: 0 0 20px;
  color: var(--nvmk-muted);
}
.nvmk .nvmk-lead {
  max-width: 530px;
  font-size: 17px;
  line-height: 1.75;
}
.nvmk .nvmk-eyebrow {
  display: block;
  margin: 0 0 20px;
  color: var(--nvmk-green);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.nvmk .nvmk-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 36px;
}
.nvmk .nvmk-section-heading .nvmk-title {
  max-width: 700px;
}
.nvmk .nvmk-section-heading .nvmk-copy {
  max-width: 380px;
  margin: 0;
}
.nvmk .nvmk-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  min-height: 50px;
  max-width: 100%;
  padding: 13px 25px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--nvmk-accent);
  color: var(--nvmk-surface);
  font: 500 14px/1.4 var(--nvmk-font-body);
  letter-spacing: normal;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.nvmk .nvmk-button:hover {
  background: var(--nvmk-accent-hover);
  color: var(--nvmk-surface);
  transform: translateY(-1px);
}
.nvmk .nvmk-button:active {
  transform: translateY(0);
}
.nvmk .nvmk-button--secondary {
  background: transparent;
  border-color: var(--nvmk-green);
  color: var(--nvmk-green);
}
.nvmk .nvmk-button--secondary:hover {
  background: var(--nvmk-green);
  color: var(--nvmk-surface);
}
.nvmk .nvmk-button-small {
  min-height: 44px;
  padding: 10px 20px;
  font-size: 13px;
}
.nvmk .nvmk-button-full {
  width: 100%;
}
.nvmk .nvmk-text-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  background: none;
  color: var(--nvmk-text);
  font: 400 14px/1.5 var(--nvmk-font-body);
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
  cursor: pointer;
}
.nvmk .nvmk-text-link:hover {
  color: var(--nvmk-green);
}
.nvmk .nvmk-phone-link {
  color: var(--nvmk-text);
  text-decoration: none;
}
.nvmk .nvmk-phone-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.nvmk :focus-visible {
  outline: 3px solid var(--nvmk-green);
  outline-offset: 5px;
}
.nvmk [hidden] {
  display: none !important;
}
@media (max-width: 1100px) {
  .nvmk .nvmk-container { width: calc(100% - 48px); }
}
@media (max-width: 800px) {
  .nvmk.nvmk-section { padding-block: 70px; }
}
@media (max-width: 600px) {
  .nvmk .nvmk-container { width: calc(100% - 40px); }
  .nvmk.nvmk-section { padding-block: 56px; }
  .nvmk.nvmk-section-compact { padding-block: 44px; }
  .nvmk .nvmk-title { font-size: 28px; }
  .nvmk .nvmk-eyebrow { font-size: 10px; margin-bottom: 17px; }
  .nvmk .nvmk-section-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 28px;
  }
  .nvmk .nvmk-section-heading .nvmk-copy { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .nvmk *,
  .nvmk *::before,
  .nvmk *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}


/* ===== [4] nvmk-doctors.css — assets/novame/ui-kit-v1/css/nvmk-doctors.css ===== */
.nvmk.nvmk-doctors {
  background: var(--nvmk-soft);
}
.nvmk-doctors .nvmk-doctors-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.nvmk-doctors .nvmk-doctor-card {
  display: grid;
  grid-template-columns: 42% minmax(0, 1fr);
  min-height: 340px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--nvmk-radius);
  overflow: hidden;
  background: var(--nvmk-surface);
}
.nvmk-doctors .nvmk-doctor-photo {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: saturate(.78);
  background: var(--nvmk-green-soft);
}
.nvmk-doctors .nvmk-doctor-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 30px 26px;
}
.nvmk-doctors .nvmk-doctor-name {
  font-size: 25px;
  overflow-wrap: normal;
}
.nvmk-doctors .nvmk-doctor-specialty {
  margin: 14px 0;
  color: var(--nvmk-green);
  font-size: 12px;
}
.nvmk-doctors .nvmk-doctor-focus {
  font-size: 13px;
}
.nvmk-doctors .nvmk-doctor-details,
.nvmk-doctors .nvmk-doctor-open {
  margin-top: auto;
}
.nvmk-doctors .nvmk-doctor-summary,
.nvmk-doctors .nvmk-doctor-open {
  font-size: 13px;
}
.nvmk-doctors .nvmk-doctor-details {
  width: 100%;
}
.nvmk-doctors .nvmk-doctor-summary {
  list-style: none;
}
.nvmk-doctors .nvmk-doctor-summary::-webkit-details-marker {
  display: none;
}
.nvmk-doctors .nvmk-doctor-details[open] > .nvmk-doctor-summary {
  color: var(--nvmk-green);
}
.nvmk-doctors .nvmk-doctor-content > .nvmk-button {
  width: 100%;
  margin-top: 19px;
}
/* SSR profile remains readable as a native details disclosure without JS.
   The optional script clones this same content into a native modal dialog. */
.nvmk-doctors .nvmk-doctor-profile {
  padding-top: 20px;
}
.nvmk-doctors .nvmk-profile-header {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-bottom: 22px;
}
.nvmk-doctors .nvmk-profile-photo {
  display: block;
  flex: 0 0 105px;
  width: 105px;
  max-width: 100%;
  height: 125px;
  border-radius: 12px;
  object-fit: cover;
  object-position: center 30%;
  background: var(--nvmk-green-soft);
}
.nvmk-doctors .nvmk-profile-name {
  font-size: 26px;
}
.nvmk-doctors .nvmk-profile-specialty {
  display: block;
  margin-top: 10px;
  color: var(--nvmk-green);
  font-size: 12px;
}
.nvmk-doctors .nvmk-profile-education-title {
  font-size: 22px;
}
.nvmk-doctors .nvmk-profile-copy,
.nvmk-doctors .nvmk-profile-education {
  font-size: 14px;
  color: var(--nvmk-muted);
}
.nvmk-doctors .nvmk-profile-education {
  margin: 16px 0 24px;
  padding: 0 0 0 20px;
  list-style: disc;
}
.nvmk-doctors .nvmk-profile-education li {
  margin-bottom: 8px;
  padding: 0;
}
.nvmk-doctors .nvmk-doctor-details .nvmk-profile-header {
  display: block;
}
.nvmk-doctors .nvmk-doctor-details .nvmk-profile-photo,
.nvmk-doctors .nvmk-doctor-details .nvmk-profile-name,
.nvmk-doctors .nvmk-doctor-details .nvmk-profile-specialty,
.nvmk-doctors .nvmk-doctor-details .nvmk-profile-copy,
.nvmk-doctors .nvmk-doctor-details .nvmk-profile-booking,
.nvmk-doctors .nvmk-doctor-details .nvmk-profile-eyebrow {
  display: none;
}
.nvmk-doctors .nvmk-profile-dialog {
  position: fixed;
  inset: 0;
  width: min(560px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 40px;
  border: 0;
  border-radius: 24px;
  background: var(--nvmk-surface);
  color: var(--nvmk-text);
  font: 400 16px/1.65 var(--nvmk-font-body);
  overflow: auto;
  overscroll-behavior: contain;
  box-shadow: 0 30px 100px #13241940;
}
.nvmk-doctors .nvmk-profile-dialog:not([open]) {
  display: none;
}
.nvmk-doctors .nvmk-profile-dialog::backdrop {
  background: #172b236b;
  backdrop-filter: blur(5px);
}
.nvmk-doctors .nvmk-profile-dialog .nvmk-doctor-profile {
  padding-top: 0;
}
.nvmk-doctors .nvmk-profile-dialog .nvmk-eyebrow {
  padding-right: 30px;
}
.nvmk-doctors .nvmk-profile-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--nvmk-line);
  border-radius: 50%;
  background: var(--nvmk-surface);
  color: var(--nvmk-text);
  font: 400 24px/1 var(--nvmk-font-body);
  cursor: pointer;
}
.nvmk-doctors .nvmk-profile-close:hover {
  background: var(--nvmk-soft);
}
@media (max-width: 1100px) {
  .nvmk-doctors .nvmk-doctor-content { padding: 25px 20px; }
  .nvmk-doctors .nvmk-doctor-name { font-size: 23px; }
}
/* Keep the approved horizontal card rather than changing to tall tablet tiles. */
@media (max-width: 900px) {
  .nvmk-doctors .nvmk-doctors-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .nvmk-doctors .nvmk-doctors-grid { gap: 20px; }
  .nvmk-doctors .nvmk-doctor-card {
    grid-template-columns: 40% minmax(0, 1fr);
    min-height: 310px;
  }
  .nvmk-doctors .nvmk-doctor-content { padding: 25px 18px; }
  .nvmk-doctors .nvmk-doctor-name { font-size: 22px; }
  .nvmk-doctors .nvmk-doctor-specialty { font-size: 11px; margin: 12px 0; }
  .nvmk-doctors .nvmk-doctor-focus { font-size: 12px; line-height: 1.65; }
  .nvmk-doctors .nvmk-doctor-summary,
  .nvmk-doctors .nvmk-doctor-open { font-size: 11px; gap: 10px; }
  .nvmk-doctors .nvmk-doctor-content > .nvmk-button {
    font-size: 12px;
    padding: 10px;
    min-height: 44px;
    margin-top: 16px;
  }
  .nvmk-doctors .nvmk-profile-dialog { padding: 32px 25px; border-radius: 20px; }
  .nvmk-doctors .nvmk-profile-header { gap: 18px; }
  .nvmk-doctors .nvmk-profile-photo { width: 80px; height: 105px; flex-basis: 80px; }
  .nvmk-doctors .nvmk-profile-name { font-size: 23px; }
  .nvmk-doctors .nvmk-profile-copy,
  .nvmk-doctors .nvmk-profile-education { font-size: 13px; }
}
@media (max-width: 359px) {
  .nvmk-doctors .nvmk-doctor-card { grid-template-columns: minmax(0, 1fr); }
  .nvmk-doctors .nvmk-doctor-photo { height: 280px; }
  .nvmk-doctors .nvmk-doctor-content { padding: 25px; }
  .nvmk-doctors .nvmk-doctor-name { font-size: 25px; }
  .nvmk-doctors .nvmk-profile-header { flex-direction: column; align-items: flex-start; }
}


/* ===== [5] nvmk-filter.css — assets/novame/ui-kit-v1/css/nvmk-filter.css ===== */
/* НОВА МИ approved component 02. Requires nvmk-core.css. No global rules. */
.nvmk.nvmk-problem-filter{padding-block:32px}
.nvmk-problem-filter .nvmk-filter-panel{background:var(--nvmk-green-soft,#eaf0e9);border-radius:20px;padding:40px 44px}
.nvmk-problem-filter .nvmk-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:26px}
.nvmk-problem-filter .nvmk-filter-heading h2{font-family:var(--nvmk-font-heading);font-size:clamp(28px,3.1vw,42px);font-weight:700;line-height:1.15;letter-spacing:-.025em;margin:0}
.nvmk-problem-filter .nvmk-filter-heading p{font-size:14px;line-height:1.7;max-width:370px;margin:0;color:var(--nvmk-muted,#686e68)}
.nvmk-problem-filter .nvmk-filter-pills{display:flex;flex-wrap:wrap;gap:8px}
.nvmk-problem-filter [hidden]{display:none!important}
.nvmk-problem-filter .nvmk-filter-chip{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid #bac8b8;border-radius:999px;font-family:var(--nvmk-font-body,"NVMKInter",sans-serif);font-size:14px;line-height:1.4;font-weight:400;background:transparent;color:var(--nvmk-text,#29332f);cursor:pointer;text-align:center;transition:background .18s,color .18s,border-color .18s}
.nvmk-problem-filter .nvmk-filter-chip:hover{background:#ffffff8c}
.nvmk-problem-filter .nvmk-filter-chip[aria-pressed=true]{background:#29332f;border-color:#29332f;color:#fff}
.nvmk-problem-filter .nvmk-filter-chip:focus-visible,.nvmk-problem-filter .nvmk-filter-service:focus-visible{outline:3px solid var(--nvmk-green,#376b60);outline-offset:4px}
.nvmk-problem-filter .nvmk-filter-result-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid #91a48c70;margin-top:26px;padding-top:22px}
.nvmk-problem-filter .nvmk-filter-result-heading h3{font-family:var(--nvmk-font-body,"NVMKInter",sans-serif);font-size:15px;line-height:1.5;font-weight:500;margin:0}
.nvmk-problem-filter .nvmk-filter-count{font-size:12px;white-space:nowrap;color:var(--nvmk-muted,#686e68)}
.nvmk-problem-filter .nvmk-filter-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:0;margin-top:10px}
.nvmk-problem-filter .nvmk-filter-service{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;text-decoration:none;color:var(--nvmk-text,#29332f);border-bottom:1px solid #91a48c40}
.nvmk-problem-filter .nvmk-filter-service-title{display:block;font-size:16px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.nvmk-problem-filter .nvmk-filter-service-category{display:block;font-size:12px;line-height:1.6;color:var(--nvmk-muted,#686e68);margin-top:4px}
.nvmk-problem-filter .nvmk-filter-arrow{font-size:23px;flex-shrink:0;transition:transform .18s}
.nvmk-problem-filter .nvmk-filter-service:hover .nvmk-filter-arrow{transform:translate(3px,-3px)}
.nvmk-problem-filter .nvmk-filter-service:hover .nvmk-filter-service-title{text-decoration:underline;text-underline-offset:4px}
.nvmk-problem-filter .nvmk-filter-note{font-size:12px;line-height:1.65;color:var(--nvmk-muted,#686e68);margin:20px 0 0}
.nvmk-problem-filter .nvmk-filter-empty{font-size:14px;line-height:1.7;margin:20px 0;color:var(--nvmk-muted,#686e68)}
.nvmk-problem-filter .nvmk-filter-footer{margin-top:22px}
@media(max-width:800px){.nvmk-problem-filter .nvmk-filter-panel{padding:32px}.nvmk-problem-filter .nvmk-filter-heading{display:block}.nvmk-problem-filter .nvmk-filter-heading p{margin-top:16px;max-width:600px}.nvmk-problem-filter .nvmk-filter-results{column-gap:28px}}
@media(max-width:600px){.nvmk.nvmk-problem-filter{padding-block:24px}.nvmk-problem-filter .nvmk-filter-panel{padding:26px 22px;border-radius:18px}.nvmk-problem-filter .nvmk-filter-heading h2{font-size:28px}.nvmk-problem-filter .nvmk-filter-heading p{font-size:14px}.nvmk-problem-filter .nvmk-filter-pills{gap:7px}.nvmk-problem-filter .nvmk-filter-chip{font-size:12px;padding:10px 13px}.nvmk-problem-filter .nvmk-filter-results{grid-template-columns:minmax(0,1fr)}.nvmk-problem-filter .nvmk-filter-result-heading{flex-wrap:wrap;gap:6px 18px;margin-top:24px}.nvmk-problem-filter .nvmk-filter-service{padding:14px 0}.nvmk-problem-filter .nvmk-filter-service-title{font-size:15px}}
@media(prefers-reduced-motion:reduce){.nvmk-problem-filter .nvmk-filter-chip,.nvmk-problem-filter .nvmk-filter-arrow{transition:none}}


/* ===== [6] nvm-home-v2.css — assets/novame/nvm-home-v2.css ===== */
/* ============================================================
   НОВА МИ · Главная v2 (nvm-home-v2.css)
   Секции: hero (графический), доверие, направления (+моб. слайдер),
   FAQ+отзывы, CTA, контакты. Токены — из макета novame_home.kanva.
   Зависимости: nvmk-core.css (шрифты NVMKBellota/NVMKInter).
   Загружать ПОСЛЕ стилей сайта и nvmk-core.css.
   ============================================================ */

/* --- База секций --- */
.nvmh-hero,
.nvmh-trust,
.nvmh-dirs,
.nvmh-fr,
.nvmh-cta,
.nvmh-contacts {
  box-sizing: border-box;
  font-family: "NVMKInter", -apple-system, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
  color: #29261F;
}
.nvmh-hero *, .nvmh-hero *::before, .nvmh-hero *::after,
.nvmh-trust *, .nvmh-trust *::before, .nvmh-trust *::after,
.nvmh-dirs *, .nvmh-dirs *::before, .nvmh-dirs *::after,
.nvmh-fr *, .nvmh-fr *::before, .nvmh-fr *::after,
.nvmh-cta *, .nvmh-cta *::before, .nvmh-cta *::after,
.nvmh-contacts *, .nvmh-contacts *::before, .nvmh-contacts *::after {
  box-sizing: inherit;
}

.nvmh-hero :focus-visible,
.nvmh-trust :focus-visible,
.nvmh-dirs :focus-visible,
.nvmh-fr :focus-visible,
.nvmh-cta :focus-visible,
.nvmh-contacts :focus-visible {
  outline: 3px solid #4E7E75;
  outline-offset: 3px;
}

.nvmh-eyebrow {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #4E7E75;
}
.nvmh-eyebrow--terra-light { color: #E8A58F; }

.nvmh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 30px;
  border-radius: 999px;
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .01em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s cubic-bezier(.33, 1, .68, 1), box-shadow .25s ease;
}
.nvmh-btn--primary {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #CD7260 0%, #C4674F 48%, #BA5E45 100%);
  color: #FDFBF7;
  box-shadow: inset 0 1px 0 rgba(253, 251, 247, .24), 0 10px 22px -8px rgba(196, 103, 79, .5), 0 26px 44px -22px rgba(196, 103, 79, .4);
}
.nvmh-btn--primary::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 42%, rgba(253, 251, 247, .22) 50%, transparent 58%);
  transform: translateX(-130%);
  transition: transform .55s ease;
}
.nvmh-btn--primary:hover {
  background: linear-gradient(180deg, #D47B67 0%, #CA6D55 48%, #C0654B 100%);
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(253, 251, 247, .28), 0 14px 28px -8px rgba(196, 103, 79, .55), 0 32px 52px -22px rgba(196, 103, 79, .46);
}
.nvmh-btn--primary:hover::after { transform: translateX(130%); }
.nvmh-btn--primary:active { transform: translateY(0); }
.nvmh-btn--ghost {
  border: 1.5px solid rgba(41, 38, 31, .26);
  color: #29261F;
  background: rgba(253, 251, 247, .42);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.nvmh-btn--ghost:hover {
  background: #FDFBF7;
  border-color: rgba(41, 38, 31, .5);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -16px rgba(41, 38, 31, .28);
}
.nvmh-btn--ghost:active { transform: translateY(0); }
.nvmh-btn__icon {
  width: 15px;
  height: 15px;
  margin-left: 9px;
  transition: transform .25s cubic-bezier(.33, 1, .68, 1);
}
.nvmh-btn--ghost:hover .nvmh-btn__icon { transform: translateX(3px); }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* ============================================================
   1. HERO — графическая сцена без растровых изображений
   ============================================================ */
.nvmh-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #FDFBF7 0%, #F6F1EA 50%, #F3E7DD 92%, #F0D9CE 135%);
  padding: clamp(72px, 9vw, 124px) 0 clamp(64px, 7.5vw, 104px);
}
.nvmh-hero__decor { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.nvmh-hero__media {
  position: absolute;
  inset: 0;
}
.nvmh-hero__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 45%;
}
.nvmh-hero__fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(253, 251, 247, 0) 52%, rgba(246, 241, 234, .55) 78%, rgba(246, 241, 234, .92) 92%, #F6F1EA 100%);
}
.nvmh-hero__glow {
  position: absolute;
  left: 50%;
  top: 45%;
  width: 1240px;
  max-width: 170%;
  aspect-ratio: 16 / 10.5;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(253, 251, 247, .66), rgba(253, 251, 247, 0) 74%);
}
.nvmh-hero__spark { position: absolute; height: auto; }
.nvmh-hero__spark--a { width: 14px; left: 11%; top: 20%; }
.nvmh-hero__spark--b { width: 20px; right: 12%; top: 57%; }
.nvmh-hero__spark--c { width: 10px; left: 22%; bottom: 13%; }
@media (prefers-reduced-motion: no-preference) {
  .nvmh-hero__media { animation: nvmh-hero-media-in .8s ease-out both; }
  @keyframes nvmh-hero-media-in {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  .nvmh-hero__spark--a { animation: nvmh-hero-twinkle 3.4s ease-in-out infinite; }
  .nvmh-hero__spark--b { animation: nvmh-hero-twinkle 4.2s ease-in-out .7s infinite; }
  .nvmh-hero__spark--c { animation: nvmh-hero-twinkle 3.8s ease-in-out 1.3s infinite; }
  @keyframes nvmh-hero-twinkle {
    0%, 100% { transform: scale(.72); opacity: .5; }
    50%      { transform: scale(1.1); opacity: 1; }
  }
}

.nvmh-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1020px, 100% - 48px);
  margin: 0 auto;
  text-align: center;
}
.nvmh-hero__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0;
}
.nvmh-hero__eyebrow-rule {
  flex: 0 1 auto;
  min-width: 8px;
  width: clamp(26px, 4vw, 46px);
  height: 1px;
  background: linear-gradient(90deg, rgba(124, 116, 102, 0), rgba(124, 116, 102, .42));
}
.nvmh-hero__eyebrow-rule:last-child {
  background: linear-gradient(90deg, rgba(124, 116, 102, .42), rgba(124, 116, 102, 0));
}
.nvmh-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 9px 16px 9px 18px;
  border-radius: 999px;
  background: rgba(253, 251, 247, .78);
  border: 1px solid #E4DACB;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .19em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #4E7E75;
}
.nvmh-chip::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C4674F;
  box-shadow: 0 0 0 3px rgba(196, 103, 79, .16);
}
.nvmh-hero__title {
  margin: 26px 0 0;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 400;
  font-size: clamp(28px, 5.4vw, 66px);
  line-height: 1.08;
  letter-spacing: -.018em;
  color: #29261F;
}
.nvmh-hero__title-line { display: block; }
.nvmh-hero__brand {
  position: relative;
  font-weight: 700;
  color: #C4674F;
  white-space: nowrap;
}
.nvmh-hero__brand::after {
  content: "";
  position: absolute;
  left: -2%;
  right: -2%;
  bottom: -.045em;
  height: .13em;
  min-height: 4px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 14' preserveAspectRatio='none'%3E%3Cpath d='M4 9.5 C 45 4.5, 88 11.5, 114 7.5 S 182 4, 216 8' stroke='%23E8A58F' stroke-width='4' stroke-linecap='round' fill='none' opacity='.95'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.nvmh-hero__sub {
  margin: 20px auto 0;
  max-width: 600px;
  font-size: clamp(15.5px, 1.45vw, 18.5px);
  line-height: 1.62;
  color: #7C7466;
  text-wrap: balance;
}
.nvmh-hero__cta {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
.nvmh-hero__facts {
  display: flex;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 46px auto 0;
  padding: 20px 12px;
  background: rgba(253, 251, 247, .8);
  border: 1px solid rgba(228, 218, 203, .9);
  border-radius: 24px;
  box-shadow: 0 24px 48px -26px rgba(41, 38, 31, .22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.nvmh-hero__fact {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 2px 30px;
}
.nvmh-hero__fact + .nvmh-hero__fact { border-left: 1px solid rgba(41, 38, 31, .1); }
.nvmh-hero__fact-num {
  order: -1; /* NVM 3.4: в HTML dt идёт первым (валидный dl), визуально число остаётся сверху */
  margin: 0;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(25px, 2.6vw, 33px);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #29261F;
}
.nvmh-hero__fact-cap {
  margin: 5px 0 0;
  font-size: 12.5px;
  line-height: 1.4;
  color: #7C7466;
}
@media (max-width: 900px) {
  .nvmh-hero__facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: min(100%, 480px);
    padding: 10px 6px;
  }
  .nvmh-hero__fact { padding: 14px; }
  .nvmh-hero__fact + .nvmh-hero__fact { border-left: 0; }
  .nvmh-hero__fact:nth-child(2n) { border-left: 1px solid rgba(41, 38, 31, .1); }
  .nvmh-hero__fact:nth-child(n+3) { border-top: 1px solid rgba(41, 38, 31, .1); }
}
@media (max-width: 768px) {
  .nvmh-hero__img { object-position: 30% 42%; }
}
@media (max-width: 600px) {
  .nvmh-hero { padding: 48px 0 44px; }
  .nvmh-hero__inner { width: calc(100% - 40px); }
  .nvmh-hero__eyebrow { gap: 12px; }
  .nvmh-hero__title { margin-top: 20px; }
  .nvmh-hero__sub { margin-top: 14px; }
  .nvmh-hero__cta {
    margin-top: 26px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .nvmh-hero__cta .nvmh-btn { width: min(100%, 320px); }
  .nvmh-hero__facts { margin-top: 32px; }
  .nvmh-hero__spark--a { left: 6%; top: 15%; }
  .nvmh-hero__spark--b { display: none; }
  .nvmh-hero__spark--c { left: 9%; bottom: 24%; }
}
@media (max-width: 400px) {
  .nvmh-chip { font-size: 10px; letter-spacing: .08em; padding: 8px 12px 8px 13px; gap: 7px; }
}
@media (max-width: 340px) {
  .nvmh-hero__title { font-size: 26px; }
}

@media (prefers-reduced-motion: no-preference) {
  .nvmh-chip::before { animation: nvmh-chip-pulse 2.8s ease-in-out infinite; }
  @keyframes nvmh-chip-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(196, 103, 79, .18); }
    50%      { box-shadow: 0 0 0 5px rgba(196, 103, 79, .06); }
  }
  .nvmh-hero__eyebrow,
  .nvmh-hero__title-line,
  .nvmh-hero__sub,
  .nvmh-hero__cta,
  .nvmh-hero__facts {
    animation: nvmh-hero-rise .5s cubic-bezier(.22, .61, .36, 1) both;
  }
  .nvmh-hero__title-line:nth-child(1) { animation-delay: .05s; }
  .nvmh-hero__title-line:nth-child(2) { animation-delay: .11s; }
  .nvmh-hero__sub   { animation-delay: .17s; }
  .nvmh-hero__cta   { animation-delay: .23s; }
  .nvmh-hero__facts { animation-delay: .29s; }
  @keyframes nvmh-hero-rise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

/* ============================================================
   3. ДОВЕРИЕ — тёмная полоса
   ============================================================ */
.nvmh-trust {
  position: relative;
  overflow: hidden;
  background: #29261F;
  color: #FDFBF7;
  padding: clamp(80px, 9vw, 110px) 0;
}
.nvmh-trust__ring {
  position: absolute;
  width: clamp(420px, 50vw, 720px);
  height: auto;
  top: -220px;
  right: -260px;
  pointer-events: none;
}
.nvmh-trust__inner {
  position: relative;
  width: min(1240px, 100% - 80px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: center;
}
.nvmh-trust__title {
  margin: 0;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #FDFBF7;
}
.nvmh-trust__copy {
  margin: 16px 0 0;
  max-width: 46ch;
  font-size: 15.5px;
  line-height: 1.65;
  color: #BDB5A6;
}
.nvmh-trust__license {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 26px 0 0;
  padding: 14px 18px;
  background: #332E26;
  border: 1px solid #4A443A;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.45;
  color: #FDFBF7;
}
.nvmh-trust__license svg {
  flex: none;
  width: 26px;
  height: 26px;
  color: #E8A58F;
}
.nvmh-trust__license b { font-weight: 600; }
.nvmh-trust__metro {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 32px;
}
.nvmh-trust__metro-num {
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(52px, 6vw, 74px);
  line-height: 1;
  color: #E8A58F;
  white-space: nowrap;
}
.nvmh-trust__metro-copy {
  max-width: 24ch;
  font-size: 14.5px;
  line-height: 1.5;
  color: #BDB5A6;
  padding-left: 22px;
  border-left: 1px solid #4A443A;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.nvmh-trust__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nvmh-trust__card {
  padding: 24px;
  background: #332E26;
  border: 1px solid #4A443A;
  border-radius: 20px;
}
.nvmh-trust__card svg {
  width: 28px;
  height: 28px;
  margin-bottom: 14px;
  color: #E8A58F;
}
.nvmh-trust__card h3 {
  margin: 0 0 8px;
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.35;
  color: #FDFBF7;
}
.nvmh-trust__card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #BDB5A6;
}
@media (max-width: 1024px) {
  .nvmh-trust__inner { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 1100px) {
  .nvmh-trust__inner { width: calc(100% - 48px); }
}
@media (max-width: 600px) {
  .nvmh-trust__inner { width: calc(100% - 40px); }
  .nvmh-trust__cards { grid-template-columns: 1fr; }
  .nvmh-trust__metro { gap: 14px; }
}

/* ============================================================
   4. НАПРАВЛЕНИЯ — 4 карточки; ≤768px CSS scroll-snap слайдер
   ============================================================ */
.nvmh-dirs {
  background: #F6F1EA;
  padding: clamp(72px, 8vw, 104px) 0;
}
.nvmh-dirs__inner {
  width: min(1240px, 100% - 80px);
  margin: 0 auto;
}
.nvmh-dirs__head {
  max-width: 720px;
  margin-bottom: 40px;
}
.nvmh-dirs__title {
  margin: 0;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.nvmh-dirs__sub {
  margin: 12px 0 0;
  font-size: 15.5px;
  line-height: 1.6;
  color: #7C7466;
}
.nvmh-dirs__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
}
.nvmh-dir {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px 26px 24px;
  background: #FDFBF7;
  border: 1px solid #E4DACB;
  border-radius: 20px;
  box-shadow: 0 6px 14px rgba(41, 38, 31, .07);
}
.nvmh-dir__tag {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #C4674F;
  color: #FDFBF7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nvmh-dir__title {
  margin: 0;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.2;
}
.nvmh-dir__list {
  display: grid;
  gap: 9px;
  margin: 16px 0 18px;
  padding: 0;
  list-style: none;
}
.nvmh-dir__list a {
  position: relative;
  display: block;
  padding-left: 16px;
  font-size: 14.5px;
  line-height: 1.45;
  color: #29261F;
  text-decoration: none;
  transition: color .15s ease;
}
.nvmh-dir__list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: .52em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C4674F;
}
.nvmh-dir__list a:hover { color: #C4674F; }
.nvmh-dir__more {
  margin-top: auto;
  font-size: 14px;
  font-weight: 500;
  color: #C4674F;
  text-decoration: none;
}
.nvmh-dir__more:hover { text-decoration: underline; text-underline-offset: 3px; }

.nvmh-dir--hit {
  background: #29261F;
  border-color: #29261F;
}
.nvmh-dir--hit .nvmh-dir__title { color: #FDFBF7; }
.nvmh-dir--hit .nvmh-dir__sub { color: #BDB5A6; }
.nvmh-dir--hit .nvmh-dir__list a { color: #FDFBF7; }
.nvmh-dir--hit .nvmh-dir__list a:hover { color: #E8A58F; }
.nvmh-dir--hit .nvmh-dir__more { color: #E8A58F; }

.nvmh-dirs__dots { display: none; }

@media (max-width: 1100px) {
  .nvmh-dirs__inner { width: calc(100% - 48px); }
  .nvmh-dirs__track { gap: 20px; }
}
@media (max-width: 1024px) and (min-width: 769px) {
  .nvmh-dirs__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .nvmh-dirs__track {
    display: flex;
    gap: 16px;
    margin: 0 -24px;
    padding: 4px 0 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  /* нулевой спейсер + gap = первый слайд ровно в 16px от края
     (padding-left на scroll-контейнере игнорируется при scroll-snap) */
  .nvmh-dirs__track::before { content: ""; flex: 0 0 0; }
  .nvmh-dirs__track::-webkit-scrollbar { display: none; }
  .nvmh-dir {
    flex: 0 0 84%;
    scroll-snap-align: start;
  }
  .nvmh-dirs__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
  }
  .nvmh-dirs__dots span {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #D8CDBC;
    transition: width .25s ease, background-color .25s ease;
  }
  .nvmh-dirs__dots span.is-active {
    width: 22px;
    background: #C4674F;
  }
}
@media (max-width: 600px) {
  .nvmh-dirs__inner { width: calc(100% - 40px); }
  .nvmh-dirs__head { margin-bottom: 28px; }
  /* inset контейнера 20px → трек на всю ширину; отступ слева даёт gap+спейсер */
  .nvmh-dirs__track { margin: 0 -20px; }
}
@media (max-width: 480px) {
  .nvmh-dir { flex-basis: 86%; }
}

/* ============================================================
   6. FAQ + ОТЗЫВЫ — асимметричная сетка с вертикальной линией
   ============================================================ */
.nvmh-fr {
  background: #FDFBF7;
  border-top: 1px solid #E4DACB;
  border-bottom: 1px solid #E4DACB;
  padding: clamp(76px, 8vw, 110px) 0;
}
.nvmh-fr__inner {
  width: min(1240px, 100% - 80px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: stretch;
}
.nvmh-fr__col { min-width: 0; }
.nvmh-fr__col--reviews { padding-right: clamp(30px, 4vw, 62px); }
.nvmh-fr__col--faq {
  display: flex;
  flex-direction: column;
  border-left: 1px solid #E4DACB;
  padding-left: clamp(30px, 4vw, 62px);
}
.nvmh-fr .nvmh-eyebrow { line-height: 1.4; }
.nvmh-fr__title {
  margin: 0 0 20px;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.nvmh-fr__all {
  display: inline-block;
  margin-top: 18px;
  font-size: 14.5px;
  font-weight: 500;
  color: #C4674F;
  text-decoration: none;
}
.nvmh-fr__all:hover { text-decoration: underline; text-underline-offset: 3px; }

/* --- Отзывы: фирменная подача существующего виджета --- */
.nvmh-fr__reviews .nvm-yreviews { width: 100%; margin: 0; }
.nvmh-fr__reviews .nvm-yreviews__head {
  align-items: end;
  gap: 24px;
  margin-bottom: 26px;
}
.nvmh-fr__reviews .nvm-yreviews__eyebrow {
  margin: 0 0 12px;
  color: #4E7E75;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .15em;
}
.nvmh-fr__reviews .nvm-yreviews__eyebrow::before {
  width: 6px;
  height: 6px;
  background: #C4674F;
}
.nvmh-fr__reviews .nvm-yreviews h2 {
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #29261F;
}
.nvmh-fr__reviews .nvm-yreviews__source {
  padding-bottom: 5px;
  font-size: 14px;
  font-weight: 500;
  color: #C4674F;
  text-decoration: none;
  border-bottom: 1px solid rgba(196, 103, 79, .35);
  transition: color .2s ease, border-color .2s ease;
}
.nvmh-fr__reviews .nvm-yreviews__source:hover {
  color: #A8543E;
  border-bottom-color: #A8543E;
}
.nvmh-fr__reviews .nvm-yreviews__grid { align-items: stretch; }
.nvmh-fr__reviews .nvm-yreviews__card,
.nvmh-fr__reviews .nvm-yreviews-card {
  background: #FDFBF7;
  border: 1px solid #E4DACB;
  border-radius: 20px;
  box-shadow: 0 6px 14px rgba(41, 38, 31, .07);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nvmh-fr__reviews .nvm-yreviews__card::before { background: #C4674F; }
.nvmh-fr__reviews .nvm-yreviews__card:hover {
  transform: translateY(-3px);
  border-color: rgba(196, 103, 79, .4);
  box-shadow: 0 14px 30px rgba(41, 38, 31, .1);
}
.nvmh-fr__reviews .nvm-yreviews__rating,
.nvmh-fr__reviews .nvm-yreviews__stars { color: #C4674F; }
.nvmh-fr__reviews .nvm-yreviews__label { color: #7C7466; font-weight: 500; }
.nvmh-fr__reviews .nvm-yreviews blockquote { color: #29261F; }
.nvmh-fr__reviews .nvm-yreviews__toggle {
  color: #C4674F;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(196, 103, 79, .35);
  padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}
.nvmh-fr__reviews .nvm-yreviews__toggle:hover {
  color: #A8543E;
  border-bottom-color: #A8543E;
}
.nvmh-fr__reviews .nvm-yreviews__author { color: #29261F; font-weight: 500; }
.nvmh-fr__reviews .nvm-yreviews time { color: #7C7466; }
.nvmh-fr__reviews .nvm-yreviews__open {
  color: #C4674F;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.nvmh-fr__reviews .nvm-yreviews__open:hover {
  color: #A8543E;
  border-bottom-color: rgba(168, 84, 62, .5);
  text-decoration: none;
}
.nvmh-fr__reviews .nvm-yreviews__btn,
.nvmh-fr__reviews .nvm-yreviews__control,
.nvmh-fr__reviews .nvm-yreviews__nav button {
  border: 1px solid #E4DACB;
  background: #FDFBF7;
  color: #C4674F;
  transition: border-color .2s ease, background-color .2s ease;
}
.nvmh-fr__reviews .nvm-yreviews__control:hover {
  border-color: rgba(196, 103, 79, .45);
  background: #F6F1EA;
}
/* Десктоп/планшет: крупная карточка-цитата + две малые под ней */
@media (min-width: 768px) {
  .nvmh-fr__reviews .nvm-yreviews__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .nvmh-fr__reviews .nvm-yreviews__card:first-child {
    grid-column: 1 / -1;
    aspect-ratio: auto;
    padding: 30px 34px 28px;
  }
  .nvmh-fr__reviews .nvm-yreviews__card:first-child::after {
    content: "\201C";
    position: absolute;
    top: 2px;
    right: 24px;
    font-family: "NVMKBellota", Georgia, serif;
    font-weight: 700;
    font-size: 110px;
    line-height: 1;
    color: #F0D9CE;
    pointer-events: none;
  }
  .nvmh-fr__reviews .nvm-yreviews__card:first-child .nvm-yreviews__meta {
    padding-right: 78px;
  }
  .nvmh-fr__reviews .nvm-yreviews__card:first-child blockquote {
    max-width: 88%;
    font-size: 17.5px;
    line-height: 1.62;
    -webkit-line-clamp: 4;
  }
  .nvmh-fr__reviews .nvm-yreviews__card:not(:first-child) {
    aspect-ratio: auto;
    height: 100%;
  }
}

/* --- FAQ: нумерованные строки на тонких разделителях --- */
.nvmh-faq {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #E4DACB;
}
.nvmh-faq__item {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: transparent;
  border: 0;
  border-top: 1px solid #E4DACB;
  border-radius: 0;
  overflow: visible;
}
.nvmh-faq__item[open] { border-color: #E4DACB; }
.nvmh-faq__q {
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 20px 4px;
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  color: #29261F;
  transition: color .2s ease;
}
.nvmh-faq__q::-webkit-details-marker { display: none; }
.nvmh-faq__q > span:nth-child(2) { flex: 1; min-width: 0; }
.nvmh-faq__q:hover { color: #C4674F; }
.nvmh-faq__num {
  flex: none;
  width: 30px;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: 14.5px;
  letter-spacing: .04em;
  color: #C4674F;
}
.nvmh-faq__icon {
  position: relative;
  flex: none;
  align-self: center;
  width: 28px;
  height: 28px;
  border: 1.5px solid rgba(196, 103, 79, .55);
  border-radius: 50%;
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.nvmh-faq__q:hover .nvmh-faq__icon { border-color: #C4674F; }
.nvmh-faq__icon::before,
.nvmh-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 1.6px;
  background: #C4674F;
  transform: translate(-50%, -50%);
  transition: background-color .25s ease;
}
.nvmh-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.nvmh-faq__item[open] .nvmh-faq__icon {
  background: #C4674F;
  border-color: #C4674F;
  transform: rotate(45deg);
}
.nvmh-faq__item[open] .nvmh-faq__icon::before,
.nvmh-faq__item[open] .nvmh-faq__icon::after { background: #FDFBF7; }
.nvmh-faq__a { padding: 2px 8px 24px 52px; }
.nvmh-faq__a p {
  margin: 0;
  max-width: 58ch;
  font-size: 14.5px;
  line-height: 1.7;
  color: #7C7466;
}
@media (max-width: 1100px) {
  .nvmh-fr__inner { width: calc(100% - 48px); }
}
@media (max-width: 1023px) {
  .nvmh-fr__inner { grid-template-columns: 1fr; }
  .nvmh-fr__col--reviews { padding-right: 0; }
  .nvmh-fr__col--faq {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid #E4DACB;
    margin-top: clamp(48px, 8vw, 68px);
    padding-top: clamp(48px, 8vw, 68px);
  }
}
@media (max-width: 767px) {
  .nvmh-fr__reviews .nvm-yreviews__head { align-items: start; gap: 14px; }
}
@media (max-width: 600px) {
  .nvmh-fr__inner { width: calc(100% - 40px); }
  .nvmh-fr__reviews .nvm-yreviews__head { margin-bottom: 20px; }
  .nvmh-faq__q { gap: 14px; padding: 18px 2px; font-size: 15px; }
  .nvmh-faq__num { width: 26px; font-size: 13.5px; }
  .nvmh-faq__a { padding: 2px 2px 22px 42px; }
}

/* ============================================================
   8. CTA-ПОЛОСА
   ============================================================ */
.nvmh-cta {
  padding: clamp(56px, 7vw, 88px) 0;
}
.nvmh-cta__panel {
  width: min(1240px, 100% - 80px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 48px);
  background: #F0D9CE;
  border-radius: 24px;
}
.nvmh-cta__title {
  margin: 0 0 8px;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.nvmh-cta__sub {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #7C7466;
}
.nvmh-cta__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.nvmh-cta__phone {
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(20px, 2.4vw, 26px);
  color: #C4674F;
  text-decoration: none;
  white-space: nowrap;
}
.nvmh-cta__phone:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1100px) {
  .nvmh-cta__panel { width: calc(100% - 48px); }
}
@media (max-width: 640px) {
  .nvmh-cta__panel {
    width: calc(100% - 40px);
    flex-direction: column;
    text-align: center;
  }
  .nvmh-cta__actions {
    flex-direction: column;
    width: 100%;
  }
  .nvmh-cta__actions .nvmh-btn { width: 100%; }
}

/* ============================================================
   9. КОНТАКТЫ
   ============================================================ */
.nvmh-contacts {
  background: #F6F1EA;
  padding: clamp(72px, 8vw, 104px) 0;
}
.nvmh-contacts__inner {
  width: min(1240px, 100% - 80px);
  margin: 0 auto;
}
.nvmh-contacts__head { margin-bottom: 36px; }
.nvmh-contacts__title {
  margin: 0;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.nvmh-contacts__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 32px;
  align-items: stretch;
}
.nvmh-contacts__card {
  padding: clamp(24px, 3vw, 36px);
  background: #FDFBF7;
  border: 1px solid #E4DACB;
  border-radius: 20px;
  box-shadow: 0 6px 14px rgba(41, 38, 31, .07);
}
.nvmh-contacts__caption {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #7C7466;
}
.nvmh-contacts__address {
  margin: 0 0 22px;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(20px, 2.4vw, 26px);
  line-height: 1.25;
}
.nvmh-contacts__row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px;
  font-size: 14.5px;
  line-height: 1.55;
}
.nvmh-contacts__row svg {
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: #4E7E75;
}
.nvmh-contacts__phone {
  display: inline-block;
  margin: 8px 0 22px;
  font-family: "NVMKBellota", Georgia, serif;
  font-weight: 700;
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.1;
  color: #C4674F;
  text-decoration: none;
}
.nvmh-contacts__phone:hover { text-decoration: underline; text-underline-offset: 4px; }
.nvmh-contacts__chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.nvmh-contacts__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  transition: background-color .2s ease;
}
.nvmh-contacts__chip svg {
  width: 17px;
  height: 17px;
  flex: none;
}
.nvmh-contacts__chip--tg {
  background: rgba(78, 126, 117, .13);
  color: #3E6A62;
}
.nvmh-contacts__chip--tg:hover { background: rgba(78, 126, 117, .22); }
.nvmh-contacts__chip--max {
  background: rgba(196, 103, 79, .12);
  color: #B05841;
}
.nvmh-contacts__chip--max:hover { background: rgba(196, 103, 79, .2); }
.nvmh-contacts__map {
  overflow: hidden;
  border: 1px solid #E4DACB;
  border-radius: 20px;
  box-shadow: 0 6px 14px rgba(41, 38, 31, .07);
}
.nvmh-contacts__map iframe,
.nvmh-contacts__map #nvmh-map {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 400px;
  border: 0;
}
.nvmh-contacts__map-fallback {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 100%;
  min-height: 400px;
  padding: 24px;
  text-align: center;
  font-size: 14px;
  color: #7C7466;
}
.nvmh-contacts__map-fallback a {
  color: #C4674F;
  font-weight: 500;
  text-decoration: none;
}
.nvmh-contacts__map-fallback a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Свой маркер на карте (JS API 3.0) */
.nvmh-map-pin {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  outline-offset: 3px;
}
.nvmh-map-pin__dot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #C4674F;
  border: 2px solid #FDFBF7;
  box-shadow: 0 6px 16px rgba(41, 38, 31, .35);
  color: #FDFBF7;
  transition: transform .18s ease;
}
.nvmh-map-pin__dot svg { width: 22px; height: 22px; }
.nvmh-map-pin__label {
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(253, 251, 247, .94);
  border: 1px solid #E4DACB;
  box-shadow: 0 2px 8px rgba(41, 38, 31, .15);
  font-family: "NVMKInter", -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #29261F;
  white-space: nowrap;
}
.nvmh-map-pin:hover .nvmh-map-pin__dot { transform: scale(1.08); }
@media (max-width: 1100px) {
  .nvmh-contacts__inner { width: calc(100% - 48px); }
}
@media (max-width: 900px) {
  .nvmh-contacts__grid { grid-template-columns: 1fr; }
  .nvmh-contacts__map iframe, .nvmh-contacts__map #nvmh-map { min-height: 320px; aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
  .nvmh-contacts__inner { width: calc(100% - 40px); }
}
/* Карта — как на проде: только десктоп/планшет; на мобильных — кнопка маршрута */
.nvmh-contacts__route {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 18px;
  padding: 13px 18px;
  border-radius: 999px;
  border: 1.5px solid rgba(78, 126, 117, .45);
  color: #3E6A62;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .2s ease;
}
.nvmh-contacts__route:hover { background: rgba(78, 126, 117, .12); }
.nvmh-contacts__route svg { width: 17px; height: 17px; flex: none; }
@media (max-width: 767px) {
  .nvmh-contacts__map { display: none; }
  /* кнопка маршрута ровно по ширине сетки чипов выше */
  .nvmh-contacts__route { display: flex; width: 100%; }
}

/* ============================================================
   5b. ВРАЧИ — мобильный слайдер (переопределение kimi-kit 01,
   файлы кита не меняются). Десктоп/планшет — как в ките.
   ============================================================ */
@media (max-width: 768px) {
  .nvmk-doctors .nvmk-doctors-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 0 -24px;
    padding: 4px 0 14px;
  }
  /* нулевой спейсер + gap = первая карточка в 16px от края
     (padding-left на scroll-контейнере игнорируется при scroll-snap) */
  .nvmk-doctors .nvmk-doctors-grid::before { content: ""; flex: 0 0 0; }
  .nvmk-doctors .nvmk-doctors-grid::-webkit-scrollbar { display: none; }
  .nvmk-doctors .nvmk-doctor-card {
    flex: 0 0 85%;
    scroll-snap-align: start;
    grid-template-columns: minmax(0, 1fr);  /* фото сверху */
    min-height: 0;
  }
  .nvmk-doctors .nvmk-doctor-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;                    /* фото 1×1 */
  }
}
@media (max-width: 600px) {
  .nvmk-doctors .nvmk-doctors-grid { margin: 0 -20px; }
}

/* ============================================================
   Стыки с шаблоном сайта (только главная: файл подключён
   в контенте главной и на другие страницы не попадает)
   ============================================================ */
/* Убираем белую полосу между блоком контактов и футером:
   у сайта .nv-site-main{padding:0 0 40px} (≤760px) и
   .nvm-site-footer{margin:40px 0 0 !important} (nvm-design-system) */
.nv-site-main { padding-bottom: 0; }
.nvm-site-footer { margin-top: 0 !important; }

/* ============================================================
   Шрифты кита в woff2 (~300 КБ вместо ~900 КБ TTF).
   @font-face с тем же family/weight ниже по порядку перекрывает
   правило из nvmk-core.css — файлы кита не меняем, TTF не грузятся.
   ============================================================ */
@font-face {
  font-family: "NVMKBellota";
  src: url("/assets/novame/ui-kit-v1/fonts/bellota-regular-cyrillic.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVMKBellota";
  src: url("/assets/novame/ui-kit-v1/fonts/bellota-bold-cyrillic.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVMKInter";
  src: url("/assets/novame/ui-kit-v1/fonts/inter-regular-cyrillic.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVMKInter";
  src: url("/assets/novame/ui-kit-v1/fonts/inter-medium-cyrillic.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* ============================================================
   Reduced motion — отключаем все анимации/переходы новых секций
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .nvmh-hero *, .nvmh-trust *, .nvmh-dirs *, .nvmh-fr *, .nvmh-cta *, .nvmh-contacts * {
    animation: none !important;
    transition: none !important;
  }
}


/* ===== [7] nvm-home-filter-polish.css — assets/novame/nvm-home-filter-polish.css ===== */
/* ============================================================
   НОВА МИ · Главная v2 — полировка фильтра (nvm-home-filter-polish.css)
   Переопределения kimi-kit 02-problem-filter ТОЛЬКО для главной.
   Файлы кита (nvmk-filter.css/js, чанк) не меняются — требование ТЗ.
   Скоуп: .nvmk-problem-filter …
   Загружать ПОСЛЕ nvmk-filter.css и nvm-home-v2.css.

   v2 (29.09): чипы — ровная grid-сетка одинаковой ширины
   (4 кол. десктоп/планшет, 2 кол. мобильные — все 16 видны сразу,
   без свайп-ленты). Палитра — страничная: paper #FDFBF7 / cream
   #F6F1EA / line #E4DACB / ink #29261F / terra #C4674F / teal
   #4E7E75 (только eyebrow и фокус-аутлайн). Зелень кита убрана.
   v2.1 (29.09): чип display:block + line-height вместо inline-flex —
   text-overflow:ellipsis реально работает (китовский flex клиппил
   «Волосы и кожа головы» на 320px без многоточия).
   ============================================================ */

/* ---------- Секция: воздух между светлым hero и тёмной полосой ---------- */
.nvmk.nvmk-problem-filter{padding-block:56px}

/* ---------- Панель: paper вместо green-soft ---------- */
.nvmk-problem-filter .nvmk-filter-panel{
  background:#fdfbf7;
  border:1px solid #e4dacb;
  border-radius:24px;
  padding:44px 48px;
  box-shadow:0 28px 56px -36px rgba(41,38,31,.22);
}

/* ---------- Шапка панели ---------- */
.nvmk-problem-filter .nvmk-filter-heading{
  align-items:flex-end;
  gap:40px;
  margin-bottom:30px;
}
.nvmk.nvmk-problem-filter .nvmk-filter-heading .nvmk-eyebrow{
  display:inline-block;
  margin-bottom:12px;
  color:#4e7e75;
}
.nvmk-problem-filter .nvmk-filter-heading h2{
  color:#29261f;
}
.nvmk-problem-filter .nvmk-filter-heading p{
  padding-bottom:5px; /* оптическая базовая линия с H2 */
  color:#7c7466;
}

/* ---------- Чипы: ровная сетка 4 × 4 ---------- */
.nvmk-problem-filter .nvmk-filter-pills{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.nvmk-problem-filter .nvmk-filter-chip{
  display:block; /* иначе inline-flex кита не даёт text-overflow:ellipsis */
  width:100%;
  min-height:48px;
  padding:12px 10px;
  font-size:14px;
  font-weight:500;
  line-height:22px; /* 48 - 12*2 - 1*2: вертикальный центр при display:block */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:#f6f1ea;
  border:1px solid #e4dacb;
  color:#29261f;
}
.nvmk-problem-filter .nvmk-filter-chip:hover{
  background:#fdfbf7;
  border-color:#c4674f;
  color:#c4674f;
}
.nvmk-problem-filter .nvmk-filter-chip[aria-pressed=true]{
  background:#29261f;
  border-color:#29261f;
  color:#fdfbf7;
  box-shadow:0 10px 18px -10px rgba(41,38,31,.5);
}
.nvmk-problem-filter .nvmk-filter-chip[aria-pressed=true]:hover{
  background:#3a352c;
  border-color:#3a352c;
  color:#fdfbf7;
}
/* фокус — teal из палитры страницы */
.nvmk-problem-filter .nvmk-filter-chip:focus-visible,
.nvmk-problem-filter .nvmk-filter-service:focus-visible{
  outline-color:#4e7e75;
}

/* ---------- Заголовок результата + счётчик ---------- */
.nvmk-problem-filter .nvmk-filter-result-heading{
  align-items:center;
  margin-top:32px;
  padding-top:24px;
  border-top-color:#e4dacb;
}
.nvmk-problem-filter .nvmk-filter-result-heading h3{
  font-size:17px;
  color:#29261f;
}
.nvmk-problem-filter .nvmk-filter-count{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:3px 12px;
  background:#f6f1ea;
  border:1px solid #e4dacb;
  border-radius:999px;
  font-weight:500;
  color:#7c7466;
}

/* ---------- Список услуг ---------- */
.nvmk-problem-filter .nvmk-filter-results{
  column-gap:48px;
  margin-top:4px;
}
.nvmk-problem-filter .nvmk-filter-service{
  margin-inline:-14px;
  padding:16px 14px;
  border-radius:14px;
  border-bottom-color:#ece3d4;
  color:#29261f;
  transition:background .18s;
}
.nvmk-problem-filter .nvmk-filter-service:hover{
  background:#f6f1ea;
}
.nvmk-problem-filter .nvmk-filter-service-category{
  color:#7c7466;
}
.nvmk-problem-filter .nvmk-filter-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex-shrink:0;
  border:1px solid #e4dacb;
  border-radius:50%;
  background:#f6f1ea;
  color:#29261f;
  font-size:16px;
  line-height:1;
  transition:transform .18s,background .18s,border-color .18s,color .18s;
}
.nvmk-problem-filter .nvmk-filter-service:hover .nvmk-filter-arrow{
  background:#c4674f;
  border-color:#c4674f;
  color:#fdfbf7;
  transform:translate(2px,-2px);
}

/* ---------- Сноска, пустое состояние и CTA ---------- */
.nvmk-problem-filter .nvmk-filter-note,
.nvmk-problem-filter .nvmk-filter-empty{
  color:#7c7466;
}
.nvmk-problem-filter .nvmk-filter-note{
  margin-top:24px;
}
.nvmk-problem-filter .nvmk-filter-footer{
  margin-top:26px;
}
.nvmk-problem-filter .nvmk-button--secondary{
  border-color:#c4674f;
  color:#c4674f;
  gap:14px;
}
.nvmk-problem-filter .nvmk-button--secondary:hover{
  background:#c4674f;
  border-color:#c4674f;
  color:#fdfbf7;
}
.nvmk-problem-filter .nvmk-button--secondary span[aria-hidden]{
  display:inline-block;
  transition:transform .2s;
}
.nvmk-problem-filter .nvmk-button--secondary:hover span[aria-hidden]{
  transform:translate(2px,-2px);
}

/* ---------- Планшет ---------- */
@media(max-width:1024px){
  .nvmk.nvmk-problem-filter{padding-block:44px}
  .nvmk-problem-filter .nvmk-filter-panel{padding:36px 32px}
  .nvmk-problem-filter .nvmk-filter-pills{gap:8px}
  .nvmk-problem-filter .nvmk-filter-chip{
    min-height:46px;
    padding:11px 6px;
    font-size:13px;
  }
  .nvmk-problem-filter .nvmk-filter-results{column-gap:32px}
}

/* ---------- Планшет портрет ---------- */
@media(max-width:768px){
  .nvmk.nvmk-problem-filter{padding-block:36px}
  .nvmk-problem-filter .nvmk-filter-panel{padding:28px 24px;border-radius:20px}
  .nvmk-problem-filter .nvmk-filter-heading{margin-bottom:24px}
  .nvmk-problem-filter .nvmk-filter-heading p{padding-bottom:0;margin-top:14px}
  .nvmk-problem-filter .nvmk-filter-result-heading{margin-top:26px;padding-top:20px}
  .nvmk-problem-filter .nvmk-filter-result-heading h3{font-size:16px}
  .nvmk-problem-filter .nvmk-filter-service{margin-inline:-10px;padding:14px 10px}
  .nvmk-problem-filter .nvmk-filter-arrow{width:34px;height:34px;font-size:15px}
  .nvmk-problem-filter .nvmk-filter-footer{margin-top:22px}
}

/* ---------- Мобильные: ровная сетка 2 × 8, все чипы видны ---------- */
@media(max-width:640px){
  .nvmk-problem-filter .nvmk-filter-panel{padding:24px 16px}
  .nvmk-problem-filter .nvmk-filter-pills{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .nvmk-problem-filter .nvmk-filter-chip{
    min-height:36px;
    padding:6px 6px;
    font-size:12.5px;
  }
  .nvmk-problem-filter .nvmk-button--secondary{width:100%;max-width:340px}
}

/* ---------- Маленькие экраны ---------- */
@media(max-width:400px){
  .nvmk-problem-filter .nvmk-filter-panel{padding:24px 14px;border-radius:18px}
  .nvmk-problem-filter .nvmk-filter-pills{gap:6px}
  .nvmk-problem-filter .nvmk-filter-chip{
    padding:5px 4px;
    font-size:12px;
    letter-spacing:-0.01em;
  }
  .nvmk-problem-filter .nvmk-button--secondary{max-width:none}
}


/* ===== [8] nvm-yreviews-v2.css — assets/novame/seo/nvm-yreviews-v2.css ===== */
.nvm-yreviews{width:min(1240px,calc(100% - 32px));margin:48px auto;font-family:inherit}.nvm-yreviews__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.nvm-yreviews__eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nvm-yreviews__eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#BC5850}.nvm-yreviews h2{margin:0;color:#0f172a;font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.08}.nvm-yreviews__source{color:#BC5850;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.nvm-yreviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}.nvm-yreviews__card{position:relative;display:flex;aspect-ratio:1/1;min-width:0;flex-direction:column;padding:26px 26px 24px;border:1px solid rgba(26,127,116,.42);border-radius:20px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.055);scroll-snap-align:start}.nvm-yreviews__card.is-expanded{aspect-ratio:auto;min-height:100%}.nvm-yreviews__card:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:0 4px 4px 0;background:#BC5850}.nvm-yreviews__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;padding-left:9px}.nvm-yreviews__rating{color:#BC5850;font-size:15px;letter-spacing:2px;line-height:1}.nvm-yreviews__label{color:#64748b;font-size:12px;font-weight:700}.nvm-yreviews blockquote{display:-webkit-box;overflow:hidden;margin:0;padding-left:9px;color:#334155;font-size:16px;line-height:1.58;-webkit-box-orient:vertical;-webkit-line-clamp:6}.nvm-yreviews__card.is-expanded blockquote{display:block;overflow:visible;-webkit-line-clamp:unset}.nvm-yreviews__toggle{align-self:flex-start;margin:14px 0 0 9px;padding:0;border:0;background:transparent;color:#BC5850;font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.nvm-yreviews__toggle:hover{color:#93443e}.nvm-yreviews__foot{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding:22px 0 0 9px}.nvm-yreviews__author{color:#0f172a;font-size:15px;font-weight:700}.nvm-yreviews time{display:block;margin-top:3px;color:#94a3b8;font-size:13px}.nvm-yreviews__open{display:inline-flex;align-items:center;gap:7px;color:#BC5850;font-size:13px;font-weight:700;text-decoration:none}.nvm-yreviews__open:hover{text-decoration:underline}.nvm-yreviews__controls{display:none}.nvm-yreviews__control{width:40px;height:40px;border:1px solid rgba(26,127,116,.42);border-radius:50%;background:#fff;color:#BC5850;font-size:22px;line-height:1;transition:transform .16s ease,background .16s ease}.nvm-yreviews__control:active{transform:scale(.95)}.nvm-yreviews__control:focus-visible,.nvm-yreviews__source:focus-visible,.nvm-yreviews__open:focus-visible,.nvm-yreviews__toggle:focus-visible{outline:3px solid rgba(188,88,80,.3);outline-offset:3px}@media(max-width:767px){.nvm-yreviews{width:calc(100% - 32px);margin:36px auto}.nvm-yreviews__head{align-items:start;flex-direction:column;margin-bottom:14px}.nvm-yreviews h2{font-size:28px}.nvm-yreviews__grid{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 12px}.nvm-yreviews__grid::-webkit-scrollbar{display:none}.nvm-yreviews__card{flex:0 0 calc(100% - 14px);padding:22px 20px 22px 22px;border-radius:16px}.nvm-yreviews__card:before{top:18px;bottom:18px;width:3px}.nvm-yreviews blockquote{font-size:15px;line-height:1.55;-webkit-line-clamp:5}.nvm-yreviews__toggle{margin-top:12px;font-size:13px}.nvm-yreviews__foot{align-items:start;flex-direction:column;padding-top:16px}.nvm-yreviews__controls{display:flex;gap:8px;margin-top:4px}.nvm-yreviews__source{font-size:13px}}


/* ============================================================
   NVM-FIX-20261001 (моб. блок доверия): grid blowout 1fr→minmax(0,1fr)
   + metro «2 минуты» nowrap 245px не влезал в 350px контейнер.
   Симптом: контент блока nvmh-trust на ≤600px съезжал вправо на 16px.
   ============================================================ */
@media (max-width: 1024px) {
  .nvmh-trust__inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .nvmh-trust__metro { flex-wrap: wrap; }
  .nvmh-trust__metro-num { font-size: 44px; }
  .nvmh-trust__metro-copy { padding-left: 16px; }
}
