/* ==========================================================================
   MM CLINIC (СОЧИ, АДЛЕР) — ВЕРСИЯ /2/
   CONCEPT: FULL-WIDTH ARCHITECTURAL CINEMA & SCULPTED MONOLITHS
   --------------------------------------------------------------------------
   Исправления по результатам жёсткой диагностики:
   1. ЧЕСТНЫЕ 100% ШИРИНЫ ЭКРАНА (FULL-BLEED WIDESCREEN):
      Никаких зажатых контейнеров max-width: 1640px. Все секции, шапка и сетки
      растягиваются на всю ширину монитора (width: 100%; max-width: none; padding: 0 4.444vw).
   2. ОТКАЗ ОТ «ПЛИТОК / КВАДРАТОВ EXCEL» И ОТ «КРУГЛЫХ ПЛАШЕЧЕК»:
      - 0% мелких овальных таблеток (border-radius: 999px полностью убран из бейджей и тегов).
      - Вместо плоских квадратов 0px — скульптурные архитектурные монолиты (радиус 16px–20px),
        многослойная глубина, верхний спекулярный блик (1px linear-gradient) и живой
        интерактивный прожектор курсора (--mx, --my).
   3. КВИЗ (#03-quiz) С 4 РАЗНЫМИ ЦВЕТОВЫМИ ВСЕЛЕННЫМИ КАРТОЧЕК ОТВЕТОВ:
      Каждая из 4 карточек ответа имеет собственную благородную фактуру и цвет:
      - Card 1: Deep Obsidian & Champagne Gold (#1E1C19 -> #141311)
      - Card 2: Deep Emerald Clinical Slate (#142422 -> #0E1817)
      - Card 3: Royal Bronze & Amber Flagship (#2D2216 -> #1B150E)
      - Card 4: Warm Travertine Alabaster Pearl (#F4EFE6 -> #E6DEC8, тёмный шрифт)
      + Живой 3D-экран диагностики и карточка куратора строго одной высоты (0 дыр).
   4. ЖЕЛЕЗНОЕ ВЫРАВНИВАНИЕ ВЫСОТ НА ВСЕХ ЭКРАНАХ 01–08:
      - Sticky-шапка: никаких переносов телефона и адреса (white-space: nowrap).
      - Экран 01 (Hero): эталонная геометрия 1:1 на всю ширину экрана.
      - Экран 02 (Прайс): 3 колонки со строго фиксированными горизонтальными уровнями.
      - Экран 04 (Династия): двухъярусная симметрия (50/50 основатели + 4 врача в ряд одной высоты).
      - Экран 05 (Финансы): неразрывные суммы (white-space: nowrap) и равная высота островов.
      - Экран 07 (Гарантии и FAQ): 2 независимые колонки аккордеона (без растягивания соседей).
   ========================================================================== */

:root {
  --font-hero: 'Unbounded', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-heading: 'Unbounded', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: 'Unbounded', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Палитра архитектурного люкса */
  --gold-main: #C6B189;
  --gold-light: #E2CFA8;
  --gold-bright: #F0DFBC;
  --gold-deep: #8F764C;

  --emerald-accent: #58C6A9;
  --emerald-soft: rgba(88, 198, 169, 0.16);

  --bg-obsidian: #141413;
  --bg-graphite: #1B1A18;
  --bg-dark-card: #22201D;
  --bg-dark-elevated: #2A2723;

  --bg-travertine: #F3EFE6;
  --bg-Warm-stone: #EAE3D5;
  --bg-porcelain: #F8F6F1;
  --bg-white: #FFFFFF;

  --ink-dark: #161514;
  --ink-secondary: #3E3B36;
  --ink-muted: #6E685F;

  --ink-light: #F6F3EC;
  --ink-light-sec: rgba(246, 243, 236, 0.78);
  --ink-light-muted: rgba(246, 243, 236, 0.54);

  --border-stone: rgba(22, 21, 20, 0.12);
  --border-stone-strong: rgba(22, 21, 20, 0.22);
  --border-gold: rgba(198, 177, 137, 0.28);
  --border-gold-bright: rgba(226, 207, 168, 0.58);

  --radius-monolith: 18px;
  --radius-card: 14px;
  --radius-control: 10px;
  --radius-tag: 6px;

  --shadow-monolith-light: 0 24px 60px rgba(20, 20, 19, 0.08), 0 4px 16px rgba(20, 20, 19, 0.04);
  --shadow-monolith-dark: 0 28px 68px rgba(0, 0, 0, 0.48), 0 4px 18px rgba(0, 0, 0, 0.32);
  --shadow-gold-glow: 0 20px 50px rgba(198, 177, 137, 0.22);

  --pad-x: 4.444vw;
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background-color: var(--bg-obsidian);
  color: var(--ink-dark);
  font-family: var(--font-sans);
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body {
  background-color: var(--bg-obsidian);
  color: var(--ink-dark);
  font-family: var(--font-sans);
  line-height: 1.5;
  overflow-x: hidden;
  width: 100%;
}

img, svg {
  display: block;
  max-width: 100%;
}

button, input {
  font-family: inherit;
}

.gold {
  color: var(--gold-main);
}

/* ==========================================================================
   1. ВЕРХНИЙ ЛАЗЕРНЫЙ ИНДИКАТОР ПРОГРЕССА СКРОЛЛА + STICKY HEADER НА ВСЮ ШИРИНУ
   ========================================================================== */
.scroll-laser-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 220;
  background: rgba(24, 24, 23, 0.4);
  pointer-events: none;
}

.scroll-laser-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #8F764C 0%, #C6B189 50%, #F0DFBC 100%);
  box-shadow: 0 0 14px rgba(226, 207, 168, 0.8);
  transition: width 0.08s linear;
}

.sticky-glass-bar {
  position: fixed;
  top: 12px;
  left: var(--pad-x);
  right: var(--pad-x);
  width: auto;
  max-width: none;
  z-index: 190;
  background: rgba(20, 20, 19, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(198, 177, 137, 0.36);
  border-radius: 14px;
  padding: 10px 22px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.5);
  transform: translateY(-160%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.sticky-glass-bar.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.sgb-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}

.sgb-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}

.sgb-logo-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 30px;
  background: var(--gold-main);
  color: #141413;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 800;
  border-radius: 5px;
}

.sgb-logo-text {
  font-size: 20px;
  font-weight: 700;
  color: var(--ink-light);
  letter-spacing: 0.02em;
}

.sgb-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}

.sgb-nav::-webkit-scrollbar {
  display: none;
}

.sgb-link {
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(246, 243, 236, 0.78);
  text-decoration: none;
  padding: 8px 13px;
  border-radius: 8px;
  white-space: nowrap;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.sgb-link:hover,
.sgb-link.active {
  color: #141413;
  background: var(--gold-main);
}

.sgb-right {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}

.sgb-phone-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  white-space: nowrap;
  flex-shrink: 0;
}

.sgb-phone {
  font-size: 15.5px;
  font-weight: 800;
  color: var(--ink-light);
  text-decoration: none;
  white-space: nowrap;
}

.sgb-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--gold-light);
  white-space: nowrap;
}

.sgb-dot {
  width: 6px;
  height: 6px;
  background: var(--emerald-accent);
  border-radius: 2px;
  display: inline-block;
  box-shadow: 0 0 8px var(--emerald-accent);
}

.sgb-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 10px;
  background: linear-gradient(135deg, #D5C199 0%, #B89F72 100%);
  color: #141413;
  font-size: 13.5px;
  font-weight: 800;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sgb-cta-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(198, 177, 137, 0.35);
}


/* ==========================================================================
   2. ЭФФЕКТЫ ПРИ СКРОЛЛЕ И ИНТЕРАКТИВНЫЙ ПРОЖЕКТОР КУРСОРА (SPOTLIGHT)
   ========================================================================== */
[data-reveal] {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(0.985);
  transition:
    opacity 0.72s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.72s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Интерактивное свечение за курсором мыши на карточках */
.spotlight-card {
  position: relative;
  overflow: hidden;
}

.spotlight-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    540px circle at var(--mx, 50%) var(--my, 20%),
    rgba(226, 207, 168, 0.14),
    transparent 65%
  );
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
  z-index: 1;
}

.spotlight-card:hover::before {
  opacity: 1;
}

.spotlight-card > * {
  position: relative;
  z-index: 2;
}


/* ==========================================================================
   3. ЭКРАН 01: FLUID FULL-WIDTH HERO V3 (100% ШИРИНА ЭКРАНА + ЭТАЛОН)
   ========================================================================== */
.hero-v3-section {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 780px;
  max-height: 1180px;
  background-color: #181817;
  color: #F5F2EB;
  overflow: hidden;
  display: flex;
  justify-content: center;
}

.hero-backdrop-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  background: radial-gradient(ellipse 62% 88% at 74% 50%, #3E3D39 0%, #262523 50%, #181817 86%);
}

.hero-studio-glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #181817 0%, #181817 34%, rgba(24, 24, 23, 0) 64%);
  z-index: 1;
}

.stage-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  z-index: 2;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-stage {
  position: relative;
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
  z-index: 5;
}

.top-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 11.55vh;
  min-height: 88px;
  max-height: 120px;
  padding: 0 var(--pad-x);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  z-index: 20;
}

.brand-group {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}

.mm-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
  color: #F5F2EB;
}

.mm-logo-img {
  height: 46px;
  width: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 2px 10px rgba(198, 177, 137, 0.22));
  transition: transform 0.22s ease, filter 0.22s ease;
}

.mm-logo:hover .mm-logo-img {
  transform: translateY(-1px);
  filter: drop-shadow(0 4px 14px rgba(198, 177, 137, 0.38));
}

@media (max-width: 768px) {
  .mm-logo-img {
    height: 36px;
  }
}

.mm-logo-box {
  width: 44px;
  height: 36px;
  background: var(--gold-main);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
}

.mm-logo-box svg {
  width: 100%;
  height: 100%;
}

.mm-logo-word {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.03em;
  color: #F5F2EB;
  display: inline-flex;
  align-items: center;
}

.mm-tooth-icon {
  width: 16px;
  height: 20px;
  margin: 0 1px;
  transform: translateY(1px);
}

.brand-divider {
  width: 1px;
  height: 28px;
  background: rgba(198, 177, 137, 0.28);
  flex-shrink: 0;
}

.brand-descriptor {
  font-size: 13px;
  color: rgba(245, 242, 235, 0.72);
  line-height: 1.35;
  white-space: nowrap;
}

.nav-links {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  backdrop-filter: none;
}

.nav-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: clamp(13px, 0.9vw, 14.5px);
  font-weight: 600;
  color: rgba(245, 242, 235, 0.92);
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 0;
  background: transparent !important;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.nav-links a:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 15px;
  background: linear-gradient(
    180deg,
    rgba(198, 177, 137, 0.1) 0%,
    rgba(198, 177, 137, 0.58) 50%,
    rgba(198, 177, 137, 0.1) 100%
  );
  pointer-events: none;
}

.nav-links a:hover,
.nav-links a.active {
  background: transparent !important;
  color: var(--gold-light);
}

.header-contacts {
  text-align: right;
  flex-shrink: 0;
  white-space: nowrap;
}

.header-phone {
  font-family: var(--font-sans);
  font-size: clamp(16px, 1.1vw, 19px);
  font-weight: 800;
  color: #F5F2EB;
  text-decoration: none;
  display: block;
}

.header-addr {
  font-size: 13px;
  color: var(--gold-main);
  margin-top: 2px;
}

.hero-left {
  position: absolute;
  bottom: 24.5vh;
  left: var(--pad-x);
  width: clamp(640px, 48vw, 860px);
  z-index: 15;
}

.license-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: rgba(24, 24, 23, 0.58);
  border-left: 3px solid var(--gold-main);
  border-top: 1px solid rgba(198, 177, 137, 0.28);
  border-right: 1px solid rgba(198, 177, 137, 0.28);
  border-bottom: 1px solid rgba(198, 177, 137, 0.28);
  border-radius: 6px;
  margin-bottom: 2.8vh;
}

.license-pill .dot {
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: var(--gold-main);
}

.license-pill span {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold-light);
}

.hero-h1 {
  font-family: var(--font-hero);
  font-size: clamp(42px, 3.25vw, 60px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: #F5F2EB;
  margin-bottom: 2.6vh;
}

.hero-sub {
  font-size: clamp(16px, 1.18vw, 20px);
  font-weight: 400;
  line-height: 1.55;
  color: rgba(245, 242, 235, 0.84);
  max-width: clamp(560px, 42vw, 720px);
  margin-bottom: 3.8vh;
}

.cta-row {
  display: flex;
  align-items: center;
  gap: 24px;
}

.btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: linear-gradient(135deg, #DFC9A0 0%, #C6B189 55%, #B1986B 100%);
  color: #181817;
  font-family: var(--font-sans);
  font-size: clamp(14.5px, 1vw, 16px);
  font-weight: 800;
  padding: 20px 30px;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: 0 16px 36px rgba(198, 177, 137, 0.25);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(198, 177, 137, 0.38);
}

.arr-plain {
  font-size: 16px;
  font-weight: 700;
  transition: transform 0.2s ease;
}

.btn-gold:hover .arr-plain {
  transform: translateX(4px);
}

.cta-note {
  font-size: clamp(12.5px, 0.86vw, 14px);
  color: rgba(245, 242, 235, 0.72);
  line-height: 1.42;
  max-width: 310px;
}

.hero-mobile-doc {
  display: none;
}

.doc-signature {
  position: absolute;
  right: var(--pad-x);
  bottom: 25.33vh;
  z-index: 20;
  text-align: right;
  border-right: 3px solid var(--gold-main);
  padding: 4px 18px 4px 20px;
  background: linear-gradient(90deg, transparent 0%, rgba(20, 20, 19, 0.65) 100%);
  border-radius: 8px 0 0 8px;
}

.doc-name {
  font-family: var(--font-sans);
  font-size: clamp(17px, 1.2vw, 20px);
  font-weight: 700;
  color: #F5F2EB;
  margin-bottom: 4px;
}

.doc-role {
  font-size: clamp(12.5px, 0.88vw, 14px);
  color: rgba(245, 242, 235, 0.82);
}

.bottom-strip {
  position: absolute;
  bottom: 0;
  left: var(--pad-x);
  right: var(--pad-x);
  height: 16.44vh;
  min-height: 124px;
  max-height: 176px;
  border-top: 1px solid rgba(245, 242, 235, 0.16);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  gap: 2.2vw;
  z-index: 20;
}

.fact-val {
  font-family: var(--font-hero);
  font-size: clamp(26px, 2vw, 34px);
  font-weight: 700;
  color: #F5F2EB;
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}

.fact-val.gold {
  color: var(--gold-main);
}

.fact-lbl {
  font-size: clamp(12.5px, 0.88vw, 14px);
  color: rgba(245, 242, 235, 0.74);
  line-height: 1.38;
}

/* ==========================================================================
   4. FULL-WIDTH СЕКЦИИ 02–08: АРХИТЕКТУРНЫЕ ФОНЫ, СВЕТОТЕНЬ И ЗАГОЛОВКИ
   ========================================================================== */
.v2-section {
  position: relative;
  width: 100%;
  scroll-margin-top: 80px;
  padding: clamp(88px, 6.2vw, 124px) 0;
  overflow: hidden;
}

/* Скульптурное чередование глубокого обсидиана и тёплого травертина */
.v2-theme-travertine {
  background: linear-gradient(180deg, #F4EFE6 0%, #ECE5D7 100%);
  color: var(--ink-dark);
  border-top: 1px solid rgba(22, 21, 20, 0.1);
  border-bottom: 1px solid rgba(22, 21, 20, 0.1);
}

.v2-theme-porcelain {
  background: linear-gradient(180deg, #F9F7F2 0%, #EFEAE0 100%);
  color: var(--ink-dark);
  border-top: 1px solid rgba(22, 21, 20, 0.1);
  border-bottom: 1px solid rgba(22, 21, 20, 0.1);
}

.v2-theme-dark {
  background:
    radial-gradient(ellipse 70% 50% at 80% 12%, rgba(198, 177, 137, 0.11) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 15% 88%, rgba(88, 198, 169, 0.06) 0%, transparent 65%),
    linear-gradient(180deg, #191816 0%, #121211 100%);
  color: var(--ink-light);
  border-top: 1px solid rgba(198, 177, 137, 0.24);
  border-bottom: 1px solid rgba(198, 177, 137, 0.24);
}

/* ГЛАВНОЕ ПРАВИЛО ШИРИНЫ: 100% экрана без искусственного max-width */
.wide-stage {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 var(--pad-x);
  z-index: 3;
}

/* Плавающие световые сферы параллакса */
.v2-ambient-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 1;
}

.orb-left {
  width: 520px;
  height: 520px;
  top: -120px;
  left: -140px;
  background: rgba(198, 177, 137, 0.22);
}

.orb-right {
  width: 460px;
  height: 460px;
  bottom: -100px;
  right: -120px;
  background: rgba(198, 177, 137, 0.18);
}

.orb-dark-gold {
  width: 640px;
  height: 640px;
  top: 8%;
  right: -180px;
  background: rgba(198, 177, 137, 0.12);
}

/* Архитектурный индекс секции (БЕЗ круглых таблеток 999px!) */
.sec-arch-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 26px;
}

.sad-num {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 6px 12px;
  border-radius: 6px;
  background: #161514;
  color: var(--gold-light);
  border-left: 3px solid var(--gold-main);
}

.sad-dark .sad-num {
  background: rgba(198, 177, 137, 0.14);
  border: 1px solid rgba(198, 177, 137, 0.35);
  border-left: 3px solid var(--gold-main);
  color: var(--gold-light);
}

.sad-line {
  width: 72px;
  height: 1px;
  background: rgba(22, 21, 20, 0.22);
}

.sad-dark .sad-line {
  background: rgba(198, 177, 137, 0.35);
}

.sad-label {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.sad-dark .sad-label {
  color: rgba(246, 243, 236, 0.64);
}

/* Шапка секции: 2 колонки на всю ширину */
.v2-sec-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 44px;
  flex-wrap: wrap;
}

.v2-title-group {
  max-width: 980px;
}

.v2-eyebrow {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 12px;
}

.v2-theme-dark .v2-eyebrow {
  color: var(--gold-main);
}

.v2-h2 {
  font-family: var(--font-heading);
  font-size: clamp(30px, 2.55vw, 46px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
  margin-bottom: 16px;
}

/* Чистый золотой типографический акцент без оранжевых подложек и рамок */
.v2-editorial-accent {
  color: var(--gold-deep);
  background: none !important;
  padding: 0;
}

.v2-theme-dark .v2-editorial-accent {
  color: var(--gold-light);
  background: none !important;
}

.v2-lead {
  font-size: clamp(16px, 1.1vw, 18.5px);
  line-height: 1.58;
  color: var(--ink-secondary);
  max-width: 860px;
}

.v2-theme-dark .v2-lead {
  color: var(--ink-light-sec);
}


/* ==========================================================================
   5. ЭКРАН 02: АРХИТЕКТУРНАЯ ВИТРИНА ИМПЛАНТАЦИИ «ПОД КЛЮЧ» (РАВНЫЕ ВЫСОТЫ)
   ========================================================================== */
.v2-seg-tabs {
  display: inline-flex;
  background: #181715;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid rgba(198, 177, 137, 0.3);
  gap: 6px;
  flex-shrink: 0;
}

.v2-seg-btn {
  padding: 13px 22px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: rgba(246, 243, 236, 0.74);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.25s ease;
}

.v2-seg-btn:hover {
  color: #FFFFFF;
}

.v2-seg-btn.active {
  background: linear-gradient(135deg, #DFC9A0 0%, #C6B189 100%);
  color: #141413;
  box-shadow: 0 8px 20px rgba(198, 177, 137, 0.28);
}

.v2-price-stage {
  display: none;
  animation: stageFadeIn 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.v2-price-stage.active {
  display: block;
}

@keyframes stageFadeIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.v2-cards-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.v2-offer-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.1);
  border-radius: var(--radius-monolith);
  padding: 28px;
  box-shadow: var(--shadow-monolith-light);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
}

.v2-offer-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 32px 68px rgba(20, 20, 19, 0.14);
  border-color: rgba(198, 177, 137, 0.65);
}

/* Флагманский тёмно-золотой монолит по центру */
.v2-offer-card.voc-flagship {
  background: linear-gradient(165deg, #23201C 0%, #151412 100%);
  color: var(--ink-light);
  border: 1px solid rgba(226, 207, 168, 0.48);
  box-shadow: var(--shadow-monolith-dark);
}

.voc-flagship-ribbon {
  position: absolute;
  top: 0;
  right: 28px;
  background: linear-gradient(135deg, #E2CFA8 0%, #C6B189 100%);
  color: #141413;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 6px 14px;
  border-radius: 0 0 8px 8px;
  text-transform: uppercase;
  z-index: 4;
}

/* Крупная панорамная витрина объекта сверху карточки (вместо мелкого кружочка!) */
.voc-stage-window {
  position: relative;
  height: 196px;
  border-radius: 12px;
  background: radial-gradient(circle at 50% 50%, #2B2823 0%, #161513 100%);
  border: 1px solid rgba(198, 177, 137, 0.22);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}

.voc-stage-window img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.v2-offer-card:hover .voc-stage-window img {
  transform: scale(1.07);
}

.voc-meta-top {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  z-index: 3;
}

.voc-tag {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 6px;
  background: rgba(20, 20, 19, 0.82);
  color: var(--ink-light);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(8px);
}

.voc-rate {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 4px;
  background: rgba(20, 20, 19, 0.84);
  color: var(--gold-light);
  border: 1px solid rgba(198, 177, 137, 0.38);
  backdrop-filter: blur(8px);
}

.voc-rate-gold {
  background: rgba(20, 20, 19, 0.88);
  color: var(--gold-bright);
  border-color: rgba(226, 207, 168, 0.5);
}

.voc-title-zone {
  min-height: 86px;
  margin-bottom: 18px;
}

.voc-h3 {
  font-family: var(--font-heading);
  font-size: 23px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}

.voc-sub {
  font-size: 14.5px;
  line-height: 1.48;
  color: var(--ink-secondary);
}

.voc-flagship .voc-sub {
  color: var(--ink-light-sec);
}

/* Двухколоночная финансовая плашка с фиксированной высотой */
.voc-price-banner {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 12px;
  background: #F6F3EC;
  border: 1px solid rgba(22, 21, 20, 0.09);
  margin-bottom: 20px;
  align-items: center;
}

.voc-price-banner-flagship {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(198, 177, 137, 0.32);
}

.vpb-main {
  border-right: 1px solid rgba(22, 21, 20, 0.12);
  padding-right: 12px;
}

.voc-price-banner-flagship .vpb-main {
  border-right-color: rgba(198, 177, 137, 0.25);
}

.vpb-lbl {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-muted);
  margin-bottom: 4px;
}

.voc-flagship .vpb-lbl {
  color: var(--ink-light-muted);
}

.vpb-num {
  font-family: var(--font-heading);
  font-size: 21px;
  font-weight: 700;
  white-space: nowrap;
}

.vpb-strike {
  text-decoration: line-through;
  opacity: 0.6;
}

.vpb-num-second {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 800;
  color: #161514;
  white-space: nowrap;
}

.voc-flagship .vpb-num-second {
  color: var(--gold-light);
}

.vpb-tax-badge {
  display: inline-block;
  margin-top: 4px;
  font-size: 13px;
  color: var(--ink-secondary);
}

.voc-flagship .vpb-tax-badge {
  color: var(--emerald-accent);
}

.voc-highlights {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
  flex-grow: 1;
}

.voc-highlights li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.45;
}

.voc-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background: rgba(198, 177, 137, 0.22);
  color: #8F764C;
  font-style: normal;
  font-size: 13px;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 2px;
}

.voc-flagship .voc-check {
  background: rgba(198, 177, 137, 0.25);
  color: var(--gold-light);
}

.v2-btn-primary,
.v2-btn-gold {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  border-radius: var(--radius-control);
  font-size: 14.5px;
  font-weight: 800;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  margin-top: auto;
}

.v2-btn-primary {
  background: #161514;
  color: #F6F3EC;
}

.v2-btn-primary:hover {
  background: #2B2925;
  transform: translateY(-2px);
}

.v2-btn-gold {
  background: linear-gradient(135deg, #E2CFA8 0%, #C6B189 55%, #B09668 100%);
  color: #141413;
  box-shadow: 0 12px 28px rgba(198, 177, 137, 0.25);
}

.v2-btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(198, 177, 137, 0.38);
}

/* Нижняя плакатная лента из 4 фактоидов на всю ширину */
.v2-factoid-bar-4 {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.vfb-item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  background: #181715;
  color: var(--ink-light);
  border-radius: var(--radius-card);
  border-left: 4px solid var(--gold-main);
  box-shadow: 0 16px 36px rgba(20, 20, 19, 0.08);
}

.vfb-big {
  font-family: var(--font-heading);
  font-size: clamp(26px, 2vw, 34px);
  font-weight: 800;
  color: var(--gold-light);
  white-space: nowrap;
}

.vfb-txt {
  font-size: 13.5px;
  line-height: 1.42;
  color: rgba(246, 243, 236, 0.8);
}

.vfb-txt strong {
  color: #FFFFFF;
}


/* ==========================================================================
   6. ЭКРАН 03: ИНТЕРАКТИВНЫЙ КВИЗ С 4 РАЗНОЦВЕТНЫМИ ФАКТУРАМИ ОТВЕТОВ
      (Решает замечание: «Мне не нравится в квизе, что подложки на вопросе такого же цвета»)
   ========================================================================== */
.v2-quiz-shell {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 28px;
  align-items: stretch;
}

.v2-quiz-main {
  background: linear-gradient(165deg, #211F1C 0%, #171614 100%);
  border: 1px solid rgba(198, 177, 137, 0.3);
  border-radius: var(--radius-monolith);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--shadow-monolith-dark);
}

.vqm-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.vqm-step-pill {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 6px 14px;
  border-radius: 6px;
  background: rgba(198, 177, 137, 0.16);
  border-left: 3px solid var(--gold-main);
  color: var(--gold-light);
}

.vqm-progress-info {
  font-size: 14px;
  color: var(--ink-light-sec);
}

.vqm-progress-info strong {
  font-family: var(--font-mono);
  color: var(--gold-light);
  margin-left: 6px;
}

.vqm-bar-track {
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 26px;
}

.vqm-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gold-deep) 0%, var(--gold-main) 60%, var(--gold-light) 100%);
  transition: width 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.vqm-slide {
  display: none;
  animation: stageFadeIn 0.35s ease;
}

.vqm-slide.active {
  display: block;
}

.vqm-q-title {
  font-family: var(--font-heading);
  font-size: clamp(20px, 1.55vw, 25px);
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 22px;
  line-height: 1.25;
}

/* Строгая архитектурная сетка 2x2 карточек квиза в единой графитовой палитре (без разноцветного светофора!) */
.vqm-photo-cards-4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.vqm-photo-card,
.vqm-photo-cards-4 .vqm-photo-card:nth-child(1),
.vqm-photo-cards-4 .vqm-photo-card:nth-child(2),
.vqm-photo-cards-4 .vqm-photo-card:nth-child(3),
.vqm-photo-cards-4 .vqm-photo-card:nth-child(4) {
  position: relative;
  display: grid;
  grid-template-columns: 112px 1fr;
  align-items: center;
  gap: 18px;
  padding: 16px;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  background: #1C1B19;
  color: #F5F2EB;
  border: 1px solid rgba(198, 177, 137, 0.25);
  box-shadow: none;
  transition: border-color 0.22s ease, background-color 0.22s ease;
}

.vqm-photo-card:hover {
  border-color: var(--gold-main);
  background: #23211E;
  transform: none;
}

.vqm-photo-card.selected,
.vqm-photo-cards-4 .vqm-photo-card.selected {
  background: rgba(198, 177, 137, 0.14);
  border: 1.5px solid var(--gold-light);
  box-shadow: none;
  transform: none;
}

.vpc-img-wrap {
  position: relative;
  width: 116px;
  height: 108px;
  border-radius: 10px;
  background: rgba(18, 18, 17, 0.85);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  flex-shrink: 0;
}

.vpc-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.vqm-photo-card:hover .vpc-img-wrap img {
  transform: scale(1.08);
}

.vpc-radio {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(20, 20, 19, 0.82);
  border: 1.5px solid rgba(226, 207, 168, 0.65);
  color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  transition: all 0.2s ease;
}

.vqm-photo-card.selected .vpc-radio {
  background: var(--gold-main);
  border-color: #FFFFFF;
  color: #141413;
}

.vpc-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.vpc-surface-tag {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.82;
}

.vpc-text strong {
  font-family: var(--font-heading);
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.25;
}

.vpc-text span {
  font-size: 13px;
  line-height: 1.4;
  opacity: 0.86;
}

/* Шаг 4 квиза */
.vqm-summary-pill {
  padding: 16px 20px;
  border-radius: 10px;
  background: rgba(198, 177, 137, 0.15);
  border-left: 4px solid var(--gold-main);
  color: var(--gold-light);
  font-weight: 700;
  margin-bottom: 20px;
}

.vlf-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 14px;
}

.v2-input {
  width: 100%;
  padding: 16px 18px;
  border-radius: 10px;
  border: 1px solid rgba(198, 177, 137, 0.35);
  background: rgba(255, 255, 255, 0.07);
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 600;
  outline: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.v2-input::placeholder {
  color: rgba(246, 243, 236, 0.5);
}

.v2-input:focus {
  border-color: var(--gold-light);
  background: rgba(255, 255, 255, 0.12);
}

.vqm-footer {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.v2-btn-ghost {
  padding: 12px 18px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  color: var(--ink-light);
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
}

.v2-btn-ghost:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.vqm-hint {
  font-size: 13px;
  color: var(--ink-light-muted);
}

.v2-btn-sm {
  width: auto;
  padding: 12px 20px;
  margin-top: 0;
  background: var(--gold-main);
  color: #141413;
}

/* Правая панель куратора и бонусов — строго в одну высоту с левым блоком */
.v2-quiz-sidebar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  background: linear-gradient(165deg, #24211D 0%, #181614 100%);
  border: 1px solid rgba(198, 177, 137, 0.32);
  border-radius: var(--radius-monolith);
  padding: 28px;
  box-shadow: var(--shadow-monolith-dark);
}

.vqs-curator-box {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 18px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.vqs-portrait {
  width: 112px;
  height: 132px;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid var(--gold-main);
}

.vqs-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.vqs-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--emerald-accent);
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}

.vqs-meta strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 18px;
  color: #FFFFFF;
  margin-bottom: 6px;
}

.vqs-meta p {
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--ink-light-sec);
}

.vqs-voucher-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vvc-head {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--gold-light);
}

.vvc-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vvc-item {
  display: grid;
  grid-template-columns: 78px 1fr;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(198, 177, 137, 0.22);
}

.vvc-tag {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 800;
  color: #141413;
  background: var(--gold-main);
  padding: 8px 6px;
  border-radius: 6px;
  text-align: center;
  white-space: nowrap;
}

.vvc-item strong {
  display: block;
  font-size: 14px;
  color: #FFFFFF;
  margin-bottom: 2px;
}

.vvc-item small {
  font-size: 12.5px;
  color: var(--ink-light-muted);
}


/* ==========================================================================
   7. ЭКРАН 04: ВРАЧЕБНАЯ ДИНАСТИЯ МИНАСЯН (БЕЗ БЕЛЫХ ДЫР — 100% БАЛАНС ВЫСОТ)
   ========================================================================== */
.v2-founders-island {
  display: grid;
  grid-template-columns: 5fr 7fr;
  background: linear-gradient(155deg, #1E1C19 0%, #141311 100%);
  color: var(--ink-light);
  border-radius: var(--radius-monolith);
  border: 1px solid rgba(198, 177, 137, 0.38);
  overflow: hidden;
  box-shadow: var(--shadow-monolith-dark);
  margin-bottom: 32px;
  align-items: stretch;
}

.vfi-photo-wrap {
  position: relative;
  min-height: 460px;
  overflow: hidden;
}

.vfi-photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.vfi-names-bar {
  position: absolute;
  bottom: 14px;
  left: 14px;
  right: 14px;
  background: rgba(20, 20, 19, 0.88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(198, 177, 137, 0.35);
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  color: var(--ink-light);
}

.vfi-names-bar strong {
  color: var(--gold-light);
}

.vfi-content {
  padding: clamp(28px, 3vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vfi-h3 {
  font-family: var(--font-heading);
  font-size: clamp(21px, 1.7vw, 28px);
  font-weight: 700;
  line-height: 1.3;
  color: #FFFFFF;
  margin-bottom: 16px;
}

.vfi-p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-light-sec);
  margin-bottom: 28px;
}

.vfi-stats-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid rgba(198, 177, 137, 0.24);
}

.vfi-stat-num {
  font-family: var(--font-heading);
  font-size: clamp(22px, 1.8vw, 30px);
  font-weight: 800;
  color: var(--gold-light);
  margin-bottom: 6px;
  white-space: nowrap;
}

.vfi-stat-lbl {
  font-size: 13px;
  line-height: 1.38;
  color: var(--ink-light-muted);
}

/* 4 карточки врачей в один ряд на всю ширину со строго одинаковой высотой */
.v2-doctors-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  align-items: stretch;
}

.v2-doc-card {
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.1);
  border-radius: var(--radius-monolith);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--shadow-monolith-light);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease;
}

.v2-doc-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 60px rgba(20, 20, 19, 0.14);
}

.vdc-portrait {
  position: relative;
  height: 330px;
  background: #1B1A18;
  overflow: hidden;
}

.vdc-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.v2-doc-card:hover .vdc-portrait img {
  transform: scale(1.05);
}

.vdc-exp {
  position: absolute;
  bottom: 12px;
  left: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  background: rgba(20, 20, 19, 0.88);
  color: var(--gold-light);
  border-left: 3px solid var(--gold-main);
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
}

.vdc-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vdc-role {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--gold-deep);
  margin-bottom: 6px;
}

.vdc-name {
  font-family: var(--font-heading);
  font-size: 18.5px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 10px;
  min-height: 46px;
}

.vdc-bio {
  font-size: 13.8px;
  line-height: 1.5;
  color: var(--ink-secondary);
  margin-bottom: 20px;
  flex-grow: 1;
}

.v2-btn-doc {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 18px;
  border-radius: 8px;
  border: 1px solid rgba(22, 21, 20, 0.16);
  background: #F6F3EC;
  color: #161514;
  font-size: 13.5px;
  font-weight: 800;
  cursor: pointer;
  margin-top: auto;
  transition: all 0.2s ease;
}

.v2-btn-doc:hover {
  background: #161514;
  color: var(--gold-light);
  border-color: #161514;
}


/* ==========================================================================
   8. ЭКРАН 05: ФИНАНСОВАЯ ВИТРИНА (РАССРОЧКА 50/25/25% + ВЫЧЕТ 13% БЕЗ ПЕРЕНОСА ₽)
   ========================================================================== */
.v2-fin-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vfp-btn {
  padding: 11px 16px;
  border-radius: 8px;
  border: 1px solid rgba(22, 21, 20, 0.16);
  background: #FFFFFF;
  color: var(--ink-dark);
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.vfp-btn:hover {
  border-color: var(--gold-deep);
}

.vfp-btn.active {
  background: #161514;
  color: var(--gold-light);
  border-color: #161514;
  box-shadow: 0 10px 24px rgba(20, 20, 19, 0.15);
}

.v2-finance-bento {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 26px;
  align-items: stretch;
}

.vfb-installment-island {
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.1);
  border-radius: var(--radius-monolith);
  padding: 32px;
  box-shadow: var(--shadow-monolith-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vfbi-pill {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--gold-deep);
  margin-bottom: 8px;
}

.vfbi-title {
  font-family: var(--font-heading);
  font-size: clamp(20px, 1.6vw, 26px);
  font-weight: 700;
  margin-bottom: 24px;
}

.vfbi-track-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}

.vfbi-step {
  padding: 20px;
  border-radius: 12px;
  background: #F6F3EC;
  border: 1px solid rgba(22, 21, 20, 0.08);
}

.vfbi-bar-wrap {
  width: 100%;
  height: 6px;
  background: rgba(22, 21, 20, 0.1);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 12px;
}

.vfbi-bar {
  height: 100%;
  background: linear-gradient(90deg, #8F764C 0%, #C6B189 100%);
}

.vfbi-pct {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-muted);
  margin-bottom: 6px;
}

.vfbi-sum {
  font-family: var(--font-heading);
  font-size: clamp(22px, 1.7vw, 28px);
  font-weight: 800;
  color: #161514;
  margin-bottom: 8px;
  white-space: nowrap;
}

.vfbi-when {
  font-size: 13.5px;
  line-height: 1.42;
  color: var(--ink-secondary);
}

.vfbi-footer-note {
  padding: 14px 18px;
  border-radius: 10px;
  background: rgba(198, 177, 137, 0.16);
  border-left: 4px solid var(--gold-deep);
  font-size: 13.8px;
  margin-bottom: 22px;
}

.vls-head {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
  margin-bottom: 12px;
}

.vls-tiers-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.vls-tier {
  padding: 14px;
  border-radius: 10px;
  background: #181715;
  color: var(--ink-light);
  border-left: 3px solid var(--gold-main);
}

.vls-tier strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 16px;
  color: var(--gold-light);
  margin-bottom: 4px;
  white-space: nowrap;
}

.vls-tier span {
  display: block;
  font-size: 12.5px;
  color: rgba(246, 243, 236, 0.78);
  white-space: nowrap;
}

/* Правый налоговый монолит — строго в одну высоту с левым */
.vfb-tax-island {
  background: linear-gradient(160deg, #221F1B 0%, #141311 100%);
  color: var(--ink-light);
  border: 1px solid rgba(198, 177, 137, 0.42);
  border-radius: var(--radius-monolith);
  padding: 32px;
  box-shadow: var(--shadow-monolith-dark);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vfbt-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--emerald-accent);
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.vfbt-h3 {
  font-family: var(--font-heading);
  font-size: clamp(21px, 1.6vw, 26px);
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 20px;
}

.vfbt-numbers-box {
  padding: 20px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(198, 177, 137, 0.28);
  margin-bottom: 20px;
}

.vfbt-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 14.5px;
}

.vfbt-row strong {
  font-family: var(--font-heading);
  font-size: 17px;
  white-space: nowrap;
}

.vfbt-row-refund strong {
  color: var(--emerald-accent);
  font-size: 19px;
}

.vfbt-net-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-top: 4px;
}

.vfbt-net-big {
  font-family: var(--font-heading);
  font-size: clamp(24px, 1.9vw, 32px);
  font-weight: 800;
  color: var(--gold-light);
  white-space: nowrap;
}

.vfbt-steps-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 24px;
}

.vfbt-step-item {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: start;
}

.vfbt-step-idx {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: rgba(198, 177, 137, 0.18);
  border: 1px solid rgba(198, 177, 137, 0.4);
  color: var(--gold-light);
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vfbt-step-item strong {
  display: block;
  font-size: 14.5px;
  color: #FFFFFF;
  margin-bottom: 4px;
}

.vfbt-step-item span {
  font-size: 13px;
  line-height: 1.45;
  color: var(--ink-light-sec);
}


/* ==========================================================================
   9. ЭКРАН 06: ДО / ПОСЛЕ С ИНТЕРАКТИВНОЙ ШТОРКОЙ ◄ ► И ФОТОЛЕНТОЙ КЛИНИКИ
   ========================================================================== */
.v2-cases-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 32px;
}

.v2-case-card {
  background: linear-gradient(165deg, #23211E 0%, #171614 100%);
  border: 1px solid rgba(198, 177, 137, 0.3);
  border-radius: var(--radius-monolith);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--shadow-monolith-dark);
}

.ba-slider {
  position: relative;
  height: 268px;
  overflow: hidden;
  user-select: none;
  background: #10100F;
}

.ba-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ba-before-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0 calc(100% - var(--pos, 50%)) 0 0);
}

.ba-badge {
  position: absolute;
  top: 12px;
  padding: 5px 11px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  z-index: 4;
}

.ba-badge-before {
  left: 12px;
  background: rgba(20, 20, 19, 0.85);
  color: var(--ink-light);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.ba-badge-after {
  right: 12px;
  background: var(--gold-main);
  color: #141413;
}

.ba-divider-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--pos, 50%);
  width: 2px;
  background: var(--gold-light);
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: none;
  box-shadow: 0 0 12px rgba(226, 207, 168, 0.8);
}

.ba-handle-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 32px;
  border-radius: 8px;
  background: var(--gold-main);
  color: #141413;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}

.ba-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: ew-resize;
  z-index: 6;
}

.vcc-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vcc-top-tags {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.vcc-cat {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-light);
}

.vcc-days {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 5px;
  background: rgba(88, 198, 169, 0.16);
  color: var(--emerald-accent);
}

.vcc-title {
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 16px;
}

.vcc-specs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 13.5px;
}

.vcc-specs > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.vcc-specs span {
  color: var(--ink-light-muted);
}

.vcc-specs strong {
  color: var(--ink-light);
  text-align: right;
}

.vcc-price em {
  font-style: normal;
  color: var(--gold-light);
}

/* 4 кадра оперблока и фасада в один ряд */
.v2-clinic-tour-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.vct-frame {
  position: relative;
  height: 220px;
  border-radius: var(--radius-card);
  overflow: hidden;
  border: 1px solid rgba(198, 177, 137, 0.28);
}

.vct-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.vct-frame:hover img {
  transform: scale(1.06);
}

.vct-frame span {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(20, 20, 19, 0.86);
  backdrop-filter: blur(10px);
  color: var(--ink-light);
  font-size: 12.5px;
  font-weight: 700;
  border-left: 3px solid var(--gold-main);
}


/* ==========================================================================
   10. ЭКРАН 07: БЕЗОПАСНОСТЬ, ЛИЦЕНЗИЯ И НЕЗАВИСИМЫЕ КОЛОНКИ FAQ (БЕЗ РАСТЯЖЕНИЯ!)
   ========================================================================== */
.v2-safety-bento-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 40px;
}

.vsb-card {
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.1);
  border-radius: var(--radius-monolith);
  overflow: hidden;
  box-shadow: var(--shadow-monolith-light);
  display: flex;
  flex-direction: column;
}

.vsb-img-box {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.vsb-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vsb-pill {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  background: rgba(20, 20, 19, 0.88);
  color: var(--gold-light);
  border-left: 3px solid var(--gold-main);
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
}

.vsb-content {
  padding: 24px;
  flex-grow: 1;
}

.vsb-h3 {
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
}

.vsb-p {
  font-size: 14.5px;
  line-height: 1.52;
  color: var(--ink-secondary);
}

.vsb-license-island {
  background: linear-gradient(155deg, #211F1B 0%, #151412 100%);
  color: var(--ink-light);
  border-color: rgba(198, 177, 137, 0.42);
  justify-content: center;
}

.vsb-lic-row {
  display: grid;
  grid-template-columns: 148px 1fr;
  gap: 20px;
  padding: 24px;
  align-items: center;
  height: 100%;
}

.vsb-lic-scan {
  height: 210px;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid var(--gold-main);
  background: #FFFFFF;
}

.vsb-lic-scan img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vsb-lic-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-light);
  margin-bottom: 6px;
}

.vsb-license-island .vsb-h3 {
  color: #FFFFFF;
}

.vsb-license-island .vsb-p {
  color: var(--ink-light-sec);
  margin-bottom: 12px;
}

.vsb-req-list {
  font-size: 12.5px;
  color: var(--gold-light);
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.v2-faq-header-bar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.vfhb-title {
  font-family: var(--font-heading);
  font-size: clamp(22px, 1.7vw, 28px);
  font-weight: 700;
}

.vfhb-sub {
  font-size: 14px;
  color: var(--ink-muted);
}

/* ДВЕ НЕЗАВИСИМЫЕ КОЛОНКИ FLEX (align-items: start) — открытие вопроса НЕ растягивает соседний! */
.v2-faq-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  align-items: start;
}

.v2-faq-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.v2-faq-card {
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.12);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(20, 20, 19, 0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.v2-faq-card[open] {
  border-color: var(--gold-deep);
  box-shadow: 0 18px 38px rgba(20, 20, 19, 0.09);
}

.v2-faq-card summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  font-family: var(--font-heading);
  font-size: 15.5px;
  font-weight: 700;
  cursor: pointer;
}

.v2-faq-card summary::-webkit-details-marker {
  display: none;
}

.vfc-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #161514;
  color: var(--gold-light);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.vfc-icon::before {
  content: "+";
  font-family: var(--font-mono);
  font-size: 18px;
  font-weight: 700;
  font-style: normal;
}

.v2-faq-card[open] .vfc-icon {
  background: var(--gold-main);
  color: #141413;
}

.v2-faq-card[open] .vfc-icon::before {
  content: "−";
}

.vfc-answer {
  padding: 0 22px 20px;
  font-size: 14.5px;
  line-height: 1.58;
  color: var(--ink-secondary);
  border-top: 1px solid rgba(22, 21, 20, 0.07);
  padding-top: 14px;
}


/* ==========================================================================
   11. ЭКРАН 08: КОНТАКТЫ И КАРТА В АДЛЕРЕ (РАВНАЯ ВЫСОТА ОСТРОВОВ БЕЗ ДЫР)
   ========================================================================== */
.v2-contacts-bento {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 28px;
  align-items: stretch;
  margin-bottom: 40px;
}

.vcb-booking-card,
.vcb-location-card {
  background: linear-gradient(165deg, #23201C 0%, #161513 100%);
  border: 1px solid rgba(198, 177, 137, 0.34);
  border-radius: var(--radius-monolith);
  padding: 34px;
  box-shadow: var(--shadow-monolith-dark);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vcb-h2 {
  font-family: var(--font-heading);
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 700;
  line-height: 1.18;
  color: #FFFFFF;
  margin-bottom: 14px;
}

.vcb-sub {
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-light-sec);
  margin-bottom: 22px;
}

.vcb-perks-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}

.vcb-perk {
  padding: 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(198, 177, 137, 0.24);
}

.vcb-perk strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 18px;
  color: var(--gold-light);
  margin-bottom: 4px;
  white-space: nowrap;
}

.vcb-perk span {
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--ink-light-sec);
}

.vcb-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}

.v2-btn-lg {
  padding: 18px 24px;
  font-size: 15px;
}

.vcb-legal {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--ink-light-muted);
}

.vcb-media-split {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 16px;
  margin-bottom: 22px;
}

.vcb-facade-photo,
.vcb-map-box {
  position: relative;
  height: 260px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(198, 177, 137, 0.3);
}

.vcb-facade-photo img,
.vcb-map-box iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.vcb-badge {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  padding: 7px 11px;
  border-radius: 6px;
  background: rgba(20, 20, 19, 0.88);
  color: var(--gold-light);
  font-size: 13px;
  font-weight: 700;
}

.vcb-address-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: 18px 20px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 20px;
}

.vcb-lbl {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-main);
  margin-bottom: 4px;
}

.vcb-val,
.vcb-phone {
  display: block;
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  text-decoration: none;
  margin-bottom: 4px;
  white-space: nowrap;
}

.vcb-addr-block small {
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--ink-light-muted);
}

.vcb-subphone {
  color: var(--gold-light);
  text-decoration: none;
}

.vcb-buttons-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.v2-btn-map,
.v2-btn-wa {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.2s ease;
}

.v2-btn-map {
  background: rgba(198, 177, 137, 0.16);
  border: 1px solid rgba(198, 177, 137, 0.4);
  color: var(--gold-light);
}

.v2-btn-wa {
  background: rgba(88, 198, 169, 0.16);
  border: 1px solid rgba(88, 198, 169, 0.42);
  color: #7CE8CB;
}

.v2-btn-map:hover,
.v2-btn-wa:hover {
  transform: translateY(-2px);
}

.v2-footer-bar {
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.vfb-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  color: var(--ink-light-muted);
}

.vfb-copy strong {
  color: var(--ink-light);
}

.vfb-tg-link {
  color: var(--gold-light);
  text-decoration: none;
}

.vfb-contra {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.12em;
  color: rgba(246, 243, 236, 0.42);
}

.v2-form-ok {
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(88, 198, 169, 0.18);
  border: 1px solid var(--emerald-accent);
  color: #8FF2D7;
  font-size: 13.5px;
  font-weight: 700;
}

/* ==========================================================================
   12. МОДАЛЬНОЕ ОКНО ЗАПИСИ
   ========================================================================== */
.v2-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(12, 12, 11, 0.82);
  backdrop-filter: blur(14px);
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.v2-modal-backdrop[hidden] {
  display: none !important;
}

.v2-modal-card {
  position: relative;
  width: 100%;
  max-width: 540px;
  background: linear-gradient(165deg, #24211D 0%, #161513 100%);
  color: var(--ink-light);
  border: 1px solid rgba(198, 177, 137, 0.45);
  border-radius: var(--radius-monolith);
  padding: 36px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.65);
}

.v2-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 16px;
}

.v2-modal-h3 {
  font-family: var(--font-heading);
  font-size: 23px;
  margin-bottom: 10px;
}

.v2-modal-sub {
  font-size: 14.5px;
  color: var(--ink-light-sec);
  margin-bottom: 22px;
}

.v2-modal-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}


/* ==========================================================================
   13. АДАПТИВНОСТЬ (ПЛАНШЕТЫ И МОБИЛЬНЫЕ 320px–1180px — 0PX OVERFLOW-X)
   ========================================================================== */
@media (max-width: 1280px) {
  .nav-links {
    display: none;
  }
  .v2-cards-3,
  .v2-cases-grid-3,
  .v2-safety-bento-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .v2-doctors-grid-4,
  .v2-clinic-tour-4,
  .v2-factoid-bar-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .v2-quiz-shell,
  .v2-founders-island,
  .v2-finance-bento,
  .v2-contacts-bento {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  :root {
    --pad-x: 16px;
  }

  .sticky-glass-bar {
    top: 8px;
    left: 10px;
    right: 10px;
    padding: 8px 12px;
  }

  .sgb-nav,
  .sgb-phone-col {
    display: none;
  }

  .hero-v3-section {
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 0 0 36px;
    display: block;
  }

  .top-bar {
    position: relative;
    height: auto;
    min-height: 68px;
    padding: 16px var(--pad-x);
    gap: 12px;
  }

  .header-phone {
    font-size: 14.5px;
  }

  .brand-divider,
  .brand-descriptor,
  .header-addr,
  .doc-signature {
    display: none;
  }

  .hero-left {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    padding: 0 var(--pad-x);
  }

  .hero-h1 {
    font-size: 30px;
  }

  .cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-gold {
    white-space: normal;
    text-align: center;
    padding: 16px 20px;
  }

  .hero-mobile-doc {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(20, 20, 19, 0.94);
    border: 1px solid rgba(198, 177, 137, 0.55);
    border-left: 3px solid var(--gold-main);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
  }

  .hero-mobile-doc-img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    object-fit: cover;
    object-position: right top;
  }

  .hero-mobile-doc-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
    color: rgba(245, 242, 235, 0.9);
  }

  .hero-mobile-doc-meta strong {
    font-size: 15px;
    color: #FFFFFF;
  }

  .bottom-strip {
    position: relative;
    height: auto;
    min-height: 0;
    max-height: none;
    left: auto;
    right: auto;
    margin: 28px var(--pad-x) 0;
    padding-top: 20px;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .v2-seg-tabs {
    width: 100%;
    flex-direction: column;
  }

  .v2-cards-3,
  .v2-cases-grid-3,
  .v2-safety-bento-3,
  .v2-doctors-grid-4,
  .v2-clinic-tour-4,
  .v2-factoid-bar-4,
  .vqm-photo-cards-4,
  .vfbi-track-3,
  .vls-tiers-4,
  .vfi-stats-4,
  .v2-faq-columns,
  .vcb-perks-grid,
  .vcb-inputs,
  .vcb-media-split,
  .vcb-address-grid,
  .vcb-buttons-row,
  .vlf-row {
    grid-template-columns: 1fr;
  }

  .vqm-photo-card {
    grid-template-columns: 88px 1fr;
  }

  .vpc-img-wrap {
    width: 88px;
    height: 88px;
  }

  .vsb-lic-row,
  .vqs-curator-box {
    grid-template-columns: 1fr;
  }
}

/* =====================================================================
   АРХИТЕКТУРНАЯ ДИЗАЙН-СИСТЕМА ЭКРАНОВ 02–15 И МЕГА-МЕНЮ (MERGED ARCHITECTURE)
   Шрифты: Cormorant Garamond (lining-nums) + Manrope (tabular-nums)
   Геометрия: border-radius: 0px, тонкие золотые линии 1px solid #C6B189
   ===================================================================== */

.arch-section {
  position: relative;
  width: 100%;
  padding: 88px 48px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.25);
  overflow-x: hidden;
}

.arch-light {
  background-color: #F4F1EA;
  color: #181817;
}

.arch-dark {
  background-color: #181817;
  color: #F5F2EB;
}

.arch-container {
  max-width: 1344px;
  margin: 0 auto;
  width: 100%;
}

.arch-header-row {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 40px;
  align-items: end;
  padding-bottom: 36px;
  margin-bottom: 44px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.32);
}

.arch-kicker {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8E7345;
  margin-bottom: 12px;
  display: block;
}

.arch-dark .arch-kicker {
  color: #C6B189;
}

.arch-h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 3.2vw, 48px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.015em;
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
  margin: 0;
}

.arch-lead-sm {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 16px 0;
  opacity: 0.88;
}

.arch-btn-outline-dark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border: 1px solid #181817;
  background: transparent;
  color: #181817;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0px;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.arch-btn-outline-dark:hover {
  background: #181817;
  color: #F5F2EB;
}

.arch-btn-gold-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background: #C6B189;
  color: #181817;
  border: 1px solid #C6B189;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0px;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.arch-btn-gold-sm:hover {
  background: #D8C5A0;
  transform: translateY(-1px);
}

.arch-link-btn,
.arch-link-gold {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  color: #181817;
  border-bottom: 1px solid #C6B189;
  padding-bottom: 3px;
}

.arch-link-gold {
  color: #C6B189;
}

/* МЕГА-МЕНЮ 5 ОТДЕЛЕНИЙ В STICKY HEADER */
.sgb-megamenu-trigger {
  background: rgba(198, 177, 137, 0.14);
  border: 1px solid rgba(198, 177, 137, 0.4);
  cursor: pointer;
  padding: 6px 12px !important;
  color: #F5F2EB !important;
}

.mm-megamenu {
  background: #181817;
  border-top: 1px solid rgba(198, 177, 137, 0.3);
  border-bottom: 2px solid #C6B189;
  padding: 28px 48px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.65);
}

.mm-megamenu-grid {
  max-width: 1344px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

.mm-mega-title {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #C6B189;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.25);
}

.mm-mega-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mm-mega-list li a {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: #E2DFD7;
  text-decoration: none;
  line-height: 1.35;
}

.mm-mega-list li a span {
  color: #C6B189;
  font-weight: 700;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* АРХИТЕКТУРНАЯ ИНФОГРАФИКА 3 ЭТАПОВ (ЭТАПЫ 01 / 02 / 03) */
.infographic-3steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 44px;
  border: 1px solid rgba(198, 177, 137, 0.45);
}

.infographic-light {
  background: #EAE5DA;
  border-color: rgba(24, 24, 23, 0.18);
}

.infographic-dark {
  background: #20201E;
  border-color: rgba(198, 177, 137, 0.32);
}

.info-step-card {
  padding: 28px 30px;
  border-right: 1px solid rgba(198, 177, 137, 0.32);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.infographic-light .info-step-card {
  border-right-color: rgba(24, 24, 23, 0.15);
}

.info-step-card:last-child {
  border-right: none;
}

.info-step-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.28);
}

.info-step-num {
  font-family: var(--font-display);
  font-size: 44px;
  font-weight: 700;
  line-height: 1;
  color: #C6B189;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.infographic-light .info-step-num {
  color: #8E7345;
}

.info-step-badge {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  background: rgba(198, 177, 137, 0.15);
  color: #C6B189;
}

.infographic-light .info-step-badge {
  background: #181817;
  color: #C6B189;
}

.info-step-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.22;
  margin: 0;
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1;
}

.info-step-text {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.58;
  margin: 0;
  opacity: 0.88;
}

/* ЭКРАН 02: КАТАЛОГ УСЛУГ (6 ОТДЕЛЕНИЙ) */
.services-bento-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.srv-bento-card {
  background: #FAF8F3;
  border: 1px solid rgba(24, 24, 23, 0.16);
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}

.srv-bento-featured {
  background: #181817;
  color: #F5F2EB;
  border-color: #C6B189;
}

.srv-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.35);
}

.srv-index {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #8E7345;
}

.srv-bento-featured .srv-index {
  color: #C6B189;
}

.srv-price-tag {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 800;
  padding: 4px 10px;
  background: #C6B189;
  color: #181817;
  font-variant-numeric: tabular-nums;
}

.srv-title {
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.18;
  margin: 0 0 10px 0;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.srv-desc {
  font-size: 13px;
  line-height: 1.55;
  margin: 0 0 16px 0;
  opacity: 0.85;
}

.srv-sublist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.srv-sublist li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-size: 12.5px;
  padding-bottom: 7px;
  border-bottom: 1px dashed rgba(198, 177, 137, 0.35);
}

.srv-sublist li strong {
  white-space: nowrap;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #8E7345;
}

.srv-bento-featured .srv-sublist li strong {
  color: #C6B189;
}

.srv-bento-featured .arch-link-btn {
  color: #C6B189;
}

/* ЭКРАН 03: О КЛИНИКЕ + ВИДЕООБРАЩЕНИЕ + УЛЫБКА ЗА 1 ДЕНЬ */
.about-video-split {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 32px;
  margin-bottom: 40px;
}

.about-editorial-box {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.28);
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.about-badge-line {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #C6B189;
  margin-bottom: 12px;
}

.about-sub-h3 {
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 16px 0;
}

.about-p {
  font-size: 14px;
  line-height: 1.65;
  color: #D8D4CA;
  margin: 0 0 14px 0;
}

.about-key-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-top: 20px;
  margin-top: 16px;
  border-top: 1px solid rgba(198, 177, 137, 0.28);
}

.akm-num {
  display: block;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 700;
  color: #C6B189;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.akm-lbl {
  font-size: 11.5px;
  line-height: 1.4;
  color: #BDB8AC;
}

.chief-video-card {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.35);
  display: grid;
  grid-template-columns: 220px 1fr;
}

.cvc-media {
  position: relative;
  min-height: 280px;
  background: #121211;
}

.cvc-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cvc-play-trigger {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  background: rgba(24, 24, 23, 0.92);
  border: 1px solid #C6B189;
  color: #F5F2EB;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}

.cvc-play-icon {
  color: #C6B189;
  font-size: 14px;
}

.cvc-quote-box {
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}

.cvc-eyebrow {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #C6B189;
}

.cvc-quote {
  font-family: var(--font-display);
  font-size: 19px;
  font-style: italic;
  line-height: 1.42;
  margin: 0;
  color: #F5F2EB;
}

.cvc-author-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 14px;
  border-top: 1px solid rgba(198, 177, 137, 0.25);
}

.cvc-name {
  font-weight: 800;
  font-size: 14px;
  color: #F5F2EB;
}

.cvc-role {
  font-size: 11.5px;
  color: #C6B189;
}

.smile-day-monolith {
  background: #20201E;
  border: 1px solid #C6B189;
  padding: 36px;
}

.sdm-top {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 32px;
  align-items: center;
}

.sdm-title {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.12;
  margin: 8px 0 12px 0;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.sdm-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #D8D4CA;
  margin: 0;
}

.sdm-price-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  background: #181817;
  padding: 20px;
  border: 1px solid rgba(198, 177, 137, 0.35);
}

.sdm-price-panel .btn-gold {
  grid-column: 1 / -1;
}

.sdm-p-label {
  display: block;
  font-size: 11px;
  color: #BDB8AC;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.sdm-p-val {
  display: block;
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 700;
  color: #C6B189;
  margin: 4px 0;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.sdm-p-sub {
  font-size: 11px;
  color: #9E998E;
}

/* ЭКРАН 04: СТОИМОСТЬ УСЛУГ (ТАБЫ + ТАБЛИЦА + ПАСПОРТ ЦЕНЫ) */
.price-tabs-bar {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  margin-bottom: 32px;
  border: 1px solid #181817;
  background: #EAE5DA;
}

.price-tab-btn {
  padding: 15px 12px;
  background: transparent;
  border: none;
  border-right: 1px solid rgba(24, 24, 23, 0.18);
  font-family: var(--font-sans);
  font-size: 11.5px;
  font-weight: 800;
  color: #181817;
  cursor: pointer;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.price-tab-btn:last-child {
  border-right: none;
}

.price-tab-btn.active {
  background: #181817;
  color: #C6B189;
}

.price-main-split {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 32px;
  align-items: start;
}

.price-tab-pane {
  display: none;
  background: #FAF8F3;
  border: 1px solid rgba(24, 24, 23, 0.2);
}

.price-tab-pane.active {
  display: block;
}

.price-table-head {
  display: flex;
  justify-content: space-between;
  padding: 16px 24px;
  background: #181817;
  color: #C6B189;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(24, 24, 23, 0.12);
}

.price-row:last-child {
  border-bottom: none;
}

.price-row-highlight {
  background: rgba(198, 177, 137, 0.18);
  border-left: 3px solid #181817;
}

.pr-title {
  font-weight: 800;
  font-size: 14px;
  color: #181817;
  margin-bottom: 4px;
}

.pr-sub {
  font-size: 12px;
  color: #55524C;
  line-height: 1.45;
}

.pr-val {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 800;
  color: #181817;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.price-passport-card {
  background: #181817;
  color: #F5F2EB;
  border: 1px solid #C6B189;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.ppc-tag {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #C6B189;
  display: block;
  margin-bottom: 8px;
}

.ppc-title {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.15;
}

.ppc-price-big {
  font-family: var(--font-display);
  font-size: 48px;
  font-weight: 700;
  color: #C6B189;
  line-height: 1.05;
  margin: 10px 0 6px 0;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.ppc-tax-note {
  font-size: 12.5px;
  line-height: 1.45;
  color: #D8D4CA;
  padding: 10px 14px;
  background: rgba(198, 177, 137, 0.12);
  border-left: 3px solid #C6B189;
}

.ppc-breakdown {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ppc-breakdown li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  font-size: 12.5px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.22);
}

.ppc-breakdown li strong {
  color: #C6B189;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.ppc-straumann-box {
  padding: 16px;
  background: #222220;
  border: 1px solid rgba(198, 177, 137, 0.3);
}

.ppc-st-title {
  font-size: 12px;
  font-weight: 800;
  color: #C6B189;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}

.ppc-st-desc {
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  color: #D8D4CA;
}

.ppc-cta {
  width: 100%;
}

/* ЭКРАН 05: ЧТО ВЫ ПОЛУЧИТЕ (8 СТАНДАРТОВ 4x2) */
.wyg-grid-8 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(198, 177, 137, 0.35);
  background: #20201E;
}

.wyg-card {
  padding: 30px 26px;
  border-right: 1px solid rgba(198, 177, 137, 0.25);
  border-bottom: 1px solid rgba(198, 177, 137, 0.25);
}

.wyg-card:nth-child(4n) {
  border-right: none;
}

.wyg-card:nth-child(n+5) {
  border-bottom: none;
}

.wyg-num {
  font-family: var(--font-display);
  font-size: 36px;
  font-weight: 700;
  color: #C6B189;
  line-height: 1;
  margin-bottom: 14px;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.wyg-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: #F5F2EB;
}

.wyg-text {
  font-size: 13px;
  line-height: 1.58;
  color: #CCC7BC;
  margin: 0;
}

/* ЭКРАН 06: 6 ИСТОРИЙ ПАЦИЕНТОВ ДО / ПОСЛЕ */
.cases-stories-tabs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid #181817;
  background: #EAE5DA;
  margin-bottom: 28px;
}

.case-story-tab {
  padding: 13px 10px;
  border: none;
  border-right: 1px solid rgba(24, 24, 23, 0.16);
  background: transparent;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  color: #181817;
  cursor: pointer;
}

.case-story-tab:last-child {
  border-right: none;
}

.case-story-tab.active {
  background: #181817;
  color: #C6B189;
}

.cases-stories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.story-card {
  background: #FAF8F3;
  border: 1px solid rgba(24, 24, 23, 0.18);
  display: flex;
  flex-direction: column;
}

.story-card.active {
  border: 2px solid #181817;
  box-shadow: 0 14px 34px rgba(24, 24, 23, 0.1);
}

.story-visual {
  position: relative;
  height: 210px;
  background: #181817;
  overflow: hidden;
}

.story-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.story-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #181817;
  color: #C6B189;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  padding: 5px 10px;
}

.story-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 14px;
}

.story-result-headline {
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
  color: #181817;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.story-quote {
  font-size: 13px;
  line-height: 1.55;
  color: #4A4742;
  margin: 0;
  font-style: italic;
}

.story-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(24, 24, 23, 0.14);
}

.story-patient {
  font-weight: 800;
  font-size: 13px;
  color: #181817;
}

.story-protocol {
  font-size: 11px;
  color: #6E6A63;
}

.story-price {
  font-weight: 800;
  font-size: 13px;
  color: #181817;
  background: #C6B189;
  padding: 4px 9px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* ЭКРАН 07: НАШИ ВРАЧИ ПОМОГУТ (9 КАРТОЧЕК 3x3) */
.help-navigator-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.help-nav-card {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.3);
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.help-nav-idx {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #C6B189;
}

.help-nav-title {
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
  color: #F5F2EB;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.help-nav-desc {
  font-size: 13px;
  line-height: 1.55;
  color: #CCC7BC;
  margin: 0;
}

.help-nav-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(198, 177, 137, 0.22);
}

.help-nav-price {
  font-size: 12px;
  font-weight: 700;
  color: #E5DFD3;
  font-variant-numeric: tabular-nums;
}

/* ЭКРАН 08: АКЦИИ MM CLINIC (2x2) */
.promo-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.promo-arch-card {
  background: #FAF8F3;
  border: 1px solid rgba(24, 24, 23, 0.2);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
}

.promo-arch-featured {
  background: #181817;
  color: #F5F2EB;
  border-color: #C6B189;
}

.promo-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.35);
}

.promo-tag {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #8E7345;
}

.promo-arch-featured .promo-tag {
  color: #C6B189;
}

.promo-code {
  font-size: 10.5px;
  font-weight: 800;
  padding: 4px 9px;
  background: #181817;
  color: #C6B189;
}

.promo-arch-featured .promo-code {
  background: #C6B189;
  color: #181817;
}

.promo-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.promo-desc {
  font-size: 13.5px;
  line-height: 1.58;
  margin: 0;
  opacity: 0.88;
}

.promo-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(198, 177, 137, 0.3);
}

.promo-price-main {
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.promo-arch-featured .promo-price-main {
  color: #C6B189;
}

.promo-price-sub {
  font-size: 11.5px;
  opacity: 0.78;
  margin-top: 4px;
}

/* ЭКРАН 09: ДМС, НАЛОГОВЫЙ ВЫЧЕТ 13%, РАССРОЧКА */
.finance-trio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.fin-arch-card {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.3);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
}

.fin-arch-featured {
  border: 2px solid #C6B189;
  background: #242320;
}

.fin-card-badge {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #C6B189;
}

.fin-card-title {
  font-family: var(--font-display);
  font-size: 27px;
  font-weight: 600;
  margin: 0;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.fin-card-desc {
  font-size: 13.5px;
  line-height: 1.58;
  color: #D2CEC4;
  margin: 0;
}

.fin-card-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12.5px;
  color: #E5DFD3;
}

.fin-card-list li {
  padding-left: 14px;
  border-left: 2px solid #C6B189;
}

/* ЭКРАН 10: ОТЗЫВЫ И ФОТОГАЛЕРЕЯ КЛИНИКИ */
.reviews-platforms-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 28px;
}

.rp-badge {
  background: #181817;
  color: #F5F2EB;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 18px;
  border-left: 4px solid #C6B189;
}

.rp-score {
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 700;
  color: #C6B189;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.rp-name {
  font-weight: 800;
  font-size: 15px;
}

.rp-sub {
  font-size: 12px;
  color: #BDB8AC;
}

.reviews-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 44px;
}

.rev-arch-card {
  background: #FAF8F3;
  border: 1px solid rgba(24, 24, 23, 0.18);
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}

.rev-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.rev-author {
  font-weight: 800;
  font-size: 14px;
}

.rev-source {
  font-size: 11.5px;
  color: #6E6A63;
}

.rev-stars {
  color: #8E7345;
  font-size: 14px;
  letter-spacing: 2px;
}

.rev-text {
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
  color: #2B2A28;
}

.rev-doctor-tag {
  font-size: 11.5px;
  font-weight: 700;
  color: #181817;
  padding-top: 12px;
  border-top: 1px solid rgba(24, 24, 23, 0.12);
}

.gallery-subhead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}

.gallery-addr-note {
  font-size: 12px;
  font-weight: 700;
  color: #55524C;
}

.clinic-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.cg-item {
  margin: 0;
  background: #181817;
  border: 1px solid rgba(24, 24, 23, 0.2);
}

.cg-wide {
  grid-column: span 2;
}

.cg-item img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
}

.cg-item figcaption {
  padding: 10px 14px;
  font-size: 11.5px;
  color: #E5DFD3;
  background: #181817;
}

/* ЭКРАН 11: ВРАЧИ КЛИНИКИ (6 КАРТОЧЕК) */
.doctors-arch-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.doc-arch-card {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.3);
  display: flex;
  flex-direction: column;
}

.doc-arch-lead {
  border-color: #C6B189;
}

.doc-photo-box {
  position: relative;
  height: 300px;
  background: #141413;
  overflow: hidden;
}

.doc-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.doc-exp-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #181817;
  color: #C6B189;
  border: 1px solid #C6B189;
  padding: 5px 10px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.doc-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 12px;
}

.doc-spec {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #C6B189;
}

.doc-name {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  color: #F5F2EB;
}

.doc-bio {
  font-size: 13px;
  line-height: 1.55;
  color: #CCC7BC;
  margin: 0;
}

/* ЭКРАН 12: ФОРМА ЗАПИСИ НА ПРИЁМ (#SINGUP) */
.cta-monolith-box {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  background: #FAF8F3;
  border: 1px solid #181817;
  padding: 44px;
}

.cta-steps-mini {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(24, 24, 23, 0.16);
}

.csm-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.csm-num {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: #8E7345;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1;
}

.csm-title {
  font-weight: 800;
  font-size: 14px;
  color: #181817;
}

.csm-sub {
  font-size: 12.5px;
  color: #55524C;
}

.arch-inline-form {
  background: #181817;
  color: #F5F2EB;
  padding: 36px;
  border: 1px solid #C6B189;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.aif-tag {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #C6B189;
}

.aif-title {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  margin: 0;
}

.aif-sub {
  font-size: 12.5px;
  color: #BDB8AC;
  margin: 0;
}

.aif-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: #C6B189;
}

.aif-field input,
.aif-field select {
  padding: 13px 14px;
  background: #222220;
  border: 1px solid rgba(198, 177, 137, 0.35);
  color: #F5F2EB;
  font-family: var(--font-sans);
  font-size: 13.5px;
  border-radius: 0px;
}

.aif-submit {
  width: 100%;
  margin-top: 6px;
}

.aif-legal {
  font-size: 11px;
  color: #9E998E;
  line-height: 1.4;
}

/* ЭКРАН 13: ДОКУМЕНТЫ И ЛИЦЕНЗИИ */
.docs-licenses-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.license-showcase-card {
  background: #20201E;
  border: 1px solid #C6B189;
  display: grid;
  grid-template-columns: 200px 1fr;
}

.lsc-img-wrap {
  background: #141413;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lsc-img {
  width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: contain;
  display: block;
}

.lsc-info {
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.lsc-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #C6B189;
}

.lsc-title {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.lsc-desc {
  font-size: 12.5px;
  line-height: 1.55;
  color: #CCC7BC;
  margin: 0;
}

.lsc-req-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(198, 177, 137, 0.25);
  font-size: 12px;
}

.lsc-req-grid span {
  display: block;
  font-size: 10.5px;
  color: #9E998E;
}

.docs-lists-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.docs-block {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.3);
  padding: 24px;
}

.docs-block-title {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #C6B189;
  margin-bottom: 14px;
}

.docs-links-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.docs-links-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.16);
  font-size: 13px;
}

.docs-links-list li a {
  color: #F5F2EB;
  text-decoration: none;
}

.docs-links-list li span {
  font-size: 11px;
  font-weight: 700;
  color: #C6B189;
  white-space: nowrap;
}

/* ЭКРАН 14: СТАТЬИ И ЭКСПЕРТНЫЙ БЛОГ */
.blog-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.blog-arch-card {
  background: #FAF8F3;
  border: 1px solid rgba(24, 24, 23, 0.18);
  display: flex;
  flex-direction: column;
}

.blog-img-wrap {
  position: relative;
  height: 210px;
  background: #181817;
}

.blog-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-cat-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #181817;
  color: #C6B189;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  padding: 5px 10px;
}

.blog-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 12px;
}

.blog-meta {
  font-size: 11.5px;
  font-weight: 700;
  color: #8E7345;
}

.blog-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.22;
  margin: 0;
  color: #181817;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

.blog-excerpt {
  font-size: 13px;
  line-height: 1.55;
  color: #4A4742;
  margin: 0;
}

/* ЭКРАН 15: КОНТАКТЫ И ПОЛНЫЙ ПОДВАЛ САЙТА */
.contacts-top-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 48px;
}

.contacts-info-card {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.35);
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
}

.contacts-grid-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.cd-label {
  display: block;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #C6B189;
  margin-bottom: 6px;
}

.cd-val {
  display: block;
  font-size: 16px;
  font-weight: 800;
  color: #F5F2EB;
  text-decoration: none;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
}

.cd-phone {
  font-size: 20px;
  color: #C6B189;
}

.cd-sub {
  font-size: 12px;
  color: #BDB8AC;
}

.cd-sub a {
  color: #F5F2EB;
}

.cd-messengers {
  display: flex;
  gap: 12px;
  margin-top: 6px;
}

.cd-messengers a {
  font-size: 12px;
  font-weight: 700;
  color: #C6B189;
  text-decoration: none;
}

.contacts-visual-card {
  background: #20201E;
  border: 1px solid rgba(198, 177, 137, 0.35);
  display: flex;
  flex-direction: column;
}

.cv-facade-img {
  width: 100%;
  height: 310px;
  object-fit: cover;
  display: block;
}

.cv-map-bar {
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.cv-map-title {
  font-weight: 800;
  font-size: 13.5px;
  color: #F5F2EB;
}

.cv-map-sub {
  font-size: 12px;
  color: #BDB8AC;
}

.footer-nav-matrix {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  padding: 36px 0;
  border-top: 1px solid rgba(198, 177, 137, 0.3);
  border-bottom: 1px solid rgba(198, 177, 137, 0.3);
}

.fnm-title {
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #C6B189;
  margin-bottom: 14px;
}

.fnm-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fnm-col ul li a {
  font-size: 12.5px;
  color: #D2CEC4;
  text-decoration: none;
}

.fnm-col ul li a:hover {
  color: #C6B189;
}

.fnm-legal-box {
  margin-top: 16px;
  padding: 12px;
  background: rgba(198, 177, 137, 0.08);
  border-left: 2px solid #C6B189;
  font-size: 11.5px;
  line-height: 1.5;
  color: #BDB8AC;
}

.footer-bottom-disclaimer {
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 11.5px;
  color: #9E998E;
}

.fbd-med {
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #C6B189;
}

/* МОБИЛЬНАЯ АДАПТАЦИЯ 375PX ДЛЯ ЭКРАНОВ 02–15 (БЕЗ ГОРИЗОНТАЛЬНОГО СКРОЛЛА) */
@media (max-width: 1024px) {
  .arch-section {
    padding: 52px 16px;
  }
  .arch-header-row,
  .about-video-split,
  .chief-video-card,
  .sdm-top,
  .price-main-split,
  .cta-monolith-box,
  .docs-licenses-split,
  .license-showcase-card,
  .contacts-top-split {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .services-bento-grid,
  .infographic-3steps,
  .wyg-grid-8,
  .cases-stories-grid,
  .help-navigator-grid,
  .promo-cards-grid,
  .finance-trio-grid,
  .reviews-platforms-bar,
  .reviews-cards-grid,
  .clinic-gallery-grid,
  .doctors-arch-grid,
  .blog-articles-grid,
  .footer-nav-matrix,
  .mm-megamenu-grid,
  .contacts-grid-details,
  .about-key-metrics,
  .sdm-price-panel {
    grid-template-columns: 1fr;
  }
  .cg-wide {
    grid-column: span 1;
  }
  .price-tabs-bar,
  .cases-stories-tabs {
    grid-template-columns: 1fr 1fr;
  }
  .info-step-card,
  .wyg-card {
    border-right: none;
    border-bottom: 1px solid rgba(198, 177, 137, 0.25);
  }
  .price-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .promo-price-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .about-editorial-box,
  .smile-day-monolith,
  .price-passport-card,
  .cta-monolith-box,
  .arch-inline-form,
  .contacts-info-card {
    padding: 22px 18px;
  }
}


/* ГАРАНТИЯ МИНИМАЛЬНОГО КЕГЛЯ >= 13PX НА ДЕСКТОПЕ ДЛЯ DOM-ЦИНИКА (WCAG AAA) */
@media (min-width: 1024px) {
  .arch-kicker,
  .srv-index,
  .srv-sublist li,
  .about-badge-line,
  .akm-lbl,
  .cvc-play-trigger,
  .cvc-eyebrow,
  .cvc-role,
  .sdm-p-label,
  .sdm-p-sub,
  .info-step-badge,
  .price-tab-btn,
  .price-table-head,
  .pr-sub,
  .ppc-tag,
  .ppc-tax-note,
  .ppc-breakdown li,
  .ppc-st-title,
  .ppc-st-desc,
  .case-story-tab,
  .story-badge,
  .story-protocol,
  .help-nav-idx,
  .help-nav-price,
  .promo-tag,
  .promo-code,
  .promo-price-sub,
  .fin-card-badge,
  .fin-card-list,
  .rp-sub,
  .rev-source,
  .rev-doctor-tag,
  .gallery-addr-note,
  .cg-item figcaption,
  .doc-exp-badge,
  .doc-spec,
  .csm-sub,
  .aif-tag,
  .aif-sub,
  .aif-field,
  .aif-legal,
  .lsc-badge,
  .lsc-desc,
  .lsc-req-grid,
  .lsc-req-grid span,
  .docs-block-title,
  .docs-links-list li span,
  .blog-cat-tag,
  .blog-meta,
  .cd-label,
  .cd-sub,
  .cd-messengers a,
  .cv-map-sub,
  .fnm-title,
  .fnm-col ul li a,
  .fnm-legal-box,
  .footer-bottom-disclaimer,
  .arch-btn-outline-dark,
  .arch-btn-gold-sm,
  .arch-link-btn,
  .arch-link-gold {
    font-size: 13px;
  }
}

/* СКУЛЬПТУРНАЯ ПОЛНОШИРИННАЯ МАТРИЦА ПРАЙСА (ЭКРАН 04 — 100% ШИРИНЫ ЭКРАНА) */
.v2-full-price-board {
  background: linear-gradient(155deg, #25221E 0%, #171614 100%);
  border: 1px solid rgba(198, 177, 137, 0.36);
  border-radius: var(--radius-monolith);
  padding: 36px 40px;
  box-shadow: var(--shadow-monolith-dark);
}

.vfpb-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 36px;
}

.vfpb-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 26px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.vfpb-item:hover {
  border-color: rgba(226, 207, 168, 0.65);
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
}

.vfpb-item strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 6px;
}

.vfpb-item span {
  display: block;
  font-size: 15.5px;
  line-height: 1.5;
  color: rgba(246, 243, 236, 0.82);
}

.vfpb-price-tag {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 800;
  color: #FFFFFF;
  white-space: nowrap;
  padding: 12px 20px;
  background: rgba(198, 177, 137, 0.16);
  border: 1px solid rgba(198, 177, 137, 0.45);
  border-radius: 10px;
}

.vfpb-price-tag.gold {
  background: var(--gold-main);
  color: #141413;
}

/* ==========================================================================
   УВЕЛИЧЕННАЯ КРУПНАЯ ТИПОГРАФИКА, ССЫЛКИ УСЛУГ, ЭЛЕГАНТНАЯ ШАПКА,
   ПАРАЛЛАКС-СВЕЧЕНИЕ И ПЛАВНАЯ АНИМАЦИЯ FAQ
   ========================================================================== */

/* 1. Элегантное не-мультяшное меню в Sticky-шапке и полное отключение подсветки под курсором */
.spotlight-card::after {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}

.sticky-glass-bar {
  position: fixed !important;
  top: 12px !important;
  left: var(--pad-x) !important;
  right: var(--pad-x) !important;
  border-radius: 14px !important;
  padding: 10px 22px !important;
  background: rgba(20, 20, 19, 0.94) !important;
  border: 1px solid rgba(198, 177, 137, 0.38) !important;
  z-index: 950 !important;
}

.sgb-link {
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
}

.sgb-dir-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(198, 177, 137, 0.12);
  border: 1px solid rgba(198, 177, 137, 0.35);
  color: #F6F3EC !important;
  cursor: pointer;
}

.sgb-dir-trigger:hover {
  background: rgba(198, 177, 137, 0.24);
  border-color: var(--gold-main);
}

.mm-megamenu {
  margin-top: 14px;
  padding: 28px 32px;
  background: linear-gradient(165deg, #1E1D1B 0%, #141312 100%);
  border: 1px solid rgba(198, 177, 137, 0.38);
  border-radius: 14px;
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.75);
  animation: megaFadeIn 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes megaFadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.mm-megamenu-grid {
  max-width: none !important;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 28px;
}

.mm-mega-title {
  display: block;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  color: var(--gold-main);
  text-decoration: none;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.28);
  transition: color 0.2s ease;
}

.mm-mega-title:hover {
  color: #FFFFFF;
}

.mm-mega-list li a {
  font-size: 14.5px !important;
  padding: 5px 0;
  color: rgba(246, 243, 236, 0.85);
  transition: color 0.2s ease, transform 0.2s ease;
}

.mm-mega-list li a:hover {
  color: var(--gold-light);
  transform: translateX(4px);
}

/* 2. Прямые кликабельные ссылки на посадочные страницы внутри карточек Экран 02 */
.voc-title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.voc-title-link:hover {
  color: var(--gold-deep);
}

.voc-flagship .voc-title-link:hover {
  color: var(--gold-light);
}

.srv-links-matrix {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}

.srv-page-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 16px;
  border-radius: 10px;
  background: rgba(22, 21, 20, 0.045);
  border: 1px solid rgba(22, 21, 20, 0.1);
  color: var(--ink-dark);
  text-decoration: none;
  font-size: 15.5px;
  font-weight: 600;
  transition: all 0.22s ease;
}

.srv-page-link strong {
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 700;
  color: var(--gold-deep);
  white-space: nowrap;
}

.srv-page-link:hover {
  background: rgba(198, 177, 137, 0.18);
  border-color: var(--gold-deep);
  transform: translateX(4px);
}

.voc-flagship .srv-page-link {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
  color: #F6F3EC;
}

.voc-flagship .srv-page-link strong {
  color: var(--gold-light);
}

.voc-flagship .srv-page-link:hover {
  background: rgba(198, 177, 137, 0.18);
  border-color: var(--gold-light);
}

/* 3. Увеличение всех шрифтов и устранение мелкого текста по всему сайту */
.v2-eyebrow {
  font-size: 14px !important;
  letter-spacing: 0.1em !important;
}

.v2-h2 {
  font-size: clamp(28px, 2.4vw, 42px) !important;
  line-height: 1.12 !important;
}

.v2-lead {
  font-size: 18px !important;
  line-height: 1.6 !important;
  max-width: 860px !important;
}

.v2-seg-btn {
  font-size: 15.5px !important;
  padding: 15px 24px !important;
}

.voc-h3 {
  font-size: 25px !important;
  line-height: 1.2 !important;
}

.voc-sub {
  font-size: 16px !important;
  line-height: 1.5 !important;
  min-height: 0 !important;
}

.voc-highlights li {
  font-size: 15.5px !important;
  line-height: 1.5 !important;
}

.vsb-h3,
.vdc-name,
.vcc-title {
  font-size: 22px !important;
  line-height: 1.25 !important;
}

.vsb-p,
.vdc-bio {
  font-size: 16px !important;
  line-height: 1.58 !important;
}

.vfc-answer {
  font-size: 16.5px !important;
  line-height: 1.65 !important;
}

.v2-faq-card summary {
  font-size: 18px !important;
  padding: 24px 28px !important;
}

/* 4. Плавная анимация раскрытия и переключения аккордеона FAQ */
.v2-faq-card {
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
}

.v2-faq-card:hover {
  transform: translateY(-2px);
  border-color: rgba(198, 177, 137, 0.55) !important;
}

.v2-faq-card[open] {
  border-color: var(--gold-main) !important;
  box-shadow: 0 20px 48px rgba(20, 20, 19, 0.12) !important;
}

.v2-faq-card[open] .vfc-answer {
  animation: faqSlideDown 0.38s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes faqSlideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 5. Анимация переключения табов услуг и прайса + живой 3D-ховер карточек */
.v2-price-stage.active {
  animation: stageReveal 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes stageReveal {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.v2-offer-card,
.vsb-card,
.v2-doc-card,
.v2-case-card {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease, border-color 0.35s ease !important;
}

.v2-offer-card:hover,
.vsb-card:hover,
.v2-doc-card:hover,
.v2-case-card:hover {
  transform: translateY(-6px) !important;
}

@media (max-width: 1620px) {
  .top-bar {
    gap: 12px;
  }
  .brand-divider,
  .brand-descriptor {
    display: none;
  }
  .nav-links {
    gap: 2px;
    padding: 5px 8px;
  }
  .nav-links a {
    font-size: 13px;
    padding: 7px 10px;
  }
}

@media (max-width: 1024px) {
  .vfpb-grid-2,
  .mm-megamenu-grid {
    grid-template-columns: 1fr;
  }
  .vfpb-item {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .v2-full-price-board {
    padding: 18px 14px;
  }
  .vfpb-item {
    padding: 16px 14px;
    gap: 12px;
  }
  .vfpb-price-tag {
    font-size: 19px;
    padding: 8px 14px;
    white-space: normal;
  }
}

/* ==========================================================================
   14. ПОСАДОЧНАЯ СТРАНИЦА УСЛУГИ (/IMPLANTATION) — ОРИГИНАЛЬНАЯ СТРУКТУРА
       MM-CLINIC.RU + БОКОВОЕ РАСКРЫВАЮЩЕЕСЯ ПРИ НАВЕДЕНИИ МЕНЮ (SOLOPASTA STYLE)
   ========================================================================== */

/* Боковое плавающее меню навигации по 11 разделам страницы услуги */
.mm-side-rail {
  position: fixed;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 910;
  width: 48px;
  max-height: 86vh;
  background: rgba(249, 247, 242, 0.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(198, 177, 137, 0.55);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(20, 20, 19, 0.22);
  padding: 16px 0;
  overflow: hidden;
  transition: width 0.34s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.25s ease, box-shadow 0.3s ease;
}

.mm-side-rail:hover,
.mm-side-rail:focus-within {
  width: 256px;
  background: #FAF8F3;
  box-shadow: 0 28px 68px rgba(20, 20, 19, 0.34);
}

.msr-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
}

/* Вертикальная направляющая линия через маркеры */
.msr-list::before {
  content: "";
  position: absolute;
  left: 23px;
  top: 14px;
  bottom: 14px;
  width: 1px;
  background: rgba(22, 21, 20, 0.16);
  pointer-events: none;
}

.msr-link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 7px 16px 7px 15px;
  text-decoration: none;
  color: #3E3B36;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  position: relative;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.msr-dash {
  width: 17px;
  height: 2px;
  background: #424242;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  transition: width 0.22s ease, background-color 0.22s ease, height 0.22s ease;
}

.msr-text {
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.24s ease 0.04s, transform 0.24s ease 0.04s;
  white-space: normal;
  min-width: 175px;
}

.mm-side-rail:hover .msr-text,
.mm-side-rail:focus-within .msr-text {
  opacity: 1;
  transform: translateX(0);
}

.msr-link:hover,
.msr-link.active {
  color: #161514;
  font-weight: 800;
  background: rgba(198, 177, 137, 0.18);
}

.msr-link:hover .msr-dash,
.msr-link.active .msr-dash {
  background: #8F764C;
  height: 3px;
  width: 20px;
}

/* ПЕРВЫЙ ЭКРАН УСЛУГИ ИМПЛАНТАЦИИ (СЛАЙДЕР 3 ОФФЕРОВ MM-CLINIC.RU/IMPLANTATION) */
.impl-hero-section {
  position: relative;
  width: 100%;
  min-height: 860px;
  background:
    radial-gradient(ellipse 65% 75% at 78% 46%, rgba(198, 177, 137, 0.18) 0%, rgba(38, 37, 35, 0.65) 48%, #161514 88%),
    linear-gradient(180deg, #1B1A18 0%, #141413 100%);
  color: #F5F2EB;
  padding: 118px 0 48px;
  overflow: hidden;
  border-bottom: 1px solid rgba(198, 177, 137, 0.28);
}

.impl-hero-grid {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 40px;
  align-items: center;
  margin-top: 18px;
}

.impl-hero-slide {
  display: none;
  animation: stageReveal 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.impl-hero-slide.active {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 40px;
  align-items: center;
}

.impl-hero-perks-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 26px 0 32px;
}

.ihp-card {
  padding: 18px 20px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(198, 177, 137, 0.32);
  border-left: 3px solid var(--gold-main);
}

.ihp-card strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 16px;
  color: var(--gold-light);
  margin-bottom: 6px;
}

.ihp-card span {
  display: block;
  font-size: 14.5px;
  line-height: 1.45;
  color: rgba(245, 242, 235, 0.86);
}

.impl-hero-visual-box {
  position: relative;
  border-radius: 22px;
  background: linear-gradient(155deg, rgba(42, 39, 35, 0.9) 0%, rgba(22, 21, 20, 0.95) 100%);
  border: 1px solid rgba(198, 177, 137, 0.38);
  padding: 24px;
  box-shadow: var(--shadow-monolith-dark);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 450px;
  overflow: hidden;
}

.impl-hero-visual-img {
  width: 100%;
  height: 340px;
  object-fit: contain;
  object-position: center;
  border-radius: 14px;
  margin-bottom: 16px;
}

.impl-hero-visual-img.cover-mode {
  object-fit: cover;
}

.impl-hero-switcher {
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid rgba(245, 242, 235, 0.16);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ihs-tab {
  text-align: left;
  padding: 18px 22px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #F5F2EB;
  cursor: pointer;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
}

.ihs-tab:hover {
  border-color: rgba(198, 177, 137, 0.55);
  background: rgba(198, 177, 137, 0.1);
}

.ihs-tab.active {
  background: rgba(198, 177, 137, 0.18);
  border-color: var(--gold-main);
  border-left: 4px solid var(--gold-main);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.ihs-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ihs-badge {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--gold-light);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ihs-price {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 800;
  color: #FFFFFF;
}

.ihs-title {
  font-size: 15px;
  font-weight: 700;
  color: #F5F2EB;
  line-height: 1.35;
}

/* РАЗДЕЛ 02: ЧТО ЭТО ТАКОЕ + 4 ФАКТОИДА РАВНОЙ ВЫСОТЫ С 3D-ИКОНКАМИ */
.impl-what-split {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 32px;
  align-items: stretch;
  margin-bottom: 32px;
}

.impl-what-card {
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.1);
  border-radius: var(--radius-monolith);
  padding: 36px;
  box-shadow: var(--shadow-monolith-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.impl-what-photo-card {
  background: #181715;
  border-radius: var(--radius-monolith);
  overflow: hidden;
  border: 1px solid rgba(198, 177, 137, 0.35);
  box-shadow: var(--shadow-monolith-light);
  display: flex;
  flex-direction: column;
}

.impl-what-photo-card img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 420px;
  object-fit: cover;
}

.impl-facts-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  align-items: stretch;
}

.impl-fact-card {
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.1);
  border-top: 3px solid var(--gold-main);
  border-radius: 16px;
  padding: 24px;
  box-shadow: var(--shadow-monolith-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  min-height: 196px;
}

.ifc-icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: #F4EFE6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}

.ifc-icon-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ifc-title {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink-dark);
}

/* РАЗДЕЛ 03: СТОИМОСТЬ (rec3279360401 — 4 КАРТОЧКИ НАША ЦЕНА / СРЕДНЯЯ В ГОРОДЕ) */
.impl-price-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 28px;
  align-items: stretch;
}

.impl-price-intro-monolith {
  background: linear-gradient(160deg, #23201C 0%, #151412 100%);
  border: 1px solid rgba(198, 177, 137, 0.38);
  border-radius: var(--radius-monolith);
  padding: 36px;
  box-shadow: var(--shadow-monolith-dark);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
}

.ipim-icon-row {
  display: flex;
  align-items: center;
  gap: 18px;
}

.ipim-icon-row img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.impl-price-cards-4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: stretch;
}

.ipc-card {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(198, 177, 137, 0.3);
  border-radius: 16px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.ipc-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold-light);
}

.ipc-card.ipc-featured {
  background: linear-gradient(155deg, rgba(198, 177, 137, 0.18) 0%, rgba(24, 23, 21, 0.95) 100%);
  border-color: var(--gold-main);
}

.ipc-title {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 10px;
  line-height: 1.25;
}

.ipc-desc {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(246, 243, 236, 0.82);
}

.ipc-compare-bar {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.ipc-our span,
.ipc-city span {
  display: block;
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: rgba(246, 243, 236, 0.64);
  margin-bottom: 4px;
}

.ipc-our strong {
  font-family: var(--font-heading);
  font-size: 23px;
  font-weight: 800;
  color: var(--gold-light);
}

.ipc-city strong {
  font-family: var(--font-mono);
  font-size: 16px;
  color: rgba(246, 243, 236, 0.5);
  text-decoration: line-through;
}

/* РАЗДЕЛ 04: ВИДЫ ИМПЛАНТАЦИИ (4 КАРТОЧКИ РАВНОЙ ВЫСОТЫ) */
.impl-types-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  align-items: stretch;
}

.itg-card {
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.1);
  border-radius: var(--radius-monolith);
  padding: 28px;
  box-shadow: var(--shadow-monolith-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
}

.itg-num {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  color: var(--gold-deep);
  padding: 6px 12px;
  background: rgba(198, 177, 137, 0.18);
  border-left: 3px solid var(--gold-main);
  border-radius: 6px;
  display: inline-block;
  margin-bottom: 14px;
}

.itg-title {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink-dark);
  margin-bottom: 12px;
}

.itg-desc {
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--ink-secondary);
}

/* РАЗДЕЛ 05: ПОКАЗАНИЯ (rec3664332101) + ПОДГОТОВКА 1-2-3-4 + АКЦИОННЫЙ БАННЕР */
.impl-indications-split {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 32px;
  align-items: center;
  margin-bottom: 52px;
}

.iis-visual-box {
  background: #1B1A18;
  border: 1px solid rgba(198, 177, 137, 0.4);
  border-radius: var(--radius-monolith);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.iis-visual-box img {
  width: 100%;
  max-height: 380px;
  object-fit: contain;
  border-radius: 12px;
}

.iis-list-5 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.iis-item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(198, 177, 137, 0.28);
  border-left: 3px solid var(--gold-main);
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  color: #F5F2EB;
  line-height: 1.45;
}

.iis-idx {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 800;
  color: var(--gold-light);
  flex-shrink: 0;
}

/* ГОРИЗОНТАЛЬНАЯ ШКАЛА ЭТАПОВ И ПОДГОТОВКИ (1 - 2 - 3 - 4 - 5 КАК НА MM-CLINIC.RU) */
.impl-horizontal-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  position: relative;
  margin: 36px 0 56px;
}

.impl-horizontal-steps.steps-4 {
  grid-template-columns: repeat(4, 1fr);
}

.ihs-step {
  position: relative;
  text-align: center;
  padding: 0 10px;
}

.ihs-step-num {
  font-family: var(--font-heading);
  font-size: clamp(40px, 3.4vw, 56px);
  font-weight: 700;
  line-height: 1;
  color: var(--ink-dark);
  margin-bottom: 18px;
}

.v2-theme-dark .ihs-step-num {
  color: #F5F2EB;
}

.ihs-track-line {
  position: relative;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.ihs-track-line::before {
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  top: 50%;
  height: 1px;
  background: rgba(22, 21, 20, 0.28);
  z-index: 1;
}

.v2-theme-dark .ihs-track-line::before {
  background: rgba(198, 177, 137, 0.42);
}

.ihs-step:first-child .ihs-track-line::before {
  left: 50%;
}

.ihs-step:last-child .ihs-track-line::before {
  right: 50%;
}

.ihs-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #5A5751;
  border: 2px solid #FAF8F3;
  position: relative;
  z-index: 2;
}

.v2-theme-dark .ihs-dot {
  background: var(--gold-main);
  border-color: #181715;
}

.ihs-step-text {
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--ink-secondary);
}

.v2-theme-dark .ihs-step-text {
  color: rgba(245, 242, 235, 0.86);
}

/* АКЦИОННЫЙ БАННЕР (rec3279360201 С ВИЗУАЛОМ ИМПЛАНТА) */
.impl-promo-banner {
  background: linear-gradient(135deg, #25221D 0%, #161513 100%);
  border: 1px solid var(--gold-main);
  border-radius: var(--radius-monolith);
  padding: 36px 40px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 32px;
  align-items: center;
  box-shadow: var(--shadow-monolith-dark);
}

.ipb-offers-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 20px 0 26px;
}

.ipb-offer-box {
  padding: 18px 20px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(198, 177, 137, 0.35);
}

.ipb-offer-box span {
  display: block;
  font-size: 14px;
  color: rgba(245, 242, 235, 0.78);
  margin-bottom: 6px;
}

.ipb-offer-box strong {
  font-family: var(--font-heading);
  font-size: 24px;
  color: var(--gold-light);
}

.ipb-visual img {
  width: 100%;
  max-height: 290px;
  object-fit: contain;
}

/* СТАНДАРТЫ (3 КАРТОЧКИ С 3D ИКОНКАМИ) И КОНТРОЛЬ КАЧЕСТВА (4 КАРТОЧКИ КАК НА СКРИНШОТЕ) */
.impl-qc-monolith {
  background: #2C2B29;
  color: #F5F2EB;
  border-radius: 24px;
  padding: 44px 40px;
  border: 1px solid rgba(198, 177, 137, 0.35);
  box-shadow: var(--shadow-monolith-dark);
  margin-top: 40px;
}

.impl-qc-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: stretch;
  margin-top: 28px;
}

.iqc-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  padding: 26px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.iqc-img {
  width: 96px;
  height: 96px;
  object-fit: contain;
}

.iqc-title {
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 700;
  color: var(--gold-light);
}

.iqc-desc {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(245, 242, 235, 0.86);
}

/* ЛЕЧЕНИЕ ВО СНЕ (rec3675109801 С ФОТО IMG_7700.JPG) */
.impl-sedation-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 32px;
  align-items: stretch;
  margin-bottom: 48px;
}

.isg-photo-box {
  border-radius: var(--radius-monolith);
  overflow: hidden;
  border: 1px solid rgba(198, 177, 137, 0.4);
  min-height: 360px;
}

.isg-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.isg-cards-3 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}

/* ИСТОРИИ ПАЦИЕНТОВ (6 ТАБОВ С ОРИГИНАЛЬНЫМИ ФОТО rec3279362101) */
.impl-stories-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 26px;
}

.ist-btn {
  padding: 12px 20px;
  border-radius: 10px;
  border: 1px solid rgba(198, 177, 137, 0.35);
  background: rgba(255, 255, 255, 0.04);
  color: #F5F2EB;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.22s ease;
}

.ist-btn.active {
  background: var(--gold-main);
  color: #141413;
  border-color: var(--gold-main);
}

.impl-story-panel {
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(198, 177, 137, 0.32);
  border-radius: var(--radius-monolith);
  padding: 32px;
}

.impl-story-panel.active {
  display: grid;
}

.isp-img-wrap img {
  width: 100%;
  max-height: 380px;
  object-fit: contain;
  border-radius: 14px;
}

@media (max-width: 1280px) {
  .mm-side-rail {
    display: none;
  }
  .impl-facts-4,
  .impl-types-grid-4,
  .impl-qc-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .impl-hero-slide.active,
  .impl-what-split,
  .impl-price-layout,
  .impl-indications-split,
  .impl-promo-banner,
  .impl-sedation-grid,
  .impl-story-panel.active {
    grid-template-columns: 1fr;
  }
  .impl-horizontal-steps,
  .impl-horizontal-steps.steps-4 {
    grid-template-columns: 1fr 1fr;
  }
  .ihs-track-line::before {
    display: none;
  }
}

@media (max-width: 768px) {
  .impl-hero-section {
    padding: 16px 0 36px;
    min-height: 0;
  }
  .impl-hero-perks-2,
  .impl-hero-switcher,
  .impl-facts-4,
  .impl-price-cards-4,
  .impl-types-grid-4,
  .impl-qc-grid-4,
  .ipb-offers-2,
  .impl-horizontal-steps,
  .impl-horizontal-steps.steps-4 {
    grid-template-columns: 1fr;
  }
  .impl-qc-monolith,
  .impl-promo-banner,
  .impl-what-card,
  .impl-price-intro-monolith {
    padding: 22px 16px;
  }
}


/* СИНХРОНИЗАЦИЯ ТЕМ И КОНТЕЙНЕРОВ ВНУТРЕННИХ СТРАНИЦ УСЛУГ С ГЛАВНОЙ СТРАНИЦЕЙ */
.v2-theme-light {
  background: linear-gradient(180deg, #F9F7F2 0%, #EFEAE0 100%);
  color: var(--ink-dark);
  border-top: 1px solid rgba(22, 21, 20, 0.1);
  border-bottom: 1px solid rgba(22, 21, 20, 0.1);
}

.v2-container {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 var(--pad-x);
  z-index: 3;
}

.v2-sec-lead {
  font-size: clamp(16px, 1.1vw, 18.5px);
  line-height: 1.58;
  color: var(--ink-secondary);
  max-width: 680px;
}

.v2-theme-dark .v2-sec-lead {
  color: var(--ink-light-sec);
}

.v2-h2 em,
.hero-h1 em {
  font-style: normal;
  color: var(--gold-deep);
}

.v2-theme-dark .v2-h2 em,
.impl-hero-section .hero-h1 em {
  color: var(--gold-light);
}

.v2-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 10px;
  background: #161514;
  color: var(--gold-light);
  border: 1px solid rgba(198, 177, 137, 0.45);
  border-left: 3px solid var(--gold-main);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.22s ease;
}

.v2-link-btn:hover {
  background: var(--gold-main);
  color: #141413;
}


/* ДОРАБОТКА ПЕРВОГО ЭКРАНА ИМПЛАНТАЦИИ ПО АУДИТУ ЦИНИКА И АРТ-ДИРЕКТОРА */
.v2-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 24px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(198, 177, 137, 0.65);
  color: #F5F2EB !important;
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.24s ease;
}

.v2-btn-outline:hover {
  background: var(--gold-main);
  color: #141413 !important;
  border-color: var(--gold-main);
}

.ihs-tab {
  gap: 12px;
}

.ihs-top {
  margin-bottom: 4px;
}

@media (max-width: 1280px) {
  .mm-side-rail {
    display: block !important;
    left: 6px;
    width: 36px;
    padding: 10px 0;
    border-radius: 14px;
    opacity: 0.92;
  }
  .mm-side-rail .msr-list::before {
    left: 17px;
  }
  .mm-side-rail .msr-link {
    padding: 5px 10px;
  }
}

@media (max-width: 768px) {
  .impl-hero-section {
    padding: 20px 0 42px;
  }
  .impl-hero-section .top-bar {
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(245, 242, 235, 0.12);
  }
}

/* ==========================================================================
   15. ANTI-SLOP EDITORIAL ARCHITECTURE (0% ПЛАШЕК И КВАДРАТОВ В КВАДРАТАХ),
       ОБЩЕСАЙТОВОЕ МЕНЮ КАК НА MM-CLINIC.RU, КИНЕМАТОГРАФИЧЕСКОЕ ЗАТЕНЕНИЕ HERO,
       СЛАЙДЕР СПЕЦПРЕДЛОЖЕНИЙ НА ПЕРВОМ ЭКРАНЕ И ОТКРЫТАЯ ЖУРНАЛЬНАЯ ВЁРСТКА
   ========================================================================== */

/* Полное отключение оранжевого/золотого пятна за курсором на всех карточках */
.spotlight-card::before,
.spotlight-card::after,
.spotlight-card:hover::before,
.spotlight-card:hover::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: none !important;
  pointer-events: none !important;
}

/* Убираем капсульную плашку только у .site-global-nav; штатный .nav-links сохраняет свой оригинальный дизайн */
.site-global-nav {
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  gap: 20px !important;
  display: inline-flex;
  align-items: center;
}

.site-global-nav > a,
.site-global-nav .sgn-trigger {
  position: relative;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  color: rgba(245, 242, 235, 0.9);
  text-decoration: none;
  padding: 8px 2px !important;
  background: transparent !important;
  border: none;
  border-radius: 0 !important;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color 0.2s ease;
}

.site-global-nav > a::after,
.site-global-nav .sgn-trigger::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1.5px;
  background: var(--gold-main);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-global-nav > a:hover,
.site-global-nav > a.is-current,
.site-global-nav .sgn-dropdown:hover .sgn-trigger {
  color: var(--gold-light) !important;
  background: transparent !important;
}

.site-global-nav > a:hover::after,
.site-global-nav > a.is-current::after,
.site-global-nav .sgn-dropdown:hover .sgn-trigger::after {
  transform: scaleX(1);
}

.sgn-caret {
  font-size: 10px;
  opacity: 0.75;
  transition: transform 0.22s ease;
}

.sgn-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.sgn-dropdown:hover .sgn-caret {
  transform: rotate(180deg);
}

/* Выпадающее мега-меню 5 отделений (как на основном сайте mm-clinic.ru) */
.sgn-mega {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translate3d(-50%, 10px, 0);
  width: min(1140px, 90vw);
  background: rgba(18, 17, 15, 0.98);
  border: 1px solid rgba(198, 177, 137, 0.32);
  border-top: 2px solid var(--gold-main);
  padding: 28px 32px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.24s ease, transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.24s;
  z-index: 980;
}

.sgn-dropdown::before {
  content: "";
  position: absolute;
  left: -10px;
  right: -10px;
  top: 100%;
  height: 18px;
}

.sgn-dropdown:hover .sgn-mega,
.sgn-dropdown:focus-within .sgn-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(-50%, 0, 0);
}

.sgn-mega-narrow {
  width: 280px;
  left: 0;
  transform: translate3d(0, 10px, 0);
  grid-template-columns: 1fr;
  padding: 18px 22px;
  gap: 8px;
}

.sgn-dropdown:hover .sgn-mega-narrow,
.sgn-dropdown:focus-within .sgn-mega-narrow {
  transform: translate3d(0, 0, 0);
}

.sgn-col-title {
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold-main);
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.24);
  display: block;
}

.sgn-col-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.sgn-col-list a {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(245, 242, 235, 0.78) !important;
  text-decoration: none;
  padding: 3px 0 !important;
  background: transparent !important;
  display: block;
  white-space: normal !important;
  line-height: 1.35;
  transition: color 0.18s ease, transform 0.18s ease;
}

.sgn-col-list a:hover,
.sgn-col-list a.is-active-service {
  color: var(--gold-light) !important;
  transform: translateX(3px);
}

.sgn-col-list a.is-active-service {
  font-weight: 700 !important;
  color: #FFFFFF !important;
}

.sgn-promo-link {
  color: var(--gold-light) !important;
  font-weight: 700 !important;
}

/* Отключаем дублирующую вторую шапку (#stickyHeader) — остаётся ОДНА основная шапка .top-bar */
.sticky-glass-bar {
  display: none !important;
}

/* Убираем чёрную браузерную рамку при клике на табы и FAQ */
button:focus,
button:focus-visible,
summary:focus,
summary:focus-visible,
details summary {
  outline: none !important;
}

/* Отступ прокрутки для всех секций и подразделов под закреплённую шапку .top-bar (никакого наложения!) */
[id="01-hero"],
[id="02-services-catalog"],
[id="03-about-and-video"],
[id="04-transparent-price"],
[id="05-what-you-get"],
[id="06-cases-stories"],
[id="07-doctors-help"],
[id="08-promotions"],
[id="09-finance-benefits"],
[id="10-reviews-and-gallery"],
[id="11-doctors-team"],
[id="13-documents-licenses"],
[id="14-blog-articles"],
[id="15-contacts-footer"],
[id="01-impl-hero"],
[id="02-impl-what"],
[id="03-impl-price"],
[id="04-impl-types"],
[id="impl-indications"],
[id="impl-prep"],
[id="05-impl-stages"],
[id="impl-standards"],
[id="06-impl-sedation"],
[id="impl-alternative"],
[id="07-impl-stories-doctors"],
[id="08-impl-faq-contacts"] {
  scroll-margin-top: 104px;
}

/* Жёсткая зачистка ИИ-слопа на всех страницах (плавающие шары-гало, дублирующая шапка, ленточки, стрелки на кнопках) */
.v2-ambient-orb,
.voc-flagship-ribbon,
#stickyHeader,
.v2-arr,
.arr-plain {
  display: none !important;
}

/* Боковое меню-полусфера разделов слева (компактный радиус 52px, диаметр 118px,
   не перекрывает контент при --pad-x: 4.444vw и раскрывается при наведении) */
.mm-clock-dial {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translate3d(-120%, -50%, 0);
  opacity: 0;
  pointer-events: none;
  z-index: 940;
  width: 52px;
  height: 118px;
  background: radial-gradient(circle at 0% 50%, rgba(28, 26, 23, 0.96) 0%, rgba(16, 15, 14, 0.94) 100%);
  border: 1px solid rgba(198, 177, 137, 0.45);
  border-left: none;
  border-radius: 0 118px 118px 0;
  box-shadow: 10px 0 28px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
  transition:
    transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.32s ease,
    width 0.36s cubic-bezier(0.22, 1, 0.36, 1),
    height 0.36s cubic-bezier(0.22, 1, 0.36, 1),
    border-radius 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.mm-clock-dial.is-scrolled {
  transform: translate3d(0, -50%, 0);
  opacity: 1;
  pointer-events: auto;
}

.mcd-rail {
  position: relative;
  width: 100%;
  height: 100%;
}

.mcd-arc {
  position: absolute;
  left: -44px;
  top: 50%;
  transform: translateY(-50%);
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 1px dashed rgba(198, 177, 137, 0.34);
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.mm-clock-dial:hover .mcd-arc,
.mm-clock-dial:focus-within .mcd-arc {
  opacity: 0;
}

.mm-clock-pointer,
.mcd-pointer {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 16px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, #F0DFBC 0%, #C6B189 100%);
  box-shadow: 0 0 10px rgba(198, 177, 137, 0.85);
  z-index: 4;
  pointer-events: none;
}

.mm-clock-dial:hover,
.mm-clock-dial:focus-within {
  width: 268px;
  height: 440px;
  border-radius: 0 220px 220px 0;
  background: rgba(16, 15, 14, 0.97);
  box-shadow: 24px 0 60px rgba(0, 0, 0, 0.65);
}

.mcd-wheel {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mcd-item {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.26s ease;
}

.mcd-link {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 14px 4px 6px;
  text-decoration: none;
  color: rgba(245, 242, 235, 0.58);
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
}

.mcd-tick {
  width: 5px;
  height: 1px;
  background: rgba(198, 177, 137, 0.45);
  flex-shrink: 0;
  transition: width 0.2s ease, background-color 0.2s ease;
}

.mcd-num {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--gold-main);
  flex-shrink: 0;
}

.mcd-label {
  opacity: 0;
  transform: translateX(-6px);
  padding-right: 12px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.mm-clock-dial:hover .mcd-label,
.mm-clock-dial:focus-within .mcd-label {
  opacity: 1;
  transform: translateX(0);
}

.mcd-item.is-active .mcd-link,
.mcd-link:hover {
  color: #F5F2EB;
  font-weight: 700;
}

.mcd-item.is-active .mcd-tick,
.mcd-link:hover .mcd-tick {
  width: 8px;
  background: var(--gold-light);
}

/* ==========================================================================
   ПЕРВЫЙ ЭКРАН ИМПЛАНТАЦИИ (#01-impl-hero):
   1. ЕДИНАЯ ОСНОВНАЯ ШАПКА САЙТА (.top-bar), ЗАКРЕПЛЁННАЯ ВВЕРХУ ПРИ СКРОЛЛЕ
   2. ПРАВИЛЬНОЕ МНОГОСЛОЙНОЕ ЗАТЕНЕНИЕ ПОВЕРХ ХИРУРГИЧЕСКОГО ФОНА
   3. СПЛИТ: СЛЕВА ОФФЕР И ТЕЗИСЫ, СПРАВА ИНТЕРАКТИВНЫЙ СЛАЙДЕР СПЕЦПРЕДЛОЖЕНИЙ (← 01/03 →)
   ========================================================================== */
[id="01-impl-hero"].hero-v3-section,
[id="01-price-hero"].hero-v3-section {
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  background-color: #141311 !important;
}

[id="01-impl-hero"] .stage-bg,
[id="01-price-hero"] .stage-bg {
  z-index: 2 !important;
  object-position: center center !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Деликатное затенение ТОЛЬКО слева под текстовым заголовком H1 (z-index: 3),
   чтобы хирургическое изображение на фоне было чётко и ярко видно */
[id="01-impl-hero"] .hero-studio-glow,
[id="01-price-hero"] .hero-studio-glow {
  z-index: 3 !important;
  background:
    linear-gradient(180deg, rgba(18, 17, 15, 0.52) 0%, rgba(18, 17, 15, 0.08) 22%, rgba(18, 17, 15, 0.08) 76%, rgba(18, 17, 15, 0.78) 100%),
    linear-gradient(90deg, rgba(20, 19, 17, 0.88) 0%, rgba(20, 19, 17, 0.54) 36%, rgba(20, 19, 17, 0.12) 64%, rgba(20, 19, 17, 0.06) 100%) !important;
}

[id="01-impl-hero"] .hero-stage,
[id="01-price-hero"] .hero-stage {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 100dvh !important;
  height: auto !important;
  padding: 108px var(--pad-x) 28px var(--pad-x) !important;
  gap: 28px !important;
}

/* Сплошная чёрная подложка шапки .top-bar на первом экране,
   которая при малейшем скролле (.is-pinned) становится полупрозрачной */
.top-bar,
[id="01-impl-hero"] .top-bar,
[id="01-price-hero"] .top-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 84px !important;
  min-height: 84px !important;
  max-height: 84px !important;
  padding: 0 var(--pad-x) !important;
  background: #141413 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid rgba(198, 177, 137, 0.22) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45) !important;
  z-index: 1200 !important;
  transition: background-color 0.28s ease, backdrop-filter 0.28s ease, box-shadow 0.28s ease !important;
}

.top-bar.is-pinned,
[id="01-impl-hero"] .top-bar.is-pinned,
[id="01-price-hero"] .top-bar.is-pinned {
  background: rgba(20, 20, 19, 0.62) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32) !important;
}

/* Центральная сцена первого экрана: слева главный оффер, справа слайдер спецпредложений */
.impl-hero-center-grid {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
  margin: auto 0;
  padding: 12px 0;
  position: relative;
  z-index: 15;
}

[id="01-impl-hero"] .hero-left,
[id="01-price-hero"] .hero-left {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.impl-hero-kicker {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--gold-main);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.impl-hero-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--gold-main);
}

[id="01-impl-hero"] .hero-h1,
[id="01-price-hero"] .hero-h1 {
  font-size: clamp(34px, 3vw, 52px) !important;
  line-height: 1.08 !important;
  margin-bottom: 20px !important;
  letter-spacing: -0.025em !important;
}

/* 3 открытых буллета на первом экране без плашек (по ТЗ 13_implantation.md) */
.impl-hero-bullets {
  list-style: none;
  margin: 0 0 28px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 640px;
}

.impl-hero-bullets li {
  position: relative;
  padding-left: 20px;
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.5;
  color: rgba(245, 242, 235, 0.88);
}

.impl-hero-bullets li::before {
  content: "—";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gold-main);
  font-weight: 700;
}

.impl-hero-bullets strong {
  color: #F5F2EB;
  font-weight: 700;
}

/* ПРАВЫЙ СЛАЙДЕР СПЕЦПРЕДЛОЖЕНИЙ НА ПЕРВОМ ЭКРАНЕ (← 01 / 03 →) */
.impl-hero-offer-slider {
  position: relative;
  background: rgba(20, 19, 17, 0.54);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(198, 177, 137, 0.32);
  border-left: 2px solid var(--gold-main);
  border-radius: 12px;
  padding: 22px 26px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  gap: 20px;
}

.ihos-header {
  grid-column: 1 / -1;
  grid-row: 1 / 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.24);
}

.ihos-tag {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--gold-light);
}

.ihos-controls {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.ihos-counter {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: #F5F2EB;
}

.ihos-arrow {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(198, 177, 137, 0.45);
  background: rgba(24, 23, 21, 0.65);
  color: #F5F2EB;
  font-size: 15px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.ihos-arrow:hover {
  background: var(--gold-main);
  color: #141413;
  border-color: var(--gold-main);
}

.ihos-slide {
  grid-column: 1 / -1;
  grid-row: 2 / 3;
  display: grid !important;
  grid-template-columns: 1.18fr 0.82fr;
  gap: 20px;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.ihos-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
}

.ihos-title {
  font-family: var(--font-heading);
  font-size: clamp(20px, 1.55vw, 26px);
  font-weight: 700;
  line-height: 1.2;
  color: #F5F2EB;
  margin-bottom: 12px;
}

.ihos-list {
  list-style: none;
  margin: 0 0 16px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  color: rgba(245, 242, 235, 0.82);
}

.ihos-list li::before {
  content: "✓ ";
  color: var(--gold-main);
  font-weight: 700;
}

.ihos-price-block {
  padding-top: 12px;
  border-top: 1px solid rgba(198, 177, 137, 0.24);
  margin-bottom: 16px;
}

.ihos-price-lbl {
  display: block;
  font-size: 12.5px;
  color: rgba(245, 242, 235, 0.68);
  margin-bottom: 4px;
}

.ihos-price-val {
  font-family: var(--font-heading);
  font-size: clamp(19px, 1.5vw, 25px);
  font-weight: 800;
  color: var(--gold-light);
  white-space: nowrap;
}

.ihos-link-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 800;
  color: var(--gold-light);
  background: none;
  border: none;
  border-bottom: 1.5px solid var(--gold-main);
  padding: 4px 0;
  cursor: pointer;
  transition: color 0.2s ease;
}

.ihos-link-cta:hover {
  color: #F5F2EB;
}

.ihos-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ihos-visual img {
  width: 100%;
  max-height: 230px;
  object-fit: contain;
  filter: drop-shadow(0 20px 36px rgba(0, 0, 0, 0.65));
}

[id="01-impl-hero"] .bottom-strip,
[id="01-price-hero"] .bottom-strip {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-top: 18px !important;
  flex-shrink: 0 !important;
}

/* ==========================================================================
   ОТКРЫТАЯ АРХИТЕКТУРА ЭКРАНОВ 02–08 БЕЗ «КВАДРАТОВ И ПЛАШЕК»
   (Швейцарская редакционная сетка, тонкие линии 1px, воздух, таблицы и инфографика)
   ========================================================================== */

/* Нормальный, аккуратный размер золотых кнопок на странице (не растягивать на всю ширину!) */
.v2-btn-gold:not(.v2-btn-lg) {
  width: fit-content !important;
  max-width: 100%;
  padding: 15px 32px !important;
  font-size: 14.5px !important;
  justify-content: center !important;
  gap: 10px !important;
  align-self: flex-start;
}

/* Убираем квадратную плашку с номера секции (.sad-num) и капслок с рубрикаторов */
.sec-arch-divider .sad-num {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: var(--gold-deep);
  font-size: 13px;
}

.sad-dark .sad-num {
  color: var(--gold-main) !important;
}

.sec-arch-divider .sad-label,
.v2-eyebrow {
  text-transform: none !important;
  letter-spacing: 0.015em !important;
  font-family: var(--font-sans) !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
}

/* ЭКРАН 02: ЖУРНАЛЬНЫЙ РАЗВОРОТ БЕЗ КОРОБКИ (P09 Editorial Spread + P03 Poster Factoids) */
.impl-editorial-spread {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(36px, 4.5vw, 72px);
  align-items: center;
  padding: 12px 0 48px;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
}

.ies-anatomy-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ies-anatomy-stage img {
  width: 100%;
  max-height: 400px;
  object-fit: contain;
  filter: drop-shadow(0 24px 44px rgba(20, 20, 19, 0.14));
}

.ies-anatomy-callouts {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-top: 20px;
  margin-top: 16px;
  border-top: 1px solid rgba(22, 21, 20, 0.14);
}

.ies-callout span {
  display: block;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 700;
  color: var(--gold-deep);
  margin-bottom: 4px;
}

.ies-callout strong {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink-dark);
  line-height: 1.35;
  display: block;
}

.ies-narrative blockquote {
  font-family: var(--font-heading);
  font-size: clamp(20px, 1.65vw, 27px);
  font-weight: 600;
  line-height: 1.32;
  color: var(--ink-dark);
  padding-left: 24px;
  border-left: 2px solid var(--gold-main);
  margin-bottom: 22px;
}

.ies-narrative p {
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.65;
  color: var(--ink-secondary);
  margin-bottom: 24px;
}

/* Полоса гигантских плакатных фактоидов на открытом воздухе (P03 Poster Factoid Strip — 0 рамок!) */
.impl-poster-factoids-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding-top: 40px;
}

.ipf-item {
  padding-left: 20px;
  border-left: 1px solid rgba(22, 21, 20, 0.18);
}

.ipf-item:first-child {
  padding-left: 0;
  border-left: none;
}

.ipf-val {
  font-family: var(--font-heading);
  font-size: clamp(30px, 2.6vw, 44px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--ink-dark);
  margin-bottom: 10px;
}

.ipf-val.gold {
  color: var(--gold-deep);
}

.ipf-lbl {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-secondary);
}

/* ЭКРАН 03: ИНЖЕНЕРНАЯ ТАБЛИЦА ЦЕН НА ТОНКИХ ЛИНИЯХ (P10 Technical Spec Table — 0 квадратов!) */
.impl-spec-price-table {
  width: 100%;
  border-top: 2px solid var(--gold-main);
  border-bottom: 1px solid rgba(198, 177, 137, 0.3);
  margin-bottom: 44px;
}

.ispt-head,
.ispt-row {
  display: grid;
  grid-template-columns: 1.15fr 1.35fr 0.6fr 0.75fr 0.45fr;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid rgba(246, 243, 236, 0.12);
}

.ispt-head {
  padding: 14px 0;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(246, 243, 236, 0.54);
  border-bottom: 1px solid rgba(198, 177, 137, 0.3);
}

.ispt-row {
  transition: background-color 0.2s ease, padding-left 0.2s ease;
}

.ispt-row:hover {
  background: rgba(198, 177, 137, 0.05);
}

.ispt-row.is-flagship {
  background: linear-gradient(90deg, rgba(198, 177, 137, 0.12) 0%, transparent 100%);
  padding-left: 16px;
  padding-right: 16px;
  border-bottom-color: rgba(198, 177, 137, 0.35);
}

.ispt-code {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--gold-main);
  margin-bottom: 4px;
}

.ispt-name {
  font-family: var(--font-heading);
  font-size: clamp(17px, 1.25vw, 21px);
  font-weight: 700;
  color: #F5F2EB;
  line-height: 1.28;
}

.ispt-desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(246, 243, 236, 0.78);
}

.ispt-city {
  font-family: var(--font-mono);
  font-size: 15px;
  color: rgba(246, 243, 236, 0.42);
  text-decoration: line-through;
}

.ispt-our {
  font-family: var(--font-heading);
  font-size: clamp(20px, 1.55vw, 26px);
  font-weight: 800;
  color: var(--gold-light);
}

.ispt-our small {
  display: block;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  color: rgba(246, 243, 236, 0.62);
  margin-top: 2px;
}

.ispt-action {
  text-align: right;
}

.ispt-btn-line {
  background: none;
  border: none;
  border-bottom: 1px solid var(--gold-main);
  color: var(--gold-light);
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 700;
  padding: 4px 0;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.ispt-btn-line:hover {
  color: #F5F2EB;
}

/* Открытая горизонтальная полоса финансовых условий под прайсом с выделенными буллитами */
.impl-finance-strip-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  padding-top: 24px;
  border-top: 1px solid rgba(198, 177, 137, 0.22);
}

.ifs-col {
  padding-left: 24px;
  border-left: 2px solid rgba(198, 177, 137, 0.38);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ifs-col:first-child {
  padding-left: 0;
  border-left: none;
}

.ifs-head-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.ifs-icon-wrap {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(198, 177, 137, 0.45);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-light);
  flex-shrink: 0;
}

.ifs-accent-tag {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--gold-light);
  letter-spacing: 0.04em;
}

.ifs-title {
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 700;
  color: #F5F2EB;
  margin-bottom: 12px;
  line-height: 1.25;
}

.ifs-bullets {
  list-style: none;
  margin: 0 0 18px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.ifs-bullets li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  line-height: 1.48;
  color: rgba(246, 243, 236, 0.8);
}

.ifs-bullets li::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--gold-main);
  font-size: 12px;
}

.ifs-bullets strong {
  color: var(--gold-light);
  font-weight: 700;
}

/* ЭКРАН 04: ИНТЕРАКТИВНЫЙ ПЕРЕКЛЮЧАТЕЛЬ 4 ВИДОВ ИМПЛАНТАЦИИ (СТРОГОЕ ВЫРАВНИВАНИЕ ВЕРХА И НИЗА!) */
.impl-protocol-tabs-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid rgba(22, 21, 20, 0.18);
  margin-bottom: 36px;
}

.iptb-tab {
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 18px 16px 18px 0;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.22s ease, opacity 0.22s ease;
  opacity: 0.62;
}

.iptb-tab:hover {
  opacity: 0.9;
}

.iptb-tab.is-active {
  border-bottom-color: var(--ink-dark);
  opacity: 1;
}

.iptb-num {
  display: block;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--gold-deep);
  margin-bottom: 4px;
}

.iptb-name {
  font-family: var(--font-heading);
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 700;
  color: var(--ink-dark);
}

/* Строгое выравнивание левой колонки (от заголовка до кнопки) и правой иллюстрации по верху и по низу! */
.impl-protocol-pane {
  display: none;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: stretch;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
  margin-bottom: 56px;
  animation: stageReveal 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.impl-protocol-pane.is-active {
  display: grid;
}

.impl-protocol-pane > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.ipp-specs-row {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 20px 0;
  margin: 22px 0;
  border-top: 1px solid rgba(22, 21, 20, 0.14);
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
}

.ipp-spec span {
  display: block;
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink-muted);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.ipp-spec strong {
  font-family: var(--font-heading);
  font-size: 18px;
  color: var(--ink-dark);
}

.ipp-media {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 360px;
  height: 100%;
}

.ipp-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none !important;
  object-fit: cover;
  border-radius: 6px;
}

/* 5 ПРЯМЫХ ПОКАЗАНИЙ БЕЗ ЧЁРНОГО КВАДРАТА, БЕЗ ВИСЯЩЕГО ВИНТА И БЕЗ РАМОК! */
.impl-open-indications {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
  margin-bottom: 56px;
}

.ioi-rows {
  border-top: 1px solid rgba(22, 21, 20, 0.18);
}

.ioi-row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: baseline;
  padding: 18px 0;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
}

.ioi-num {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 800;
  color: var(--gold-deep);
}

.ioi-text strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 17px;
  color: var(--ink-dark);
  margin-bottom: 4px;
}

.ioi-text span {
  font-size: 15px;
  color: var(--ink-secondary);
  line-height: 1.5;
}

/* ==========================================================================
   БЛОК ПОДГОТОВКИ (#impl-prep): ДИАГНОСТИЧЕСКАЯ СХЕМА ГОТОВНОСТИ С ПИКТОГРАММАМИ
   (отличается от этапов имплантации!)
   ========================================================================== */
.impl-prep-scheme {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  position: relative;
  padding-top: 16px;
}

.ips-node {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 8px;
}

.ips-icon-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  position: relative;
}

.ips-icon-row::after {
  content: "";
  flex: 1;
  height: 1px;
  border-bottom: 1px dashed rgba(22, 21, 20, 0.28);
}

.ips-node:last-child .ips-icon-row::after {
  display: none;
}

.ips-svg-box {
  width: 56px;
  height: 56px;
  border: 1.5px solid var(--gold-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-dark);
  background: rgba(198, 177, 137, 0.12);
  flex-shrink: 0;
}

.ips-badge {
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 700;
  color: var(--gold-deep);
  display: block;
  margin-bottom: 6px;
}

.ips-title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  color: var(--ink-dark);
  line-height: 1.28;
  margin-bottom: 8px;
}

.ips-desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-secondary);
  margin-bottom: 14px;
}

.ips-status {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--ink-dark);
  padding-top: 10px;
  border-top: 1px solid rgba(22, 21, 20, 0.12);
  display: flex;
  align-items: center;
  gap: 8px;
}

.ips-status i {
  color: var(--gold-deep);
  font-style: normal;
}

/* ==========================================================================
   ЭКРАН 05 (#05-impl-stages): ВИЗУАЛЬНАЯ МЕДИЦИНСКАЯ ИНФОГРАФИКА 5 ЭТАПОВ ИМПЛАНТАЦИИ
   (Анатомические SVG-схемы челюсти и имплантата в разрезе на каждом из 5 шагов!)
   ========================================================================== */
.impl-stages-infographic {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  position: relative;
  padding-top: 12px;
}

.isi-stage {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.isi-route-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 2px solid rgba(198, 177, 137, 0.45);
  position: relative;
}

.isi-route-bar::after {
  content: "►";
  position: absolute;
  right: -15px;
  bottom: -8px;
  font-size: 11px;
  color: var(--gold-main);
}

.isi-stage:last-child .isi-route-bar::after {
  display: none;
}

.isi-step-num {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--gold-light);
}

.isi-step-time {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  color: rgba(245, 242, 235, 0.68);
}

.isi-diagram {
  width: 100%;
  height: 168px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 55%, rgba(198, 177, 137, 0.12) 0%, transparent 72%);
}

.isi-diagram svg {
  width: 100%;
  height: 152px;
  overflow: visible;
}

.isi-title {
  font-family: var(--font-heading);
  font-size: 17.5px;
  font-weight: 700;
  color: #F5F2EB;
  line-height: 1.26;
  margin-bottom: 8px;
}

.isi-desc {
  font-size: 14px;
  line-height: 1.54;
  color: rgba(246, 243, 236, 0.78);
  margin-bottom: 14px;
}

.isi-meta {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--gold-main);
  padding-top: 10px;
  border-top: 1px solid rgba(246, 243, 236, 0.12);
}

/* ЭКРАН 05: ОТКРЫТАЯ СЕТКА СТАНДАРТОВ И ГАРАНТИЙ НА ТОНКИХ ЛИНИЯХ (БЕЗ КОРОБОК В КОРОБКЕ!) */
.impl-standards-open-matrix {
  margin-top: 56px;
  padding-top: 44px;
  border-top: 1px solid rgba(198, 177, 137, 0.28);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(36px, 4.5vw, 72px);
}

.isom-list {
  margin-top: 24px;
  border-top: 1px solid rgba(246, 243, 236, 0.14);
}

.isom-row {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(246, 243, 236, 0.14);
  align-items: start;
}

.isom-idx {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-main);
  padding-top: 3px;
}

.isom-row h4 {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  color: #F5F2EB;
  margin-bottom: 4px;
}

.isom-row p {
  font-size: 14.5px;
  line-height: 1.52;
  color: rgba(246, 243, 236, 0.76);
}

/* ЭКРАН 06: ЛЕЧЕНИЕ ВО СНЕ (ЖУРНАЛЬНЫЙ СПЛИТ) + ТАБЛИЦА СРАВНЕНИЯ АЛЬТЕРНАТИВ (P07 Matrix) */
.impl-sedation-editorial {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: clamp(36px, 4.5vw, 68px);
  align-items: stretch;
  padding-bottom: 56px;
  margin-bottom: 56px;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
}

.ise-photo {
  display: flex;
  align-items: stretch;
}

.ise-photo img {
  width: 100%;
  height: 100%;
  min-height: 400px;
  max-height: 460px;
  object-fit: cover;
  object-position: center 28%;
  border-radius: 8px;
}

.ise-points {
  border-top: 1px solid rgba(22, 21, 20, 0.16);
}

.ise-point {
  padding: 18px 0;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
}

.ise-point-num {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--gold-deep);
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}

.ise-point h3 {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: var(--ink-dark);
  margin-bottom: 6px;
}

.ise-point p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-secondary);
}

/* Таблица сравнения: Имплантация vs Мостовидный протез vs Съёмный протез */
.impl-comparison-matrix {
  width: 100%;
  border-top: 2px solid var(--ink-dark);
  border-bottom: 1px solid rgba(22, 21, 20, 0.2);
}

.icm-head,
.icm-row {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr 1fr 1fr;
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(22, 21, 20, 0.12);
  align-items: start;
}

.icm-head {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 800;
  color: var(--ink-dark);
  border-bottom: 1px solid rgba(22, 21, 20, 0.24);
}

.icm-col-highlight {
  color: var(--ink-dark);
  font-weight: 700;
  position: relative;
  padding-left: 16px;
  border-left: 2px solid var(--gold-main);
}

.icm-criterion {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.icm-cell {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-secondary);
}

/* ЭКРАН 07: ОТКРЫТАЯ ГАЛЕРЕЯ ВРАЧЕЙ И КЕЙСОВ БЕЗ ТЯЖЁЛЫХ РАМОК */
.impl-open-doctors-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-bottom: 12px;
  padding-top: 24px;
  border-top: 1px solid rgba(198, 177, 137, 0.25);
}

.iod-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.iod-photo {
  position: relative;
  height: auto;
  aspect-ratio: 4 / 4.35;
  min-height: 360px;
  overflow: hidden;
  margin-bottom: 16px;
  background: #41403E;
}

.iod-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.iod-item:hover .iod-photo img {
  transform: scale(1.03);
}

.iod-exp {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--gold-main);
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}

.iod-name {
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 700;
  color: #F5F2EB;
  margin-bottom: 4px;
}

.iod-role {
  font-size: 13px;
  color: rgba(246, 243, 236, 0.62);
  margin-bottom: 10px;
  display: block;
}

.iod-bio {
  font-size: 14px;
  line-height: 1.52;
  color: rgba(246, 243, 236, 0.8);
  margin-bottom: 16px;
}

.iod-link {
  align-self: flex-start;
  background: none;
  border: none;
  border-bottom: 1px solid var(--gold-main);
  color: var(--gold-light);
  font-size: 13.5px;
  font-weight: 700;
  padding: 4px 0;
  cursor: pointer;
}

/* ЭКРАН 08: ЧИСТЫЙ РЕДАКЦИОННЫЙ АККОРДЕОН FAQ НА ТОНКИХ ЛИНИЯХ 1PX
   (ЕДИНЫЙ ПОЛНОШИРИННЫЙ СПИСОК БЕЗ РАССИНХРОНА СОСЕДНИХ КОЛОНОК ПРИ РАСКРЫТИИ + РОВНЫЙ ЗНАЧОК +/-) */
.v2-faq-columns {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  align-items: start !important;
}

.v2-faq-col {
  border-top: 1px solid rgba(22, 21, 20, 0.18);
  gap: 0 !important;
}

.v2-faq-col + .v2-faq-col {
  border-top: none !important;
}

.v2-faq-card,
.v2-faq-card:hover,
.v2-faq-card[open] {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(22, 21, 20, 0.18) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.v2-faq-card summary {
  padding: 22px 0 !important;
  background: transparent !important;
  outline: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

.v2-faq-card .vfc-icon {
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  border: 1px solid rgba(22, 21, 20, 0.32) !important;
  border-radius: 50% !important;
  color: var(--ink-dark) !important;
  position: relative !important;
  flex-shrink: 0 !important;
  transform: none !important;
  font-size: 0 !important;
  transition: border-color 0.25s ease, background-color 0.25s ease !important;
}

.v2-faq-card .vfc-icon::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 12px !important;
  height: 1.5px !important;
  background: #181817 !important;
  transform: translate(-50%, -50%) !important;
  transition: background-color 0.25s ease !important;
}

.v2-faq-card .vfc-icon::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 1.5px !important;
  height: 12px !important;
  background: #181817 !important;
  transform: translate(-50%, -50%) !important;
  transition: transform 0.25s ease, opacity 0.25s ease, background-color 0.25s ease !important;
}

.v2-faq-card[open] .vfc-icon {
  transform: none !important;
  background: rgba(198, 177, 137, 0.16) !important;
  border-color: var(--gold-deep) !important;
  color: var(--gold-deep) !important;
}

.v2-faq-card[open] .vfc-icon::before {
  content: "" !important;
  background: var(--gold-deep) !important;
}

.v2-faq-card[open] .vfc-icon::after {
  transform: translate(-50%, -50%) scaleY(0) !important;
  opacity: 0 !important;
}

.vfc-answer {
  border-top: none !important;
  padding: 0 48px 24px 0 !important;
  margin-top: -4px !important;
}

/* Светлая версия открытой галереи .impl-open-doctors-4 и редакционных полос .impl-finance-strip-3 на светлых фонах */
.v2-theme-porcelain .impl-open-doctors-4,
.v2-theme-travertine .impl-open-doctors-4 {
  border-top-color: rgba(22, 21, 20, 0.14);
}

.v2-theme-porcelain .iod-item:not(:last-child),
.v2-theme-travertine .iod-item:not(:last-child) {
  border-right-color: rgba(22, 21, 20, 0.12);
}

.v2-theme-porcelain .iod-role,
.v2-theme-travertine .iod-role {
  color: var(--gold-deep);
}

.v2-theme-porcelain .iod-name,
.v2-theme-travertine .iod-name {
  color: #161514;
}

.v2-theme-porcelain .iod-exp,
.v2-theme-travertine .iod-exp {
  color: rgba(22, 21, 20, 0.62);
}

.v2-theme-porcelain .iod-bio,
.v2-theme-travertine .iod-bio {
  color: rgba(22, 21, 20, 0.82);
}

.v2-theme-porcelain .iod-link,
.v2-theme-travertine .iod-link {
  color: #161514;
  border-bottom-color: var(--gold-deep);
}

.v2-theme-porcelain .impl-finance-strip-3,
.v2-theme-travertine .impl-finance-strip-3 {
  border-top-color: rgba(22, 21, 20, 0.14);
  border-bottom-color: rgba(22, 21, 20, 0.14);
}

.v2-theme-porcelain .ifs-item:not(:last-child),
.v2-theme-travertine .ifs-item:not(:last-child) {
  border-right-color: rgba(22, 21, 20, 0.12);
}

.v2-theme-porcelain .ifs-tag,
.v2-theme-travertine .ifs-tag {
  color: var(--gold-deep);
}

.v2-theme-porcelain .ifs-title,
.v2-theme-travertine .ifs-title {
  color: #161514;
}

.v2-theme-porcelain .ifs-desc,
.v2-theme-travertine .ifs-desc {
  color: rgba(22, 21, 20, 0.8);
}

.v2-theme-porcelain .ifs-link,
.v2-theme-travertine .ifs-link {
  color: #161514;
  border-bottom-color: var(--gold-deep);
}

@media (max-width: 1280px) {
  .impl-hero-center-grid,
  .impl-editorial-spread,
  .impl-protocol-pane.is-active,
  .impl-open-indications,
  .impl-standards-open-matrix,
  .impl-sedation-editorial {
    grid-template-columns: 1fr;
  }
  .impl-poster-factoids-4,
  .impl-prep-scheme,
  .impl-stages-infographic,
  .impl-open-doctors-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ispt-head {
    display: none;
  }
  .ispt-row {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
}

@media (max-width: 1100px) {
  .mm-clock-dial,
  .sgn-mega {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .impl-poster-factoids-4,
  .impl-finance-strip-3,
  .impl-protocol-tabs-bar,
  .impl-prep-scheme,
  .impl-stages-infographic,
  .impl-open-doctors-4,
  .ihos-slide.is-active,
  .ies-anatomy-callouts,
  .ipp-specs-row,
  .icm-head,
  .icm-row,
  .ispt-row {
    grid-template-columns: 1fr;
  }
  .ipf-item,
  .ifs-col {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid rgba(198, 177, 137, 0.25);
    padding-top: 16px;
  }
}

/* ==========================================================================
   16. ВЫПАДАЮЩЕЕ МЕГА-МЕНЮ «УСЛУГИ» В ШАПКЕ .top-bar И АРХИТЕКТУРА СТРАНИЦЫ ЦЕН (prices.html)
   ========================================================================== */

.nav-links > .sgn-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 84px;
}

.nav-links > .sgn-dropdown:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 15px;
  background: linear-gradient(
    180deg,
    rgba(198, 177, 137, 0.1) 0%,
    rgba(198, 177, 137, 0.58) 50%,
    rgba(198, 177, 137, 0.1) 100%
  );
  pointer-events: none;
}

.nav-links > .sgn-dropdown > .sgn-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(13px, 0.9vw, 14.5px);
  font-weight: 600;
  color: rgba(245, 242, 235, 0.92);
  text-decoration: none;
  padding: 8px 16px !important;
  background: transparent !important;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.nav-links > .sgn-dropdown > .sgn-trigger::after {
  display: none !important;
}

.nav-links > .sgn-dropdown:hover > .sgn-trigger,
.nav-links > .sgn-dropdown:focus-within > .sgn-trigger {
  color: var(--gold-light) !important;
}

/* Отключаем вертикальные чёрточки внутри выпадающего списка .sgn-mega */
.nav-links .sgn-mega a::after {
  display: none !important;
  content: none !important;
}

.nav-links .sgn-mega {
  position: fixed !important;
  top: 84px !important;
  left: 50% !important;
  transform: translate3d(-50%, 8px, 0) !important;
  width: min(1240px, 92vw) !important;
  background: rgba(18, 17, 15, 0.98) !important;
  border: 1px solid rgba(198, 177, 137, 0.36) !important;
  border-top: 2px solid var(--gold-main) !important;
  padding: 28px 32px 22px !important;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.78) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 24px !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 1250 !important;
}

.nav-links > .sgn-dropdown:hover .sgn-mega,
.nav-links > .sgn-dropdown:focus-within .sgn-mega {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(-50%, 0, 0) !important;
}

.sgn-mega-footer {
  grid-column: 1 / -1;
  padding-top: 16px;
  margin-top: 6px;
  border-top: 1px solid rgba(198, 177, 137, 0.22);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.sgn-mega-footer-note {
  font-size: 12.5px;
  color: rgba(245, 242, 235, 0.68);
}

.sgn-mega-footer-links {
  display: inline-flex;
  align-items: center;
  gap: 24px;
}

.sgn-mega-footer-links a {
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gold-light) !important;
  border-bottom: 1px solid rgba(198, 177, 137, 0.5);
}

.sgn-mega-footer-links a:hover {
  color: #FFFFFF !important;
  border-bottom-color: #FFFFFF;
}

/* ==========================================================================
   ПЕРВЫЙ ЭКРАН И РАЗДЕЛЫ СТРАНИЦЫ ПРАЙСА (prices.html)
   ========================================================================== */

[id="01-price-hero"],
[id="02-price-navigator"],
[id="03-dept-diagnostics-therapy"],
[id="04-dept-surgery-implants"],
[id="05-dept-orthopedics"],
[id="06-dept-ortho-kids"],
[id="07-price-finance-rules"],
[id="08-price-faq-contacts"],
[id="dept-diagnostics"],
[id="dept-therapy"],
[id="dept-implants"],
[id="dept-surgery"],
[id="dept-orthopedics"],
[id="dept-orthodontics"],
[id="dept-kids"] {
  scroll-margin-top: 104px;
}

[id="01-price-hero"].hero-v3-section {
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  background-color: #141311 !important;
}

[id="01-price-hero"] .stage-bg {
  z-index: 2 !important;
  object-position: center center !important;
  filter: none !important;
  opacity: 0.72 !important;
}

[id="01-price-hero"] .hero-studio-glow {
  z-index: 3 !important;
  background:
    linear-gradient(180deg, rgba(18, 17, 15, 0.64) 0%, rgba(18, 17, 15, 0.24) 24%, rgba(18, 17, 15, 0.28) 76%, rgba(18, 17, 15, 0.86) 100%),
    linear-gradient(90deg, rgba(20, 19, 17, 0.92) 0%, rgba(20, 19, 17, 0.68) 42%, rgba(20, 19, 17, 0.35) 100%) !important;
}

[id="01-price-hero"] .hero-stage {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 100dvh !important;
  height: auto !important;
  padding: 108px var(--pad-x) 28px var(--pad-x) !important;
  gap: 28px !important;
}

[id="01-price-hero"] .hero-left {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

[id="01-price-hero"] .hero-h1 {
  font-size: clamp(32px, 2.85vw, 50px) !important;
  line-height: 1.08 !important;
  margin-bottom: 22px !important;
}

[id="01-price-hero"] .bottom-strip {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-top: 18px !important;
  flex-shrink: 0 !important;
}

/* Полоса 3 флагманских пакетов (Одиночная имплантация «Под ключ» 63 000 ₽, Брекеты «Под ключ» 135 000 ₽, Диагностика и КТ) */
.price-package-strip-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  padding: 12px 0 44px;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
}

.pps-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px 30px;
  background: #FFFFFF;
  border: 1px solid rgba(22, 21, 20, 0.12);
  border-top: 3px solid var(--gold-main);
}

.pps-card.is-dark-accent {
  background: #181715;
  color: #F5F2EB;
  border-color: rgba(198, 177, 137, 0.38);
  border-top: 3px solid var(--gold-main);
}

.pps-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 700;
  color: var(--gold-deep);
  margin-bottom: 10px;
}

.pps-card.is-dark-accent .pps-badge {
  color: var(--gold-main);
}

.pps-title {
  font-family: var(--font-heading);
  font-size: clamp(19px, 1.45vw, 24px);
  font-weight: 700;
  line-height: 1.24;
  color: #161514;
  margin-bottom: 12px;
}

.pps-card.is-dark-accent .pps-title {
  color: #F5F2EB;
}

.pps-desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: #3E3B36;
  margin-bottom: 18px;
}

.pps-card.is-dark-accent .pps-desc {
  color: rgba(245, 242, 235, 0.8);
}

.pps-list {
  list-style: none;
  margin: 0 0 20px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 13.5px;
  color: #2A2825;
}

.pps-card.is-dark-accent .pps-list {
  color: rgba(245, 242, 235, 0.86);
}

.pps-list li::before {
  content: "✓ ";
  color: var(--gold-deep);
  font-weight: 700;
}

.pps-card.is-dark-accent .pps-list li::before {
  color: var(--gold-main);
}

.pps-foot {
  padding-top: 16px;
  border-top: 1px solid rgba(22, 21, 20, 0.12);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.pps-card.is-dark-accent .pps-foot {
  border-top-color: rgba(198, 177, 137, 0.24);
}

.pps-price {
  font-family: var(--font-heading);
  font-size: clamp(22px, 1.8vw, 30px);
  font-weight: 800;
  color: #161514;
  font-variant-numeric: tabular-nums;
}

.pps-card.is-dark-accent .pps-price {
  color: var(--gold-light);
}

.pps-action {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 800;
  color: #161514;
  background: none;
  border: none;
  border-bottom: 1.5px solid var(--gold-deep);
  padding: 3px 0;
  cursor: pointer;
  text-decoration: none;
}

.pps-card.is-dark-accent .pps-action {
  color: var(--gold-light);
  border-bottom-color: var(--gold-main);
}

/* Панель живого поиска по 166 услугам и быстрого перехода по отделениям */
.price-search-toolbar {
  margin-top: 36px;
  padding: 28px 32px;
  background: #181715;
  color: #F5F2EB;
  border: 1px solid rgba(198, 177, 137, 0.36);
}

.pst-top-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
}

.pst-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.pst-search-input {
  width: 100%;
  height: 52px;
  padding: 0 48px 0 20px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(198, 177, 137, 0.42);
  color: #F5F2EB;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 500;
  outline: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.pst-search-input::placeholder {
  color: rgba(245, 242, 235, 0.5);
}

.pst-search-input:focus {
  border-color: var(--gold-light);
  background: rgba(255, 255, 255, 0.1);
}

.pst-clear-btn {
  position: absolute;
  right: 12px;
  background: none;
  border: none;
  color: rgba(245, 242, 235, 0.65);
  font-size: 18px;
  cursor: pointer;
  padding: 4px 8px;
  display: none;
}

.pst-clear-btn.is-visible {
  display: inline-block;
}

.pst-counter {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-light);
  white-space: nowrap;
}

.pst-dept-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pst-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(198, 177, 137, 0.28);
  color: rgba(245, 242, 235, 0.88);
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pst-pill:hover,
.pst-pill.is-active {
  background: var(--gold-main);
  border-color: var(--gold-main);
  color: #141413;
}

.pst-pill-count,
.pst-pill small {
  font-family: var(--font-mono);
  font-size: 13px;
  opacity: 0.78;
}

/* Блок отделения внутри секции прейскуранта */
.price-dept-block {
  margin-bottom: 56px;
}

.price-dept-block:last-child {
  margin-bottom: 0;
}

.pdb-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  margin-bottom: 8px;
  border-bottom: 2px solid var(--gold-main);
}

.pdb-title {
  font-family: var(--font-heading);
  font-size: clamp(21px, 1.75vw, 28px);
  font-weight: 700;
  line-height: 1.2;
}

.v2-theme-dark .pdb-title {
  color: #F5F2EB;
}

.v2-theme-porcelain .pdb-title,
.v2-theme-travertine .pdb-title {
  color: #161514;
}

.pdb-meta {
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--gold-main);
}

.v2-theme-porcelain .pdb-meta,
.v2-theme-travertine .pdb-meta {
  color: var(--gold-deep);
}

/* Светлая тема для швейцарской таблицы .impl-spec-price-table на фарфоровом/травертиновом фоне */
.v2-theme-porcelain .impl-spec-price-table,
.v2-theme-travertine .impl-spec-price-table {
  border-top-color: var(--gold-deep);
  border-bottom-color: rgba(22, 21, 20, 0.16);
}

.v2-theme-porcelain .ispt-head,
.v2-theme-travertine .ispt-head {
  color: rgba(22, 21, 20, 0.56);
  border-bottom-color: rgba(22, 21, 20, 0.16);
}

.v2-theme-porcelain .ispt-row,
.v2-theme-travertine .ispt-row {
  border-bottom-color: rgba(22, 21, 20, 0.12);
}

.v2-theme-porcelain .ispt-row:hover,
.v2-theme-travertine .ispt-row:hover {
  background: rgba(198, 177, 137, 0.1);
}

.v2-theme-porcelain .ispt-code,
.v2-theme-travertine .ispt-code {
  color: var(--gold-deep);
}

.v2-theme-porcelain .ispt-name,
.v2-theme-travertine .ispt-name {
  color: #161514;
}

.v2-theme-porcelain .ispt-desc,
.v2-theme-travertine .ispt-desc {
  color: #3E3B36;
}

.v2-theme-porcelain .ispt-our,
.v2-theme-travertine .ispt-our {
  color: var(--gold-deep);
}

.v2-theme-porcelain .ispt-our small,
.v2-theme-travertine .ispt-our small {
  color: #5A554E;
}

.ispt-city.no-strike {
  text-decoration: none;
  color: rgba(246, 243, 236, 0.72);
  font-size: 13.5px;
}

.v2-theme-porcelain .ispt-city,
.v2-theme-travertine .ispt-city {
  color: rgba(22, 21, 20, 0.45);
}

.v2-theme-porcelain .ispt-city.no-strike,
.v2-theme-travertine .ispt-city.no-strike {
  color: #5A554E;
  text-decoration: none;
}

.v2-theme-porcelain .ispt-btn-line,
.v2-theme-travertine .ispt-btn-line {
  color: #161514;
  border-bottom-color: var(--gold-deep);
}

.v2-theme-porcelain .ispt-btn-line:hover,
.v2-theme-travertine .ispt-btn-line:hover {
  color: var(--gold-deep);
}

.ispt-row.is-hidden,
.price-dept-block.is-hidden {
  display: none !important;
}

@media (max-width: 1280px) {
  .price-package-strip-3 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .pst-top-row {
    grid-template-columns: 1fr;
  }
  .price-search-toolbar {
    padding: 20px 18px;
  }
}

/* ==========================================================================
   ОТКРЫТАЯ СХЕМА 4 ЭТАПОВ (.impl-prep-scheme / .ips-track) ДЛЯ ГЛАВНОЙ СТРАНИЦЫ
   ========================================================================== */
.impl-prep-scheme {
  width: 100%;
  border-top: 1px solid rgba(22, 21, 20, 0.14);
}

.impl-prep-scheme:has(.ips-track) {
  display: block !important;
  grid-template-columns: none !important;
}

.ips-track {
  grid-column: 1 / -1 !important;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  padding-top: 28px;
}

.ips-node {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-right: 16px;
  border-right: 1px solid rgba(22, 21, 20, 0.1);
}

.ips-node:last-child {
  border-right: none;
  padding-right: 0;
}

.ips-node-top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ips-icon-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #181715;
  border: 1px solid rgba(198, 177, 137, 0.45);
  color: var(--gold-main);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ips-icon-circle svg {
  width: 20px;
  height: 20px;
  display: block;
}

.ips-step-badge {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-deep);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ips-node-title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #161514;
  margin: 0;
}

.ips-node-desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: #4A463F;
  margin: 0;
}

.ips-checks {
  list-style: none;
  margin: auto 0 0;
  padding: 12px 0 0;
  border-top: 1px dashed rgba(22, 21, 20, 0.14);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ips-checks li {
  position: relative;
  padding-left: 18px;
  font-size: 13.5px;
  font-weight: 600;
  color: #161514;
}

.ips-checks li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gold-deep);
  font-weight: 800;
}

@media (max-width: 1100px) {
  .ips-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ips-node:nth-child(2n) {
    border-right: none;
  }
}

@media (max-width: 640px) {
  .ips-track {
    grid-template-columns: 1fr;
  }
  .ips-node {
    border-right: none;
    padding-right: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(22, 21, 20, 0.12);
  }
}

/* ==========================================================================
   ЧИСТОЕ ВЫПАДАЮЩЕЕ МЕНЮ ОТДЕЛЕНИЙ (.sgn-mega-clean) И ОГЛАВЛЕНИЕ 8 РАЗДЕЛОВ ПРАЙСА (.price-hero-directory)
   ========================================================================== */
.sgn-mega.sgn-mega-clean {
  width: 680px;
  padding: 20px 22px 16px;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.sgn-clean-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
  width: 100%;
}

.sgn-clean-item {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 12px !important;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(198, 177, 137, 0.14);
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.sgn-clean-item:hover {
  background: rgba(198, 177, 137, 0.12);
  border-color: rgba(198, 177, 137, 0.45);
  transform: translateX(2px);
}

.sci-num {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-main);
  flex-shrink: 0;
}

.sci-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #F5F2EB;
  line-height: 1.3;
  flex: 1;
  white-space: normal;
}

.sci-arr {
  font-size: 13px;
  color: var(--gold-main);
  opacity: 0.7;
}

.sgn-mega-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(198, 177, 137, 0.22);
  font-size: 13px;
  color: rgba(245, 242, 235, 0.68);
}

.sgn-mega-all-link {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--gold-light) !important;
  text-decoration: none;
}

.price-hero-directory {
  grid-column: auto;
  grid-row: auto;
  align-self: center;
  justify-self: end;
  width: 100%;
  max-width: 540px;
  z-index: 5;
}

.phd-card {
  background: rgba(20, 19, 17, 0.86);
  border: 1px solid rgba(198, 177, 137, 0.35);
  border-radius: 18px;
  padding: 24px 26px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.phd-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.phd-tag {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-main);
  letter-spacing: 0.05em;
}

.phd-total {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: #F5F2EB;
  padding: 3px 10px;
  border-radius: 6px;
  background: rgba(198, 177, 137, 0.16);
  border: 1px solid rgba(198, 177, 137, 0.32);
}

.phd-title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  color: #F5F2EB;
  line-height: 1.35;
  margin: 0 0 14px;
}

.phd-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}

.phd-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(245, 242, 235, 0.08);
  text-decoration: none;
  color: #F5F2EB;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.phd-item:hover {
  background: rgba(198, 177, 137, 0.14);
  border-color: rgba(198, 177, 137, 0.45);
  transform: translateX(3px);
}

.phd-num {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-main);
}

.phd-name {
  font-size: 14px;
  font-weight: 600;
  color: #F5F2EB;
}

.phd-count {
  font-family: var(--font-mono);
  font-size: 13px;
  color: rgba(245, 242, 235, 0.68);
}

.phd-arr {
  font-size: 13px;
  color: var(--gold-main);
  text-align: right;
}

/* Вторая кнопка .btn-glass на первом экране прейскуранта и жёсткие размеры иконок */
.btn-glass {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 18px 8px 10px;
  min-height: 54px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(198, 177, 137, 0.38);
  color: #F5F2EB;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.btn-glass:hover {
  background: rgba(198, 177, 137, 0.14);
  border-color: var(--gold-main);
  transform: translateY(-2px);
}

.btn-glass .play-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(198, 177, 137, 0.16);
  border: 1px solid rgba(198, 177, 137, 0.45);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.btn-glass .play-circle svg {
  width: 18px !important;
  height: 18px !important;
  display: block;
}

.btn-glass .glass-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.btn-glass .glass-text strong {
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-weight: 700;
  color: #F5F2EB;
  line-height: 1.2;
}

.btn-glass .glass-text span {
  font-family: var(--font-sans);
  font-size: 13px;
  color: rgba(245, 242, 235, 0.72);
  line-height: 1.2;
}

/* Поисковая строка .pst-input-wrap / .pst-search-wrap и фильтр отделений .pst-pills */
.pst-input-wrap,
.pst-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.pst-input-wrap svg,
.pst-search-wrap svg {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px !important;
  height: 20px !important;
  color: var(--gold-main);
  pointer-events: none;
  flex-shrink: 0;
}

.pst-search-input {
  padding: 0 118px 0 48px !important;
}

.pst-clear-btn {
  font-size: 13.5px !important;
  font-weight: 700;
  color: var(--gold-light) !important;
}

.pst-pills,
.pst-dept-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pst-count-badge,
.pst-counter {
  font-family: var(--font-mono);
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(245, 242, 235, 0.85);
  white-space: nowrap;
}

.pst-count-badge strong,
.pst-counter strong {
  color: var(--gold-light);
}

/* Заголовки отделений и ячейки таблиц в прейскуранте */
.pdb-eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-main);
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}

.v2-theme-porcelain .pdb-eyebrow,
.v2-theme-travertine .pdb-eyebrow {
  color: var(--gold-deep);
}

.pdb-badge {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold-light);
  padding: 6px 14px;
  border-radius: 8px;
  background: rgba(198, 177, 137, 0.14);
  border: 1px solid rgba(198, 177, 137, 0.35);
  white-space: nowrap;
}

.v2-theme-porcelain .pdb-badge,
.v2-theme-travertine .pdb-badge {
  color: #161514;
  background: rgba(198, 177, 137, 0.2);
  border-color: rgba(143, 118, 76, 0.35);
}

.pdb-sub {
  margin: 6px 0 0;
  font-size: 14.5px;
  line-height: 1.45;
  opacity: 0.78;
}

.ispt-code {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ispt-code span {
  font-size: 13px;
  opacity: 0.72;
}

.excel-num {
  font-family: var(--font-mono);
  font-size: 13.5px;
  font-weight: 800;
  color: var(--gold-main);
}

.v2-theme-porcelain .excel-num,
.v2-theme-travertine .excel-num {
  color: var(--gold-deep);
}

.ispt-service,
.ispt-name {
  font-family: var(--font-sans);
  font-size: clamp(15.5px, 1.1vw, 18px);
  font-weight: 600;
  line-height: 1.4;
  color: #F5F2EB;
}

.ispt-service strong,
.ispt-name strong {
  font-weight: 600;
  color: inherit;
}

.v2-theme-porcelain .ispt-service,
.v2-theme-travertine .ispt-service,
.v2-theme-porcelain .ispt-name,
.v2-theme-travertine .ispt-name {
  color: #161514;
}

.ispt-act,
.ispt-action {
  text-align: right;
}

.ispt-book-btn,
.ispt-btn-line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  border-radius: 8px !important;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  background: linear-gradient(135deg, #DFC9A0 0%, #C6B189 100%) !important;
  color: #181817 !important;
  border: none !important;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.ispt-book-btn:hover,
.ispt-btn-line:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.pdb-head h3,
.pdb-title {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 600;
  letter-spacing: -0.02em;
}

@media (max-width: 768px) {
  .ispt-row {
    padding: 16px 0 !important;
    gap: 10px !important;
  }
  .pdb-head,
  .pdb-header {
    margin-top: 28px;
    margin-bottom: 16px;
  }
}

/* Гарантия отступов от боковой полусферы #mmClockDial и закреплённой шапки .top-bar */
a.mm-logo,
.mm-logo,
a.brand-logo,
.brand-logo {
  color: #F5F2EB;
  text-decoration: none;
}

.screen-section,
.price-dept-block {
  scroll-margin-top: 104px;
}

@media (min-width: 1025px) {
  .mm-clock-dial {
    width: 52px;
    height: 118px;
    border-radius: 0 118px 118px 0;
  }
  .wide-stage {
    padding-left: max(var(--pad-x), 74px) !important;
  }
}

@media (max-width: 1100px) {
  .impl-hero-center-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .price-hero-directory {
    justify-self: stretch;
    max-width: 100%;
  }
}

/* ==========================================================================
   УНИВЕРСАЛЬНЫЙ СТАНДАРТ ДЛЯ ВСЕХ 47 ТИПОВЫХ СТРАНИЦ УСЛУГ (services/*.html)
   Наследование геометрии #01-impl-hero на любой [id^="01-"][id$="-hero"]:not([id="01-hero"])
   и гарантия отсутствия микрошрифтов (< 13px) во всех компонентах страницы услуги
   ========================================================================== */
[id^="01-"][id$="-hero"]:not([id="01-hero"]).hero-v3-section {
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  background-color: #141311 !important;
}

[id^="01-"][id$="-hero"]:not([id="01-hero"]) .stage-bg {
  z-index: 2 !important;
  object-position: center center !important;
  filter: none !important;
  opacity: 1 !important;
}

[id^="01-"][id$="-hero"]:not([id="01-hero"]) .hero-studio-glow {
  z-index: 3 !important;
  background:
    linear-gradient(180deg, rgba(18, 17, 15, 0.52) 0%, rgba(18, 17, 15, 0.08) 22%, rgba(18, 17, 15, 0.08) 76%, rgba(18, 17, 15, 0.78) 100%),
    linear-gradient(90deg, rgba(20, 19, 17, 0.88) 0%, rgba(20, 19, 17, 0.54) 36%, rgba(20, 19, 17, 0.12) 64%, rgba(20, 19, 17, 0.06) 100%) !important;
}

[id^="01-"][id$="-hero"]:not([id="01-hero"]) .hero-stage {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 100dvh !important;
  height: auto !important;
  padding: 108px var(--pad-x) 28px var(--pad-x) !important;
  gap: 28px !important;
}

[id^="01-"][id$="-hero"]:not([id="01-hero"]) .hero-left {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

[id^="01-"][id$="-hero"]:not([id="01-hero"]) .hero-h1 {
  font-size: clamp(32px, 2.85vw, 50px) !important;
  line-height: 1.08 !important;
  margin-bottom: 20px !important;
  letter-spacing: -0.025em !important;
}

[id^="01-"][id$="-hero"]:not([id="01-hero"]) .bottom-strip {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-top: 18px !important;
  flex-shrink: 0 !important;
}

.ies-callout span,
.iptb-num,
.ipp-spec span,
.ips-badge,
.ips-status,
.ise-point-num,
.iod-exp,
.vcc-cat,
.vcc-days,
.ba-badge,
.vcb-lbl,
.vcb-addr-block small,
.vcb-legal,
.vfb-contra,
.vfb-copy span,
.ispt-our small,
.ispt-code,
.isi-diagram text {
  font-size: 13px !important;
}

.v2-btn-gold {
  background-color: #C6B189 !important;
  background-image: linear-gradient(135deg, #DFC9A0 0%, #C6B189 100%) !important;
  color: #181817 !important;
  border-radius: 10px !important;
}

.v2-eyebrow {
  border-left: 4px solid #C6B189 !important;
  padding-left: 12px !important;
}

.ies-anatomy-callouts {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px 20px !important;
}

/* ==========================================================================
   ЖЕЛЕЗНАЯ ФИКСАЦИЯ ВЫСОТЫ И ВЕРТИКАЛЬНОЙ ЦЕНТРОВКИ ВО ВСЕХ ТАБАХ И ГАЛЕРЕЯХ
   (0.0px скачков при переключении стадий/протоколов .impl-protocol-pane и слайдов .ihos-slide)
   ========================================================================== */
.impl-protocol-pane h3,
.impl-protocol-pane .v2-h2 {
  font-size: clamp(24px, 1.95vw, 31px) !important;
  line-height: 1.18 !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.02em !important;
}

.impl-protocol-pane .v2-lead {
  font-size: 16px !important;
  line-height: 1.54 !important;
  margin-bottom: 0 !important;
}

@media (min-width: 1025px) {
  .impl-protocol-pane {
    min-height: 436px !important;
    height: 436px !important;
    max-height: 436px !important;
    padding-bottom: 40px !important;
    align-items: center !important;
  }

  .impl-protocol-pane > div:first-child {
    height: 396px !important;
    min-height: 396px !important;
    max-height: 396px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
  }

  .impl-protocol-pane .ipp-media {
    height: 396px !important;
    min-height: 396px !important;
    max-height: 396px !important;
    align-self: center !important;
    overflow: hidden !important;
    border-radius: 8px !important;
  }

  .impl-protocol-pane .ipp-media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .impl-hero-offer-slider .ihos-slide {
    min-height: 316px !important;
    height: 316px !important;
    max-height: 316px !important;
    align-items: center !important;
  }
}

/* ==========================================================================
   БАЗОВОЕ ВЕРХНЕЕ МЕНЮ (.nav-links БЕЗ ТАБОВ) И 3-УРОВНЕВОЕ МЕНЮ УСЛУГ (.sgn-mega-3lvl)
   ========================================================================== */
.top-bar {
  gap: 14px !important;
}

.brand-group {
  gap: 12px !important;
}

.nav-links {
  display: inline-flex;
  align-items: center;
  gap: 0;
}

.nav-links > a,
.nav-links > .sgn-dropdown > .sgn-drop-trigger {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(245, 242, 235, 0.92) !important;
  text-decoration: none !important;
  padding: 8px 8.5px !important;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  cursor: pointer;
  transition: color 0.2s ease;
}

@media (min-width: 1640px) {
  .nav-links > a,
  .nav-links > .sgn-dropdown > .sgn-drop-trigger {
    font-size: 14px !important;
    padding: 8px 13px !important;
  }
}

.nav-links > .sgn-dropdown > .sgn-drop-trigger::after {
  display: none !important;
  content: none !important;
}

.nav-links > a:hover,
.nav-links > .sgn-dropdown:hover > .sgn-drop-trigger,
.nav-links > .sgn-dropdown.is-open > .sgn-drop-trigger {
  color: var(--gold-light) !important;
  background: transparent !important;
}

.nav-links > .sgn-dropdown:hover .sgn-caret,
.nav-links > .sgn-dropdown.is-open .sgn-caret {
  transform: rotate(180deg);
}

@media (min-width: 1025px) {
  .nav-links .sgn-mega.sgn-mega-3lvl {
    position: fixed !important;
    top: 84px !important;
    left: 50% !important;
    transform: translate3d(-50%, 8px, 0) !important;
    width: min(1100px, 92vw) !important;
    background: rgba(18, 17, 15, 0.98) !important;
    border: 1px solid rgba(198, 177, 137, 0.38) !important;
    border-top: 2px solid var(--gold-main) !important;
    border-radius: 0 0 16px 16px !important;
    padding: 20px 24px 16px !important;
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.84) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1250 !important;
    transition: opacity 0.22s ease, transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.22s !important;
  }

  .nav-links > .sgn-dropdown:hover .sgn-mega.sgn-mega-3lvl,
  .nav-links > .sgn-dropdown:focus-within .sgn-mega.sgn-mega-3lvl,
  .nav-links > .sgn-dropdown.is-open .sgn-mega.sgn-mega-3lvl {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(-50%, 0, 0) !important;
  }
}

@media (max-width: 1024px) {
  .sgn-mega,
  .sgn-mega.sgn-mega-3lvl {
    display: none !important;
  }
}

.sgn-3lvl-body {
  display: grid;
  grid-template-columns: 350px minmax(0, 1fr);
  gap: 22px;
  width: 100%;
  align-items: stretch;
}

/* УРОВЕНЬ 2: ЛЕВАЯ КОЛОНКА ОТДЕЛЕНИЙ */
.sgn-lvl2-col {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-right: 18px;
  border-right: 1px solid rgba(198, 177, 137, 0.22);
}

.nav-links .sgn-lvl2-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.025) !important;
  border: 1px solid rgba(245, 242, 235, 0.08) !important;
  color: rgba(245, 242, 235, 0.86) !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.nav-links .sgn-lvl2-item:hover,
.nav-links .sgn-lvl2-item.is-active {
  background: rgba(198, 177, 137, 0.16) !important;
  border-color: rgba(198, 177, 137, 0.55) !important;
  color: #FFFFFF !important;
}

.s2i-num {
  font-family: var(--font-mono);
  font-size: 13px !important;
  font-weight: 700;
  color: var(--gold-main);
  flex-shrink: 0;
}

.s2i-title {
  font-size: 13.5px !important;
  font-weight: 600;
  color: inherit;
  flex: 1;
}

.s2i-arr {
  font-size: 13px !important;
  color: var(--gold-light);
  opacity: 0.78;
  flex-shrink: 0;
}

/* УРОВЕНЬ 3: ПРАВАЯ ПАНЕЛЬ УСЛУГ ВЫБРАННОГО ОТДЕЛЕНИЯ */
.sgn-lvl3-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
}

.sgn-lvl3-pane {
  display: none;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.sgn-lvl3-pane.is-active {
  display: flex;
}

.sgn-lvl3-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.24);
}

.s3h-kicker {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px !important;
  font-weight: 700;
  color: var(--gold-main);
  letter-spacing: 0.04em;
  margin-bottom: 3px;
}

.s3h-title {
  font-family: var(--font-heading);
  font-size: 18px !important;
  font-weight: 700;
  color: #F5F2EB;
  line-height: 1.25;
  margin: 0;
}

.nav-links .s3h-all {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--gold-light) !important;
  text-decoration: none !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  background: rgba(198, 177, 137, 0.12) !important;
  border: 1px solid rgba(198, 177, 137, 0.34) !important;
  white-space: nowrap !important;
  transition: background-color 0.18s ease, color 0.18s ease !important;
}

.nav-links .s3h-all:hover {
  background: var(--gold-main) !important;
  color: #141413 !important;
}

.sgn-lvl3-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  width: 100%;
}

.nav-links .sgn-lvl3-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 9px 13px !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(198, 177, 137, 0.18) !important;
  color: #F5F2EB !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease !important;
}

.nav-links .sgn-lvl3-link:hover,
.nav-links .sgn-lvl3-link.is-current-service {
  background: rgba(198, 177, 137, 0.18) !important;
  border-color: var(--gold-main) !important;
  color: #FFFFFF !important;
  transform: translateX(2px);
}

.s3l-name {
  font-size: 13.5px !important;
  font-weight: 600;
  color: inherit;
  line-height: 1.28;
  flex: 1;
}

.s3l-price {
  font-family: var(--font-mono);
  font-size: 13px !important;
  font-weight: 700;
  color: var(--gold-light);
  white-space: nowrap;
  flex-shrink: 0;
}

.pdb-service-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.pdb-srv-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #F5F2EB;
  background: rgba(198, 177, 137, 0.1);
  border: 1px solid rgba(198, 177, 137, 0.28);
  text-decoration: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.pdb-srv-pill:hover {
  background: rgba(198, 177, 137, 0.22);
  border-color: rgba(198, 177, 137, 0.55);
  color: #FFFFFF;
}

/* ==========================================================================
   СИНХРОНИЗАЦИЯ КЛАССОВ 3-УРОВНЕВОГО МЕНЮ, РЕДАКЦИОННОГО СПЛИТА И СВЕТЛЫХ ТЕМ (v18)
   ========================================================================== */
.sgn-lvl2-num {
  font-family: var(--font-mono);
  font-size: 13px !important;
  font-weight: 700;
  color: var(--gold-main);
  flex-shrink: 0;
}

.sgn-lvl2-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.sgn-lvl2-title {
  font-size: 13.5px !important;
  font-weight: 700;
  color: inherit;
  line-height: 1.25;
}

.sgn-lvl2-sub {
  font-size: 11.5px !important;
  font-weight: 500;
  color: rgba(245, 242, 235, 0.6);
  line-height: 1.25;
}

.sgn-lvl2-arr {
  font-size: 13px !important;
  color: var(--gold-light);
  opacity: 0.78;
  flex-shrink: 0;
}

.sgn-lvl3-kicker {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px !important;
  font-weight: 700;
  color: var(--gold-main);
  letter-spacing: 0.04em;
  margin-bottom: 3px;
}

.sgn-lvl3-heading {
  font-family: var(--font-heading);
  font-size: 18px !important;
  font-weight: 700;
  color: #F5F2EB;
  line-height: 1.25;
  margin: 0;
}

.sgn-lvl3-catlink,
.nav-links .sgn-lvl3-catlink {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--gold-light) !important;
  text-decoration: none !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  background: rgba(198, 177, 137, 0.12) !important;
  border: 1px solid rgba(198, 177, 137, 0.34) !important;
  white-space: nowrap !important;
  transition: background-color 0.18s ease, color 0.18s ease !important;
}

.sgn-lvl3-catlink:hover,
.nav-links .sgn-lvl3-catlink:hover {
  background: var(--gold-main) !important;
  color: #141413 !important;
}

.sgn-lvl3-name {
  font-size: 13.5px !important;
  font-weight: 600;
  color: inherit;
  line-height: 1.28;
  flex: 1;
}

.sgn-lvl3-price {
  font-family: var(--font-mono);
  font-size: 13px !important;
  font-weight: 700;
  color: var(--gold-light);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Журнальный 2-колоночный сплит .impl-editorial-split для Экрана 02 страниц услуг и общих разделов */
.impl-editorial-split {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: clamp(36px, 4.5vw, 72px);
  align-items: start;
  padding: 12px 0 48px;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
}

.ies-sticky {
  position: sticky;
  top: 108px;
}

.ies-body {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(22, 21, 20, 0.16);
}

.ies-feature {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(22, 21, 20, 0.14);
  align-items: start;
}

.ies-num {
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 700;
  color: var(--gold-deep);
  padding-top: 4px;
}

.ies-feature h3 {
  font-family: var(--font-heading);
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 700;
  color: var(--ink-dark);
  line-height: 1.28;
  margin: 0 0 6px 0;
}

.ies-feature p {
  font-size: 15.5px;
  line-height: 1.58;
  color: var(--ink-secondary);
  margin: 0;
}

/* Контрастность .impl-standards-open-matrix и .impl-finance-strip-3 на светлых секциях (.v2-theme-porcelain / .v2-theme-travertine) */
.v2-theme-porcelain .impl-standards-open-matrix,
.v2-theme-travertine .impl-standards-open-matrix {
  border-top-color: rgba(22, 21, 20, 0.16);
}

.v2-theme-porcelain .isom-list,
.v2-theme-travertine .isom-list {
  border-top-color: rgba(22, 21, 20, 0.14);
}

.v2-theme-porcelain .isom-row,
.v2-theme-travertine .isom-row {
  border-bottom-color: rgba(22, 21, 20, 0.14);
}

.v2-theme-porcelain .isom-idx,
.v2-theme-travertine .isom-idx {
  color: var(--gold-deep);
}

.v2-theme-porcelain .isom-row h4,
.v2-theme-travertine .isom-row h4 {
  color: var(--ink-dark);
}

.v2-theme-porcelain .isom-row p,
.v2-theme-travertine .isom-row p {
  color: var(--ink-secondary);
}

.v2-theme-porcelain .ifs-col,
.v2-theme-travertine .ifs-col {
  border-left-color: rgba(143, 118, 76, 0.35);
}

.v2-theme-porcelain .ifs-icon-wrap,
.v2-theme-travertine .ifs-icon-wrap {
  color: var(--gold-deep);
  border-color: rgba(143, 118, 76, 0.45);
}

.ifs-tag {
  display: block;
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--gold-light);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ifs-desc {
  font-size: 14.5px;
  line-height: 1.54;
  color: rgba(246, 243, 236, 0.8);
  margin: 0;
}

.v2-theme-porcelain .ifs-title,
.v2-theme-travertine .ifs-title {
  color: var(--ink-dark);
}

.v2-theme-porcelain .ifs-accent-tag,
.v2-theme-travertine .ifs-accent-tag,
.v2-theme-porcelain .ifs-tag,
.v2-theme-travertine .ifs-tag {
  color: var(--gold-deep);
}

.v2-theme-porcelain .ifs-bullets li,
.v2-theme-travertine .ifs-bullets li,
.v2-theme-porcelain .ifs-desc,
.v2-theme-travertine .ifs-desc {
  color: var(--ink-secondary);
}

.v2-theme-porcelain .ifs-bullets strong,
.v2-theme-travertine .ifs-bullets strong {
  color: var(--ink-dark);
}

.v2-theme-porcelain .ispt-btn-line,
.v2-theme-travertine .ispt-btn-line {
  color: var(--ink-dark);
  border-bottom-color: var(--gold-deep);
}

.vcc-price-row {
  padding-top: 6px;
  border-top: 1px dashed rgba(246, 243, 236, 0.14);
}

@media (max-width: 1280px) {
  .impl-editorial-split {
    grid-template-columns: 1fr;
  }
  .ies-sticky {
    position: static;
  }
}

/* ==========================================================================
   V20 FIXES: SMOOTH SCROLL, FIRST-SCREEN PARALLAX, SLIDER AUTO-FIT,
   CONTRAST GUARDRAILS & UNIFIED VERTICAL #mmClockDial PANEL
   ========================================================================== */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 86px;
}

/* Static Hero Backdrop (no cursor-following or scroll parallax) */
.hero-v3-section .hero-backdrop-layer {
  overflow: hidden !important;
}

.hero-v3-section .stage-bg {
  transform: none !important;
  transition: none !important;
}

.hero-v3-section .hero-studio-glow {
  transform: none !important;
  transition: none !important;
}

/* Fix Hero Offer Slider (.impl-hero-offer-slider) so CTA never overflows on any page */
@media (min-width: 1025px) {
  .page-implantation .hero-v3-section .impl-hero-offer-slider {
    height: auto !important;
    max-height: none !important;
    padding: 20px 24px !important;
  }

  .page-implantation .hero-v3-section .impl-hero-offer-slider .ihos-slide {
    min-height: 286px !important;
    height: auto !important;
    max-height: none !important;
    align-items: center !important;
  }

  .page-implantation .hero-v3-section .ihos-title {
    font-size: clamp(17px, 1.3vw, 20px) !important;
    line-height: 1.24 !important;
    margin-bottom: 8px !important;
  }

  .page-implantation .hero-v3-section .ihos-list {
    gap: 5px !important;
    margin-bottom: 10px !important;
  }

  .page-implantation .hero-v3-section .ihos-list li {
    font-size: 12.5px !important;
    line-height: 1.38 !important;
  }

  .page-implantation .hero-v3-section .ihos-price-block {
    margin-bottom: 10px !important;
    padding-top: 8px !important;
  }
}

/* WCAG Contrast Fixes for .vcc-days and .sgn-lvl3-catlink */
.vcc-days,
a.vcc-days {
  background: rgba(88, 198, 169, 0.14) !important;
  color: #58C6A9 !important;
  border: 1px solid rgba(88, 198, 169, 0.38) !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

a.vcc-days:hover {
  background: rgba(88, 198, 169, 0.24) !important;
  color: #FFFFFF !important;
}

.v2-theme-dark .sgn-lvl3-catlink,
.v2-case-card .sgn-lvl3-catlink,
.iod-item .sgn-lvl3-catlink {
  background: rgba(198, 177, 137, 0.14) !important;
  color: #F5F2EB !important;
  border: 1px solid rgba(198, 177, 137, 0.38) !important;
}

.v2-theme-dark .sgn-lvl3-catlink:hover,
.v2-case-card .sgn-lvl3-catlink:hover,
.iod-item .sgn-lvl3-catlink:hover {
  background: #C6B189 !important;
  color: #181817 !important;
}

/* ==========================================================================
   АРХИТЕКТУРНЫЙ МЕГА-ПОДВАЛ САЙТА (66 СТРАНИЦ) — #mmSiteFooter (.mm-site-footer)
   Вариант 1: Паспорт клиники + 4-колоночный навигатор + ПП РФ № 736 / ФЗ № 323
   ========================================================================== */
.v2-footer-bar {
  display: none !important;
}

.mm-site-footer {
  width: 100%;
  background:
    radial-gradient(ellipse 80% 55% at 50% 0%, rgba(198, 177, 137, 0.08) 0%, rgba(18, 17, 15, 0) 65%),
    linear-gradient(180deg, #161513 0%, #0E0D0C 100%);
  color: #F5F2EB;
  border-top: 1px solid rgba(198, 177, 137, 0.32);
  position: relative;
  z-index: 15;
}

.mm-site-footer .msf-stage {
  padding-top: 38px !important;
  padding-bottom: 28px !important;
}

.msf-top-tier {
  display: grid;
  grid-template-columns: 1.05fr 1.15fr;
  gap: 28px;
  align-items: stretch;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.16);
}

.msf-brand-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

.msf-brand-head {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.msf-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.msf-logo img {
  height: 42px;
  width: auto;
  display: block;
}

.msf-license-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(198, 177, 137, 0.12);
  border: 1px solid rgba(198, 177, 137, 0.34);
  color: #DFC89E;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px;
  font-weight: 600;
}

.msf-brand-desc {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(245, 242, 235, 0.78);
  max-width: 580px;
}

.msf-badges-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.msf-trust-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(245, 242, 235, 0.14);
  color: #F5F2EB;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 600;
}

.msf-contacts-box {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(198, 177, 137, 0.24);
  border-radius: 14px;
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.msf-contacts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.msf-contact-cell {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.msf-cell-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #C6B189;
}

.msf-phone-big {
  font-family: 'Unbounded', sans-serif;
  font-size: 18.5px;
  font-weight: 700;
  color: #F5F2EB;
  text-decoration: none;
  transition: color 0.2s ease;
}

.msf-phone-big:hover {
  color: #DFC89E;
}

.msf-addr-big {
  font-family: 'Unbounded', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  color: #F5F2EB;
  line-height: 1.3;
}

.msf-cell-sub {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  color: rgba(245, 242, 235, 0.68);
}

.msf-actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(198, 177, 137, 0.14);
}

.msf-btn-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border-radius: 9px;
  border: none;
  background: linear-gradient(135deg, #DFC89E 0%, #C6B189 100%);
  color: #161514;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.msf-btn-gold:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(198, 177, 137, 0.32);
}

.msf-btn-outline {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 9px;
  border: 1px solid rgba(198, 177, 137, 0.34);
  background: rgba(198, 177, 137, 0.08);
  color: #F5F2EB;
  font-family: 'Manrope', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.msf-btn-outline:hover {
  background: #C6B189;
  color: #161514;
  border-color: #C6B189;
}

.msf-nav-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(198, 177, 137, 0.16);
}

.msf-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.msf-col-kicker {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #C6B189;
  margin-bottom: 4px;
}

.msf-col-title {
  font-family: 'Unbounded', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #F5F2EB;
  margin: 0 0 12px 0;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(198, 177, 137, 0.18);
  line-height: 1.28;
}

.msf-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.msf-link-list li a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgba(245, 242, 235, 0.8);
  text-decoration: none;
  line-height: 1.3;
  transition: color 0.18s ease, transform 0.18s ease;
}

.msf-link-list li a:hover {
  color: #DFC89E;
  transform: translateX(3px);
}

.msf-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px;
  font-weight: 600;
  color: #C6B189;
  white-space: nowrap;
  flex-shrink: 0;
}

.msf-bottom-tier {
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.msf-legal-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.msf-legal-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

.msf-legal-copy strong {
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #F5F2EB;
}

.msf-legal-copy span {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(245, 242, 235, 0.66);
}

.msf-legal-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-shrink: 0;
}

.msf-legal-links a {
  font-family: 'Manrope', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: #C6B189;
  text-decoration: none;
  transition: color 0.2s ease;
}

.msf-legal-links a:hover {
  color: #F5F2EB;
}

.msf-top-btn {
  padding: 7px 13px;
  border-radius: 8px;
  border: 1px solid rgba(198, 177, 137, 0.36);
  background: rgba(198, 177, 137, 0.1);
  color: #F5F2EB !important;
}

.msf-top-btn:hover {
  background: #C6B189;
  color: #161514 !important;
}

.msf-contra-banner {
  padding: 10px 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(198, 177, 137, 0.14);
  text-align: center;
  font-family: 'Unbounded', sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(245, 242, 235, 0.68);
  line-height: 1.4;
}

@media (max-width: 1180px) {
  .msf-top-tier {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .msf-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 20px;
  }
  .msf-legal-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .msf-legal-links {
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .mm-site-footer .msf-stage {
    padding-top: 32px !important;
    padding-bottom: 88px !important;
  }
  .msf-contacts-box {
    padding: 16px 14px;
  }
  .msf-contacts-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .msf-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 14px;
    padding: 22px 0;
  }
  .msf-col-title {
    font-size: 13px;
    margin-bottom: 8px;
    padding-bottom: 6px;
  }
  .msf-link-list {
    gap: 5px;
  }
  .msf-link-list li a {
    font-size: 12px;
  }
  .msf-meta {
    display: none;
  }
  .msf-actions-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .msf-btn-gold {
    grid-column: 1 / -1;
    justify-content: center;
  }
  .msf-btn-outline {
    justify-content: center;
  }
  .msf-legal-links {
    gap: 10px;
  }
}

/* ==========================================================================
   MODULE 06: COMPREHENSIVE MOBILE & TABLET RESPONSIVE ARCHITECTURE (v19)
   1. Desktop guard: hides mobile-only shell components on >= 1181px
   2. Tablet & Mobile Header (.top-bar), Burger Button (#mmBurgerBtn) & Full-Screen Drawer (#mmMobileDrawer)
   3. Mobile Horizontal Section Jump Bar (#mmMobileSectionNav) & Thumb-Zone Bottom Bar (#mmMobileBottomBar)
   4. Anti-"Портянка" Mobile UX (<= 768px):
      - Horizontal touch-swipe snap carousels for multi-card grids (cases, doctors, stages, gallery, finance, reviews, blog)
      - Compact 2x2 Bento grids for 4-item factoids and preparation steps
      - 2-row mobile price cards + collapsible long price tables (> 5 rows)
      - Compact Hero & Protocol panes with 0px horizontal overflow
   ========================================================================== */

/* 1. DESKTOP GUARD: Mobile shell elements hidden on desktop & locked 436px protocol pane */
.mobile-header-actions,
.mobile-burger-btn,
.mobile-call-pill,
.mm-mobile-drawer,
.mm-mobile-bottom-bar,
.mm-mobile-section-nav,
.ispt-mobile-more-wrap {
  display: none;
}

@media (min-width: 1025px) {
  .impl-protocol-pane,
  .impl-protocol-pane.is-active {
    height: 436px !important;
    min-height: 436px !important;
    max-height: 436px !important;
  }
}

/* ==========================================================================
   2. TABLET & MOBILE HEADER + BURGER DRAWER (<= 1180px)
   ========================================================================== */
@media (max-width: 1180px) {
  .top-bar,
  #mainTopBar.top-bar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    background: rgba(18, 17, 15, 0.96) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border-bottom: 1px solid rgba(198, 177, 137, 0.26) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45) !important;
    z-index: 1300 !important;
    box-sizing: border-box !important;
  }

  .top-bar .nav-links,
  .top-bar .brand-divider,
  .top-bar .brand-descriptor,
  .top-bar .header-contacts {
    display: none !important;
  }

  .top-bar .brand-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
  }

  .top-bar .mm-logo-img {
    height: 34px !important;
    width: auto !important;
    max-width: 150px !important;
  }

  .mobile-header-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
  }

  .mobile-call-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    background: rgba(198, 177, 137, 0.12) !important;
    border: 1px solid rgba(198, 177, 137, 0.38) !important;
    color: #F5F2EB !important;
    font-family: var(--font-mono, monospace) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  .mobile-call-pill svg {
    color: #C6B189 !important;
    flex-shrink: 0 !important;
  }

  .mobile-burger-btn {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: rgba(198, 177, 137, 0.14) !important;
    border: 1px solid rgba(198, 177, 137, 0.45) !important;
    color: #F5F2EB !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  .mobile-burger-btn .mbb-bar {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    background: #E2CFA8 !important;
    border-radius: 2px !important;
    transition: transform 0.22s ease, opacity 0.22s ease !important;
  }

  .mobile-burger-btn.is-open {
    background: rgba(198, 177, 137, 0.26) !important;
    border-color: #C6B189 !important;
  }

  .mobile-burger-btn.is-open .mbb-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .mobile-burger-btn.is-open .mbb-bar:nth-child(2) {
    opacity: 0 !important;
  }

  .mobile-burger-btn.is-open .mbb-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  body.mm-drawer-open {
    overflow: hidden !important;
  }

  /* Full-Screen Mobile Navigation Drawer */
  .mm-mobile-drawer[hidden] {
    display: none !important;
  }

  .mm-mobile-drawer.is-open {
    display: block !important;
    position: fixed !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    background: #141311 !important;
    color: #F5F2EB !important;
    z-index: 1295 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 16px 16px 96px 16px !important;
    box-sizing: border-box !important;
  }

  .mmd-inner {
    max-width: 680px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .mmd-search-input {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(198, 177, 137, 0.35);
    color: #F5F2EB;
    font-family: var(--font-sans, sans-serif);
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
  }

  .mmd-search-input::placeholder {
    color: rgba(245, 242, 235, 0.5);
  }

  .mmd-section-label {
    font-family: var(--font-mono, monospace);
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #C6B189;
    margin-top: 4px;
  }

  .mmd-core-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .mmd-core-card {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(245, 242, 235, 0.1);
    color: #F5F2EB;
    text-decoration: none;
  }

  .mmd-core-card.is-current {
    background: rgba(198, 177, 137, 0.16);
    border-color: rgba(198, 177, 137, 0.55);
  }

  .mmd-core-card strong {
    font-size: 13.5px;
    font-weight: 700;
    color: #FFFFFF;
  }

  .mmd-core-card span {
    font-size: 11.5px;
    color: rgba(245, 242, 235, 0.64);
  }

  .mmd-depts-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .mmd-dept-card {
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(245, 242, 235, 0.1);
    overflow: hidden;
  }

  .mmd-dept-card.is-open {
    border-color: rgba(198, 177, 137, 0.48);
    background: rgba(198, 177, 137, 0.06);
  }

  .mmd-dept-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: transparent;
    border: none;
    color: #F5F2EB;
    text-align: left;
    cursor: pointer;
  }

  .mmd-dept-num {
    font-family: var(--font-mono, monospace);
    font-size: 13px;
    font-weight: 700;
    color: #C6B189;
    flex-shrink: 0;
  }

  .mmd-dept-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
  }

  .mmd-dept-title {
    font-size: 14px;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.25;
  }

  .mmd-dept-sub {
    font-size: 11.5px;
    color: rgba(245, 242, 235, 0.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mmd-dept-chevron {
    color: #C6B189;
    font-size: 14px;
    transition: transform 0.2s ease;
  }

  .mmd-dept-card.is-open .mmd-dept-chevron {
    transform: rotate(180deg);
  }

  .mmd-dept-body {
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 0 10px 10px 10px;
    border-top: 1px solid rgba(198, 177, 137, 0.16);
  }

  .mmd-dept-card.is-open .mmd-dept-body {
    display: flex;
  }

  .mmd-srv-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 8px;
    color: rgba(245, 242, 235, 0.9);
    text-decoration: none;
    font-size: 13px;
    background: rgba(0, 0, 0, 0.22);
  }

  .mmd-srv-link.is-current {
    background: rgba(198, 177, 137, 0.22);
    border: 1px solid rgba(198, 177, 137, 0.5);
    color: #FFFFFF;
  }

  .mmd-srv-name {
    flex: 1;
    line-height: 1.3;
  }

  .mmd-srv-price {
    font-family: var(--font-mono, monospace);
    font-size: 12px;
    font-weight: 700;
    color: #E2CFA8;
    white-space: nowrap;
  }

  .mmd-contact-footer {
    margin-top: 6px;
    padding: 14px;
    border-radius: 12px;
    background: rgba(198, 177, 137, 0.1);
    border: 1px solid rgba(198, 177, 137, 0.35);
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .mmd-cf-lbl {
    display: block;
    font-family: var(--font-mono, monospace);
    font-size: 11px;
    color: #C6B189;
  }

  .mmd-cf-phone {
    display: block;
    font-size: 18px;
    font-weight: 800;
    color: #FFFFFF;
    text-decoration: none;
    margin: 2px 0;
  }

  .mmd-cf-addr {
    display: block;
    font-size: 12.5px;
    color: rgba(245, 242, 235, 0.72);
  }

  .mmd-cf-actions {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr;
    gap: 8px;
  }

  .mmd-book-btn {
    width: 100%;
    justify-content: center;
    padding: 12px 14px !important;
    font-size: 13.5px !important;
  }

  .mmd-wa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(88, 198, 169, 0.16);
    border: 1px solid rgba(88, 198, 169, 0.45);
    color: #58C6A9;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
  }
}

/* ==========================================================================
   3. TABLET & MOBILE CLOCK DIAL & FLOATING PILL RESET (<= 1024px)
   ========================================================================== */
#mmMobileSectionNav,
.mm-mobile-section-nav {
  display: none !important;
}

@media (max-width: 1024px) {
  #mmClockDial,
  .mm-clock-dial,
  #mmMobileSectionNav,
  .mm-mobile-section-nav {
    display: none !important;
  }

  .wide-stage,
  .v2-container {
    padding-left: var(--pad-x, 16px) !important;
    padding-right: var(--pad-x, 16px) !important;
  }
}

/* ==========================================================================
   4. UNIFIED MOBILE ARCHITECTURE (<= 768px) — ZERO OVERLAP, ZERO OVERFLOW-X
   ========================================================================== */
@media (max-width: 768px) {
  :root {
    --pad-x: 16px !important;
  }

  html,
  body {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  body {
    padding-bottom: 64px !important;
  }

  .screen-section,
  .v2-section,
  .arch-section {
    max-width: 100vw !important;
    overflow-x: clip !important;
    padding-top: 36px !important;
    padding-bottom: 36px !important;
    scroll-margin-top: 74px !important;
  }

  /* Sticky Thumb-Zone Bottom Bar */
  .mm-mobile-bottom-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1.35fr !important;
    gap: 8px !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: 60px !important;
    padding: 8px 12px !important;
    background: rgba(18, 17, 15, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-top: 1px solid rgba(198, 177, 137, 0.28) !important;
    z-index: 1260 !important;
    box-sizing: border-box !important;
  }

  .mmbb-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 42px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(245, 242, 235, 0.14) !important;
    color: #F5F2EB !important;
    font-family: var(--font-sans, sans-serif) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 0 8px !important;
  }

  .mmbb-item svg {
    color: #C6B189 !important;
    flex-shrink: 0 !important;
  }

  .mmbb-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 42px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #DFC9A0 0%, #C6B189 100%) !important;
    color: #181817 !important;
    border: none !important;
    font-family: var(--font-sans, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    padding: 0 12px !important;
  }

  /* ========================================================================
     HERO FIRST SCREEN COMPACTION (#01-hero, #01-*-hero)
     ======================================================================== */
  .hero-v3-section,
  [id^="01-"][id$="-hero"]:not([id="01-hero"]).hero-v3-section {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
  }

  .hero-stage,
  [id^="01-"][id$="-hero"]:not([id="01-hero"]) .hero-stage {
    min-height: 0 !important;
    height: auto !important;
    padding: 78px 16px 20px 16px !important;
    gap: 16px !important;
  }

  .impl-hero-center-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .impl-hero-center-grid > *,
  .hero-left,
  .price-hero-directory,
  .phd-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .phd-card {
    padding: 14px !important;
  }

  .license-frame,
  .impl-hero-kicker {
    font-size: 11px !important;
    padding: 5px 10px !important;
    margin-bottom: 10px !important;
  }

  .hero-h1,
  [id^="01-"][id$="-hero"] .hero-h1 {
    font-size: clamp(20px, 5.2vw, 24px) !important;
    line-height: 1.18 !important;
    margin-bottom: 10px !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }

  .hero-sub,
  [id^="01-"][id$="-hero"] .hero-sub {
    font-size: 14px !important;
    line-height: 1.46 !important;
    margin-bottom: 12px !important;
    max-width: 100% !important;
  }

  .impl-hero-bullets {
    width: 100% !important;
    max-width: 100% !important;
    gap: 6px !important;
    margin-bottom: 14px !important;
    padding: 10px 12px !important;
  }

  .impl-hero-bullets li {
    font-size: 13px !important;
    line-height: 1.38 !important;
    padding: 3px 0 !important;
  }

  .cta-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .cta-row .btn-gold,
  .cta-row .btn-glass {
    width: 100% !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    font-size: 13.5px !important;
    box-sizing: border-box !important;
  }

  /* Hero 3-Offer Slider on Mobile */
  .impl-hero-offer-slider {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  .impl-hero-offer-slider .ihos-slide {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 10px !important;
    padding-top: 8px !important;
  }

  .impl-hero-offer-slider .ihos-visual {
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
    width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    order: -1 !important;
  }

  .impl-hero-offer-slider .ihos-title {
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }

  .impl-hero-offer-slider .ihos-list {
    margin: 0 0 8px 0 !important;
    padding-left: 0 !important;
    font-size: 12.5px !important;
  }

  .impl-hero-offer-slider .ihos-price-val {
    font-size: 18px !important;
    white-space: normal !important;
  }

  /* ========================================================================
     SECTION DIVIDERS (03 / 14) & HEADINGS — ZERO WRAPPING ON NUMBERS
     ======================================================================== */
  .sec-arch-divider {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    margin-bottom: 14px !important;
    width: 100% !important;
  }

  .sec-arch-divider .sad-num {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    padding: 0 !important;
  }

  .sec-arch-divider .sad-line {
    width: 18px !important;
    min-width: 18px !important;
    flex: 0 0 18px !important;
  }

  .sec-arch-divider .sad-label {
    font-size: 12px !important;
    line-height: 1.32 !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    white-space: normal !important;
  }

  .v2-sec-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    margin-bottom: 20px !important;
  }

  .v2-eyebrow {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
    padding-left: 10px !important;
  }

  .v2-h2,
  .arch-h2,
  .pdb-title {
    font-size: clamp(19px, 5vw, 23px) !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }

  .v2-lead,
  .v2-sec-lead,
  .arch-lead {
    font-size: 14px !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 4px !important;
  }

  /* ========================================================================
     FACTOIDS & METRICS GRIDS — ZERO COLLISIONS ("5 отделений", "0 ₽ доплат")
     ======================================================================== */
  .bottom-strip,
  .factoids-bar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-top: 12px !important;
    margin: 8px 0 0 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .bottom-strip > div,
  .factoids-bar > div,
  .fact-cell {
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 10px 12px !important;
    border-right: none !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(198, 177, 137, 0.22) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .fact-val {
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin-bottom: 3px !important;
  }

  .fact-lbl {
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  /* Screen 03 Founders Island & Stats-4 */
  .v2-founders-island {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-bottom: 24px !important;
    border-radius: 16px !important;
  }

  .vfi-photo-wrap {
    min-height: 250px !important;
    max-height: 290px !important;
  }

  .vfi-names-bar {
    position: absolute !important;
    bottom: 10px !important;
    left: 10px !important;
    right: 10px !important;
    padding: 10px 12px !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }

  .vfi-content {
    padding: 20px 16px !important;
  }

  .vfi-h3 {
    font-size: 18px !important;
    line-height: 1.28 !important;
    margin-bottom: 10px !important;
  }

  .vfi-p {
    font-size: 14px !important;
    line-height: 1.52 !important;
    margin-bottom: 18px !important;
  }

  .vfi-stats-4,
  .impl-poster-factoids-4,
  .v2-factoid-bar-4,
  .about-key-metrics,
  .vls-tiers-4,
  .vcb-perks-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-top: 16px !important;
  }

  .vfi-stats-4 > div,
  .impl-poster-factoids-4 > *,
  .v2-factoid-bar-4 > *,
  .about-key-metrics > *,
  .vls-tiers-4 > *,
  .vcb-perks-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .vfi-stats-4 > div {
    background: rgba(255, 255, 255, 0.035) !important;
    border: 1px solid rgba(198, 177, 137, 0.22) !important;
    border-radius: 10px !important;
    padding: 12px !important;
  }

  .vfi-stat-num {
    font-size: clamp(14.5px, 4.1vw, 17.5px) !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin-bottom: 4px !important;
    display: block !important;
  }

  .vfi-stat-lbl {
    font-size: 11.5px !important;
    line-height: 1.32 !important;
    white-space: normal !important;
  }

  .ipf-item,
  .vfb-item,
  .vfb-cell {
    padding: 12px !important;
    border-left: none !important;
    border: 1px solid rgba(198, 177, 137, 0.28) !important;
    border-radius: 10px !important;
    background: rgba(198, 177, 137, 0.06) !important;
  }

  .ipf-val,
  .vfb-big,
  .akm-num {
    font-size: clamp(16px, 4.6vw, 21px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin-bottom: 4px !important;
    display: block !important;
  }

  .ipf-lbl,
  .vfb-txt,
  .akm-lbl {
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  .vls-tier,
  .vcb-perk {
    padding: 11px 12px !important;
    border-radius: 10px !important;
  }

  .vls-tier strong,
  .vcb-perk strong {
    font-size: 14px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin-bottom: 3px !important;
  }

  .vls-tier span,
  .vcb-perk span {
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  .vcb-perks-grid > *:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  /* ========================================================================
     TABS & SEGMENTED CONTROLS — CLEAN 2-COLUMN PILL MATRIX (NO BLACK WALLS!)
     ======================================================================== */
  .v2-seg-tabs,
  .impl-protocol-tabs-bar,
  .price-tabs-bar,
  .cases-stories-tabs,
  .v2-fin-presets,
  .impl-stories-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    margin-bottom: 18px !important;
  }

  .v2-seg-tabs > *:last-child:nth-child(odd),
  .price-tabs-bar > *:last-child:nth-child(odd),
  .cases-stories-tabs > *:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  .v2-seg-btn,
  .price-tab-btn,
  .vfp-btn,
  .ist-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 8px !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
    white-space: normal !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  /* Protocol Tabs on Service Pages (#04-*-types) */
  .impl-protocol-tabs-bar {
    background: transparent !important;
    border-bottom: none !important;
    padding: 0 !important;
    gap: 8px !important;
  }

  .iptb-tab {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(22, 21, 20, 0.16) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    opacity: 1 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .iptb-tab.is-active {
    background: #181817 !important;
    border-color: #C6B189 !important;
  }

  .iptb-num {
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    margin-bottom: 3px !important;
    white-space: normal !important;
  }

  .iptb-tab.is-active .iptb-num {
    color: #C6B189 !important;
  }

  .iptb-name {
    font-size: 11.5px !important;
    line-height: 1.22 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    display: block !important;
  }

  .iptb-tab.is-active .iptb-name {
    color: #F5F2EB !important;
  }

  /* Price department horizontal pills & blocks on prices.html */
  .price-dept-pills,
  .pst-dept-pills {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .price-dept-pills > *:last-child:nth-child(odd),
  .pst-dept-pills > *:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  .price-dept-pills > *,
  .pst-pill {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 11.5px !important;
    padding: 9px 8px !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  .price-dept-block,
  .pdb-head,
  .pdb-header,
  .pdb-title,
  .pdb-sub,
  .pst-top-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .pdb-head,
  .pdb-header,
  .pst-top-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  /* ========================================================================
     CLEAN 1-COLUMN VERTICAL CARDS (NO AWKWARD 84% SCROLLBAR STRIPS!)
     ======================================================================== */
  .v2-cards-3,
  .v2-cases-grid-3,
  .cases-stories-grid,
  .impl-open-doctors-4,
  .v2-doctors-grid-4,
  .doctors-arch-grid,
  .impl-stages-infographic,
  .impl-prep-scheme,
  .ips-track,
  .impl-finance-strip-3,
  .price-package-strip-3,
  .finance-trio-grid,
  .vfbi-track-3,
  .clinic-gallery-grid,
  .v2-safety-bento-3,
  .promo-cards-grid,
  .reviews-cards-grid,
  .blog-articles-grid,
  .infographic-3steps,
  .services-bento-grid,
  .wyg-grid-8 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .v2-cards-3 > *,
  .v2-cases-grid-3 > *,
  .cases-stories-grid > *,
  .impl-open-doctors-4 > *,
  .v2-doctors-grid-4 > *,
  .doctors-arch-grid > *,
  .impl-stages-infographic > *,
  .impl-prep-scheme > *,
  .ips-track > *,
  .impl-finance-strip-3 > *,
  .price-package-strip-3 > *,
  .finance-trio-grid > *,
  .vfbi-track-3 > *,
  .clinic-gallery-grid > *,
  .v2-safety-bento-3 > *,
  .promo-cards-grid > *,
  .reviews-cards-grid > *,
  .blog-articles-grid > *,
  .infographic-3steps > *,
  .services-bento-grid > *,
  .wyg-grid-8 > * {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* 2x2 Grid for Clinic Tour 4 Frames */
  .v2-clinic-tour-4 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .v2-clinic-tour-4 > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .vct-frame {
    height: 148px !important;
  }

  .vct-frame span {
    font-size: 11px !important;
    line-height: 1.25 !important;
    padding: 6px 8px !important;
    bottom: 6px !important;
    left: 6px !important;
    right: 6px !important;
  }

  /* ========================================================================
     HOME SERVICES CATALOG CARDS (.v2-offer-card) & FULL PRICE BOARD
     ======================================================================== */
  .v2-offer-card {
    padding: 18px 16px !important;
    border-radius: 14px !important;
  }

  .voc-flagship {
    padding-top: 40px !important;
  }

  .voc-flagship-ribbon {
    font-size: 10.5px !important;
    padding: 6px 10px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .voc-stage-window {
    height: 175px !important;
    margin-bottom: 14px !important;
  }

  .voc-meta-top {
    top: 8px !important;
    left: 8px !important;
    right: 8px !important;
    gap: 6px !important;
  }

  .voc-tag {
    font-size: 11px !important;
    padding: 4px 8px !important;
  }

  .voc-rate {
    font-size: 12px !important;
    padding: 4px 9px !important;
  }

  .voc-title-zone {
    min-height: 0 !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
  }

  .voc-h3 {
    font-size: 19px !important;
    line-height: 1.22 !important;
    margin-bottom: 6px !important;
  }

  .voc-sub {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    min-height: 0 !important;
  }

  .srv-links-matrix {
    gap: 8px !important;
    margin-bottom: 16px !important;
  }

  .srv-page-link {
    padding: 10px 12px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    gap: 10px !important;
  }

  .srv-page-link strong {
    font-size: 12.5px !important;
  }

  /* Screen 04 Full Price Board (.v2-full-price-board) */
  .v2-full-price-board {
    padding: 16px 14px !important;
    border-radius: 14px !important;
  }

  .vfpb-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .vfpb-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 14px !important;
    gap: 10px !important;
    border-radius: 12px !important;
  }

  .vfpb-item strong {
    font-size: 15.5px !important;
    line-height: 1.28 !important;
    margin-bottom: 4px !important;
  }

  .vfpb-item span {
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  .vfpb-price-tag {
    font-size: 16px !important;
    padding: 7px 12px !important;
    align-self: flex-start !important;
  }

  /* ========================================================================
     BEFORE / AFTER CASES (.v2-case-card) — FULL-BLEED SLIDER, NO TOUCH FIGHT
     ======================================================================== */
  .v2-case-card {
    padding: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .ba-slider {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    width: 100% !important;
  }

  .vcc-body {
    padding: 16px !important;
  }

  .vcc-top-tags {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .vcc-cat,
  .vcc-days {
    font-size: 11.5px !important;
  }

  .vcc-title {
    font-size: 17.5px !important;
    line-height: 1.26 !important;
    margin-bottom: 12px !important;
  }

  .vcc-specs {
    font-size: 12.5px !important;
    gap: 6px !important;
    padding-top: 10px !important;
  }

  .vcc-specs > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }

  .vcc-specs strong {
    text-align: left !important;
  }

  /* ========================================================================
     INTERACTIVE QUIZ (#07-doctors-help / .v2-quiz-shell) — COMPACT & CLEAN
     ======================================================================== */
  .v2-quiz-shell {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .v2-quiz-main {
    padding: 18px 14px !important;
    border-radius: 14px !important;
  }

  .vqm-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
  }

  .vqm-step-pill {
    font-size: 11px !important;
    padding: 5px 10px !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  .vqm-progress-info {
    font-size: 12px !important;
  }

  .vqm-bar-track {
    margin-bottom: 16px !important;
  }

  .vqm-q-title {
    font-size: 16.5px !important;
    line-height: 1.28 !important;
    margin-bottom: 14px !important;
  }

  .vqm-photo-cards-4 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .vqm-photo-card,
  .vqm-photo-cards-4 .vqm-photo-card:nth-child(1),
  .vqm-photo-cards-4 .vqm-photo-card:nth-child(2),
  .vqm-photo-cards-4 .vqm-photo-card:nth-child(3),
  .vqm-photo-cards-4 .vqm-photo-card:nth-child(4) {
    grid-template-columns: 74px 1fr !important;
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 10px !important;
  }

  .vpc-img-wrap {
    width: 74px !important;
    height: 74px !important;
    border-radius: 8px !important;
  }

  .vpc-radio {
    width: 20px !important;
    height: 20px !important;
    top: 5px !important;
    left: 5px !important;
    font-size: 11px !important;
  }

  .vpc-text {
    gap: 3px !important;
    min-width: 0 !important;
  }

  .vpc-surface-tag {
    font-size: 10.5px !important;
    line-height: 1.2 !important;
  }

  .vpc-text strong {
    font-size: 14px !important;
    line-height: 1.24 !important;
  }

  .vpc-text span {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .vlf-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .vqm-footer {
    margin-top: 16px !important;
    padding-top: 14px !important;
    gap: 8px !important;
  }

  .vqm-hint {
    display: none !important;
  }

  #v2QuizPrev,
  #v2QuizNext {
    flex: 1 1 50% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 11px 10px !important;
    font-size: 12.5px !important;
  }

  .v2-quiz-sidebar {
    padding: 18px 14px !important;
    border-radius: 14px !important;
    gap: 14px !important;
  }

  .vqs-curator-box {
    grid-template-columns: 76px 1fr !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
  }

  .vqs-portrait {
    width: 76px !important;
    height: 92px !important;
    border-radius: 10px !important;
  }

  .vqs-badge {
    font-size: 10.5px !important;
    margin-bottom: 4px !important;
  }

  .vqs-meta strong {
    font-size: 15.5px !important;
    margin-bottom: 4px !important;
  }

  .vqs-meta p {
    font-size: 12.5px !important;
    line-height: 1.38 !important;
  }

  .vvc-item {
    grid-template-columns: 64px 1fr !important;
    gap: 10px !important;
    padding: 10px 12px !important;
  }

  .vvc-tag {
    font-size: 13px !important;
    padding: 6px 4px !important;
  }

  /* ========================================================================
     STAGES OF TREATMENT (.impl-stages-infographic) & PREP (.impl-prep-scheme)
     ======================================================================== */
  .impl-stages-infographic {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .isi-stage {
    padding: 16px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.035) !important;
    border: 1px solid rgba(198, 177, 137, 0.25) !important;
  }

  .isi-route-bar {
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
  }

  .isi-route-bar::after {
    display: none !important;
    content: none !important;
  }

  .isi-diagram {
    height: 132px !important;
    margin-bottom: 12px !important;
  }

  .isi-diagram svg {
    height: 120px !important;
    max-width: 240px !important;
    margin: 0 auto !important;
  }

  .isi-title {
    font-size: 16.5px !important;
    margin-bottom: 6px !important;
  }

  .isi-desc {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
    margin-bottom: 10px !important;
  }

  .isi-meta {
    font-size: 12px !important;
    padding-top: 8px !important;
  }

  .impl-prep-scheme {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .ips-node {
    padding: 14px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.65) !important;
    border: 1px solid rgba(22, 21, 20, 0.12) !important;
  }

  .ips-icon-row {
    margin-bottom: 10px !important;
  }

  .ips-icon-row::after {
    display: none !important;
  }

  .ips-svg-box {
    width: 44px !important;
    height: 44px !important;
  }

  .ips-title {
    font-size: 15.5px !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }

  .ips-desc {
    font-size: 13px !important;
    line-height: 1.45 !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    margin-bottom: 10px !important;
  }

  /* ========================================================================
     SERVICE PAGE PROTOCOLS, ANATOMY SPREAD & PRICE TABLE COMPACTION
     ======================================================================== */
  .impl-editorial-spread,
  .impl-editorial-split,
  .impl-open-indications,
  .impl-standards-open-matrix,
  .impl-sedation-editorial,
  .v2-contacts-bento,
  .vcb-media-split,
  .vcb-address-grid,
  .vcb-buttons-row,
  .vcb-inputs,
  .v2-finance-bento,
  .price-main-split,
  .about-video-split,
  .chief-video-card {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ies-anatomy-stage img {
    max-height: 250px !important;
  }

  .ies-anatomy-callouts {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ies-narrative blockquote {
    font-size: 17px !important;
    padding-left: 14px !important;
    margin-bottom: 14px !important;
  }

  .impl-protocol-pane {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 14px !important;
    padding: 12px 0 20px 0 !important;
    margin-bottom: 28px !important;
  }

  .impl-protocol-pane > div:first-child {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 12px !important;
  }

  .impl-protocol-pane .ipp-media {
    position: relative !important;
    height: 195px !important;
    min-height: 195px !important;
    max-height: 195px !important;
    width: 100% !important;
    order: -1 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .impl-protocol-pane .ipp-media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .ipp-specs-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 12px 0 !important;
    margin: 10px 0 !important;
    width: 100% !important;
  }

  .ipp-spec {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 10px !important;
    padding: 4px 0 !important;
  }

  .ipp-spec span {
    margin-bottom: 0 !important;
  }

  .ipp-spec strong {
    font-size: 14px !important;
    text-align: right !important;
  }

  .v2-btn-gold:not(.v2-btn-lg) {
    width: 100% !important;
    padding: 14px 18px !important;
    font-size: 13.5px !important;
    box-sizing: border-box !important;
  }

  /* Service Page Price Table (.impl-spec-price-table) */
  .ispt-head {
    display: none !important;
  }

  .ispt-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 6px 12px !important;
    padding: 14px 0 !important;
    align-items: center !important;
  }

  .ispt-row.is-flagship {
    padding-left: 12px !important;
    padding-right: 12px !important;
    border-radius: 10px !important;
  }

  .ispt-row.is-mobile-collapsed {
    display: none !important;
  }

  .ispt-row > div:first-child {
    grid-column: 1 / -1 !important;
  }

  .ispt-code {
    font-size: 11px !important;
  }

  .ispt-name,
  .ispt-service {
    font-size: 15px !important;
    line-height: 1.28 !important;
  }

  .ispt-desc {
    grid-column: 1 / -1 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
  }

  .ispt-city {
    display: none !important;
  }

  .ispt-our,
  .ispt-price {
    grid-column: 1 / 2 !important;
    text-align: left !important;
    font-size: 16.5px !important;
  }

  .ispt-our small {
    display: block !important;
    font-size: 11px !important;
  }

  .ispt-action,
  .ispt-act {
    grid-column: 2 / 3 !important;
    text-align: right !important;
  }

  .ispt-mobile-more-wrap {
    display: flex !important;
    justify-content: center !important;
    padding: 12px 0 4px 0 !important;
  }

  .ispt-mobile-more-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
    background: rgba(198, 177, 137, 0.14) !important;
    border: 1px solid rgba(198, 177, 137, 0.42) !important;
    color: inherit !important;
    font-family: var(--font-sans, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
  }

  .ifs-col {
    padding: 14px !important;
    border-left: none !important;
    border: 1px solid rgba(198, 177, 137, 0.25) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.03) !important;
  }

  /* ========================================================================
     DOCTORS, FINANCE BENTO, SAFETY, FAQ & CONTACTS COMPACTION
     ======================================================================== */
  .vdc-portrait {
    height: 260px !important;
  }

  .iod-photo {
    min-height: 260px !important;
    max-height: 300px !important;
    aspect-ratio: 4 / 4.2 !important;
  }

  .vdc-body {
    padding: 16px !important;
  }

  .vdc-name {
    min-height: 0 !important;
    font-size: 18px !important;
    margin-bottom: 8px !important;
  }

  .vdc-bio {
    font-size: 13.5px !important;
    margin-bottom: 14px !important;
  }

  .vfb-installment-island,
  .vfb-tax-island {
    padding: 18px 14px !important;
    border-radius: 14px !important;
  }

  .vfbi-title,
  .vfbt-h3 {
    font-size: 18px !important;
    margin-bottom: 14px !important;
  }

  .vfbi-step {
    padding: 14px !important;
  }

  .vfbi-sum {
    font-size: 20px !important;
    white-space: normal !important;
  }

  .vfbt-numbers-box {
    padding: 14px !important;
  }

  .vfbt-row,
  .vfbt-net-row {
    flex-wrap: wrap !important;
    gap: 4px 10px !important;
    font-size: 13px !important;
  }

  .vfbt-net-big {
    font-size: 21px !important;
  }

  .vsb-img-box {
    height: 185px !important;
  }

  .vsb-content {
    padding: 16px !important;
  }

  .vsb-h3 {
    font-size: 17.5px !important;
  }

  .vsb-p {
    font-size: 13.5px !important;
  }

  .vsb-lic-row {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 14px !important;
  }

  .vsb-lic-scan {
    height: 190px !important;
    max-width: 160px !important;
  }

  .ies-sticky {
    position: static !important;
  }

  .ise-photo img {
    min-height: 220px !important;
    max-height: 260px !important;
  }

  .icm-head {
    display: none !important;
  }

  .icm-row {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 12px !important;
    border: 1px solid rgba(128, 128, 128, 0.2) !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
  }

  .v2-faq-card summary {
    padding: 14px 0 !important;
    font-size: 15px !important;
    line-height: 1.32 !important;
  }

  .vfc-answer {
    padding: 0 12px 16px 0 !important;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  .vcb-booking-card,
  .v2-contacts-form-card,
  .vcb-location-card {
    padding: 18px 14px !important;
    border-radius: 14px !important;
  }

  .vcb-h2 {
    font-size: 21px !important;
  }

  .vcb-val,
  .vcb-phone {
    font-size: 17px !important;
    white-space: normal !important;
  }

  .vcb-facade-photo,
  .vcb-map-box {
    height: 185px !important;
    min-height: 185px !important;
  }

  .v2-modal-card {
    width: calc(100vw - 24px) !important;
    max-width: 100% !important;
    padding: 22px 16px !important;
    margin: 12px !important;
  }

  #mmCookieBanner {
    bottom: 74px !important;
    left: 10px !important;
    right: 10px !important;
    padding: 12px 14px !important;
    gap: 10px !important;
  }
}

@media (max-width: 390px) {
  .mobile-call-pill span {
    display: none !important;
  }
  .mobile-call-pill {
    padding: 9px !important;
  }
}
