* {
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  overflow-x: clip;
  width: 100%;
  background: #FFFFFF;
}

body {
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #FFFFFF;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

img {
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
  pointer-events: auto;
}

::-webkit-scrollbar {
  width: 7px;
  background: #fff;
}

::-webkit-scrollbar-thumb {
  background: #27CAFC;
  -webkit-border-radius: 100px;
  border: 1px solid #27CAFC;
}

::-webkit-scrollbar-thumb:hover {
  background: #276EFC;
  -webkit-border-radius: 1px;
  border: 1px solid #f2911c;
}

/* ============================================
   Централизованное управление шрифтами
   ============================================ */

:root {
    /* Fluid helper: 60px from Figma => calc(60 * var(--fluid-unit)) */
    --fluid-screen-width: 1920;
    --fluid-unit: min(calc(100vw / var(--fluid-screen-width)), 1px);

    /* Основные размеры заголовков */
    --font-size-h1: clamp(0px, 2.35vw, 45.12px); /* Главные заголовки секций */
    --font-size-h1-5: clamp(0px, 2.09vw, 40.128px); /* Главные заголовки секций */
    --font-size-h2-5: clamp(0px, 2.188vw, 42.01px); /* Промежуточный размер */
    --font-size-h3: clamp(0px, 1.667vw, 32.006px); /* Заголовки третьего уровня */
    --font-size-h3-5: clamp(0px, 2.083vw, 39.994px); /* Промежуточный размер */
    --font-size-h4: clamp(0px, 1.563vw, 30.01px); /* Заголовки четвертого уровня */
    --font-size-h4-5: clamp(0px, 1.875vw, 36px); /* Промежуточный размер */
    --font-size-h5: clamp(0px, 1.458vw, 27.994px); /* Заголовки пятого уровня */
    --font-size-h6: clamp(0px, 1.302vw, 24.998px); /* Заголовки шестого уровня */
    --font-size-h7: clamp(0px, 1.25vw, 24px); /* Малые заголовки */
    --font-size-h8: clamp(0px, 1.144vw, 21.965px); /* Очень малые заголовки */
    --font-size-h9: clamp(0px, 1.042vw, 20.006px); /* Минимальные заголовки */
    --font-size-h9-5: clamp(0px, 0.99vw, 19.008px); /* Промежуточный размер */
    --font-size-16: clamp(0px, 0.833vw, 15.994px);
    --font-size-18: clamp(0px, 0.875vw, 16.8px);
    --font-size-26: clamp(0px, 1.354vw, 25.997px);

    /* Основные размеры текста */
    --font-size-body: clamp(0px, 0.938vw, 18.01px); /* Обычный текст */
    --font: clamp(0px, 0.938vw, 18.01px); /*для отдельных случаев*/
    --font-size-body-medium: clamp(0px, 0.833vw, 15.994px); /* Средний текст */
    --font-size-body-small: clamp(0px, 0.729vw, 13.997px); /* Малый текст */
    --font-size-body-xs: clamp(0px, 0.677vw, 12.998px); /* Очень малый текст */
    --font-size-body-xxs: clamp(0px, 0.729vw, 13.997px); /* Минимальный текст */
    --font-size-body-small-2: clamp(0px, 0.781vw, 14.995px); /* Промежуточный малый текст */

    /* Размеры для кнопок */
    --font-size-button: clamp(0px, 0.677vw, 12.998px); /* Основная кнопка */
    --font-size-button-secondary: clamp(0px, 0.625vw, 12px); /* Второстепенная кнопка */

    /* Веса шрифтов */
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Высоты строк */
    --line-height-tight: 1.2;
    --line-height-normal: 1.4;
    --line-height-relaxed: 1.5;
    --line-height-loose: 1.6;
    --line-height-100: 100%;
    --line-height-120: 120%;
    --line-height-21: clamp(0px, 1.098vw, 21.082px);
    --line-height-23: clamp(0px, 1.198vw, 23.002px);
    --line-height-25: clamp(0px, 1.302vw, 24.998px);
    --line-height-26: clamp(0px, 1.354vw, 25.997px);
    --line-height-28: clamp(0px, 1.458vw, 27.994px);
    --line-height-33: clamp(0px, 1.719vw, 33.005px);
    --line-height-35: clamp(0px, 1.819vw, 34.925px);
    --line-height-40: clamp(0px, 2.083vw, 39.994px);
    --line-height-60: clamp(0px, 3.125vw, 60px);
    --line-height-70: clamp(0px, 3.646vw, 70.003px);
}

/* ============================================
   УТИЛИТАРНЫЕ КЛАССЫ ДЛЯ БЫСТРОГО ПРИМЕНЕНИЯ
   ============================================ */

/* Заголовки */
.text-h1 {
    font-size: clamp(0px, 2.35vw, 45.12px);
    font-size: var(--font-size-h1);
}

.text-h2-5 {
    font-size: clamp(0px, 2.188vw, 42.01px);
    font-size: var(--font-size-h2-5);
}

.text-h3 {
    font-size: clamp(0px, 1.667vw, 32.006px);
    font-size: var(--font-size-h3);
}

.text-h3-5 {
    font-size: clamp(0px, 2.083vw, 39.994px);
    font-size: var(--font-size-h3-5);
}

.text-h4 {
    font-size: clamp(0px, 1.563vw, 30.01px);
    font-size: var(--font-size-h4);
}

.text-h4-5 {
    font-size: clamp(0px, 1.875vw, 36px);
    font-size: var(--font-size-h4-5);
}

.text-h5 {
    font-size: clamp(0px, 1.458vw, 27.994px);
    font-size: var(--font-size-h5);
}

.text-h6 {
    font-size: clamp(0px, 1.302vw, 24.998px);
    font-size: var(--font-size-h6);
}

.text-h7 {
    font-size: clamp(0px, 1.25vw, 24px);
    font-size: var(--font-size-h7);
}

.text-h8 {
    font-size: clamp(0px, 1.144vw, 21.965px);
    font-size: var(--font-size-h8);
}

.text-h9 {
    font-size: clamp(0px, 1.042vw, 20.006px);
    font-size: var(--font-size-h9);
}

.text-h9-5 {
    font-size: clamp(0px, 0.99vw, 19.008px);
    font-size: var(--font-size-h9-5);
}

/* Текст */
.text-body {
    font-size: clamp(0px, 0.938vw, 18.01px);
    font-size: var(--font-size-body);
}

.text-body-medium {
    font-size: clamp(0px, 0.833vw, 15.994px);
    font-size: var(--font-size-body-medium);
}

.text-body-small {
    font-size: clamp(0px, 0.729vw, 13.997px);
    font-size: var(--font-size-body-small);
}

.text-body-xs {
    font-size: clamp(0px, 0.677vw, 12.998px);
    font-size: var(--font-size-body-xs);
}

.text-body-xxs {
    font-size: clamp(0px, 0.729vw, 13.997px);
    font-size: var(--font-size-body-xxs);
}

.text-body-small-2 {
    font-size: clamp(0px, 0.781vw, 14.995px);
    font-size: var(--font-size-body-small-2);
}

/* Кнопки */
.text-button {
    font-size: clamp(0px, 0.677vw, 12.998px);
    font-size: var(--font-size-button);
}

.text-button-secondary {
    font-size: clamp(0px, 0.625vw, 12px);
    font-size: var(--font-size-button-secondary);
}

/* Веса */
.font-light {
    font-weight: 300;
    font-weight: var(--font-weight-light);
}

.font-regular {
    font-weight: 400;
    font-weight: var(--font-weight-regular);
}

.font-medium {
    font-weight: 500;
    font-weight: var(--font-weight-medium);
}

.font-semibold {
    font-weight: 600;
    font-weight: var(--font-weight-semibold);
}

.font-bold {
    font-weight: 700;
    font-weight: var(--font-weight-bold);
}

/* Высоты строк */
.leading-tight {
    line-height: 1.2;
    line-height: var(--line-height-tight);
}

.leading-normal {
    line-height: 1.4;
    line-height: var(--line-height-normal);
}

.leading-relaxed {
    line-height: 1.5;
    line-height: var(--line-height-relaxed);
}

.leading-loose {
    line-height: 1.6;
    line-height: var(--line-height-loose);
}

.leading-100 {
    line-height: 100%;
    line-height: var(--line-height-100);
}

.leading-120 {
    line-height: 120%;
    line-height: var(--line-height-120);
}

.leading-33 {
    line-height: clamp(0px, 1.719vw, 33.005px);
    line-height: var(--line-height-33);
}

.leading-40 {
    line-height: clamp(0px, 2.083vw, 39.994px);
    line-height: var(--line-height-40);
}

.leading-60 {
    line-height: clamp(0px, 3.125vw, 60px);
    line-height: var(--line-height-60);
}



.snackbar {
  position: fixed;
  right: clamp(0px, 2.6vw, 50px);
  bottom: clamp(0px, 2.6vw, 50px);
  z-index: 10000;
  width: min(clamp(0px, 26vw, 499.2px), 420px);
  min-width: 320px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-gap: clamp(0px, 0.83vw, 15.936px);
  gap: clamp(0px, 0.83vw, 15.936px);
  align-items: start;
  padding: clamp(0px, 1vw, 19.2px);
  border: 1px solid rgba(72, 91, 133, 0.18);
  border-left: clamp(0px, 0.26vw, 4.992px) solid #485b85;
  border-radius: clamp(0px, 0.52vw, 9.984px);
  background: #ffffff;
  box-shadow: 0 clamp(0px, 1.25vw, 24px) clamp(0px, 3vw, 57.6px) rgba(17, 47, 85, 0.18);
  color: #191919;
  animation: snackbarIn 0.22s ease-out both;
}

.snackbar-success {
  border-left-color: #2f8f5b;
}

.snackbar-error {
  border-left-color: #c44747;
}

.snackbar-warning {
  border-left-color: #c8902f;
}

.snackbar-icon {
  width: clamp(0px, 1.67vw, 32.064px);
  height: clamp(0px, 1.67vw, 32.064px);
  min-width: 28px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #485b85;
  color: #ffffff;
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 0.94vw, 18.048px);
  font-weight: 600;
  line-height: 1;
}

.snackbar-success .snackbar-icon {
  background: #2f8f5b;
}

.snackbar-error .snackbar-icon {
  background: #c44747;
}

.snackbar-warning .snackbar-icon {
  background: #c8902f;
}

.snackbar-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 0.31vw, 5.952px);
}

.snackbar-title {
  font-family: 'Geist', sans-serif;
  font-size: var(--font-size-body);
  line-height: 1.25;
  font-weight: 600;
  color: #191919;
}

.snackbar-message {
  font-family: 'Geist', sans-serif;
  font-size: var(--font-size-body-small);
  line-height: 1.45;
  font-weight: 400;
  color: rgba(26, 26, 26, 0.72);
}

.snackbar-close {
  width: clamp(0px, 1.46vw, 28.032px);
  height: clamp(0px, 1.46vw, 28.032px);
  min-width: clamp(0px, 1.250vw, 24px);
  min-height: clamp(0px, 1.250vw, 24px);
  border: none;
  border-radius: 50%;
  background: rgba(72, 91, 133, 0.08);
  color: #485b85;
  cursor: pointer;
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 1vw, 19.2px);
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease;
}

.snackbar-close:hover {
  background: #485b85;
  color: #ffffff;
}

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

@media (max-width: 767px) {
  .snackbar {
    right: clamp(0px, 4vw, 76.8px);
    bottom: clamp(0px, 4vw, 76.8px);
    left: clamp(0px, 4vw, 76.8px);
    width: auto;
    min-width: 0;
    gap: clamp(0px, 3vw, 57.6px);
    padding: clamp(0px, 4vw, 76.8px);
    border-left-width: clamp(0px, 1vw, 19.2px);
    border-radius: clamp(0px, 2.56vw, 49.152px);
  }

  .snackbar-icon {
    width: clamp(0px, 8vw, 153.6px);
    height: clamp(0px, 8vw, 153.6px);
    font-size: clamp(0px, 4vw, 76.8px);
  }

  .snackbar-content {
    gap: clamp(0px, 1.5vw, 28.8px);
  }

  .snackbar-title {
    font-size: clamp(0px, 4vw, 76.8px);
  }

  .snackbar-message {
    font-size: clamp(0px, 3.33vw, 63.936px);
  }

  .snackbar-close {
    width: clamp(0px, 7vw, 134.4px);
    height: clamp(0px, 7vw, 134.4px);
    font-size: clamp(0px, 5vw, 96px);
  }
}

.action-button {
    /* Основные цвета кнопки */
    --action-button-bg: #485B85;
    --action-button-border: #2E3D58;
    --action-button-label-color: #FFFFFF;
    --action-button-label-active-color: #485B85;
    --action-button-icon-bg: #FFFFFF;
    --action-button-icon-color: #485B85;

    /* Внутренняя геометрия кнопки */
    /* Отступ слева до текста */
    --action-button-inline-padding: clamp(0px, 1.563vw, 30.01px);
    /* Вертикальный padding кнопки */
    --action-button-block-padding: clamp(0px, 0.313vw, 6.01px);
    /* Расстояние между текстом и зоной иконки */
    --action-button-content-gap: clamp(0px, 1.563vw, 30.01px);
    /* Размер белого круга с иконкой */
    --action-button-icon-size: clamp(0px, 3.125vw, 60px);
    /* Скругление всей кнопки */
    --action-button-radius: clamp(0px, 2.6vw, 50px);
    /* Толщина бордера кнопки */
    --action-button-border-width: clamp(0px, 0.052vw, 0.998px);

    /* Типографика */
    --action-button-font-size: clamp(0px, 0.938vw, 18.01px);
    --action-button-line-height: clamp(0px, 1.458vw, 27.994px);

    /* Декоративный блик */
    --action-button-flare-width: clamp(0px, 2.344vw, 45.005px);

    /* Анимационные переменные, вычисляются из JS */
    /* Насколько текст должен уехать вправо при hover */
    --action-button-label-shift: 0px;
    /* Насколько иконка должна уехать влево при hover */
    --action-button-icon-shift: 0px;
    /* Базовая позиция белого круга справа */
    --action-button-after-right: clamp(0px, 0.313vw, 6.01px);
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: -webkit-max-content;
    width: max-content;
    min-height: calc(var(--action-button-icon-size) + (var(--action-button-block-padding) * 2));
    padding: var(--action-button-block-padding)
    calc(var(--action-button-after-right) + var(--action-button-icon-size) + var(--action-button-content-gap))
    var(--action-button-block-padding)
    var(--action-button-inline-padding);
    border-radius: var(--action-button-radius);
    border: var(--action-button-border-width) solid var(--action-button-border);
    background: var(--action-button-bg);
    font-family: 'Geist', sans-serif;
    cursor: pointer;
    overflow: hidden;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.35s ease, border-color 0.35s ease;
}

.action-button__label {
    position: absolute;
    left: var(--action-button-inline-padding);
    top: 50%;
    z-index: 3;
    max-width: calc(100% - var(--action-button-inline-padding) - var(--action-button-after-right) - var(--action-button-icon-size) - var(--action-button-content-gap));
    color: var(--action-button-label-color);
    font-weight: 500;
    font-size: var(--action-button-font-size);
    line-height: var(--action-button-line-height);
    white-space: nowrap;
    transform: translateY(-50%);
    transform-origin: center left;
    transition: color 0.3s ease, transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

.action-button__measure {
    visibility: hidden;
    white-space: nowrap;
    font-weight: 500;
    font-size: var(--action-button-font-size);
    line-height: var(--action-button-line-height);
    pointer-events: none;
}

.action-button__icon {
    position: absolute;
    right: var(--action-button-after-right);
    top: 50%;
    z-index: 2;
    width: var(--action-button-icon-size);
    height: var(--action-button-icon-size);
    border-radius: 50%;
    background: var(--action-button-icon-bg);
    color: var(--action-button-icon-color);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.action-button__icon svg {
    display: block;
    width: clamp(0px, 0.73vw, 14.016px);
    height: clamp(0px, 0.63vw, 12.096px);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.action-button__flare {
    position: absolute;
    top: 0;
    left: -170%;
    z-index: 1;
    height: 100%;
    width: var(--action-button-flare-width);
    transform: skewX(-45deg);
    animation: actionButtonFlare 3s infinite;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), #FFFFFF);
    pointer-events: none;
}

.action-button::after {
    content: '';
    position: absolute;
    right: var(--action-button-after-right);
    top: 50%;
    z-index: 0;
    width: var(--action-button-icon-size);
    height: var(--action-button-icon-size);
    border-radius: 50%;
    background: var(--action-button-icon-bg);
    transform: translateY(-50%);
    transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.action-button:not(:disabled):hover,
.action-button:not(:disabled):focus-visible {
    background: #FFFFFF;
}

.action-button:not(:disabled):hover .action-button__label,
.action-button:not(:disabled):focus-visible .action-button__label {
    color: var(--action-button-label-active-color);
    transform: translateY(-50%) translateX(var(--action-button-label-shift));
}

.action-button:not(:disabled):hover .action-button__icon,
.action-button:not(:disabled):focus-visible .action-button__icon {
    transform: translateY(-50%) translateX(calc(var(--action-button-icon-shift) * -1));
}

.action-button:not(:disabled):hover .action-button__icon svg,
.action-button:not(:disabled):focus-visible .action-button__icon svg {
    transform: rotate(40deg);
}

.action-button:not(:disabled):hover::after,
.action-button:not(:disabled):focus-visible::after {
    right: calc(100% - var(--action-button-inline-padding) - var(--action-button-icon-size));
}

.action-button:disabled {
    cursor: not-allowed;
}

.action-button:disabled .action-button__flare,
.action-button.is-loading .action-button__flare {
    animation: none;
    opacity: 0;
}

.action-button:disabled:not(.is-loading) .action-button__label {
    opacity: 0.5;
}

.action-button:disabled:not(.is-loading) .action-button__icon {
    opacity: 0.7;
}

.action-button:disabled .action-button__label,
.action-button:disabled .action-button__icon {
    transform: translateY(-50%);
}

.action-button.is-loading .action-button__label {
    color: var(--action-button-label-color);
    opacity: 1;
}

@keyframes actionButtonFlare {
    0% {
        left: -170%;
    }

    50% {
        left: 170%;
    }

    100% {
        left: 170%;
    }
}

@media (max-width: 767px) {
    .action-button {
        /* Мобильные значения тех же переменных */
        /* На mobile слева до текста clamp(0px, 5.215vw, 100.128px) */
        --action-button-inline-padding: clamp(0px, 5.215vw, 100.128px);
        --action-button-block-padding: clamp(0px, 1.304vw, 25.037px);
        /* На mobile от текста до иконки тоже clamp(0px, 5.215vw, 100.128px) */
        --action-button-content-gap: clamp(0px, 5.215vw, 100.128px);
        --action-button-icon-size: clamp(0px, 10.43vw, 200.256px);
        --action-button-radius: clamp(0px, 10vw, 192px);
        --action-button-border-width: clamp(0px, 0.2vw, 3.84px);
        --action-button-font-size: clamp(0px, 3.129vw, 60.077px);
        --action-button-line-height: clamp(0px, 4.824vw, 92.621px);
        --action-button-flare-width: clamp(0px, 7vw, 134.4px);
        --action-button-after-right: clamp(0px, 0.652vw, 12.518px);
    }

    .action-button__icon svg {
        width: clamp(0px, 2.5vw, 48px);
        height: clamp(0px, 2.5vw, 48px);
    }
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: clamp(0px, 1.042vw, 20.006px);
}


/* --- КЛЮЧЕВЫЕ КАДРЫ (АНИМАЦИИ) --- */
@keyframes fadeInOverlay {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOutOverlay {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes scaleInModal {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@keyframes scaleOutModal {
    from {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
    to {
        opacity: 0;
        transform: scale(0.95) translateY(20px);
    }
}

/* --- ПРИМЕНЕНИЕ АНИМАЦИЙ К БЛОКАМ --- */

/* НОВЫЙ ВАРИАНТ: Мягкий блюр как на макете */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5); /* Чуть темнее фон для контраста */
    backdrop-filter: blur(5px); /* <--- УМЕНЬШИЛИ ДО 5px */
    -webkit-backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: clamp(0px, 1.042vw, 20.006px);
}

/* Анимация ПРИ ЗАКРЫТИИ для фона */
.modal-overlay.closing {
    animation: fadeOutOverlay 0.4s ease-out forwards;
}

.modal-content {
    background: white;
    border-radius: clamp(0px, 1.04vw, 19.968px);
    padding: 0;
    /*width: clamp(0px, 68vw, 1305.6px); */
    height: auto; /* Окно теперь облегает контент */
    /*max-width: clamp(0px, 90vw, 1728px);*/
    position: relative;
    box-shadow: 0 0 clamp(0px, 2.08vw, 39.936px) 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: flex;
}

/* Анимация ПРИ ЗАКРЫТИИ для карточки */
.modal-content.closing {
    animation: scaleOutModal 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* БАЗОВЫЕ ОТСТУПЫ */
.modal-wrapper {
    display: flex;

    /* ФИКС 1: СТРОГО 50 ПИКСЕЛЕЙ (clamp(0px, 2.6vw, 50px)) между левым видео/фото и правым текстом */
    gap: clamp(0px, 2.6vw, 50px);

    /* ФИКС 2: Уменьшили отступ СПРАВА (до clamp(0px, 4.5vw, 86.4px)).
       Теперь дыра между текстом "Перезвоним за 2 минуты" и кнопкой выйти исчезнет! */
    padding: clamp(0px, 1.04vw, 19.968px);

    width: 100%;
    height: 100%;
    box-sizing: border-box;
    align-items: stretch;
}

/* ИНДИВИДУАЛЬНАЯ НАСТРОЙКА ДЛЯ ВТОРОГО ПОПАПА */
.modal-content.type-emergency .modal-wrapper {
    /* Для "Острой боли" делаем отступ справа чуть больше (clamp(0px, 5.5vw, 105.6px)),
       чтобы длинная строчка текста не врезалась в крестик */
    /*padding-right: clamp(0px, 5.5vw, 105.6px) ; */
}

.modal-image-block {
    flex: 1 1;
    min-width: 0;
    overflow: hidden;
    border-radius: clamp(0px, 0.521vw, 10.003px);
    width: clamp(0px, 30.990vw, 595.008px);
    height: clamp(0px, 27.031vw, 518.995px);
    /*height: auto;*/
}

.modal-image-block video,
.modal-image-block img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: inherit;
}

.modal-image-block img {
    object-position: center 25%;
    /*height: clamp(0px, 26.667vw, 512.006px);*/
    /*width: clamp(0px, 30.990vw, 595.008px);*/
}

.modal-image-block video {
    /*height: clamp(0px, 26.563vw, 510.01px);*/
    /*width: clamp(0px, 30.990vw, 595.008px);*/
}

.modal-form-block {
    display: flex;
    flex-direction: column;

    /* ФИКС: Отключаем резиновую ширину. Блок теперь строго равен переменной */
    flex: none;
    width: var(--form-width);

    height: auto;
    justify-content: flex-start;
    text-align: left;
}

.video-review-block {
    padding: clamp(0px, 1.5vw, 28.8px) 0;
}

.modal-close {
    position: absolute;

    /* Стоит аккуратно с краю: по 20 пикселей сверху и справа */
    top: clamp(0px, 0.18vw, 3.456px);
    right: clamp(0px, 0.18vw, 3.456px);

    width: clamp(0px, 2.5vw, 48px);
    height: clamp(0px, 2.5vw, 48px);
    background: #F6F6F6;
    border: none;
    border-radius: 50%;
    color: #a0a0a0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    transition: all 0.3s ease;
    z-index: 1001;
}

.modal-close svg {
    width: clamp(0px, 1.1vw, 21.12px);
    height: clamp(0px, 1.1vw, 21.12px);
    display: block;
    margin: 0;
}

/* Эффект при наведении (Ховер) */
.modal-close:hover {
    background: #EBEBEB;
    color: #2E3D58;
    transform: rotate(90deg);
}


.modal-title {
    font-family: 'Geist', sans-serif;
    font-weight: 600;
    /*font-size: clamp(30px, 2.2vw, 44px);*/
    /*line-height: clamp(36px, 2.9vw, 54px);*/

    color: rgba(17, 47, 85, 1);
    margin: 0 0 clamp(0px, 0.52vw, 9.984px) 0;
    text-align: left;

    /* ФИКС: Базовая ширина по инпутам, но разрешаем растягиваться под длинный текст */
    min-width: clamp(0px, 27.86vw, 534.912px);
    width: -webkit-max-content;
    width: max-content;
    padding-right: 0;

    /* Строго 1 строка, НИКАКОЙ обрезки троеточием */
    white-space: nowrap;
    overflow: visible;
    display: block;
}

.title-callback {
    font-size: clamp(0px, 2.08vw, 39.936px);
    line-height: clamp(0px, 2.86vw, 54.912px);
}

.title-emergency {
    font-size: var(--font-size-h3);
    /*text-wrap: wrap ;*/
}

.modal-description,
.modal-description span {
    font-family: 'Geist', sans-serif;
    font-weight: 200;
    font-size: clamp(0px, 1.146vw, 22.003px);
    line-height: clamp(0px, 1.719vw, 33.005px);
    color: #1A1A1A;
    text-align: left;
    margin: 0 0 clamp(0px, 1.56vw, 29.952px) 0;

    /* Идеальная ширина */
    width: var(--form-width);
    max-width: var(--form-width);

    /* Строго 3 строки */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
}

.modal-form {
    display: flex;
    flex-direction: column;
    margin: 0;
    gap: 0;
    flex-grow: 1;

    /* Идеальная ширина */
    width: var(--form-width);
    max-width: var(--form-width);
}

.video-review-form {
    gap: clamp(0px, 0.52vw, 9.984px);
}

/* Стили для инпутов и кнопок из Footer */

/* 1. Железобетонно одинаковые обертки для обоих полей */
.modal-form .modal-name-input-wrapper,
.modal-form .modal-phone-input-wrapper {
    display: flex;

    /* Идеальная ширина */
    width: var(--form-width);
    max-width: var(--form-width);

    height: clamp(0px, 4.16vw, 79.872px);
    border-radius: clamp(0px, 1.04vw, 19.968px);
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(25, 25, 25, 0.2);
    background: white;
    transition: border-color 0.3s ease;
    align-items: center;
    box-sizing: border-box;
    padding: 0 clamp(0px, 1.04vw, 19.968px);
    overflow: hidden;
}

/* БАЗОВОЕ ОКНО ("Перезвоним за 2 минуты") */
.modal-content {
    background: white;
    border-radius: clamp(0px, 1.04vw, 19.968px);
    padding: 0;

    /* ФИКС: Немного сузили окно (до clamp(0px, 65vw, 1248px)), чтобы крестик "приехал" ближе к тексту */
    /*width: clamp(0px, 65vw, 1248px); */

    height: auto;
    max-width: clamp(0px, 90vw, 1728px);
    position: relative;
    box-shadow: 0 0 clamp(0px, 2.08vw, 39.936px) 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: flex;

    --form-width: clamp(0px, 27.86vw, 534.912px);
}

/* УВЕЛИЧЕННОЕ ОКНО ("Беспокоит острая зубная боль?") */
.modal-content.type-emergency {
    /*--form-width: clamp(0px, 33vw, 633.6px);*/
    /* Оставляем широким, чтобы влез длинный текст */
    /*width: clamp(0px, 73vw, 1401.6px) ; */
}

.modal-form .modal-name-input-wrapper:focus-within,
.modal-form .modal-phone-input-wrapper:focus-within {
    border-color: #485B85;
}

.modal-form .modal-phone-input-wrapper {
    margin-bottom: clamp(0px, 1vw, 19.2px); /* Ровно 10px до блока с согласием */
}

.modal-review-textarea-wrapper {
    width: var(--form-width);
    max-width: var(--form-width);
    /*min-height: clamp(0px, 8.85vw, 169.92px);*/
    border-radius: clamp(0px, 1.04vw, 19.968px);
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(25, 25, 25, 0.2);
    background: white;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
    padding: clamp(0px, 1.04vw, 19.968px);
    margin-bottom: clamp(0px, 1vw, 19.2px);
}

.modal-review-textarea-wrapper:focus-within {
    border-color: #485B85;
}

.modal-review-textarea {
    width: 100%;
    /*min-height: clamp(0px, 6.77vw, 129.984px);*/
    border: none;
    outline: none;
    resize: none;
    background: transparent;
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 1.04vw, 19.968px);
    line-height: clamp(0px, 1.56vw, 29.952px);
    color: rgba(26, 26, 26, 0.75);
    padding: 0;
    box-sizing: border-box;
}

.modal-review-textarea::placeholder {
    font-weight: 300;
    font-size: clamp(0px, 1.04vw, 19.968px);
    line-height: clamp(0px, 1.56vw, 29.952px);
    color: rgba(26, 26, 26, 0.75);
}

.modal-upload-field {
    width: var(--form-width);
    max-width: var(--form-width);
    margin-bottom: clamp(0px, 1vw, 19.2px);
    display: flex;
    align-items: baseline;
    gap: clamp(0px, 0.78vw, 14.976px);
    min-width: 0;
}

.modal-upload-field.is-error .modal-upload-trigger {
    color: #c43b3b;
}

.modal-upload-input {
    position: absolute;
    width: clamp(0px, 0.005vw, 0.096px);
    height: clamp(0px, 0.005vw, 0.096px);
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

.modal-upload-trigger {
    display: inline-block;
    font-family: 'Geist', sans-serif;
    font-size: clamp(0px, 0.94vw, 18.048px);
    line-height: clamp(0px, 1.46vw, 28.032px);
    font-weight: 300;
    color: #1A1A1ABF;
    text-decoration: underline;
    text-underline-offset: clamp(0px, 0.16vw, 3.072px);
    cursor: pointer;
    transition: color 0.3s ease;
    text-wrap: nowrap;
}

.modal-upload-trigger:hover {
    color: #485B85;
}

.modal-upload-summary {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: clamp(0px, 0.78vw, 14.976px);
}

.modal-upload-name,
.modal-upload-clear {
    font-family: 'Geist', sans-serif;
    font-size: clamp(0px, 0.83vw, 15.936px);
    line-height: 1.2;
}

.modal-upload-name {
    color: rgba(26, 26, 26, 0.85);
    flex: 1 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.modal-upload-clear {
    width: -webkit-fit-content;
    width: fit-content;
    padding: 0;
    border: none;
    background: transparent;
    color: #485B85;
    cursor: default;
    pointer-events: none;
    white-space: nowrap;
}

/* Отступ 10px (clamp(0px, 0.52vw, 9.984px)) между первым и вторым полем */
.modal-form .modal-name-input-wrapper {
    margin-bottom: clamp(0px, 0.52vw, 9.984px); /* Добавил , чтобы точно перебить всё остальное */
}

.modal-form .modal-name-input {
    width: 100%;
    height: 100%; /* Растягиваем на всю высоту 80px */
    border: none;
    outline: none;
    background: transparent;
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 1.04vw, 19.968px);
    color: rgba(26, 26, 26, 0.75);
    padding: 0; /* Убрали старые отступы */
}

.modal-form .modal-phone-prefix {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.52vw, 9.984px);
    padding: 0 clamp(0px, 0.52vw, 9.984px) 0 0; /* Оставляем только отступ справа до полоски */
    height: 100%;
    background: transparent;
    flex-shrink: 0;
    position: relative;
}

.modal-form .modal-phone-prefix::after {
    content: '';
    position: absolute;
    right: 0;
    top: 15%;
    bottom: 15%;
    width: clamp(0px, 0.052vw, 0.998px);
    background: #EBEBEB;
}

.modal-form .modal-phone-input {
    flex: 1 1;
    min-width: 0;
    height: 100%; /* Растягиваем на всю высоту */
    border: none;
    outline: none;
    background: transparent;
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 1.04vw, 19.968px);
    color: rgba(26, 26, 26, 0.75);
    padding: 0 0 0 clamp(0px, 1.04vw, 19.968px); /* Отступ слева от разделителя */
}

.modal-form .modal-name-input::placeholder,
.modal-form .modal-phone-input::placeholder {
    font-weight: 300;
    font-size: clamp(0px, 1.04vw, 19.968px);
    line-height: clamp(0px, 1.56vw, 29.952px);
    color: rgba(26, 26, 26, 0.75);
}


.modal-form .modal-phone-prefix svg {
    width: clamp(0px, 1.04vw, 19.968px);
    height: clamp(0px, 0.78vw, 14.976px);
    flex-shrink: 0;
}

.modal-form .modal-phone-prefix span {
    font-family: 'Geist', sans-serif;
    font-weight: 300; /* Меняем с 500 на 300, чтобы совпадало с вводом */
    font-size: clamp(0px, 1.04vw, 19.968px); /* 20px */
    line-height: clamp(0px, 1.56vw, 29.952px); /* 30px */
    color: rgba(26, 26, 26, 0.75);
    vertical-align: middle;
}


.modal-form .googing-form-checkbox {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.53vw, 10.176px);
    justify-content: flex-start;
    width: 100%;
    margin-left: clamp(0px, 0.52vw, 9.984px); /* Тот самый сдвиг на +10px слева */
    margin-bottom: clamp(0px, 1vw, 19.2px); /* Отступ 20px до кнопки */
    box-sizing: border-box;
}

.modal-form .googing-form-checkbox input[type="checkbox"] {
    width: clamp(0px, 0.78vw, 14.976px);
    height: clamp(0px, 0.78vw, 14.976px);
    border-radius: clamp(0px, 0.2vw, 3.84px);
    border: clamp(0px, 0.052vw, 0.998px) solid #EBEBEB;
    background: #EBEBEB;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    flex-shrink: 0;
}

.modal-form .googing-form-checkbox input[type="checkbox"]:checked {
    background: rgba(72, 91, 133, 1);
    border-color: rgba(46, 61, 88, 1);
}

.modal-form .googing-form-checkbox input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: clamp(0px, 0.12vw, 2.304px);
    height: clamp(0px, 0.38vw, 7.296px);
    border: solid white;
    border-width: 0 clamp(0px, 0.16vw, 3.072px) clamp(0px, 0.16vw, 3.072px) 0;
    transform: translate(-50%, -60%) rotate(45deg);
}

.modal-form .googing-form-checkbox label {
    /*font-size: var(--font-size-body-medium);*/
    font-weight: 400;
    color: #666666;
    font-family: 'Geist', sans-serif;
    cursor: pointer;
    text-align: left;

}

.modal-form .googing-btn-1 {
    padding: clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 1.56vw, 29.952px);
    border-radius: clamp(0px, 2.6vw, 50px);
    border: clamp(0px, 0.052vw, 0.998px) solid #2E3D58;
    font-weight: 500;
    font-size: var(--font-size-button);
    line-height: clamp(0px, 0.89vw, 17.088px);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: clamp(0px, 1.56vw, 29.952px);
    font-family: 'Geist', sans-serif;
    position: relative;
    overflow: hidden;
    width: clamp(0px, 16.625vw, 319.2px);
    justify-content: space-between;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.modal-form .googing-btn-1.upload-file-btn {
    width: -webkit-fit-content;
    width: fit-content;
    min-width: 0;
    padding-right: clamp(0px, 0.31vw, 5.952px);
    gap: clamp(0px, 1.04vw, 19.968px);
}

.modal-form .googing-btn-primary {
    margin-top: 0; /* Убрали пружину */
    margin-bottom: 0;
    align-self: flex-end;
}

.modal-form .modal-action-button {
    align-self: flex-end;
    width: clamp(0px, 16.625vw, 319.2px);
}

.modal-form .modal-action-button.upload-file-btn {
    width: -webkit-fit-content;
    width: fit-content;
}

.modal-form .googing-btn-primary span {
    color: #FFFFFF;
    transition: color 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 3;
    font-family: 'Geist', sans-serif;

    /* УМЕНЬШИЛИ ЖИРНОСТЬ БЕЛОГО ТЕКСТА (было 400, стало 300) */
    font-weight: 300;
    font-size: clamp(0px, 0.938vw, 18.01px);
    line-height: clamp(0px, 1.458vw, 27.994px);
}

.modal-form .googing-btn-primary:not(:disabled):hover span {
    color: #485B85;
    transform: translateX(min(clamp(0px, 4.3vw, 82.56px), clamp(0px, 15.31vw, 293.952px)));
}

.modal-form .googing-btn-icon {
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    border-radius: 50%;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

.modal-form .googing-btn-icon svg {
    width: clamp(0px, 0.73vw, 14.016px);
    height: clamp(0px, 0.63vw, 12.096px);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.modal-form .googing-btn-1 .flare {
    position: absolute;
    top: 0;
    height: 100%;
    width: clamp(0px, 2.344vw, 45.005px);
    transform: skewX(-45deg);
    animation: flareAnimation 3s infinite;
    left: -170%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), #fff);
    filter: blur(0px);
    z-index: 1;
    pointer-events: none;
}

@keyframes flareAnimation {
    0% {
        left: -170%;
    }
    50% {
        left: 170%;
    }
    100% {
        left: 170%;
    }
}

.modal-form .googing-btn-1:not(:disabled):hover .googing-btn-icon svg {
    transform: translateX(max(max(-12.7vw, -243.84px), calc(-10% - clamp(0px, 30.56vw, 586.752px)))) rotate(40deg);
}

.modal-form .googing-btn-1.upload-file-btn:not(:disabled):hover span {
    transform: translateX(calc(32 * var(--fluid-unit)));
}

.modal-form .googing-btn-1.upload-file-btn:not(:disabled):hover .googing-btn-icon svg {
    transform: translateX(calc(-100% - clamp(0px, 6.3vw, 120.96px))) rotate(40deg);
}

.modal-form .googing-btn-1::after {
    content: '';
    position: absolute;
    right: clamp(0px, 0.31vw, 5.952px);
    top: 50%;
    transform: translateY(-50%);
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    border-radius: 50%;
    background: #FFFFFF;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
    pointer-events: none;
}

.modal-form .googing-btn-1:not(:disabled):hover::after {
    width: clamp(0px, 41.67vw, 800.064px);
    height: clamp(0px, 41.67vw, 800.064px);
    right: max(-20.83vw, -399.936px);
    top: 50%;
    transform: translateY(-50%);
}

.modal-form .googing-btn-1:disabled {
    cursor: not-allowed;
    opacity: 1;
    pointer-events: none;
}

.modal-form .googing-btn-1:disabled span {
    opacity: 0.5;
    transform: none;
}

.modal-form .googing-btn-1:disabled .flare {
    animation: none;
    opacity: 0;
}

.modal-form .googing-btn-1.is-submitting span {
    color: #FFFFFF;
    transform: none;
}

.modal-form .googing-btn-1.is-submitting .googing-btn-icon svg {
    transform: none;
}

.modal-form .googing-btn-1.is-submitting::after {
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    right: clamp(0px, 1.31vw, 25.152px);
    transform: translateY(-50%);
}

.modal-form .googing-btn-1.is-submitting .flare {
    animation: none;
    opacity: 0;
}

.modal-form .googing-btn-1.is-submitting:hover span {
    color: #FFFFFF;
    transform: none;
}

.modal-form .googing-btn-1.is-submitting:hover .googing-btn-icon svg {
    transform: none;
}

.modal-form .googing-btn-1.is-submitting:hover::after {
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    right: clamp(0px, 0.31vw, 5.952px);
    transform: translateY(-50%);
}


/* Добавим стиль для видео на десктопе (так как мы убрали его из JS) */
.modal-video {
    width: 100%;
    /*height: 100%;*/
    object-fit: cover; /* Идеально заполняет блок, обрезая лишнее, как фоновая картинка */
    display: block;
    border-radius: clamp(0px, 0.52vw, 9.984px);
}

.success-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    gap: clamp(0px, 1.56vw, 29.952px);
}

/* =========================================
   ИДЕАЛЬНАЯ МОБИЛЬНАЯ АДАПТАЦИЯ (До 780px)
   ========================================= */
@media (max-width: 767px) {
    .modal-overlay {
        padding: clamp(0px, 4.302vw, 82.598px);
    }

    .modal-content {
        max-width: 100%;
        width: 100%;
        height: auto; /* Автовысота, чтобы вместить весь контент */
        border-radius: clamp(0px, 4vw, 76.8px);
    }

    .modal-wrapper {
        flex-direction: column;
        /*padding: 0 ;*/
        padding: clamp(0px, 2.347vw, 45.062px);
        gap: clamp(0px, 5.867vw, 112.646px);
        /*height: auto;*/
    }

    /* --------------------------
       1. ВИДЕО / КАРТИНКА (Возвращаем красивые отступы)
    -------------------------- */
    .modal-image-block {
        width: 100%;
        height: auto;
        order: -1; /* Видео строго сверху */
        /*padding: clamp(0px, 2.4vw, 46.08px) clamp(0px, 2.4vw, 46.08px) 0 clamp(0px, 2.4vw, 46.08px) ;*/
        box-sizing: border-box;
        border-radius: 0;
    }

    .modal-image {
    }

    .modal-video,
    .modal-image-block video,
    .modal-image-block img {
        border-radius: clamp(0px, 3vw, 57.6px);
        /*width: 100%;*/
        aspect-ratio: 1.6 / 1; /* Идеальные пропорции для телефона */
        object-fit: cover;
        display: block;
        height: clamp(0px, 84.746vw, 1627.123px);
    }

    .modal-image-block img {
        object-position: center 20%;
    }

    /* Крестик закрытия */
    .modal-close {
        display: flex;
        top: clamp(0px, 3.651vw, 70.099px);
        right: clamp(0px, 3.651vw, 70.099px);
        width: clamp(0px, 13.038vw, 250.33px);
        height: clamp(0px, 13.038vw, 250.33px);
        padding: clamp(0px, 3.623vw, 69.562px);
        border-radius: clamp(0px, 36.232vw, 695.654px);
        background: rgba(245, 245, 245, 0.4);
        color: #FFFFFF;
        z-index: 10;
    }

    .modal-close svg {
        width: clamp(0px, 3.911vw, 75.091px);
        height: clamp(0px, 3.911vw, 75.091px);
    }

    /* --------------------------
       БЛОК С КОНТЕНТОМ И ТЕКСТАМИ
    -------------------------- */
    .modal-form-block {
        /*padding: clamp(0px, 4vw, 76.8px) clamp(0px, 2.5vw, 48px) clamp(0px, 6vw, 115.2px) clamp(0px, 2.5vw, 48px) ;*/
        height: auto;
        width: 100%;
        gap: clamp(0px, 1.304vw, 25.037px);
    }

    /* --------------------------
       2. ЗАГОЛОВОК (Разрешаем перенос текста!)
    -------------------------- */
    .modal-title {
        font-weight: 700;
        font-size: clamp(0px, 5.215vw, 100.128px);
        line-height: clamp(0px, 6.519vw, 125.165px);
        margin: 0;
    }

    .title-emergency {
        font-size: clamp(0px, 5.215vw, 100.128px);
        line-height: clamp(0px, 6.519vw, 125.165px);
        text-wrap: wrap;
    }

    .modal-description {
        width: 100%;
        max-width: 100%;
        font-size: clamp(0px, 3.390vw, 65.088px);
        line-height: clamp(0px, 5.215vw, 100.128px);
        margin: 0;
    }

    /* --------------------------
       ФОРМА И ИНПУТЫ (Возвращаем красивые размеры)
    -------------------------- */
    .modal-form {
        gap: clamp(0px, 2.608vw, 50.074px);
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        padding-top: clamp(0px, 6.519vw, 125.165px);
    }

    .modal-form .modal-name-input-wrapper,
    .modal-form .modal-phone-input-wrapper {
        width: 100%;
        max-width: 100%;
        height: clamp(0px, 15.645vw, 300.384px);
        border-radius: clamp(0px, 2.5vw, 48px);
        border: clamp(0px, 0.2vw, 3.84px) solid #EBEBEB;
        padding: 0;
        display: flex;
        align-items: center;
        overflow: hidden;
        box-sizing: border-box;
        background: white;
    }


    /* Отступ 15px (clamp(0px, 0.78vw, 14.976px)) между первым и вторым полем */
    .modal-form .modal-name-input-wrapper {
        margin-bottom: 0;
    }

    /* Отступ 10px (clamp(0px, 0.52vw, 9.984px)) от второго поля до чекбокса */
    .modal-form .modal-phone-input-wrapper {
        margin-bottom: 0;
    }

    .modal-form .modal-name-input {
        width: 100%;
        height: 100%;
        border: none;
        background: transparent;
        text-align: left;
        padding: 0 clamp(0px, 4vw, 76.8px);
        font-size: clamp(0px, 2.868vw, 55.066px);
        line-height: clamp(0px, 4.563vw, 87.61px);
        box-sizing: border-box;
        font-weight: 500;
    }

    .modal-form .modal-phone-prefix {
        height: 100%;
        display: flex;
        align-items: center;
        padding: 0 clamp(0px, 2vw, 38.4px) 0 clamp(0px, 4vw, 76.8px);
        gap: clamp(0px, 2vw, 38.4px);
        background: transparent;
        border-radius: 0;
    }

    .modal-form .modal-phone-prefix::after {
        top: 25%;
        bottom: 25%;
        width: clamp(0px, 0.2vw, 3.84px);
        background: #EBEBEB;
    }

    .modal-form .modal-phone-prefix span {
        font-size: clamp(0px, 2.868vw, 55.066px);
        line-height: clamp(0px, 4.563vw, 87.61px);
    }

    .modal-form .modal-phone-prefix svg {
        width: clamp(0px, 5vw, 96px);
        height: clamp(0px, 3.5vw, 67.2px);
    }

    .modal-form .modal-phone-input {
        flex: 1 1;
        min-width: 0;
        height: 100%;
        border: none;
        background: transparent;
        text-align: left;
        padding: 0 clamp(0px, 4vw, 76.8px) 0 clamp(0px, 2vw, 38.4px);
        font-size: clamp(0px, 2.868vw, 55.066px);
        line-height: clamp(0px, 4.563vw, 87.61px);
        box-sizing: border-box;
        font-weight: 500;
    }

    .modal-form .modal-name-input::placeholder,
    .modal-form .modal-phone-input::placeholder {
        font-size: clamp(0px, 2.868vw, 55.066px);
        line-height: clamp(0px, 4.563vw, 87.61px);
        font-weight: 500;
    }

    /* --------------------------
       ЧЕКБОКС
    -------------------------- */
    /* Отступ 10px (clamp(0px, 0.52vw, 9.984px)) от чекбокса до кнопки */
    .modal-form .googing-form-checkbox {
        display: flex;
        align-items: center;
        gap: clamp(0px, 0.53vw, 10.176px);
        justify-content: flex-start;
        width: 100%;
        margin: clamp(0px, 6.519vw, 125.165px) 0 0 clamp(0px, 0.52vw, 9.984px); /* Строгий отступ 20px до кнопки */
        box-sizing: border-box;
    }

    .modal-form .googing-form-checkbox input[type="checkbox"] {
        width: clamp(0px, 2.608vw, 50.074px);
        height: clamp(0px, 2.608vw, 50.074px);
        border-radius: clamp(0px, 1vw, 19.2px);
        margin-top: 0;
        border: clamp(0px, 0.2vw, 3.84px) solid #EBEBEB;
        margin-right: clamp(0px, 1vw, 19.2px);
    }

    .modal-form .googing-form-checkbox input[type="checkbox"]:checked::after {
        width: clamp(0px, 0.8vw, 15.36px);
        height: clamp(0px, 1.5vw, 28.8px);
        border-width: 0 clamp(0px, 0.5vw, 9.6px) clamp(0px, 0.5vw, 9.6px) 0;
    }

    .modal-form .googing-form-checkbox label {
        font-size: clamp(0px, 2.738vw, 52.57px);
        line-height: clamp(0px, 3.651vw, 70.099px);
    }

    .modal-upload-field {
        width: 100%;
        max-width: 100%;
        margin-bottom: clamp(0px, 1.304vw, 25.037px);
        margin-top: clamp(0px, 3.911vw, 75.091px);
        gap: clamp(0px, 2vw, 38.4px);
    }

    .modal-upload-input {

    }

    .modal-review-textarea-wrapper {
        width: 100%;
        max-width: 100%;
        /*min-height: clamp(0px, 26.076vw, 500.659px);*/
        border-radius: clamp(0px, 2.5vw, 48px);
        border: clamp(0px, 0.2vw, 3.84px) solid #EBEBEB;
        padding: clamp(0px, 2vw, 38.4px) clamp(0px, 4vw, 76.8px);
        margin-bottom: 0;
    }

    .modal-review-textarea {
        min-height: clamp(0px, 21.252vw, 408.038px);
        font-size: clamp(0px, 2.738vw, 52.57px);
        line-height: clamp(0px, 3.651vw, 70.099px);
        font-weight: 500;
    }

    .modal-review-textarea::placeholder {
        font-size: clamp(0px, 2.738vw, 52.57px);
        line-height: clamp(0px, 3.651vw, 70.099px);
        font-weight: 500;
    }

    .modal-upload-trigger {
        font-size: clamp(0px, 3.129vw, 60.077px);
        line-height: clamp(0px, 3.651vw, 70.099px);
        text-underline-offset: clamp(0px, 0.5vw, 9.6px);
    }

    .modal-upload-summary {
        gap: clamp(0px, 2vw, 38.4px);
        min-width: 0;
    }

    .modal-upload-name,
    .modal-upload-clear {
        font-size: clamp(0px, 2.8vw, 53.76px);
    }

    .success-block {
        gap: clamp(0px, 3.911vw, 75.091px);
    }

    /* --------------------------
       КНОПКА ОТПРАВКИ
    -------------------------- */
    .modal-form .googing-btn-primary {
        width: auto;
        align-self: flex-end;
        border-radius: clamp(0px, 10vw, 192px);
        padding: clamp(0px, 1.304vw, 25.037px) clamp(0px, 1.304vw, 25.037px) clamp(0px, 1.304vw, 25.037px) clamp(0px, 5.215vw, 100.128px);
        margin-top: clamp(0px, 6.519vw, 125.165px);
        gap: clamp(0px, 5.215vw, 100.128px);
        height: auto;
    }

    .modal-form .modal-action-button {
        min-width: 0;
        width: -webkit-fit-content;
        width: fit-content;
        margin-top: clamp(0px, 6.519vw, 125.165px);
    }

    .modal-form .modal-action-button.upload-file-btn {
        min-width: 0;
        width: -webkit-fit-content;
        width: fit-content;
    }

    .modal-form .googing-btn-primary span {
        font-size: clamp(0px, 3.129vw, 60.077px);
        font-weight: 500;
        line-height: clamp(0px, 4.824vw, 92.621px);
    }

    .modal-form .googing-btn-primary::after {
        width: clamp(0px, 10.430vw, 200.256px);
        height: clamp(0px, 10.430vw, 200.256px);
        right: clamp(0px, 1vw, 19.2px);
    }

    .modal-form .googing-btn-primary:not(:disabled):hover.googing-btn-primary {
        background: #FFFFFF;

    }

    .modal-form .googing-btn-primary.upload-file-btn:not(:disabled):hover span {
        transform: translateX(clamp(0px, 3vw, 57.6px));
    }

    .modal-form .googing-btn-primary:not(:disabled):hover .googing-btn-icon svg {
        transform: translateX(calc(-100% - clamp(0px, 34vw, 652.8px))) rotate(40deg);
    }

    .modal-form .googing-btn-primary:not(:disabled):hover span {
        transform: translateX(min(clamp(0px, 11.3vw, 216.96px), clamp(0px, 15.31vw, 293.952px)));
    }

    .modal-form .googing-btn-icon {
        width: clamp(0px, 10.430vw, 200.256px);
        height: clamp(0px, 10.430vw, 200.256px);
        /*margin-left: clamp(0px, 3vw, 57.6px);*/
        right: 0;
    }

    .modal-form .googing-btn-icon svg {
        width: clamp(0px, 2.5vw, 48px);
        height: clamp(0px, 2.5vw, 48px);
    }

    .modal-form .googing-btn-1.upload-file-btn {
        width: -webkit-fit-content;
        width: fit-content;
        max-width: 100%;
        gap: clamp(0px, 2.5vw, 48px);
    }

    .modal-form .googing-btn-1.upload-file-btn:not(:disabled):hover span {
        transform: translateX(clamp(0px, 10vw, 192px));
    }

    .modal-form .googing-btn-1.upload-file-btn:not(:disabled):hover .googing-btn-icon svg {
        transform: translateX(calc(-100% - clamp(0px, 21vw, 403.2px))) rotate(40deg);
    }
}

@keyframes fixed-phone-pulse-border {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) translateZ(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) translateZ(0) scale(1.5);
  }
}

.fixed-phone-button {
  align-items: center;
  background: #485b85;
  border: none;
  border-radius: 50%;
  bottom: clamp(0px, 1vw, 19.2px);
  box-shadow: 0 clamp(0px, 0.26vw, 4.992px) clamp(0px, 0.78vw, 14.976px) rgba(0, 0, 0, 0.2);
  box-sizing: content-box;
  cursor: pointer;
  display: flex;
  height: clamp(0px, 4vw, 76.8px);
  justify-content: center;
  overflow: visible;
  padding: 0;
  position: fixed;
  right: clamp(0px, 0.6vw, 11.52px);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: clamp(0px, 4vw, 76.8px);
  z-index: 1000;
}

.fixed-phone-button:hover {
  transform: scale(1.1);
}

.fixed-phone-button:hover::before {
  animation: fixed-phone-pulse-border 1500ms ease-out infinite;
  background: #485b85;
  border-radius: 50%;
  content: "";
  display: block;
  height: clamp(0px, 4vw, 76.8px);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(0px, 4vw, 76.8px);
  z-index: 0;
}

.fixed-phone-button:hover::after {
  background: #485b85;
  border-radius: 50%;
  content: "";
  display: block;
  height: clamp(0px, 4vw, 76.8px);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 200ms;
  width: clamp(0px, 4vw, 76.8px);
  z-index: 1;
}

.fixed-phone-button svg {
  animation: swing 2s ease-in-out infinite;
  height: clamp(0px, 1.46vw, 28.032px);
  position: relative;
  transform-origin: center;
  width: clamp(0px, 1.46vw, 28.032px);
  z-index: 3;
}

@media (max-width: 767px) {
  .fixed-phone-button {
    bottom: clamp(0px, 4vw, 76.8px);
    height: clamp(0px, 14vw, 268.8px);
    right: clamp(0px, 4vw, 76.8px);
    width: clamp(0px, 14vw, 268.8px);
  }

  .fixed-phone-button:hover::before,
  .fixed-phone-button:hover::after {
    height: clamp(0px, 14vw, 268.8px);
    width: clamp(0px, 14vw, 268.8px);
  }

  .fixed-phone-button svg {
    height: clamp(0px, 5vw, 96px);
    width: clamp(0px, 5vw, 96px);
  }
}

@media (min-width: 2201px) {
  .fixed-phone-button {
    bottom: clamp(0px, 1.75vw, 33.6px);
    height: clamp(0px, 3.5vw, 67.2px);
    right: clamp(0px, 3.25vw, 62.4px);
    width: clamp(0px, 3.5vw, 67.2px);
  }

  .fixed-phone-button:hover::before,
  .fixed-phone-button:hover::after {
    height: clamp(0px, 3.5vw, 67.2px);
    width: clamp(0px, 3.5vw, 67.2px);
  }

  .fixed-phone-button svg {
    height: clamp(0px, 1.27vw, 24.384px);
    width: clamp(0px, 1.27vw, 24.384px);
  }
}

.cookie-banner {
  animation: cookie-banner-in 420ms ease both;
  background: rgba(255, 255, 255, 0.96);
  border: clamp(0px, 0.052vw, 0.998px) solid rgba(72, 91, 133, 0.18);
  border-radius: clamp(0px, 1.25vw, 24px);
  bottom: clamp(0px, 1.25vw, 24px);
  box-shadow: 0 clamp(0px, 1.25vw, 24px) clamp(0px, 3.125vw, 60px) rgba(17, 47, 85, 0.18);
  color: #112f55;
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 1.042vw, 20.006px);
  left: clamp(0px, 1.25vw, 24px);
  max-width: clamp(0px, 24.5vw, 470.4px);
  padding: clamp(0px, 1.25vw, 24px);
  position: fixed;
  z-index: 1100;
}

.cookie-banner__content {
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 0.521vw, 10.003px);
}

.cookie-banner__title {
  color: #112f55;
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 1.042vw, 20.006px);
  font-weight: 600;
  line-height: clamp(0px, 1.25vw, 24px);
  margin: 0;
  text-transform: uppercase;
}

.cookie-banner__text {
  color: rgba(26, 26, 26, 0.72);
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 0.833vw, 15.994px);
  font-weight: 300;
  line-height: clamp(0px, 1.25vw, 24px);
  margin: 0;
}

.cookie-banner__link {
  color: #485b85;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.cookie-banner__actions {
  display: flex;
  gap: clamp(0px, 0.625vw, 12px);
}

.cookie-banner__button {
  border: none;
  border-radius: 999px;
  cursor: pointer;
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 0.833vw, 15.994px);
  font-weight: 500;
  line-height: 1;
  padding: clamp(0px, 0.781vw, 14.995px) clamp(0px, 1.042vw, 20.006px);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.cookie-banner__button:hover {
  transform: translateY(max(-0.104vw, -1.997px));
}

.cookie-banner__button--primary {
  background: #485b85;
  box-shadow: 0 clamp(0px, 0.521vw, 10.003px) clamp(0px, 1.042vw, 20.006px) rgba(72, 91, 133, 0.24);
  color: #fff;
}

.cookie-banner__button--secondary {
  background: rgba(72, 91, 133, 0.08);
  color: #485b85;
}

.cookie-banner__button--secondary:hover {
  background: rgba(72, 91, 133, 0.14);
}

@keyframes cookie-banner-in {
  from {
    opacity: 0;
    transform: translateY(clamp(0px, 1.25vw, 24px));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .cookie-banner {
    border-radius: clamp(0px, 5.128vw, 98.458px);
    bottom: clamp(0px, 20vw, 384px);
    gap: clamp(0px, 4.103vw, 78.778px);
    left: clamp(0px, 4vw, 76.8px);
    max-width: none;
    padding: clamp(0px, 4.615vw, 88.608px);
    right: clamp(0px, 4vw, 76.8px);
  }

  .cookie-banner__content {
    gap: clamp(0px, 2.051vw, 39.379px);
  }

  .cookie-banner__title {
    font-size: clamp(0px, 4.103vw, 78.778px);
    line-height: clamp(0px, 5.385vw, 103.392px);
  }

  .cookie-banner__text {
    font-size: clamp(0px, 3.333vw, 63.994px);
    line-height: clamp(0px, 5.128vw, 98.458px);
  }

  .cookie-banner__actions {
    gap: clamp(0px, 2.564vw, 49.229px);
  }

  .cookie-banner__button {
    flex: 1 1;
    font-size: clamp(0px, 3.333vw, 63.994px);
    padding: clamp(0px, 3.333vw, 63.994px) clamp(0px, 4.103vw, 78.778px);
  }
}

.header {
    width: 100%;
    margin: 0 auto;
    background: transparent;
    /*padding: clamp(0px, 1.04vw, 19.968px) 0 calc(100 * var(--fluid-unit)) 0;*/
    padding: clamp(0px, 1.04vw, 19.968px) 0 0 0;
    position: relative;
    overflow: visible;
}

.header-container {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: transparent;
    overflow: visible;
}

.header-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: clamp(0px, 1.563vw, 30.01px);
    /* gap: clamp(0px, 1.56vw, 29.952px); */
    width: 100%;
    overflow: visible;
    position: relative;
    background: transparent;
}


.header-logo {
    flex-shrink: 0;
}

.header-logo img {
    height: clamp(0px, 2.4vw, 46.08px);
    width: clamp(0px, 7.6vw, 145.92px);
}

.header-clinic-info {
    flex-shrink: 0;
    transform: translateX(max(-1vw, -19.2px));
}

.header-clinic-text {
    text-align: left;
    font-size: var(--font-size-body);
    color: #1A1A1ABF;
    font-weight: 300;
}

.header-location {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.63vw, 12.096px);
    flex-shrink: 0;
    transform: translateX(max(-2vw, -38.4px));
}

.header-metro-icon {
    flex-shrink: 0;
}

.header-metro-icon img {
    width: clamp(0px, 1.25vw, 24px);
    height: clamp(0px, 1.46vw, 28.032px);
    margin-bottom: clamp(0px, 0.52vw, 9.984px);
}

.header-address {
    display: flex;
    flex-direction: column;
}

.header-metro-text {
    text-align: left;
    font-size: var(--font-size-body);
    font-weight: 500;
    color: #000000;
    line-height: 1.2;
}

.header-street {
    text-align: left;
    font-size: var(--font-size-body-xxs);
    font-weight: 300;
    color: #1A1A1ABF;
    line-height: 1.2;
}

.header-calculator-btn {
    display: flex;
    align-items: center;
    gap: clamp(0px, 1.3vw, 24.96px);
    padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.6vw, 30.72px);
    border: clamp(0px, 0.052vw, 0.998px) solid #485B85;
    border-radius: clamp(0px, 2.6vw, 50px);
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    background: #485B85;

    transform: translate(max(-4vw, -76.8px), max(-00.21vw, -4.032px))
}

.header-calculator-btn:hover {
    background: #FFFFFF;
}

.header-calculator-btn span {
    font-size: var(--font-size-button);
    color: #FFFFFF;
    font-weight: 500;
    line-height: clamp(0px, 0.94vw, 18.048px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 2;
}

.header-calculator-btn:hover span {
    transform: translateX(min(clamp(0px, 2.0vw, 38.4px), clamp(0px, 4.8vw, 92.16px)));
    color: #485B85;
}

.header-calculator-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    width: clamp(0px, 0.63vw, 12.096px);
    height: clamp(0px, 0.57vw, 10.944px);
}

.header-calculator-btn-icon svg {
    width: 100%;
    height: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-calculator-btn-icon svg {
    width: 100%;
    height: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-calculator-btn-icon svg path {
    transition: fill 0.3s ease;
    fill: #FFFFFF;
}

.header-calculator-btn:hover .header-calculator-btn-icon svg {
    transform: translateX(max(max(-12.35vw, -237.12px), calc(-10% - clamp(0px, 20.04vw, 384.768px)))) rotate(40deg);
}

.header-calculator-btn:hover .header-calculator-btn-icon svg path {
    fill: #485B85;
}

/* Эффект блика для кнопки калькулятора */
.header-calculator-btn .flare {
    position: absolute;
    top: 0;
    height: 100%;
    width: 45px;
    transform: skewX(-45deg);
    animation: flareAnimation 3s infinite;
    left: -170%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), #fff);
    filter: blur(0px);
    z-index: 1;
    pointer-events: none;
}

.header-contact-wrapper {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.26vw, 4.992px);
    flex-shrink: 0;
    position: relative;
    overflow: visible;
}

@keyframes swing {
    0%, 100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(30deg);
    }
}

@keyframes pulse {
    0% {
        transform: scale(0.5);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: scale(0.55);
        opacity: 0;
    }
}

@keyframes pulse-border-phone {
    0% {
        transform: translate(-50%, -50%) translateZ(0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}

.header-phone-icon {
    width: clamp(0px, 2.86vw, 54.912px);
    height: clamp(0px, 2.86vw, 54.912px);
    border-radius: 50%;
    background: #485B85;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 100;
    overflow: visible;
    box-sizing: content-box;
    cursor: pointer;
}

.header-phone-icon:hover::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 2.86vw, 54.912px);
    height: clamp(0px, 2.86vw, 54.912px);
    background: #485B85;
    border-radius: 50%;
    animation: pulse-border-phone 1500ms ease-out infinite;
}

.header-phone-icon:hover::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 2.86vw, 54.912px);
    height: clamp(0px, 2.86vw, 54.912px);
    /*background: #485B85;*/
    border-radius: 50%;
    transition: all 200ms;
    background-color: rgba(72, 91, 133, 0.9);
}

.header-phone-icon svg {
    width: clamp(0px, 1.04vw, 19.968px);
    height: clamp(0px, 1.04vw, 19.968px);
    transform-origin: center;
    animation: swing 2s ease-in-out infinite;
    position: relative;
    z-index: 3;
}

/*.header-phone-icon-fixed {*/
/*    !*width: 58px;*!*/
/*    !*height: 58px;*!*/
/*    width: clamp(0px, 4vw, 76.8px);*/
/*    height: clamp(0px, 4vw, 76.8px);*/
/*    border-radius: 50%;*/
/*    background: #485B85;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    position: fixed;*/
/*    bottom: clamp(0px, 1vw, 19.2px);*/

/*    !* ФИКС: Делаем значение еще меньше, чтобы сдвинуть кнопку ПРАВЕЕ *!*/
/*    right: clamp(0px, 0.6vw, 11.52px);*/
/*    !*right: 12px ;*!*/

/*    z-index: 1000;*/
/*    overflow: visible;*/
/*    cursor: pointer;*/
/*    box-shadow: 0 clamp(0px, 0.26vw, 4.992px) clamp(0px, 0.78vw, 14.976px) rgba(0, 0, 0, 0.2);*/
/*    transition: transform 0.3s ease, box-shadow 0.3s ease;*/
/*    box-sizing: content-box;*/
/*}*/

/*.header-phone-icon-fixed:hover {*/
/*    transform: scale(1.1);*/
/*}*/

/*.header-phone-icon-fixed:hover::before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    z-index: 0;*/
/*    left: 50%;*/
/*    top: 50%;*/
/*    transform: translate(-50%, -50%);*/
/*    display: block;*/
/*    width: clamp(0px, 4vw, 76.8px);*/
/*    height: clamp(0px, 4vw, 76.8px);*/
/*    background: #485B85;*/
/*    border-radius: 50%;*/
/*    animation: pulse-border-phone 1500ms ease-out infinite;*/
/*}*/

/*.header-phone-icon-fixed:hover::after {*/
/*    content: "";*/
/*    position: absolute;*/
/*    z-index: 1;*/
/*    left: 50%;*/
/*    top: 50%;*/
/*    transform: translate(-50%, -50%);*/
/*    display: block;*/
/*    width: clamp(0px, 4vw, 76.8px);*/
/*    height: clamp(0px, 4vw, 76.8px);*/
/*    background: #485B85;*/
/*    border-radius: 50%;*/
/*    transition: all 200ms;*/
/*    !*background-color: rgba(72, 91, 133, 0.9);*!*/
/*}*/

/*.header-phone-icon-fixed svg {*/
/*    width: clamp(0px, 1.46vw, 28.032px);*/
/*    height: clamp(0px, 1.46vw, 28.032px);*/
/*    !*width: 22px;*!*/
/*    !*height: 22px;*!*/
/*    transform-origin: center;*/
/*    animation: swing 2s ease-in-out infinite;*/
/*    position: relative;*/
/*    z-index: 3;*/
/*}*/

.header-contact-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(0px, 0.78vw, 14.976px);
    padding: clamp(0px, 0.21vw, 4.032px) clamp(0px, 0.23vw, 4.416px) clamp(0px, 0.21vw, 4.032px) clamp(0px, 1.56vw, 29.952px);
    background: #EBEBEB;
    border-radius: clamp(0px, 2.6vw, 50px);
    flex-shrink: 0;
    margin-right: clamp(0px, 0.26vw, 4.992px);
}

.header-phone-info {
    display: flex;
    flex-direction: column;
}

.header-phone-number {
    text-align: right;
    font-size: clamp(0px, 1.04vw, 19.968px);
    font-weight: 500;
    color: #000000;
    line-height: clamp(0px, 0.94vw, 18.048px);
}

.header-phone-hours {
    font-size: var(--font-size-body-xxs);
    color: #1A1A1ABF;
    line-height: 100%;
    text-align: right;
    margin-top: clamp(0px, 0.26vw, 4.992px);
    font-weight: 300;
    position: relative;
}

.header-avatar {
    width: clamp(0px, 2.6vw, 50px);
    height: clamp(0px, 2.6vw, 50px);
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.header-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.header-menu-btn {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.52vw, 9.984px);
    padding: clamp(0px, 0.83vw, 15.936px) clamp(0px, 1.51vw, 28.992px) clamp(0px, 0.83vw, 15.936px) clamp(0px, 1.51vw, 28.992px);
    border-radius: clamp(0px, 2.6vw, 50px);
    background: #485B85;
    border: clamp(0px, 0.063vw, 1.21px) solid #2E3D58;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.header-menu-btn span {
    font-size: var(--font-size-body);
    color: #FFFFFF;
    font-weight: 500;
}

.header-menu-icons {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.header-menu-icons svg {
    width: clamp(0px, 1.56vw, 29.952px);
    height: clamp(0px, 0.78vw, 14.976px);
}

.header-menu-bottom-line {
    transform-origin: left center;
    transition: transform 0.3s ease;
}

.header-menu-btn:hover {
    background: #FFFFFF;
    border-color: #485B85;
}

.header-menu-btn:hover span {
    color: #485B85;
}

.header-menu-btn:hover .header-menu-icons svg rect {
    fill: #485B85;
}

.header-menu-btn:hover .header-menu-bottom-line {
    transform: scaleX(1.2) translateX(max(-0.25vw, -4.8px));
}


.header_nuv-btn {
    padding: clamp(0px, 1.46vw, 28.032px) clamp(0px, 2.08vw, 39.936px);
    border-radius: clamp(0px, 2.6vw, 50px);
    /*font-weight: 600;*/
    border: none;
    font-size: var(--font-size-body-xxs);
    font-weight: 500;
    line-height: clamp(0px, 0.99vw, 19.008px);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    font-family: 'Geist', sans-serif;
}

.header_nuv-btn-1 {
    padding: clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 1.56vw, 29.952px);
    border-radius: clamp(0px, 2.6vw, 50px);
    border: clamp(0px, 0.052vw, 0.998px) solid #2E3D58;
    /*font-weight: 700;*/
    font-size: var(--font-size-button);
    line-height: clamp(0px, 0.89vw, 17.088px);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: clamp(0px, 1.56vw, 29.952px);
    font-family: 'Geist', sans-serif;
    position: relative;
    overflow: hidden;
}

.header_nuv-btn-secondary {
    background: #E2E2E2B2;
    color: #000000;
    border: clamp(0px, 0.052vw, 0.998px) solid #E0E0E0;
}

.header_nuv-btn-secondary:hover {
    background: #FFFFFF;
}

.header_nuv-btn-primary {
    background: #485B85;
    color: #FFFFFF;
}

.header_nuv-btn-primary span {
    color: #FFFFFF;
    transition: color 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.header_nuv-btn-primary:hover span {
    color: #485B85;
    transform: translateX(min(clamp(0px, 3.65vw, 70.08px), clamp(0px, 15.31vw, 293.952px)));
}

.header_nuv-btn-icon {
    width: calc(60 * var(--fluid-unit));
    height: calc(60 * var(--fluid-unit));
    border-radius: 50%;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

.header_nuv-btn-icon svg {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.header_nuv-btn-1:hover .header_nuv-btn-icon svg {
    transform: translateX(max(max(-10.1vw, -193.92px), calc(-10% - clamp(0px, 15.56vw, 298.752px)))) rotate(40deg);
}

.header_nuv-btn-1::after {
    content: '';
    position: absolute;
    right: clamp(0px, 0.31vw, 5.952px);
    top: 50%;
    transform: translateY(-50%);
    width: calc(60 * var(--fluid-unit));
    height: calc(60 * var(--fluid-unit));
    border-radius: 50%;
    background: #FFFFFF;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
    pointer-events: none;
}

.header_nuv-btn-1:hover::after {
    width: clamp(0px, 41.67vw, 800.064px);
    height: clamp(0px, 41.67vw, 800.064px);
    right: max(-20.83vw, -399.936px);
    top: 50%;
    transform: translateY(-50%);
}

.header_nuv-btn-1 span {
    position: relative;
    z-index: 3;
}

.header_nuv-btn-icon svg {
    width: clamp(0px, 0.73vw, 14.016px);
    height: clamp(0px, 0.63vw, 12.096px);
}

/* Эффект блика для кнопки "Записаться на приём" */
.header_nuv-btn-1 .flare {
    position: absolute;
    top: 0;
    height: 100%;
    width: 45px;
    transform: skewX(-45deg);
    animation: flareAnimation 3s infinite;
    left: -170%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), #fff);
    filter: blur(0px);
    z-index: 1;
    pointer-events: none;
}

@keyframes flareAnimation {
    0% {
        left: -170%;
    }
    50% {
        left: 170%;
    }
    100% {
        left: 170%;
    }
}


.header_nuv-rating-logo-text {
    font-size: var(--font-size-h9);
    font-weight: 700;
    color: #2E3D58;
    font-family: 'Geist', sans-serif;
    flex-shrink: 0;
    line-height: 1;
}


.header_nuv-rating-title {
    font-size: var(--font-size-body-small);
    font-weight: 600;
    color: #000000;
    font-family: 'Geist', sans-serif;
    line-height: 1.2;
}


.header_nuv-carousel-line {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(0px, 0.42vw, 8.064px);
    background: linear-gradient(180deg, #485B85 0%, rgba(72, 91, 133, 0.8) 100%);
    border-radius: clamp(0px, 0.1vw, 1.92px);
    z-index: 0;
    pointer-events: none;
    box-shadow: 0 0 clamp(0px, 0.21vw, 4.032px) rgba(72, 91, 133, 0.3);
    opacity: 0;
}

.header_nuv-carousel-line-animating {
    animation: slideLine 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes slideLine {
    0% {
        top: var(clamp(0px, 0.52vw, 9.984px));
        opacity: 1;
    }
    100% {
        top: var(clamp(0px, 0.52vw, 9.984px));
        opacity: 1;
    }
}

@media (max-width: 767px) {
    /* В шапке оставляем только лого и кнопку меню */
    .header-top-row {
        justify-content: space-between;
    }

    .header-clinic-info,
    .header-location,
    .header-calculator-btn,
    .header-contact-wrapper .header-phone-icon,
    .header-contact-wrapper .header-contact-block {
        display: none;
    }

    .header-contact-wrapper {
        display: flex;
        align-items: center;
    }

    /* Размеры лого */
    .header-logo img {
        width: clamp(0px, 24.26vw, 465.792px);
        height: clamp(0px, 7.71vw, 148.032px);
    }

    /* Размеры кнопки меню */
    .header-menu-btn {
        padding: clamp(0px, 2.7vw, 51.84px) clamp(0px, 4.76vw, 91.392px);
        gap: clamp(0px, 1.94vw, 37.248px);
        border-radius: clamp(0px, 6.41vw, 123.072px);
    }

    .header-top-row {
        margin-bottom: clamp(0px, 2.6vw, 50px);
    }

    .header-menu-btn span {
        font-size: clamp(0px, 3.1vw, 59.52px);
        font-weight: 500;
    }

    .header-menu-icons svg {
        width: clamp(0px, 5.26vw, 100.992px);
        height: clamp(0px, 2.28vw, 43.776px);
    }

    .header-menu-bottom-line {
        transform-origin: right center;
        transition: transform 0.3s ease;
    }

    .header-menu-btn:hover .header-menu-bottom-line {
        transform: scaleX(1.2) translateX(0.0vw);
    }

    .header_nuv-btn {
        padding: clamp(0px, 5.38vw, 103.296px) clamp(0px, 5.13vw, 98.496px);
        border-radius: clamp(0px, 6.41vw, 123.072px);
        font-weight: 600;
        /* border: none; */
        font-size: clamp(0px, 2.82vw, 54.144px);
        line-height: clamp(0px, 2.44vw, 46.848px);
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        font-family: 'Geist', sans-serif;
        width: 40%;
        justify-content: center;
    }

    .header_nuv-btn-1 {
        padding: clamp(0px, 0.77vw, 14.784px) clamp(0px, 0.77vw, 14.784px) clamp(0px, 0.77vw, 14.784px) clamp(0px, 3.21vw, 61.632px);
        border-radius: clamp(0px, 6.41vw, 123.072px);
        border: clamp(0px, 0.13vw, 2.496px) solid #2E3D58;
        font-weight: 500;
        font-size: clamp(0px, 2.82vw, 54.144px);
        line-height: clamp(0px, 2.18vw, 41.856px);
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: clamp(0px, 3.85vw, 73.92px);
        font-family: 'Geist', sans-serif;
        position: relative;
        overflow: hidden;
        width: 60%;
        justify-content: space-between;
    }

    .header_nuv-btn-icon {
        width: clamp(0px, 11.54vw, 221.568px);
        height: clamp(0px, 11.54vw, 221.568px);
        border-radius: 50%;
        background: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        position: relative;
        z-index: 2;
        margin-left: auto;
    }

    .header_nuv-btn-icon svg {
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        width: clamp(0px, 2.31vw, 44.352px);
        height: clamp(0px, 1.79vw, 34.368px);
    }

    /* Стили для анимации синей кнопки */
    .header_nuv-btn-primary {
        background: #485B85;
        color: #FFFFFF;
    }

    .header_nuv-btn-1.header_nuv-btn-primary {
        font-weight: 700;
        padding-left: clamp(0px, 6.41vw, 123.072px);
    }

    .header_nuv-btn-primary span {
        color: #FFFFFF;
        transition: color 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
        z-index: 3;
    }

    .header_nuv-btn-primary:hover span {
        color: #485B85;
        transform: translateX(clamp(0px, 13.474vw, 258.701px));
    }

    /* Подгоняем псевдоэлемент ::after под размер белого круга */
    .header_nuv-btn-1::after {
        content: '';
        position: absolute;
        right: clamp(0px, 0.77vw, 14.784px);
        top: 50%;
        transform: translateY(-50%);
        width: clamp(0px, 11.54vw, 221.568px);
        height: clamp(0px, 11.54vw, 221.568px);
        border-radius: 50%;
        background: #FFFFFF;
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 0;
        pointer-events: none;
    }

    .header_nuv-btn-1:hover::after {
        width: clamp(0px, 200vw, 3840px);
        height: clamp(0px, 200vw, 3840px);
        right: max(-100vw, -1920px);
        top: 50%;
        transform: translateY(-50%);
    }

    .header_nuv-btn-1:hover .header_nuv-btn-icon svg {
        transform: translateX(max(-42.028vw, -806.938px)) rotate(40deg);
    }

    .header_nuv-left-about {
        display: flex;
        align-items: center;
        gap: clamp(0px, 2.56vw, 49.152px);
        margin-top: clamp(0px, 13.021vw, 250.003px);
        margin-bottom: clamp(0px, 2.56vw, 49.152px);
    }

    .header {
        padding: clamp(0px, 3.2vw, 61.44px) 0 clamp(0px, 6.519vw, 125.165px) 0;
    }

    /*@media (min-width: 2201px) {*/
    /*    !* ... остальные стили ... *!*/
    /*    .header-phone-icon-fixed {*/
    /*        width: clamp(0px, 3.5vw, 67.2px);*/
    /*        height: clamp(0px, 3.5vw, 67.2px);*/
    /*        bottom: clamp(0px, 1.75vw, 33.6px);*/

    /*        !* ФИКС: Еще правее для больших экранов *!*/
    /*        right: clamp(0px, 0.5vw, 9.6px);*/
    /*    }*/

    /*    .header-phone-icon-fixed svg {*/
    /*        width: clamp(0px, 1.27vw, 24.384px);*/
    /*        height: clamp(0px, 1.27vw, 24.384px);*/
    /*    }*/
    /*}*/

    /*.header-phone-icon-fixed:hover::before {*/
    /*    width: clamp(0px, 9.38vw, 180.096px);*/
    /*    height: clamp(0px, 9.38vw, 180.096px);*/
    /*}*/

    /*.header-phone-icon-fixed:hover::after {*/
    /*    width: clamp(0px, 9.38vw, 180.096px);*/
    /*    height: clamp(0px, 9.38vw, 180.096px);*/
    /*}*/
}

@media (max-width: 2200px) {
    .header-container {
        /*padding: 0 clamp(0px, 2.6vw, 50px) clamp(0px, 0.5vw, 9.6px) clamp(0px, 2.6vw, 50px);*/
        /* padding-top: 10px; */
    }

}

@media (min-width: 2201px) {
    .header-top-row {
        gap: clamp(0px, 1.2vw, 23.04px);
    }

    .header-clinic-text {
        font-size: clamp(0px, 0.82vw, 15.744px);
    }

    .header-logo img {
        height: clamp(0px, 2.1vw, 40.32px);
        width: clamp(0px, 6.64vw, 127.488px);
    }

    .header-location {
        gap: clamp(0px, 0.55vw, 10.56px);
    }

    .header-metro-icon img {
        width: clamp(0px, 1.09vw, 20.928px);
        height: clamp(0px, 1.27vw, 24.384px);
    }

    .header-metro-text {
        font-size: clamp(0px, 0.82vw, 15.744px);
    }

    .header-street {
        font-size: clamp(0px, 0.64vw, 12.288px);
    }

    .header-calculator-btn {
        gap: clamp(0px, 1.14vw, 21.888px);
        padding: clamp(0px, 0.91vw, 17.472px) clamp(0px, 1.41vw, 27.072px);
        border: clamp(0px, 0.052vw, 0.998px) solid #485B85;
        border-radius: clamp(0px, 2.27vw, 43.584px);
        margin: 0;
    }

    .header-calculator-btn span {
        font-size: clamp(0px, 0.59vw, 11.328px);
        line-height: clamp(0px, 0.94vw, 18.048px);
    }

    .header-calculator-btn:hover span {
        transform: translateX(min(clamp(0px, 2.0vw, 38.4px), clamp(0px, 4.8vw, 92.16px)));
    }

    .header-calculator-btn-icon {
        width: clamp(0px, 0.55vw, 10.56px);
        height: clamp(0px, 0.5vw, 9.6px);
    }

    .header-calculator-btn:hover .header-calculator-btn-icon svg {
        transform: translateX(max(max(-12.35vw, -237.12px), calc(-10% - clamp(0px, 11.04vw, 211.968px)))) rotate(40deg);
    }

    .header-contact-wrapper {
        gap: clamp(0px, 0.23vw, 4.416px);
    }

    .header-phone-icon {
        width: clamp(0px, 2.5vw, 48px);
        height: clamp(0px, 2.5vw, 48px);
    }

    .header-phone-icon svg {
        width: clamp(0px, 0.91vw, 17.472px);
        height: clamp(0px, 0.91vw, 17.472px);
    }

    .header-contact-block {
        gap: clamp(0px, 0.68vw, 13.056px);
        padding: clamp(0px, 0.18vw, 3.456px) clamp(0px, 0.2vw, 3.84px) clamp(0px, 0.18vw, 3.456px) clamp(0px, 1.36vw, 26.112px);
        border-radius: clamp(0px, 2.27vw, 43.584px);
    }

    .header-phone-number {
        font-size: clamp(0px, 0.91vw, 17.472px);
    }

    .header-phone-hours {
        font-size: clamp(0px, 0.64vw, 12.288px);
    }

    .header-avatar {
        width: clamp(0px, 2.27vw, 43.584px);
        height: clamp(0px, 2.27vw, 43.584px);
    }

    .header-menu-btn {
        gap: clamp(0px, 0.45vw, 8.64px);
        padding: clamp(0px, 0.73vw, 14.016px) clamp(0px, 1.32vw, 25.344px);
        border-radius: clamp(0px, 2.27vw, 43.584px);
    }

    .header-menu-btn span {
        font-size: clamp(0px, 0.82vw, 15.744px);
    }

    .header-menu-icons svg {
        width: clamp(0px, 1.36vw, 26.112px);
        height: clamp(0px, 0.68vw, 13.056px);
    }

    /*.header-phone-icon-fixed {*/
    /*    width: clamp(0px, 3.5vw, 67.2px);*/
    /*    height: clamp(0px, 3.5vw, 67.2px);*/
    /*    bottom: clamp(0px, 1.75vw, 33.6px);*/
    /*    right: clamp(0px, 3.25vw, 62.4px); !* <-- Идеальная середина для больших мониторов *!*/
    /*}*/

    /*.header-phone-icon-fixed svg {*/
    /*    width: clamp(0px, 1.27vw, 24.384px);*/
    /*    height: clamp(0px, 1.27vw, 24.384px);*/
    /*}*/
}


/* Кольцо прогресса: заставляем SVG тянуться за кнопкой */
.header_nuv-nav-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}


/* =========================================
   ПОЛНОЭКРАННОЕ ВОЛНОВОЕ МЕНЮ (ФИРМЕННЫЙ СТИЛЬ)
   ========================================= */
.fullscreen-menu-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    pointer-events: none;
}

.fullscreen-menu-wrapper.active {
    pointer-events: auto;
}

.menu-transition-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.fullscreen-menu-content {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: translateY(clamp(0px, 2vw, 38.4px));
}

/* СТИЛИ ДЛЯ ВИДЕО-АВАТАРА */
.header-avatar-video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Идеально заполняет контейнер, обрезая лишнее */
    display: block;
    border-radius: inherit; /* Наследует скругление от родительского .header-avatar */
}


/* Крестик строго в vw (адаптируется вместе с экраном, не съезжает при зуме) */
.close-menu-btn {
    position: absolute;

    /* ФИКС: Твои точные размеры (19.24px сверху и 27.5px справа) */
    top: 0;
    right: clamp(0px, 4vw, 76.8px);

    background: transparent;
    border: none;
    color: rgba(72, 91, 133, 1);

    font-family: 'Geist', sans-serif;
    font-weight: 200;
    font-size: clamp(0px, 4.43vw, 85.056px); /* Аналог 85.12px */
    line-height: clamp(0px, 5.76vw, 110.592px); /* Аналог 110.65px */

    width: clamp(0px, 2.5vw, 48px); /* Аналог 48px */
    height: clamp(0px, 5.78vw, 110.976px); /* Аналог 111px */
    transform: rotate(45deg);
    opacity: 1;

    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, color 0.3s ease;
    z-index: 10;
}

.close-menu-btn:hover {
    transform: rotate(45deg) scale(1.03);
}

/* Блок со ссылками строго по размерам из Figma в vw */
.fullscreen-nav-links {
    display: flex;
    flex-direction: column;
    width: clamp(0px, 61.46vw, 1180.032px); /* Аналог 1180px */
    height: clamp(0px, 38.8vw, 744.96px); /* Аналог 745px */
    max-width: clamp(0px, 90vw, 1728px);
    gap: clamp(0px, 1.04vw, 19.968px); /* Аналог 20px */
    justify-content: center;
    text-align: center;
    margin: 0 auto;
}

/* Новая типографика: Geist Bold 50px (переведено в vw) */
.fullscreen-nav-links a {
    color: rgba(72, 91, 133, 1);
    font-family: 'Geist', sans-serif;
    font-weight: 700; /* По ТЗ: Bold */
    font-style: normal;
    font-size: clamp(0px, 2.60vw, 50px); /* Аналог 50px */
    line-height: var(--line-height-70);
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
    transition: transform 0.3s ease;
    display: inline-block;
    width: -webkit-fit-content;
    width: fit-content;
    margin: 0 auto;
}

/* Красивое подчеркивание при наведении */
.fullscreen-nav-links a::after {
    content: '';
    position: absolute;
    bottom: max(-0.5vw, -9.6px);
    left: 0;
    width: 0;
    height: clamp(0px, 0.2vw, 3.84px);
    background: #FFFFFF;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: clamp(0px, 0.1vw, 1.92px);
}

.fullscreen-nav-links a:hover {
    transform: scale(1.03);
}

.fullscreen-nav-links a:hover::after {
    width: 100%;
}

.fullscreen-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: -webkit-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

.fullscreen-nav-services-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, 0.9vw, 17.28px);
}

.fullscreen-nav-services-toggle {
    -webkit-appearance: none;
            appearance: none;
    width: clamp(0px, 2.6vw, 50px);
    height: clamp(0px, 2.6vw, 50px);
    border: clamp(0px, 0.1vw, 1.92px) solid rgba(72, 91, 133, 0.24);
    border-radius: 50%;
    background: rgba(72, 91, 133, 0.08);
    color: rgba(72, 91, 133, 1);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.fullscreen-nav-services-toggle:hover,
.fullscreen-nav-services-toggle:focus-visible {
    background: rgba(72, 91, 133, 0.14);
    outline: none;
}

.fullscreen-nav-services-toggle svg {
    width: clamp(0px, 1.35vw, 25.92px);
    height: clamp(0px, 1.35vw, 25.92px);
    transform-origin: center;
    transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.fullscreen-nav-item--services-open .fullscreen-nav-services-toggle svg {
    transform: rotate(180deg);
}

/*@media (min-width: 1920px) {*/
/*    .fullscreen-nav-links {*/
/*        gap: 0;*/
/*    }*/
/*}*/

/* =========================================
   МОБИЛЬНАЯ АДАПТАЦИЯ МЕНЮ (< 780px)
   ========================================= */
@media (max-width: 767px) {
    .fullscreen-menu-content {
        transform: translateY(clamp(0px, 5vw, 96px));
    }

    .close-menu-btn {
        /*top: clamp(0px, 5vw, 96px) ;*/
        right: clamp(0px, 5vw, 96px);
        font-size: clamp(0px, 10vw, 192px);
        width: clamp(0px, 6vw, 115.2px);
        height: clamp(0px, 12vw, 230.4px);
    }

    .fullscreen-nav-links {
        width: 100%;
        height: auto;
        gap: clamp(0px, 3.5vw, 67.2px);
    }

    .fullscreen-nav-links a {
        font-size: clamp(0px, 7vw, 134.4px);
        line-height: 1.2;
    }

    .fullscreen-nav-links a::after {
        bottom: max(-1.5vw, -28.8px);
        height: clamp(0px, 0.6vw, 11.52px);
    }

    .fullscreen-nav-services-row {
        gap: clamp(0px, 3vw, 57.6px);
    }

    .fullscreen-nav-services-toggle {
        width: clamp(0px, 9vw, 172.8px);
        height: clamp(0px, 9vw, 172.8px);
        border-width: clamp(0px, 0.26vw, 4.992px);
    }

    .fullscreen-nav-services-toggle svg {
        width: clamp(0px, 5vw, 96px);
        height: clamp(0px, 5vw, 96px);
    }

}


/* =========================================
   1. ЖЕЛЕЗОБЕТОННЫЙ СЕРЫЙ ЦВЕТ ДЛЯ КНОПКИ
   ========================================= */
.header_nuv-btn.header_nuv-btn-secondary {
    background-color: #E2E2E2B2;
}

/* =========================================
   2. СТИЛИ И АНИМАЦИИ ГАЛЕРЕИ (ЖЕСТКО В VW)
   ========================================= */
.gallery-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: clamp(0px, 100vw, 1920px);
    height: 100vh;
    background-color: rgba(15, 15, 15, 0.95);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    z-index: 999999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.gallery-modal-overlay.open {
    opacity: 1;
    visibility: visible;
}

.gallery-modal-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ИСПРАВЛЕНО: Убрали vh! Теперь пропорции фотки и кнопок намертво связаны */
.gallery-image-wrapper {
    width: clamp(0px, 75vw, 1440px);
    height: clamp(0px, 43vw, 825.6px); /* МАГИЯ ЗДЕСЬ: Жестко привязали высоту к ширине экрана */
    display: flex;
    justify-content: center;
    align-items: center;
}

.gallery-main-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: clamp(0px, 0.63vw, 12.096px);
    box-shadow: 0 clamp(0px, 0.52vw, 9.984px) clamp(0px, 2.08vw, 39.936px) rgba(0, 0, 0, 0.5);
}

/* =========================================
   АНИМАЦИИ ГАЛЕРЕИ (ВЛЕВО/ВПРАВО)
   ========================================= */
.gallery-main-image.slide-next {
    animation: slideInFromRight 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

.gallery-main-image.slide-prev {
    animation: slideInFromLeft 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

@keyframes slideInFromRight {
    0% {
        opacity: 0;
        transform: translateX(clamp(0px, 2.6vw, 50px));
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInFromLeft {
    0% {
        opacity: 0;
        transform: translateX(max(-2.6vw, -50px));
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/* =========================================
   КНОПКИ И СЧЕТЧИК (Только vw)
   ========================================= */
.gallery-close-btn {
    position: absolute;
    top: clamp(0px, 1.56vw, 29.952px);
    right: clamp(0px, 2.08vw, 39.936px);
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: clamp(0px, 1.82vw, 34.944px);
    cursor: pointer;
    z-index: 10;
    transition: color 0.3s ease, transform 0.25s ease;
}

.gallery-close-btn:hover {
    color: white;
    transform: scale(1.15);
}

.gallery-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(255, 255, 255, 0.2);
    color: white;
    font-size: clamp(0px, 2.08vw, 39.936px);
    width: calc(60 * var(--fluid-unit));
    height: calc(60 * var(--fluid-unit));
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.25s ease;
    z-index: 10;
}

.gallery-nav-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-50%) scale(1.1);
}

.gallery-nav-btn.prev {
    left: clamp(0px, 5vw, 96px);
    padding-bottom: clamp(0px, 0.26vw, 4.992px);
}

/* Заменили % на vw */
.gallery-nav-btn.next {
    right: clamp(0px, 5vw, 96px);
    padding-bottom: clamp(0px, 0.26vw, 4.992px);
}

/* Заменили % на vw */

.gallery-counter {
    position: absolute;
    bottom: clamp(0px, 1.56vw, 29.952px);
    color: rgba(255, 255, 255, 0.6);
    font-size: clamp(0px, 0.83vw, 15.936px);
    font-family: 'Geist', sans-serif;
    letter-spacing: clamp(0px, 0.1vw, 1.92px);
}

/* =========================================
   3. АДАПТИВ ГАЛЕРЕИ ДЛЯ ТЕЛЕФОНОВ (< 780px)
   ========================================= */
@media (max-width: 767px) {
    .gallery-image-wrapper {
        width: clamp(0px, 100vw, 1920px);
        height: 70vh; /* На мобилке оставляем vh, так как экраны вертикальные */
        padding: 0 clamp(0px, 2.5vw, 48px);
        box-sizing: border-box;
    }

    .gallery-main-image {
        border-radius: clamp(0px, 2vw, 38.4px);
    }

    .gallery-nav-btn {
        width: clamp(0px, 12vw, 230.4px);
        height: clamp(0px, 12vw, 230.4px);
        font-size: clamp(0px, 8vw, 153.6px);
        border: clamp(0px, 0.2vw, 3.84px) solid rgba(255, 255, 255, 0.2);
    }

    .gallery-nav-btn.prev {
        left: clamp(0px, 2vw, 38.4px);
    }

    .gallery-nav-btn.next {
        right: clamp(0px, 2vw, 38.4px);
    }

    .gallery-close-btn {
        top: clamp(0px, 4vw, 76.8px);
        right: clamp(0px, 4vw, 76.8px);
        font-size: clamp(0px, 8vw, 153.6px);
    }

    .gallery-counter {
        bottom: clamp(0px, 5vw, 96px);
        font-size: clamp(0px, 4vw, 76.8px);
    }
}

.article-rich-text {
    color: rgba(26, 26, 26, 0.75);
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 1.25vw, 24px);
    width: 100%;
}

.article-rich-text__lead {
    color: #000;
    font-family: 'Geist', sans-serif;
    font-size: clamp(0px, 2.083vw, 39.994px);
    font-style: normal;
    font-weight: 600;
    line-height: clamp(0px, 2.708vw, 51.994px);
    margin: 0;
    text-align: left;
    text-transform: uppercase;
}

.article-rich-text__lead-accent {
    color: #485b85;
    text-decoration: underline;
    -webkit-text-decoration-color: #485b85;
            text-decoration-color: #485b85;
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
}

.article-rich-text__inline {
    color: inherit;
    font: inherit;
}

.article-rich-text__inline--tone-default {
    color: inherit;
}

.article-rich-text__inline--tone-accent {
    color: #485b85;
}

.article-rich-text__inline--tone-muted {
    color: rgba(26, 26, 26, 0.6);
}

.article-rich-text__inline--tone-dark {
    color: #112f55;
}

.article-rich-text__inline--weight-light {
    font-weight: 300;
}

.article-rich-text__inline--weight-regular {
    font-weight: 400;
}

.article-rich-text__inline--weight-medium {
    font-weight: 500;
}

.article-rich-text__inline--weight-semibold {
    font-weight: 600;
}

.article-rich-text__inline--weight-bold {
    font-weight: 700;
}

.article-rich-text__inline--style-normal {
    font-style: normal;
}

.article-rich-text__inline--style-italic {
    font-style: italic;
}

.article-rich-text__paragraph,
.article-rich-text__section-title,
.article-rich-text__feature-text {
    color: rgba(26, 26, 26, 0.75);
    font-family: 'Geist', sans-serif;
    font-size: clamp(0px, 1.146vw, 22.003px);
    font-style: normal;
    font-weight: 300;
    line-height: clamp(0px, 1.719vw, 33.005px);
    margin: 0;
    text-align: left;
}

.article-rich-text__section-title {
    color: #112f55;
    font-weight: 500;
    margin-top: clamp(0px, 0.417vw, 8.006px);
}

.article-rich-text__section-title--tone-default {
    color: #112f55;
}

.article-rich-text__section-title--tone-black {
    color: #000;
}

.article-rich-text__section-title--tone-accent {
    color: #485b85;
}

.article-rich-text__section-title--weight-default {
    font-weight: 500;
}

.article-rich-text__section-title--weight-light {
    font-weight: 300;
}

.article-rich-text__section-title--weight-regular {
    font-weight: 400;
}

.article-rich-text__section-title--weight-medium {
    font-weight: 500;
}

.article-rich-text__section-title--weight-semibold {
    font-weight: 600;
}

.article-rich-text__section-title--weight-bold {
    font-weight: 700;
}

.article-rich-text__section-title-underlined {
    text-decoration: underline;
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    color: rgba(26, 26, 26, 0.75);
}

.article-rich-text__section-title--tone-black .article-rich-text__section-title-underlined,
.article-rich-text__section-title--tone-accent .article-rich-text__section-title-underlined {
    color: inherit;
}

.article-rich-text__features {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.625vw, 12px);
    list-style: disc;
    margin: 0;
    padding-left: clamp(0px, 1.45vw, 27.84px);
}

.article-rich-text__feature {
    display: list-item;
}

.article-rich-text__feature-text {
    display: block;
    white-space: normal;
}

.article-rich-text__feature-label {
    font-weight: 500;
}

.article-rich-text__feature-label--weight-default {
    font-weight: 500;
}

.article-rich-text__feature-label--weight-light {
    font-weight: 300;
}

.article-rich-text__feature-label--weight-regular {
    font-weight: 400;
}

.article-rich-text__feature-label--weight-medium {
    font-weight: 500;
}

.article-rich-text__feature-label--weight-semibold {
    font-weight: 600;
}

.article-rich-text__feature-label--weight-bold {
    font-weight: 700;
}

@media (max-width: 767px) {
    .article-rich-text {
        gap: clamp(0px, 3.59vw, 68.928px);
    }

    .article-rich-text__lead {
        font-size: clamp(0px, 6.51vw, 124.992px);
        line-height: clamp(0px, 9.126vw, 175.219px);
    }

    .article-rich-text__paragraph,
    .article-rich-text__section-title,
    .article-rich-text__feature-text {
        font-size: clamp(0px, 3.385vw, 64.992px);
        line-height: clamp(0px, 5.208vw, 99.994px);
    }

    .article-rich-text__section-title {
        margin-top: clamp(0px, 1.282vw, 24.614px);
    }

    .article-rich-text__features {
        gap: clamp(0px, 2.051vw, 39.379px);
        padding-left: clamp(0px, 5.128vw, 98.458px);
    }
}

.services-popover {
  z-index: 1100;
}

.services-popover__content {
  display: flex;
  flex-direction: column;
}

.services-popover__link {
  text-decoration: none;
}

.services-popover--desktop {
  position: absolute;
  top: calc(100% + clamp(0px, 0.9vw, 17.28px));
  left: 0;
  min-width: clamp(0px, 22vw, 422.4px);
}

.services-popover--desktop::before {
  content: '';
  position: absolute;
  left: clamp(0px, 1.4vw, 26.88px);
  top: max(-0.4vw, -7.68px);
  width: clamp(0px, 0.9vw, 17.28px);
  height: clamp(0px, 0.9vw, 17.28px);
  background: #fff;
  border-radius: clamp(0px, 0.14vw, 2.688px);
  transform: rotate(45deg);
  box-shadow: max(-0.1vw, -1.92px) max(-0.1vw, -1.92px) clamp(0px, 0.6vw, 11.52px) rgba(30, 47, 78, 0.04);
}

.services-popover--desktop .services-popover__content {
  position: relative;
  gap: clamp(0px, 0.35vw, 6.72px);
  padding: clamp(0px, 0.8vw, 15.36px);
  background: rgba(255, 255, 255, 0.96);
  border: clamp(0px, 0.052vw, 0.998px) solid rgba(72, 91, 133, 0.12);
  border-radius: clamp(0px, 0.9vw, 17.28px);
  box-shadow: 0 clamp(0px, 1vw, 19.2px) clamp(0px, 2.4vw, 46.08px) rgba(36, 48, 65, 0.14);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}

.services-popover--desktop .services-popover__link {
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 0.3vw, 5.76px);
  padding: clamp(0px, 0.8vw, 15.36px) clamp(0px, 0.95vw, 18.24px);
  border-radius: clamp(0px, 0.7vw, 13.44px);
  color: #243041;
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.services-popover--desktop .services-popover__link:hover,
.services-popover--desktop .services-popover__link:focus-visible {
  background: rgba(72, 91, 133, 0.08);
  color: #485b85;
  outline: none;
  transform: translateX(clamp(0px, 0.15vw, 2.88px));
}

.services-popover--desktop .services-popover__title {
  font-size: clamp(0px, 0.93vw, 17.856px);
  font-weight: 500;
  line-height: 1.3;
}

.services-popover--desktop .services-popover__description {
  color: rgba(36, 48, 65, 0.68);
  font-size: clamp(0px, 0.7vw, 13.44px);
  font-weight: 400;
  line-height: 1.45;
  white-space: normal;
}

.services-popover--mobile {
  position: absolute;
  top: calc(100% + clamp(0px, 0.8vw, 15.36px));
  left: 50%;
  width: clamp(0px, 28vw, 537.6px);
  max-width: clamp(0px, 90vw, 1728px);
  max-height: clamp(0px, 15vw, 288px);
  overflow-y: auto;
  padding: clamp(0px, 0.8vw, 15.36px);
  border: clamp(0px, 0.052vw, 0.998px) solid rgba(72, 91, 133, 0.14);
  border-radius: clamp(0px, 0.8vw, 15.36px);
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 clamp(0px, 0.8vw, 15.36px) clamp(0px, 2vw, 38.4px) rgba(36, 48, 65, 0.12);
  transform: translateX(-50%);
}

.services-popover--mobile .services-popover__content {
  gap: clamp(0px, 0.35vw, 6.72px);
}

.services-popover--mobile .services-popover__link {
  display: block;
  width: 100%;
  padding: clamp(0px, 0.55vw, 10.56px) clamp(0px, 0.75vw, 14.4px);
  border-radius: clamp(0px, 0.5vw, 9.6px);
  color: rgba(36, 48, 65, 0.9);
  font-size: clamp(0px, 0.94vw, 18.048px);
  font-weight: 500;
  line-height: 1.25;
  text-align: left;
  text-transform: none;
}

.services-popover--mobile .services-popover__link::after {
  display: none;
}

.services-popover--mobile .services-popover__link:hover,
.services-popover--mobile .services-popover__link:focus-visible {
  background: rgba(72, 91, 133, 0.08);
  transform: none;
  outline: none;
}

@media (max-width: 767px) {
  .services-popover--mobile {
    width: clamp(0px, 82vw, 1574.4px);
    max-width: clamp(0px, 92vw, 1766.4px);
    max-height: clamp(0px, 37vw, 710.4px);
    top: calc(100% + clamp(0px, 2.4vw, 46.08px));
    padding: clamp(0px, 2.4vw, 46.08px);
    border-width: clamp(0px, 0.13vw, 2.496px);
    border-radius: clamp(0px, 2.6vw, 50px);
    box-shadow: 0 clamp(0px, 2.6vw, 50px) clamp(0px, 7vw, 134.4px) rgba(36, 48, 65, 0.13);
  }

  .services-popover--mobile .services-popover__content {
    gap: clamp(0px, 1.4vw, 26.88px);
  }

  .services-popover--mobile .services-popover__link {
    padding: clamp(0px, 2.1vw, 40.32px) clamp(0px, 2.6vw, 50px);
    border-radius: clamp(0px, 1.9vw, 36.48px);
    font-size: clamp(0px, 3.5vw, 67.2px);
    line-height: 1.25;
  }
}

.section-container {
  width: 100%;
  box-sizing: border-box;
}

.section-container__content {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding-left: clamp(0px, 2.604vw, 50px);
  padding-right: clamp(0px, 2.604vw, 50px);
  box-sizing: border-box;
}

/*@media (max-width: 767px) {*/
/*  .section-container__content {*/
/*    padding: 0;*/
/*  }*/
/*}*/
.ui-fullscreen-gallery-overlay {
  position: fixed;
  inset: 0;
  width: clamp(0px, 100vw, 1920px);
  height: 100vh;
  background-color: rgba(15, 15, 15, 0.95);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  z-index: 999999;
}

.ui-fullscreen-gallery-container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ui-fullscreen-gallery-image-wrapper {
  width: min(clamp(0px, 72vw, 1382.4px), 1400px);
  height: min(82vh, 900px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ui-fullscreen-gallery-main-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: clamp(0px, 0.63vw, 12.096px);
  box-shadow: 0 clamp(0px, 0.52vw, 9.984px) clamp(0px, 2.08vw, 39.936px) rgba(0, 0, 0, 0.5);
}

.ui-fullscreen-gallery-main-image.slide-next {
  animation: uiFullscreenGallerySlideInFromRight 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

.ui-fullscreen-gallery-main-image.slide-prev {
  animation: uiFullscreenGallerySlideInFromLeft 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

@keyframes uiFullscreenGallerySlideInFromRight {
  0% {
    opacity: 0;
    transform: translateX(clamp(0px, 2.6vw, 50px));
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes uiFullscreenGallerySlideInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(max(-2.6vw, -50px));
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.ui-fullscreen-gallery-close-btn {
  position: absolute;
  top: clamp(0px, 1.56vw, 29.952px);
  right: clamp(0px, 2.08vw, 39.936px);
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(0px, 1.82vw, 34.944px);
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
}

.ui-fullscreen-gallery-close-btn:hover {
  color: white;
  transform: scale(1.15);
}

.ui-fullscreen-gallery-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(60 * var(--fluid-unit));
  height: calc(60 * var(--fluid-unit));
  background: rgba(255, 255, 255, 0.1);
  border: clamp(0px, 0.052vw, 0.998px) solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: white;
  font-size: clamp(0px, 2.08vw, 39.936px);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.ui-fullscreen-gallery-nav-btn:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: translateY(-50%) scale(1.1);
}

.ui-fullscreen-gallery-nav-btn.prev {
  left: clamp(0px, 5vw, 96px);
  padding-bottom: clamp(0px, 0.26vw, 4.992px);
}

.ui-fullscreen-gallery-nav-btn.next {
  right: clamp(0px, 5vw, 96px);
  padding-bottom: clamp(0px, 0.26vw, 4.992px);
}

.ui-fullscreen-gallery-counter {
  position: absolute;
  bottom: clamp(0px, 2.08vw, 39.936px);
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.85);
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 0.94vw, 18.048px);
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .ui-fullscreen-gallery-image-wrapper {
    width: clamp(0px, 90vw, 1728px);
    height: 74vh;
  }

  .ui-fullscreen-gallery-main-image {
    border-radius: clamp(0px, 2vw, 38.4px);
  }

  .ui-fullscreen-gallery-nav-btn {
    width: clamp(0px, 12vw, 230.4px);
    height: clamp(0px, 12vw, 230.4px);
    font-size: clamp(0px, 8vw, 153.6px);
    border: clamp(0px, 0.2vw, 3.84px) solid rgba(255, 255, 255, 0.2);
  }

  .ui-fullscreen-gallery-nav-btn.prev {
    left: clamp(0px, 2vw, 38.4px);
  }

  .ui-fullscreen-gallery-nav-btn.next {
    right: clamp(0px, 2vw, 38.4px);
  }

  .ui-fullscreen-gallery-close-btn {
    top: clamp(0px, 4vw, 76.8px);
    right: clamp(0px, 4vw, 76.8px);
    font-size: clamp(0px, 8vw, 153.6px);
  }

  .ui-fullscreen-gallery-counter {
    bottom: clamp(0px, 5vw, 96px);
    font-size: clamp(0px, 4vw, 76.8px);
  }
}

.btn-position-aware {
    --position-aware-bg: rgba(226, 226, 226, 0.7);
    --position-aware-hover-bg: rgba(226, 226, 226, 0.7);
    --position-aware-border: #E0E0E0;
    --position-aware-text-color: #000000;
    --position-aware-text-hover-color: #FFFFFF;
    --position-aware-wave-color: #485B85;
    --position-aware-padding-y: clamp(0px, 1.46vw, 28.032px);
    --position-aware-padding-x: clamp(0px, 2.083vw, 39.994px);
    --position-aware-radius: clamp(0px, 2.6vw, 50px);
    --position-aware-border-width: clamp(0px, 0.052vw, 0.998px);
    --position-aware-font-size: clamp(0px, 0.625vw, 12px);
    --position-aware-line-height: clamp(0px, 0.833vw, 15.994px);
    --position-aware-font-weight: 600;
    --position-aware-wave-size: clamp(0px, 30vw, 576px);
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: var(--position-aware-padding-y) var(--position-aware-padding-x);
    border-radius: var(--position-aware-radius);
    border: var(--position-aware-border-width) solid var(--position-aware-border);
    background: var(--position-aware-bg);
    color: var(--position-aware-text-color);
    font-family: 'Geist', sans-serif;
    font-size: var(--position-aware-font-size);
    font-weight: var(--position-aware-font-weight);
    line-height: var(--position-aware-line-height);
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    z-index: 1;
    box-sizing: border-box;
}

.btn-position-aware .wave-span {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    background-color: var(--position-aware-wave-color);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
    z-index: 0;
    pointer-events: none;
}

.btn-position-aware:hover {
    background: var(--position-aware-hover-bg);
}

.btn-position-aware:hover .wave-span,
.btn-position-aware:focus-visible .wave-span {
    width: var(--position-aware-wave-size);
    height: var(--position-aware-wave-size);
}

.btn-position-aware .btn-text {
    position: relative;
    z-index: 1;
    transition: color 0.4s ease-in-out;
    pointer-events: none;
    text-align: center;
}

.btn-position-aware:hover .btn-text,
.btn-position-aware:focus-visible .btn-text {
    color: var(--position-aware-text-hover-color);
}

.btn-position-aware:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-position-aware:disabled .wave-span {
    width: 0;
    height: 0;
}

.btn-position-aware:disabled .btn-text {
    color: var(--position-aware-text-color);
}

@media (max-width: 767px) {
    .btn-position-aware {
        --position-aware-padding-y: clamp(0px, 5.469vw, 105.005px);
        --position-aware-padding-x: clamp(0px, 5.729vw, 109.997px);
        --position-aware-radius: clamp(0px, 16.54vw, 317.568px);
        --position-aware-border-width: clamp(0px, 0.2vw, 3.84px);
        --position-aware-font-size: clamp(0px, 2.868vw, 55.066px);
        --position-aware-line-height: clamp(0px, 1.92vw, 36.864px);
        --position-aware-wave-size: clamp(0px, 100vw, 1920px);
    }
}

.hero {
    /*padding: 0 0 clamp(0px, 4.167vw, 80.006px) 0;*/
    padding-top: clamp(0px, 1.563vw, 30.01px);
}

.hero_nuv {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: clamp(0px, 2.6vw, 50px);
}

.hero_nuv > div:last-child {
    flex: 1 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    align-self: stretch;
}

.hero_nuv-left {
    flex: 0 0 clamp(0px, 42vw, 806.4px);
    position: relative;
}

.hero_nuv-left-text {
    width: clamp(0px, 38.02vw, 729.984px);
    font-weight: 700;
    font-size: clamp(0px, 2.61vw, 50.112px);
    line-height: clamp(0px, 3.925vw, 75.36px);
    color: #000000;
    text-align: left;
    text-transform: uppercase;
    margin-top: clamp(0px, 1.563vw, 30.01px);
}

.hero_nuv-left-text span {
    color: #485B85;
    text-decoration: underline;
    text-decoration-thickness: clamp(0px, 0.16vw, 3.072px);
    text-underline-offset: clamp(0px, 0.26vw, 4.992px);
}

.hero_nuv-left-text-description {
    width: clamp(0px, 30.21vw, 580.032px);
    font-weight: 300;
    font-size: var(--font-size-h8);
    line-height: clamp(0px, 1.72vw, 33.024px);
    text-align: left;
    color: #1A1A1ABF;
    margin-top: clamp(0px, 0.78vw, 14.976px);
}

.hero_nuv-left-buttons {
    display: flex;
    gap: clamp(0px, 0.78vw, 14.976px);
    margin-top: clamp(0px, 1.56vw, 29.952px);
    align-items: center;
}

.hero_nuv-left-about {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.78vw, 14.976px);
    margin-top: clamp(0px, 2.6vw, 50px);
}

.hero_nuv-tooth-icon {
    width: clamp(0px, 1.56vw, 29.952px);
    height: clamp(0px, 1.56vw, 29.952px);
    border-radius: 50%;
    background: #485B85;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.hero_nuv-tooth-icon svg {
    width: clamp(0px, 0.78vw, 14.976px);
    height: clamp(0px, 0.73vw, 14.016px);
}


.hero_nuv-about-text {
    font-size: var(--font-size-body);
    font-weight: 300;
    color: #1A1A1ABF;
    font-family: 'Geist', sans-serif;
}

.hero_center-card {
    position: absolute;
    top: 13%;
    left: 89%;
    width: 100%;
    max-width: clamp(0px, 19.79vw, 379.968px);
    background: #EBEBEB;
    border-radius: clamp(0px, 1.04vw, 19.968px);
    padding: clamp(0px, 0.52vw, 9.984px) clamp(0px, 1.3vw, 24.96px) clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.3vw, 24.96px);
    z-index: 10;
}

.hero_center-item {
    display: flex;
    align-items: flex-start;
    gap: clamp(0px, 0.78vw, 14.976px);
    padding: clamp(0px, 0.52vw, 9.984px) 0;
    cursor: pointer;
}

.hero_center-icon {
    flex-shrink: 0;
    margin-top: clamp(0px, 0.21vw, 4.032px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(0px, 0.68vw, 13.056px);
    height: clamp(0px, 0.68vw, 13.056px);
}

.hero_center-icon svg {
    width: 100%;
    height: 100%;
}

.hero_center-content {
    flex: 1 1;
    text-align: left;
}

.hero_center-title {
    font-size: var(--font-size-body);
    font-weight: 500;
    color: #000000;
    font-family: 'Geist', sans-serif;
    margin-bottom: clamp(0px, 0.21vw, 4.032px);
    text-align: left;
}

.hero_center-description {
    font-size: var(--font-size-body-small);
    font-weight: 300;
    color: #1A1A1ABF;
    font-family: 'Geist', sans-serif;
    line-height: 1.4;
    text-align: left;
}

.hero_center-arrow {
    margin-top: clamp(0px, 0.52vw, 9.984px);
    flex-shrink: 0;
    width: clamp(0px, 0.94vw, 18.048px);
    height: clamp(0px, 0.89vw, 17.088px);
}

.hero_center-arrow svg {
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}

.hero_center-divider {
    height: clamp(0px, 0.052vw, 0.998px);
    background: #1a1a1a59;
    margin: 0;
    transform: scaleY(0.5);
    transform-origin: center;
}


.hero_nuv-right {
    flex: 1 1;
    display: flex;
    justify-content: flex-start;
    margin-top: clamp(0px, 1.15vw, 22.08px);
}

.hero_nuv-carousel-wrapper {
    display: flex;
    align-items: center;
    gap: clamp(0px, 1.56vw, 29.952px);
}

.hero_nuv-carousel {
    position: relative;
    width: 100%;
    height: clamp(0px, 15.63vw, 300.096px);
    overflow: hidden;
    border-radius: clamp(0px, 1.56vw, 29.952px);
}

.hero_nuv-carousel-slides {
    display: flex;
    height: 100%;
}

.hero_nuv-carousel-slide {
    width: 100%;
    min-width: 100%;
    height: 100%;
    flex-shrink: 0;
}

.hero_nuv-carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease-in-out;
}

.hero_nuv-carousel-dots-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    padding: clamp(0px, 0.21vw, 4.032px) 0;
}

.hero_nuv-carousel-dots {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.26vw, 4.992px);
    position: relative;
    z-index: 2;
}

.hero_nuv-carousel-dot {
    width: clamp(0px, 0.26vw, 4.992px);
    height: clamp(0px, 0.26vw, 4.992px);
    border-radius: 50%;
    border: none;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    position: relative;
    z-index: 2;
}

.hero_nuv-carousel-dot.active {
    background: #000000;
    height: clamp(0px, 0.52vw, 9.984px);
}

.hero_nuv-ratings {
    display: flex;
    gap: clamp(0px, 0.52vw, 9.984px);
    margin-top: clamp(0px, 2.6vw, 50px);
    align-items: center;
}


.hero_nuv-rating-card {
    height: clamp(0px, 3.5vw, 67.2px);
    background: #FFFFFF;
    border: 1px solid rgba(215, 215, 215, 1);
    /* box-shadow: 0 0 0 clamp(0px, 0.026vw, 0.499px) rgba(235, 235, 235, 1); */
    border-radius: clamp(0px, 0.63vw, 12.096px);
    padding: clamp(0px, 0.63vw, 12.096px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: clamp(0px, 0.42vw, 8.064px);
    transition: transform 0.3s ease;
    cursor: pointer;
    text-decoration: none;
}

.hero_nuv-rating-card:hover {
    transform: scale(1.05);
}

.hero_nuv-rating-icon {
    width: auto;
    height: clamp(0px, 1.09vw, 20.928px);
    object-fit: contain;
    flex-shrink: 0;
    align-self: flex-start;
}

.hero_nuv-rating-content {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.21vw, 4.032px);
    align-items: flex-start;
    width: 100%;
}

.hero_nuv-rating-stars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, 0.21vw, 4.032px);
}

.hero_nuv-rating-value {
    font-size: var(--font);
    font-weight: 700;
    color: #000000;
    font-family: 'Geist', sans-serif;
    margin-right: clamp(0px, 0.21vw, 4.032px);
}

.hero_nuv-rating-stars svg {
    width: clamp(0px, 0.94vw, 18.048px);
    height: clamp(0px, 0.89vw, 17.088px);
    flex-shrink: 0;
}

.hero_nuv-ratings-counter {
    font-size: clamp(0px, 0.83vw, 15.936px); /* ~16px */
    font-weight: 500;
    margin-right: clamp(0px, 0.52vw, 9.984px); /* ~10px */
    color: #1A1A1A;
}

.hero_nuv-ratings-nav {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.78vw, 14.976px); /* ~15px на ПК */
    position: relative;
    z-index: 10;
    /*margin-left: auto;*/
}

/* Кнопка */
.hero_nuv-nav-btn {
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(215, 215, 215, 1);
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    border-radius: 50%;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

/* Эффект при наведении (hover) - красивое увеличение */
.hero_nuv-nav-btn:hover {
    /*transform: scale(1.08) ;*/
    /*filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.08));*/
    border: clamp(0px, 0.052vw, 0.998px) solid #485B85;
}

.hero_nuv-nav-btn:hover .hero_nuv-nav-arrow path {
    stroke-opacity: 1;
    transition: stroke-opacity 0.3s ease;
}


.hero_nuv-nav-arrow {
    position: relative;
    width: clamp(0px, 0.52vw, 9.984px); /* ~10px */
    height: clamp(0px, 0.78vw, 14.976px); /* ~15px */
    z-index: 2;
}

.hero_nuv-doctor-image {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: clamp(0px, 1.04vw, 19.968px);
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
}

.hero_nuv-doctor-image img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: clamp(0px, 47.45vw, 911.04px);
    display: block;
    object-fit: cover;
    object-position: center 30%;
    border-radius: clamp(0px, 1.04vw, 19.968px);
}

.hero_nuv-btn-2 {
    --position-aware-font-size: clamp(0px, 0.677vw, 12.998px);
    --position-aware-line-height: clamp(0px, 0.94vw, 18.048px);
}

.hero_nuv-btn-3 {
    --action-button-font-size: clamp(0px, 0.677vw, 12.998px);
    --action-button-line-height: clamp(0px, 0.94vw, 18.048px);
}

@media (max-width: 767px) {
    .hero {
        /*padding: 0 0 clamp(0px, 19.557vw, 375.494px) 0;*/
        padding-top: 0;
    }

    .hero_nuv {
        flex-direction: column;
        gap: clamp(0px, 6.36vw, 122.112px);
        padding: 0 clamp(0px, 2.608vw, 50.074px);
        position: relative;
    }

    .hero_nuv > div:last-child {
        order: 1;
        width: 100%;
        position: relative;
    }

    .hero_nuv-left {
        order: 2;
        flex: none;
        width: 100%;
        position: relative;
    }

    .hero_nuv-left-text {
        width: 100%;
        font-size: clamp(0px, 6.37vw, 122.304px);
        font-weight: 700;
        line-height: clamp(0px, 8.33vw, 159.936px);
    }

    .hero_nuv-left-text span {
        text-decoration-thickness: clamp(0px, 0.26vw, 4.992px);
        text-underline-offset: clamp(0px, 0.64vw, 12.288px);
    }

    .hero_nuv-left-text-description {
        width: 100%;
        font-size: clamp(0px, 3.85vw, 73.92px);
        font-weight: 300;
        line-height: clamp(0px, 5.77vw, 110.784px);
        margin-top: clamp(0px, 3.911vw, 75.091px);
    }

    .hero_nuv-left-buttons {
        display: flex;
        flex-direction: row;
        gap: clamp(0px, 1.92vw, 36.864px);
        margin-top: clamp(0px, 6.519vw, 125.165px);
        align-items: center;
        width: 100%;
    }

    .hero_nuv-btn-2 {
        max-width: clamp(0px, 37.549vw, 720.941px);
        width: 100%;
        --position-aware-font-size: clamp(0px, 2.868vw, 55.066px);
        --position-aware-line-height: clamp(0px, 1.956vw, 37.555px);

    }

    .hero_nuv-btn-3 {
        max-width: clamp(0px, 55.411vw, 1063.891px);
        width: 100%;
        --action-button-font-size: clamp(0px, 2.868vw, 55.066px);
        --action-button-line-height: clamp(0px, 1.956vw, 37.555px);
    }

    .hero_nuv-left-about {
        display: flex;
        align-items: center;
        gap: clamp(0px, 2.56vw, 49.152px);
        margin-top: clamp(0px, 13.021vw, 250.003px);
        margin-bottom: clamp(0px, 2.56vw, 49.152px);
    }

    .hero_nuv-tooth-icon {
        width: clamp(0px, 7.05vw, 135.36px);
        height: clamp(0px, 7.05vw, 135.36px);
        border-radius: 50%;
        background: #485B85;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .hero_nuv-tooth-icon svg {
        width: clamp(0px, 3.21vw, 61.632px);
        height: clamp(0px, 3.21vw, 61.632px);
    }

    .hero_nuv-about-text {
        font-size: clamp(0px, 3.21vw, 61.632px);
    }

    .hero_center-card {
        position: absolute;
        top: max(-51.9vw, -996.48px);
        bottom: auto;
        right: 1.4svw;
        left: auto;
        max-width: calc(100% - clamp(0px, 5.13vw, 98.496px));
        width: clamp(0px, 65vw, 1248px);
        /* min-width: clamp(0px, 25.641vw, 492.307px); */
        z-index: 10;
        padding: clamp(0px, 1.7vw, 32.64px) clamp(0px, 4.22vw, 81.024px) clamp(0px, 2.6vw, 50px) clamp(0px, 3.32vw, 63.744px);
        border-radius: clamp(0px, 1.7vw, 32.64px);
    }

    .hero_center-item {
        gap: clamp(0px, 1.3vw, 24.96px);
    }

    .hero_center-icon {
        width: clamp(0px, 2.1vw, 40.32px);
        height: clamp(0px, 2.1vw, 40.32px);
        margin-top: clamp(0px, 1.1vw, 21.12px);
    }

    .hero_center-title {
        font-size: clamp(0px, 3.1vw, 59.52px);
        margin-bottom: clamp(0px, 0.9vw, 17.28px);
    }

    .hero_center-description {
        font-size: clamp(0px, 2.3vw, 44.16px);
    }

    .hero_center-arrow {
        width: clamp(0px, 3.5vw, 67.2px);
        height: clamp(0px, 2.7vw, 51.84px);
        margin-top: clamp(0px, 1.5vw, 28.8px);
    }

    .hero_nuv-right {
        order: 3;
        width: 100%;
        margin-top: 0;
        position: relative;
    }

    .hero_nuv-carousel-wrapper {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
        position: static;
    }

    .hero_nuv-carousel {
        min-height: clamp(0px, 51.28vw, 984.576px);
        height: clamp(0px, 51.28vw, 984.576px);
        border-radius: clamp(0px, 2.564vw, 49.229px);
        border: clamp(0px, 0.128vw, 2.458px) solid rgba(215, 215, 215, 1);
        order: 1;
        width: 100%;
    }

    .hero_nuv-carousel-dots-wrapper {
        position: absolute;
        /*top: calc(clamp(0px, 51.28vw, 984.576px) + clamp(0px, 10.36vw, 198.912px) + clamp(0px, 11.67vw, 224.064px) + clamp(0px, 2.56vw, 49.152px) + clamp(0px, 3vw, 57.6px));*/
        top: clamp(0px, 75.28vw, 1445.376px);
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        margin-top: 0;
        flex-direction: row;
        padding: 0;
        width: auto;
        min-width: clamp(0px, 20vw, 384px);
        justify-content: center;
        align-items: center;
        display: flex;
        flex-shrink: 0;
        z-index: 100;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        background: transparent;
    }

    .hero_nuv-carousel-dots {
        display: flex;
        visibility: visible;
        flex-direction: row;
        gap: clamp(0px, 0.64vw, 12.288px);
    }

    .hero_nuv-carousel-dot {
        display: block;
        visibility: visible;
        opacity: 1;
        width: clamp(0px, 0.77vw, 14.784px);
        height: clamp(0px, 0.77vw, 14.784px);
    }

    .hero_nuv-carousel-dot.active {
        width: clamp(0px, 2.05vw, 39.36px);
        height: clamp(0px, 0.77vw, 14.784px);
        border-radius: clamp(0px, 12.82vw, 246.144px);
    }

    .hero_nuv-ratings {
        order: 4;
        width: 100%;
        margin-top: 0;
        display: flex;
        flex-wrap: wrap;
        gap: clamp(0px, 2.56vw, 49.152px);
        align-items: flex-start;
        position: relative;
        padding-top: clamp(0px, 2.56vw, 49.152px);
    }

    .hero_nuv-rating-card {
        width: clamp(0px, 29.5vw, 566.4px);
        height: clamp(0px, 12.87vw, 247.104px);
        padding: clamp(0px, 1.03vw, 19.776px) clamp(0px, 1.67vw, 32.064px);
        border-radius: clamp(0px, 1.03vw, 19.776px);
        gap: clamp(0px, 0.77vw, 14.784px);
        order: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero_nuv-rating-icon {
        height: clamp(0px, 3.2vw, 61.44px);
        display: block;
        margin-left: 10%;
    }

    .hero_nuv-rating-content {
        display: flex;
        flex-direction: column;
        gap: clamp(0px, 0.21vw, 4.032px);
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .hero_nuv-rating-value {
        font-size: clamp(0px, 3.2vw, 61.44px);
        margin-right: clamp(0px, 0.51vw, 9.792px);
    }

    .hero_nuv-rating-stars {
        gap: clamp(0px, 0.38vw, 7.296px);
        justify-content: center;
    }

    .hero_nuv-rating-stars svg {
        width: clamp(0px, 2.6vw, 50px); /* Было clamp(0px, 2.05vw, 39.36px) - увеличили звездочки */
        height: clamp(0px, 2.4vw, 46.08px);
    }

    .hero_nuv-ratings-nav {
        gap: clamp(0px, 3vw, 57.6px);
        width: 100%;
        order: 2;
        justify-content: flex-end;
        margin-top: clamp(0px, 15.531vw, 298.195px);
        margin-left: 0;
    }

    .hero_nuv-ratings-counter {
        font-size: clamp(0px, 2.56vw, 49.152px);
        margin-right: clamp(0px, 1vw, 19.2px);
    }

    .hero_nuv-nav-btn {
        width: clamp(0px, 13.021vw, 250.003px);
        height: clamp(0px, 13.021vw, 250.003px);

    }

    .hero_nuv-nav-arrow {
        width: clamp(0px, 2vw, 38.4px); /* Было clamp(0px, 1.5vw, 28.8px) - сделали саму стрелку покрупнее */
        height: clamp(0px, 3.2vw, 61.44px); /* Было clamp(0px, 2.5vw, 48px) */
    }

    .hero_nuv-doctor-image {
        width: 100%;
        height: clamp(0px, 128.21vw, 2461.632px);
        max-height: clamp(0px, 128.21vw, 2461.632px);
        position: relative;
        border-radius: clamp(0px, 2.2vw, 42.24px);
    }

    .hero_nuv-doctor-image img {
        width: 100%;
        height: 100%;
        max-height: clamp(0px, 128.21vw, 2461.632px);
        object-fit: cover;
    }


}

.googing {
    width: 100%;
    background: #F5F5F5;
    /* Сверху clamp(0px, 3.65vw, 70.08px) (70px), справа clamp(0px, 2.6vw, 50px) (50px), снизу clamp(0px, 5.2vw, 99.84px) (100px), слева clamp(0px, 2.6vw, 50px) (50px) */
    padding: clamp(0px, 3.65vw, 70.08px) 0 clamp(0px, 5.2vw, 99.84px);
    box-sizing: border-box;
}

.googing-container {
    width: 100%;
    margin: 0 auto;
}

/* =========================================
   ВЕРХНИЙ БЛОК (Заголовок 1 + Описание 1)
   ========================================= */
.googing-header {
    text-align: left;

    /* Отступ ровно 50px до нижнего контента */
    margin-bottom: clamp(0px, 2.6vw, 50px);

    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.googing-main-title {
    font-family: 'Geist', sans-serif;
    font-weight: 700;
    font-size: clamp(0px, 2.344vw, 45.005px); /* 45px в vw */
    line-height: clamp(0px, 3.385vw, 64.992px); /* 65px в vw */
    color: #000000;
    text-align: left;
    text-transform: uppercase;
    vertical-align: middle;
    margin-bottom: clamp(0px, 0.52vw, 9.984px);
}

.googing-main-title span {
    text-decoration: underline;
    -webkit-text-decoration-style: solid;
            text-decoration-style: solid;
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    color: #485B85;
}

.googing-main-description {
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 1.146vw, 22.003px); /* 22px в vw */
    line-height: clamp(0px, 1.719vw, 33.005px); /* 33px в vw */
    color: #1A1A1ABF;
    text-align: left;
    max-width: clamp(0px, 61vw, 1171.2px);
}

/* =========================================
   КОНТЕНТ (Блоки по 895px = clamp(0px, 46.61vw, 894.912px))
   ========================================= */
.googing-content {
    display: flex;
    justify-content: space-between;
    gap: clamp(0px, 1.04vw, 19.968px);
    width: 100%;
    align-items: stretch;
}

/* --- ЛЕВАЯ ЧАСТЬ (895x706, gap 10, radius 20) --- */
.googing-left {
    width: clamp(0px, 46.614vw, 894.989px); /* 895px в vw */
    height: clamp(0px, 36.77vw, 705.984px); /* 706px в vw */
    flex-shrink: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.52vw, 9.984px); /* 10px в vw */
    opacity: 1;
    border-radius: clamp(0px, 1.041vw, 19.987px); /* 20px в vw */
}

.googing-doctor-image {
    width: 100%;
    height: 100%;
    background: #E0E0E0;
    border-radius: clamp(0px, 1.041vw, 19.987px);
    overflow: hidden;
    position: relative;
}

.googing-doctor-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
}

.googing-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(0px, 4.17vw, 80.064px);
    height: clamp(0px, 4.17vw, 80.064px);
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: transform 0.3s ease;
    box-sizing: content-box;
}

.googing-play-button::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 4.17vw, 80.064px);
    height: clamp(0px, 4.17vw, 80.064px);
    background: #FFFFFF;
    border-radius: 50%;
    animation: pulse-border 1500ms ease-out infinite;
}

.googing-play-button::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 4.17vw, 80.064px);
    height: clamp(0px, 4.17vw, 80.064px);
    background: #FFFFFF;
    border-radius: 50%;
    transition: all 200ms;
}

.googing-play-button:hover::after {
    background-color: #f5f5f5;
}

.googing-play-button:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

.googing-play-button svg {
    width: clamp(0px, 1.16vw, 22.272px);
    height: clamp(0px, 1.4vw, 26.88px);
    transform: translateX(clamp(0px, 0.1vw, 1.92px));
    position: relative;
    z-index: 3;
}

@keyframes pulse-border {
    0% {
        transform: translate(-50%, -50%) translateZ(0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}

.googing-doctor-info {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: clamp(0px, 1.04vw, 19.968px);
    padding: clamp(0px, 0.26vw, 4.992px);
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.42vw, 8.064px);
    position: absolute;
    bottom: clamp(0px, 0.8vw, 15.36px);
    right: clamp(0px, 0.8vw, 15.36px);
    border: clamp(0px, 0.03vw, 0.576px) solid rgba(255, 255, 255, 1);
    border-top: clamp(0px, 0.1vw, 1.92px) solid rgba(255, 255, 255, 1);
}

.googing-doctor-info-card {
    background: #FFFFFF;
    padding: clamp(0px, 0.52vw, 9.984px) clamp(0px, 1.25vw, 24px);
    gap: clamp(0px, 1.56vw, 29.952px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: clamp(0px, 0.78vw, 14.976px);
}

.googing-doctor-name {
    font-size: var(--font-size-h5);
    text-align: left;
    font-weight: 700;
    color: rgba(25, 25, 25, 1);
    font-family: 'Geist', sans-serif;
    margin-bottom: clamp(0px, 0.26vw, 4.992px);
}

.googing-doctor-title {
    font-size: var(--font-size-body-small);
    font-weight: 400;
    text-align: left;
    color: #666666;
    font-family: 'Geist', sans-serif;
}

.googing-doctor-contact {
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    background: rgba(46, 61, 88, 1);
    border-radius: clamp(0px, 2.6vw, 50px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.googing-doctor-contact svg {
    width: clamp(0px, 1.2vw, 23.04px);
    height: clamp(0px, 0.94vw, 18.048px);
}

/* --- ПРАВАЯ ЧАСТЬ (895x706, padding 30, space-between, radius 20) --- */
.googing-right {
    width: clamp(0px, 46.614vw, 894.989px); /* 895px в vw */
    height: clamp(0px, 36.77vw, 705.984px); /* 706px в vw */
    flex-shrink: 0;
}

.googing-form-card {
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    border-radius: clamp(0px, 1.041vw, 19.987px); /* 20px в vw */
    padding: clamp(0px, 1.562vw, 29.99px); /* 30px в vw. Это и есть ваш отступ в 30px сверху! */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Распределяем элементы по высоте */
    box-sizing: border-box;
    opacity: 1;
}

.googing-form-title {
    font-family: 'Geist', sans-serif;
    font-weight: 700;
    font-size: clamp(0px, 2.083vw, 39.994px);
    line-height: clamp(0px, 2.708vw, 51.994px);
    text-transform: uppercase;
    text-align: left;
    color: #000;
    margin: 0 0 clamp(0px, 1.562vw, 29.99px) 0; /* <-- Задали отступ снизу 30px */
    vertical-align: middle;
}

.googing-form-description {
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 1.146vw, 22.003px);
    line-height: clamp(0px, 1.719vw, 33.005px);
    color: #1A1A1ABF;
    text-align: left;
    margin: 0 0 clamp(0px, 1.562vw, 29.99px) 0; /* <-- Задали отступ снизу 30px */
}

/* =========================================
   КНОПКИ
   ========================================= */
.googing-form-buttons {
    display: flex;
    gap: clamp(0px, 1.04vw, 19.968px);
    margin: 0 0 clamp(0px, 0.52vw, 9.984px) 0; /* <-- Задали отступ снизу 10px */
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}

.googing-btn {
    padding: clamp(0px, 1.46vw, 28.032px) clamp(0px, 2.08vw, 39.936px);
    border-radius: clamp(0px, 5.2vw, 99.84px);
    font-weight: 600;
    font-size: var(--font-size-button-secondary);
    line-height: clamp(0px, 0.99vw, 19.008px);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    font-family: 'Geist', sans-serif;
}

.googing-btn-secondary {
    /*background: #E2E2E2B2 !important; !* Теперь этот цвет сработает на 100% *!*/
    /*color: #000000;*/
    border: none; /* Убираем бордер, если он не нужен */
}

/* НАСТРОЙКИ ТЕКСТА КНОПКИ (ИЗ FIGMA) */
.googing-btn-secondary .btn-text {
    font-family: 'Geist', sans-serif ;
    font-weight: 600; /* SemiBold */
    font-size: clamp(0px, 0.625vw, 12px); /* 12px */
    line-height: clamp(0px, 0.873vw, 16.762px); /* 16.77px */
    letter-spacing: 0;
    vertical-align: middle;

    /* В Figma 'background' для текста означает его цвет (color) */
    /*color: #191919 !important; */
}

/* Ховер эффект, чтобы кнопка реагировала на мышку */
.googing-btn-secondary:hover {
    background: #D0D0D0 !important;
}

/*.googing-btn-1 {*/
/*    padding: clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 1.56vw, 29.952px);*/
/*    border-radius: clamp(0px, 2.6vw, 50px);*/
/*    border: clamp(0px, 0.052vw, 0.998px) solid #2E3D58;*/
/*    font-weight: 700;*/
/*    font-size: var(--font-size-button);*/
/*    line-height: clamp(0px, 0.89vw, 17.088px);*/
/*    cursor: pointer;*/
/*    transition: all 0.3s ease;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    gap: clamp(0px, 1.56vw, 29.952px);*/
/*    font-family: 'Geist', sans-serif;*/
/*    position: relative;*/
/*    overflow: hidden;*/
/*}*/

/*.googing-btn-primary {*/
/*    background: #485B85;*/
/*    color: #FFFFFF;*/
/*}*/

/*.googing-btn-primary span {*/
/*    color: #FFFFFF;*/
/*    transition: color 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);*/
/*    position: relative;*/
/*    z-index: 3;*/
/*}*/

/*.googing-btn-primary:hover span {*/
/*    color: #485B85;*/
/*    transform: translateX(min(clamp(0px, 3.65vw, 70.08px), clamp(0px, 15.31vw, 293.952px)));*/
/*}*/

/*.googing-btn-icon {*/
/*    width: clamp(0px, 3.125vw, 60px);*/
/*    height: clamp(0px, 3.125vw, 60px);*/
/*    border-radius: 50%;*/
/*    background: #FFFFFF;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    flex-shrink: 0;*/
/*    position: relative;*/
/*    z-index: 2;*/
/*}*/

/*.googing-btn-icon svg {*/
/*    width: clamp(0px, 0.73vw, 14.016px);*/
/*    height: clamp(0px, 0.63vw, 12.096px);*/
/*    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);*/
/*}*/

/*.googing-btn-1 .flare {*/
/*    position: absolute;*/
/*    top: 0;*/
/*    height: 100%;*/
/*    width: 45px;*/
/*    transform: skewX(-45deg);*/
/*    animation: flareAnimation 3s infinite;*/
/*    left: -170%;*/
/*    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), #fff);*/
/*    filter: blur(0px);*/
/*    z-index: 1;*/
/*    pointer-events: none;*/
/*}*/

@keyframes flareAnimation {
    0% {
        left: -170%;
    }
    50% {
        left: 170%;
    }
    100% {
        left: 170%;
    }
}

/*.googing-btn-1:hover .googing-btn-icon svg {*/
/*    transform: translateX(max(max(-12.7vw, -243.84px), calc(-10% - clamp(0px, 30.56vw, 586.752px)))) rotate(40deg);*/
/*}*/

/*.googing-btn-1::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    right: clamp(0px, 0.31vw, 5.952px);*/
/*    top: 50%;*/
/*    transform: translateY(-50%);*/
/*    width: clamp(0px, 3.125vw, 60px);*/
/*    height: clamp(0px, 3.125vw, 60px);*/
/*    border-radius: 50%;*/
/*    background: #FFFFFF;*/
/*    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);*/
/*    z-index: 0;*/
/*    pointer-events: none;*/
/*}*/

/*.googing-btn-1:hover::after {*/
/*    width: clamp(0px, 41.67vw, 800.064px);*/
/*    height: clamp(0px, 41.67vw, 800.064px);*/
/*    right: max(-20.83vw, -399.936px);*/
/*    top: 50%;*/
/*    transform: translateY(-50%);*/
/*}*/

/* =========================================
   ОПИСАНИЕ СНИЗУ
   ========================================= */

.googing-form-disclaimer {
    font-size: var(--font-size-body-small);
    font-weight: 300;
    color: #1A1A1ABF;
    font-family: 'Geist', sans-serif;
    text-align: left;
    width: 100%;
    margin-top: auto; /* <-- Эта строка обязательно должна быть, она прижмет текст к самому низу карточки */
}

.googing-privacy-link {
    color: #485B85;
    text-decoration: underline;
    text-underline-offset: clamp(0px, 0.2vw, 3.84px);
    cursor: pointer;
    transition: color 0.3s ease;
}

.googing-privacy-link:hover {
    color: #112F55;
}

.googing-btn-2 {
    --action-button-font-size: clamp(0px, 0.677vw, 12.998px);
    --position-aware-font-size: clamp(0px, 0.677vw, 12.998px);;
    --action-button-line-height: clamp(0px, 0.885vw, 16.992px);
    --position-aware-line-height: clamp(0px, 0.885vw, 16.992px);
    text-wrap: nowrap;
}

/* =========================================
   АДАПТИВ (MOBILE)
   ========================================= */
@media (max-width: 767px) {
    .googing {
        padding: clamp(0px, 15.625vw, 300px) clamp(0px, 2.604vw, 49.997px) clamp(0px, 19.531vw, 374.995px);
    }

    .googing-header {
        margin-bottom: 0;
    }

    .googing-main-title {
        width: 100%;
        font-size: clamp(0px, 6.510vw, 124.992px);
        line-height: clamp(0px, 9.115vw, 175.008px);
        margin-bottom: clamp(0px, 2.604vw, 49.997px);
    }

    .googing-main-title span {
        text-decoration-thickness: clamp(0px, 0.4vw, 7.68px);
        text-underline-offset: clamp(0px, 1vw, 19.2px);
    }

    .googing-main-description {
        width: 100%;
        font-size: clamp(0px, 3.385vw, 64.992px);
        line-height: clamp(0px, 5.208vw, 99.994px);
        max-width: 100%;
    }

    .googing-content {
        display: flex;
        flex-direction: column;
        gap: clamp(0px, 3.906vw, 74.995px); /* Отступ между карточкой врача и карточкой формы */
        margin-top: clamp(0px, 9.115vw, 175.008px);
    }

    .googing-left {
        width: 100%;
        height: auto;
    }

    .googing-doctor-image {
        height: clamp(0px, 100vw, 1920px);
        border-radius: clamp(0px, 4vw, 76.8px);
    }

    .googing-play-button {
        width: clamp(0px, 16vw, 307.2px);
        height: clamp(0px, 16vw, 307.2px);
    }

    .googing-play-button::before,
    .googing-play-button::after {
        width: clamp(0px, 16vw, 307.2px) !important;
        height: clamp(0px, 16vw, 307.2px) !important;
    }

    .googing-play-button svg {
        width: clamp(0px, 15.625vw, 300px) !important;
        height: clamp(0px, 15.625vw, 300px) !important;
    }

    .googing-doctor-info {
        padding: clamp(0px, 1.432vw, 27.494px);
        border-radius: clamp(0px, 3vw, 57.6px);
        bottom: clamp(0px, 2.604vw, 49.997px);
        right: clamp(0px, 2.604vw, 49.997px);
        border: 0;
    }

    .googing-doctor-info-card {
        padding: clamp(0px, 1.302vw, 24.998px) clamp(0px, 2.995vw, 57.504px);
        border-radius: clamp(0px, 2vw, 38.4px);
        gap: clamp(0px, 4.427vw, 84.998px);
    }

    .googing-doctor-name {
        font-size: clamp(0px, 4.036vw, 77.491px);
        /*line-height: 100%;*/
        margin-bottom: clamp(0px, 0.681vw, 13.075px);
    }

    .googing-doctor-title {
        font-size: clamp(0px, 2.344vw, 45.005px);
        /*line-height: 100%;*/
        font-weight: 300;
    }

    .googing-doctor-contact {
        width: clamp(0px, 8.073vw, 155.002px);
        height: clamp(0px, 8.073vw, 155.002px);
        border-radius: 50%;
    }

    .googing-doctor-contact svg {
        width: clamp(0px, 4vw, 76.8px);
        height: clamp(0px, 3vw, 57.6px);
    }

    .googing-right {
        width: 100%;
        height: auto;
    }

    .googing-form-card {
        width: 100%;
        height: auto;
        padding: clamp(0px, 6.510vw, 124.992px) clamp(0px, 2.604vw, 49.997px);
        border-radius: clamp(0px, 4vw, 76.8px);
    }

    .googing-form-title {
        width: 100%;
        font-size: clamp(0px, 5.208vw, 99.994px);
        line-height: clamp(0px, 7.161vw, 137.491px);
        margin-bottom: clamp(0px, 2.604vw, 49.997px);
    }

    .googing-form-title span {
        text-decoration: underline;
        text-underline-offset: clamp(0px, 0.5vw, 9.6px);
        text-decoration-thickness: clamp(0px, 0.3vw, 5.76px);
    }

    /* На мобилке скрываем теги <br />, чтобы текст естественно переносился */
    .googing-form-description br {
        display: none;
    }

    .googing-form-description {
        width: 100%;
        font-size: clamp(0px, 3.385vw, 64.992px);
        line-height: clamp(0px, 5.208vw, 99.994px);
        margin-bottom: clamp(0px, 6.510vw, 124.992px);
    }

    /* Настраиваем колонку для кнопок */
    .googing-form-buttons {
        flex-direction: row;
        gap: clamp(0px, 3vw, 57.6px);
        margin-bottom: clamp(0px, 19.531vw, 374.995px);
    }

    /* Мобильная СЕРАЯ кнопка (На всю ширину) */
    .googing-btn-secondary {
        /*width: clamp(0px, 11.979vw, 229.997px) !important; */
        /*height: clamp(0px, 3.75vw, 72px) !important; */
        /*padding: clamp(0px, 0.729vw, 13.997px) clamp(0px, 2.083vw, 39.994px) !important; */
        /*border-radius: clamp(0px, 6.718vw, 128.986px) !important; */

        /* ТВОЙ ЦВЕТ В ФОРМАТЕ RGBA (Эквивалент #E2E2E2B2) */
        background: rgba(226, 226, 226, 0.7) !important;

        /* ВАЖНО: Если кнопка с этим цветом всё ещё кажется белой из-за
           белого фона карточки, раскомментируй строку ниже (это 100% серый цвет без прозрачности): */
        /* background: #E2E2E2 !important; */

        color: #000000 !important;
        border: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .googing-btn-secondary .btn-text {
        font-size: clamp(0px, 1.823vw, 35.002px);
        line-height: clamp(0px, 2.604vw, 49.997px);
        /*font-size: clamp(0px, 2.083vw, 39.994px);*/
        /*line-height: clamp(0px, 2.995vw, 57.504px);*/
    }

    /* Мобильная СИНЯЯ кнопка (На всю ширину) */
    /*.googing-btn,*/
    /*.googing-btn-1 {*/
    /*    width: 100%;*/
    /*    height: clamp(0px, 11.068vw, 212.506px);*/
    /*    border-radius: clamp(0px, 10vw, 192px);*/
    /*    !*padding: 0 clamp(0px, 2vw, 38.4px) 0 clamp(0px, 6vw, 115.2px);*!*/
    /*    font-size: clamp(0px, 3.8vw, 72.96px);*/
    /*    gap: clamp(0px, 2vw, 38.4px);*/
    /*    box-sizing: border-box;*/
    /*}*/

    .googing-btn-2 {
        --action-button-font-size: clamp(0px, 2.086vw, 40.051px);
        --position-aware-font-size: clamp(0px, 2.086vw, 40.051px);
        --action-button-line-height: clamp(0px, 2.995vw, 57.504px);
        --position-aware-line-height: clamp(0px, 2.995vw, 57.504px);
        --position-aware-padding-y: clamp(0px, 4.854vw, 93.197px);
        --position-aware-padding-x: clamp(0px, 4.854vw, 93.197px);
    }

    /*.googing-btn-1 {*/
    /*    padding: 0 clamp(0px, 0.911vw, 17.491px) 0 clamp(0px, 2.083vw, 39.994px);*/
    /*}*/

    /*.googing-btn-1 span {*/
    /*    font-size: clamp(0px, 1.823vw, 35.002px);*/
    /*    line-height: clamp(0px, 2.604vw, 49.997px);*/
    /*}*/

    /*.googing-btn-icon {*/
    /*    width: clamp(0px, 9.115vw, 175.008px);*/
    /*    height: clamp(0px, 9.115vw, 175.008px);*/
    /*    position: absolute;*/
    /*    right: clamp(0px, 1vw, 19.2px);*/
    /*}*/

    /*.googing-btn-icon svg {*/
    /*    width: clamp(0px, 1.693vw, 32.506px);*/
    /*    height: clamp(0px, 1.693vw, 32.506px);*/
    /*}*/

    /*.googing-btn-1::after {*/
    /*    right: clamp(0px, 1vw, 19.2px);*/
    /*    width: clamp(0px, 9.115vw, 175.008px);*/
    /*    height: clamp(0px, 9.115vw, 175.008px);*/
    /*}*/

    /*.googing-btn-primary:hover span {*/
    /*    !*color: #485B85;*!*/
    /*    transform: translateX(clamp(0px, 11.31vw, 217.152px));*/
    /*}*/

    /*.googing-btn-1:hover .googing-btn-icon svg {*/
    /*    transform: translateX(max(-31.31vw, -601.152px)) rotate(40deg);*/
    /*}*/

    /*.googing-btn-1:hover::after {*/
    /*    width: clamp(0px, 120vw, 2304px);*/
    /*    height: clamp(0px, 120vw, 2304px);*/
    /*    right: max(-60vw, -1152px);*/
    /*}*/

    .googing-form-checkbox {
        gap: clamp(0px, 3vw, 57.6px);
        margin-bottom: clamp(0px, 4vw, 76.8px);
        align-items: flex-start;
    }

    .googing-form-checkbox input[type="checkbox"] {
        width: clamp(0px, 5vw, 96px);
        height: clamp(0px, 5vw, 96px);
        border-radius: clamp(0px, 1vw, 19.2px);
        margin-top: clamp(0px, 0.5vw, 9.6px);
    }

    .googing-form-checkbox input[type="checkbox"]:checked::after {
        width: clamp(0px, 1.2vw, 23.04px);
        height: clamp(0px, 2.2vw, 42.24px);
        border-width: 0 clamp(0px, 0.4vw, 7.68px) clamp(0px, 0.4vw, 7.68px) 0;
        transform: translate(-50%, -60%) rotate(45deg);
    }

    .googing-form-checkbox label {
        font-size: clamp(0px, 3.5vw, 67.2px);
        line-height: 1.4;
    }

    .googing-form-disclaimer {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 3.906vw, 74.995px);
    }

    .googing-privacy-link {
        text-underline-offset: clamp(0px, 0.6vw, 11.52px);
    }
}
.kvis-container {
    width: 100%;

    padding: clamp(0px, 5.208vw, 99.994px) 0;
    /*padding: clamp(0px, 2.604vw, 49.997px);*/

    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 1);
}

.kvis-card {
    background: rgba(255, 255, 255, 1);
    border: clamp(0px, 0.062vw, 1.19px) solid rgba(235, 235, 235, 1);
    border-radius: clamp(0px, 1.05vw, 20.16px);
    padding: clamp(0px, 1.6vw, 30.72px);
    width: 100%;
    max-width: 100%;
    min-height: clamp(0px, 28.125vw, 540px);
    box-shadow: 0 0 clamp(0px, 3.125vw, 60px) rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
}

.kvis-content-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    flex: 1 1;
    min-height: 0;
}

.kvis-content-wrapper.kvis-two-columns {
    display: grid;
    grid-template-columns: 1fr 0fr;
    grid-gap: clamp(0px, 2.6vw, 50px);
    gap: clamp(0px, 2.6vw, 50px);
    align-items: stretch;
    height: 100%;
    min-height: 0;
}

.kvis-content-wrapper.kvis-two-columns.kvis-step-6 {
    grid-template-columns: 0fr 1fr;
}

.kvis-content-wrapper.kvis-two-columns.kvis-step-6 .kvis-form-section {
    order: 2;
}

.kvis-content-wrapper.kvis-two-columns.kvis-step-6 .kvis-image-section-right {
    order: 1;
}

.kvis-form-section {
    display: flex;
    flex-direction: column;
    flex: 1 1;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.kvis-form-content {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.kvis-form-content.fade-out,
.kvis-discount-text-wrapper.fade-out {
    opacity: 0;
    transform: translateY(max(-0.52vw, -9.984px));
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.kvis-form-content.fade-in,
.kvis-discount-text-wrapper.fade-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.kvis-image-section {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.83vw, 15.936px);
    position: relative;
    align-items: flex-start;
}

.kvis-doctor-image-wrapper {
    position: relative;
    width: clamp(0px, 25.5vw, 489.6px);
    height: clamp(0px, 42.5vw, 816px);
    border-radius: clamp(0px, 0.82vw, 15.744px);
    overflow: hidden;
    background-color: #f0f0f0;
}

.kvis-doctor-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: clamp(0px, 0.82vw, 15.744px);
}

.kvis-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(0px, 4.17vw, 80.064px);
    height: clamp(0px, 4.17vw, 80.064px);
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: transform 0.3s ease;
    box-sizing: content-box;
}

.kvis-play-button::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 4.17vw, 80.064px);
    height: clamp(0px, 4.17vw, 80.064px);
    background: #FFFFFF;
    border-radius: 50%;
    animation: pulse-border 1500ms ease-out infinite;
}

.kvis-play-button::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 4.17vw, 80.064px);
    height: clamp(0px, 4.17vw, 80.064px);
    background: #FFFFFF;
    border-radius: 50%;
    transition: all 200ms;
}

.kvis-play-button:hover::after {
    background-color: #f5f5f5;
}

.kvis-play-button:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

.kvis-play-button svg {
    width: clamp(0px, 1.16vw, 22.272px);
    height: clamp(0px, 1.35vw, 25.92px);
    transform: translateX(clamp(0px, 0.1vw, 1.92px));
    position: relative;
    z-index: 3;
}

@keyframes pulse-border {
    0% {
        transform: translate(-50%, -50%) translateZ(0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}


.kvis-calculator-title {
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
    color: #000;
    text-align: left;
    margin-bottom: clamp(0px, 0.83vw, 15.936px);
    line-height: var(--line-height-tight);
    margin-top: 0;
}

.kvis-calculator-title-main {
    color: #1a1a1a;
}

.kvis-calculator-title-underline {
    color: #485B85;
    text-decoration: underline;
    text-decoration-thickness: clamp(0px, 0.16vw, 3.072px);
    text-underline-offset: clamp(0px, 0.26vw, 4.992px);
}

.kvis-calculator-subtitle {
    font-size: var(--font-size-h8);
    font-weight: var(--font-weight-light);
    color: rgba(26, 26, 26, 0.75);
    text-align: left;
    margin-bottom: clamp(0px, 3.1vw, 59.52px);
    line-height: var(--line-height-light);
    margin-top: 0;
}

.kvis-title {
    font-size: var(--font-size-h5);
    font-weight: var(--font-weight-medium);
    color: #000;
    text-align: left;
    margin-bottom: clamp(0px, 2.57vw, 49.344px);
    line-height: var(--line-height-normal);
    margin-top: 0;
}

.kvis-options-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: clamp(0px, 0.83vw, 15.936px);
    gap: clamp(0px, 0.83vw, 15.936px);
    margin-bottom: clamp(0px, 2.6vw, 50px);
}

.kvis-option {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: clamp(0px, 1.56vw, 29.952px) clamp(0px, 1.01vw, 19.392px);
    border: clamp(0px, 0.05vw, 0.96px) solid #e0e0e0;
    border-radius: clamp(0px, 0.52vw, 9.984px);
    cursor: pointer;
    transition: background-color 0.3s ease;
    background: white;
}

.kvis-option:hover {
    background-color: #EBEBEB;
}

.kvis-option:hover .kvis-checkbox {
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(25, 25, 25, 0.2);
}

.kvis-radio-wrapper {
    margin-right: calc(20 * var(--fluid-unit));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kvis-radio {
    width: clamp(0px, 1.04vw, 19.968px);
    height: clamp(0px, 1.04vw, 19.968px);
    border: clamp(0px, 0.1vw, 1.92px) solid #9e9e9e;
    border-radius: 50%;
    background: white;
    position: relative;
    flex-shrink: 0;
}

.kvis-radio.checked-radio {
    border-color: #4caf50;
}

.kvis-radio-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(0px, 0.52vw, 9.984px);
    height: clamp(0px, 0.52vw, 9.984px);
    border-radius: 50%;
    background-color: #4caf50;
}

.kvis-checkbox {
    width: clamp(0px, 1.6vw, 30.72px);
    height: clamp(0px, 1.6vw, 30.72px);
    border-radius: clamp(0px, 0.26vw, 4.992px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(235, 235, 235, 1);
    box-sizing: border-box;
    border: clamp(0px, 0.052vw, 0.998px) solid transparent;
    transition: border-color 0.3s ease;
}

.kvis-checkbox.checked {
    position: relative;
}

.kvis-checkbox.checked::before {
    content: '';
    position: absolute;
    top: clamp(0px, 0.26vw, 4.992px);
    left: clamp(0px, 0.26vw, 4.992px);
    right: clamp(0px, 0.26vw, 4.992px);
    bottom: clamp(0px, 0.26vw, 4.992px);
    background-color: rgba(72, 91, 133, 1);
    border-radius: clamp(0px, 0.16vw, 3.072px);
    z-index: 0;
}

.kvis-checkbox.checked svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    width: clamp(0px, 0.469vw, 9.005px);
    height: clamp(0px, 0.365vw, 7.008px);
    flex-shrink: 0;
}

.kvis-option-text {
    font-size: var(--font-size-body);
    font-weight: 500;
    color: rgba(25, 25, 25, 1);
    flex: 1 1;
    text-align: left;
    line-height: var(--line-height-normal);
}

.kvis-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(0px, 0.63vw, 12.096px);
    margin-top: auto;
    /* padding-top: clamp(0px, 1.04vw, 19.968px); */
}

.kvis-navigation.kvis-navigation-step6 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    /*margin-top: clamp(0px, 2.0vw, 38.4px)  ; !* Уменьшили отступ с clamp(0px, 6vw, 115.2px) до clamp(0px, 1vw, 19.2px), чтобы поднять кнопки *!*/
}

.kvis-btn-back-1 {
    --position-aware-font-size: clamp(0px, 0.938vw, 18.01px);
    --position-aware-line-height: clamp(0px, 0.99vw, 19.008px);
}

.kvis-btn-back {
    padding: clamp(0px, 1.46vw, 28.032px) clamp(0px, 3.35vw, 64.32px);
    border-radius: clamp(0px, 2.6vw, 50px);
    border: clamp(0px, 0.052vw, 0.998px) solid #E0E0E0;
    font-size: var(--font-size-h9-5);
    font-weight: 500;
    line-height: clamp(0px, 0.99vw, 19.008px);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Geist', sans-serif;
    background: #EBEBEB;
    color: #000000;
    flex-shrink: 0;
    box-sizing: border-box;
}

.kvis-btn-back .btn-text {
    color: #000000;
}

.kvis-btn-back:hover:not(:disabled) {
    background: #EBEBEB;
}

.kvis-btn-back:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* --- Ссылка "Назад" на 6-м шаге (Десктоп) --- */
.kvis-btn-back-step6 {
    font-size: clamp(0px, 0.938vw, 18.01px); /* Сделали аккуратный десктопный размер */
    font-weight: 500;
    color: rgba(26, 26, 26, 0.75);
    text-decoration: underline;
    text-underline-offset: clamp(0px, 0.2vw, 3.84px); /* Аккуратное подчеркивание */
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    height: auto;
    flex-shrink: 0;
    cursor: pointer;
    transition: color 0.3s ease;
}

.kvis-btn-back-step6:hover:not(:disabled) {
    background: transparent;
    color: #485B85; /* При наведении делаем фирменным синим */
}

.kvis-next-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: clamp(0px, 0.63vw, 12.096px);
}

.kvis-btn-next-1 svg {
    transform: rotate(39deg);
}

.kvis-btn-next {
    /* Стили из header_nuv-btn-1 */
    padding: clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 1.56vw, 29.952px);
    border-radius: clamp(0px, 2.6vw, 50px);
    border: clamp(0px, 0.052vw, 0.998px) solid #2E3D58;
    font-weight: 500 !important;
    font-size: var(--font-size-h9-5) !important;
    line-height: clamp(0px, 0.89vw, 17.088px) !important;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: clamp(0px, 1.56vw, 29.952px);
    font-family: 'Geist', sans-serif;
    position: relative;
    overflow: hidden;
}

.kvis-btn-next.header_nuv-btn-primary {
    background: #485B85;
    color: #FFFFFF;
}

.kvis-btn-next.header_nuv-btn-primary span {
    color: #FFFFFF;
    transition: color 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 3;
}

.kvis-btn-next.header_nuv-btn-primary:hover span {
    color: #485B85;
    transform: translateX(min(clamp(0px, 3.65vw, 70.08px), clamp(0px, 15.31vw, 293.952px)));
}

.kvis-btn-next .header_nuv-btn-icon {
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    border-radius: 50%;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

.kvis-btn-next .header_nuv-btn-icon svg {
    width: clamp(0px, 0.73vw, 14.016px);
    height: clamp(0px, 0.63vw, 12.096px);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform: rotate(40deg);
}

.kvis-btn-next:hover .header_nuv-btn-icon svg {
    transform: translateX(max(max(-11.0vw, -211.2px), calc(-20% - clamp(0px, 5.96vw, 114.432px)))) rotate(40deg) !important;
}

.kvis-btn-next::after {
    content: '';
    position: absolute;
    right: clamp(0px, 0.31vw, 5.952px);
    top: 50%;
    transform: translateY(-50%);
    width: clamp(0px, 3.125vw, 60px);
    height: clamp(0px, 3.125vw, 60px);
    border-radius: 50%;
    background: #FFFFFF;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
    pointer-events: none;
}

.kvis-btn-next:hover::after {
    width: clamp(0px, 41.67vw, 800.064px);
    height: clamp(0px, 41.67vw, 800.064px);
    right: max(-20.83vw, -399.936px);
    top: 50%;
    transform: translateY(-50%);
}

/* Эффект блика для кнопок */
.kvis-btn-next .flare {
    position: absolute;
    top: 0;
    height: 100%;
    width: 45px;
    transform: skewX(-45deg);
    animation: flareAnimation 3s infinite;
    left: -170%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), #fff);
    filter: blur(0px);
    z-index: 1;
    pointer-events: none;
}

@keyframes flareAnimation {
    0% {
        left: -170%;
    }
    50% {
        left: 170%;
    }
    100% {
        left: 170%;
    }
}

/* Стили для кнопки ОТПРАВИТЬ */
.kvis-btn-submit .header_nuv-btn-icon svg {
    transform: rotate(40deg);
}

.kvis-btn-submit:hover .header_nuv-btn-icon svg {
    transform: translateX(max(max(-20.0vw, -384px), calc(-10% - clamp(0px, 15.4vw, 295.68px)))) rotate(40deg) !important;
}

.kvis-discount-message {
    display: flex;
    gap: clamp(0px, 1.1vw, 21.12px);
    align-items: center;
    flex: 1 1;
}

.kvis-discount-text-wrapper {
    flex: 1 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: clamp(0px, 0.781vw, 14.995px);
}

.kvis-discount-icon {
    flex-shrink: 0; /* ЗАПРЕТ на превращение в кляксу */
    width: clamp(0px, 1.563vw, 30.01px);
    height: clamp(0px, 1.563vw, 30.01px);
    min-width: 18px; /* Чтобы на маленьких экранах не исчезла */
    min-height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.kvis-discount-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Убираем "кляксу" — удаляем лишние трансформации */
.kvis-exclamation-mark {
    transform: none; /* Убираем scale(0.5), который всё портил */
}

/* Настраиваем конкретно восклицательный знак внутри синего круга */
.kvis-exclamation-icon .kvis-exclamation-mark path,
.kvis-exclamation-icon .kvis-exclamation-mark circle {
    stroke: none; /* Здесь обводка не нужна, только заливка */
}

.kvis-discount-text {
    font-size: var(--font-size-h9-5);
    font-weight: 300;
    color: #1A1A1ABF;
    margin: 0;
    line-height: clamp(0px, 1.46vw, 28.032px);
    text-align: left;
    font-family: 'Geist', sans-serif;
}

.kvis-discount-dynamic {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.2vw, 3.84px);
}

.kvis-discount-current {
    font-size: var(--font-size-h6);
    font-weight: 500;
    color: #1A1A1A;
    margin: 0;
    line-height: clamp(0px, 1.46vw, 28.032px);
    text-align: left;
    font-family: 'Geist', sans-serif;
}

.kvis-discount-hint {
    font-size: var(--font-size-h9-5);
    font-weight: 300;
    color: rgba(25, 25, 25, 1);
    margin: 0;
    line-height: clamp(0px, 1.46vw, 28.032px);
    text-align: left;
    font-family: 'Geist', sans-serif;
}

.kvis-progress-bar-container {
    position: absolute;
    bottom: clamp(0px, 0.6vw, 11.52px);
    left: clamp(0px, 0.6vw, 11.52px);
    right: clamp(0px, 0.6vw, 11.52px);
    z-index: 10;
}

.kvis-progress-bar {
    width: 100%;
    height: clamp(0px, 2.8vw, 53.76px);
    border-radius: clamp(0px, 0.6vw, 11.52px);
    background: rgba(255, 255, 255, 0.85);
    position: relative;
    overflow: visible;
    display: flex;
    align-items: center;
    box-shadow: 0 clamp(0px, 0.1vw, 1.92px) clamp(0px, 0.26vw, 4.992px) rgba(0, 0, 0, 0.1);
}

.kvis-progress-bar-fill {
    height: calc(100% - clamp(0px, 0.21vw, 4.032px));
    background-color: rgba(17, 47, 85, 1);
    background-image: repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0.3) 2px,
            transparent clamp(0px, 0.1vw, 1.92px),
            transparent clamp(0px, 0.42vw, 8.064px)
    );
    background-size: clamp(0px, 0.59vw, 11.328px) clamp(0px, 0.59vw, 11.328px);
    background-position: 0 0;
    animation: progressBarStripes 1s linear infinite;
    border-radius: clamp(0px, 0.6vw, 11.52px);
    transition: width 0.8s ease;
    position: absolute;
    left: clamp(0px, 0.1vw, 1.92px);
    top: clamp(0px, 0.1vw, 1.92px);
    z-index: 1;
}

@keyframes progressBarStripes {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: clamp(0px, 0.59vw, 11.328px) clamp(0px, 0.59vw, 11.328px);
    }
}

.kvis-progress-text {
    font-size: var(--font-size-body);
    font-weight: 700;
    font-family: 'Geist', sans-serif;
    white-space: nowrap;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    pointer-events: none;
    width: 100%;
    text-align: center;
}

.kvis-progress-text-black {
    color: #000000;
    position: relative;
    white-space: nowrap;
    display: inline-block;
}

.kvis-progress-text-white {
    color: #FFFFFF;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
    white-space: nowrap;
    z-index: 10;
    -webkit-clip-path: inset(0 calc(100% - var(--progress)) 0 0);
            clip-path: inset(0 calc(100% - var(--progress)) 0 0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.kvis-enter-hint {
    font-size: var(--font-size-body-xxs);
    color: #9e9e9e;
    margin-top: clamp(0px, 0.21vw, 4.032px);
}

/* Блок "Готово!" для шага 6 */
.kvis-image-section-right {
    order: 1;
}

.kvis-ready-bar-container {
    position: absolute;
    bottom: clamp(0px, 0.6vw, 11.52px);
    left: clamp(0px, 0.6vw, 11.52px);
    right: clamp(0px, 0.6vw, 11.52px);
    z-index: 10;
}

.kvis-ready-bar {
    width: 100%;
    height: clamp(0px, 2.8vw, 53.76px);
    border-radius: clamp(0px, 0.6vw, 11.52px);
    background-color: rgba(17, 47, 85, 1);
    background-image: repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0.3) 2px,
            transparent clamp(0px, 0.1vw, 1.92px),
            transparent clamp(0px, 0.42vw, 8.064px)
    );
    background-size: clamp(0px, 0.59vw, 11.328px) clamp(0px, 0.59vw, 11.328px);
    background-position: 0 0;
    animation: progressBarStripes 1s linear infinite;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, 0.83vw, 15.936px);
    padding: 0 clamp(0px, 1.04vw, 19.968px);
    box-shadow: 0 clamp(0px, 0.1vw, 1.92px) clamp(0px, 0.26vw, 4.992px) rgba(0, 0, 0, 0.1);
    border: clamp(0px, 0.1vw, 1.92px) solid rgb(255, 255, 255);
    box-sizing: border-box;
}

.kvis-ready-text {
    font-size: var(--font-size-body);
    font-weight: 500;
    color: #FFFFFF;
    font-family: 'Geist', sans-serif;
    white-space: nowrap;
}

.kvis-ready-bar svg {
    flex-shrink: 0;
    width: clamp(0px, 1.15vw, 22.08px);
    height: clamp(0px, 1.15vw, 22.08px);
}

/* Финальный шаг */
.kvis-final-step {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.kvis-final-left {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.5vw, 9.6px);
    text-align: left;
}

.kvis-final-title {
    font-size: clamp(0px, 2.04vw, 39.168px);
    font-weight: 600;
    color: #000;
    line-height: clamp(0px, 2.9vw, 55.68px);
    margin: 0;
}

.kvis-promo-text {
    font-size: var(--font-size-h8);
    font-weight: 300;
    color: rgba(26, 26, 26, 0.75);
    margin: 0;
    line-height: var(--line-height-relaxed);
}

.kvis-offer-cards {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 1vw, 19.2px);
    margin-top: clamp(0px, 1.4vw, 26.88px);
}

.kvis-offer-card {
    display: flex;
    align-items: center;
    gap: clamp(0px, 1.05vw, 20.16px);
    padding: clamp(0px, 1.04vw, 19.968px);
    background: rgba(255, 255, 255, 1);
    border-radius: clamp(0px, 1vw, 19.2px);
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(235, 235, 235, 1);
}

.kvis-offer-icon {
    width: clamp(0px, 3.1vw, 59.52px);
    height: clamp(0px, 3.1vw, 59.52px);
    background: rgba(17, 47, 85, 1);
    border-radius: clamp(0px, 0.36vw, 6.912px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kvis-offer-icon svg {
    /* width: 100%; */
    /* height: 100%; */
    width: clamp(0px, 1.05vw, 20.16px);
    height: clamp(0px, 1.05vw, 20.16px);
    object-fit: contain;
}

.kvis-offer-text {
    flex: 1 1;
    font-size: var(--font-size-body);
    font-weight: 500;
    color: rgba(26, 26, 26, 0.75);
    line-height: clamp(0px, 1.5vw, 28.8px);
    text-align: left;
}

.kvis-offer-checkbox {
    width: clamp(0px, 2.34vw, 44.928px);
    height: clamp(0px, 2.34vw, 44.928px);
    border-radius: clamp(0px, 0.26vw, 4.992px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: clamp(0px, 0.13vw, 2.496px) solid rgba(235, 235, 235, 1);
    background: white;
    box-sizing: border-box;
}

.kvis-offer-checkbox.checked {
    background-color: rgba(72, 91, 133, 1);
    border: clamp(0px, 0.13vw, 2.496px) solid rgba(235, 235, 235, 1);
}

.kvis-offer-checkbox svg {
    width: clamp(0px, 0.55vw, 10.56px);
    height: clamp(0px, 0.44vw, 8.448px);
}

/* Инпуты для шага 6 */
.kvis-inputs-section {
    display: flex;
    /* flex-direction: column; */
    gap: clamp(0px, 1.53vw, 29.376px);
    margin-top: clamp(0px, 1.56vw, 29.952px);
}

.kvis-input {
    width: 100%;
    padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.25vw, 24px);
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(235, 235, 235, 1);
    border-radius: clamp(0px, 1vw, 19.2px);
    font-size: var(--font-size-body);
    font-family: 'Geist', sans-serif;
    color: rgba(26, 26, 26, 0.75);
    background: white;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.3s ease;
}

.kvis-input::placeholder {
    color: rgba(26, 26, 26, 0.5);
}

.kvis-input:focus {
    border-color: #485B85;
}

/* Убираем синий фон при автозаполнении */
.kvis-input:-webkit-autofill,
.kvis-input:-webkit-autofill:hover,
.kvis-input:-webkit-autofill:focus,
.kvis-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 clamp(0px, 1.56vw, 29.952px) white inset;
    -webkit-text-fill-color: rgba(26, 26, 26, 0.75);
    background-color: white;
    background: white;
}

.kvis-phone-input:-webkit-autofill,
.kvis-phone-input:-webkit-autofill:hover,
.kvis-phone-input:-webkit-autofill:focus,
.kvis-phone-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 clamp(0px, 1.56vw, 29.952px) white inset;
    -webkit-text-fill-color: rgba(26, 26, 26, 0.75);
    background-color: white;
    background: white;
}

.kvis-phone-input-wrapper {
    display: flex;
    width: 100%;
    border: clamp(0px, 0.052vw, 0.998px) solid rgba(235, 235, 235, 1);
    border-radius: clamp(0px, 1vw, 19.2px);
    overflow: hidden;
    background: white;
    transition: border-color 0.3s ease;
}

.kvis-phone-input-wrapper:focus-within {
    border-color: #485B85;
}

.kvis-phone-prefix {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.52vw, 9.984px);
    padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.25vw, 24px);
    background: white;
    flex-shrink: 0;
    position: relative;
}

.kvis-phone-prefix::after {
    content: '';
    position: absolute;
    right: 0;
    top: clamp(0px, 0.22vw, 4.224px);
    bottom: clamp(0px, 0.22vw, 4.224px);
    width: clamp(0px, 0.052vw, 0.998px);
    background: rgba(235, 235, 235, 1);
}

.kvis-phone-prefix svg {
    width: clamp(0px, 1.04vw, 19.968px);
    height: clamp(0px, 0.78vw, 14.976px);
    flex-shrink: 0;
    border: clamp(0px, 0.064vw, 1.229px) solid rgba(25, 25, 25, 0.411);
}

.kvis-phone-prefix span {
    font-size: var(--font-size-body);
    font-family: 'Geist', sans-serif;
    color: rgba(25, 25, 25, 1);
    font-weight: 500;
}

.kvis-phone-input {
    flex: 1 1;
    border: none;
    border-radius: 0;
    padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.25vw, 24px);
}

.kvis-phone-input:focus {
    border: none;
    outline: none;
}

.kvis-final-right {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 1.04vw, 19.968px);
}

.kvis-messenger-title {
    font-size: var(--font-size-body-medium);
    font-weight: var(--font-weight-semibold);
    color: #000;
    margin: 0 0 clamp(0px, 1.04vw, 19.968px) 0;
    text-align: center;
}

.kvis-messenger-buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: clamp(0px, 0.63vw, 12.096px);
    gap: clamp(0px, 0.63vw, 12.096px);
    margin-bottom: clamp(0px, 1.04vw, 19.968px);
}

.kvis-phone-btn {
    grid-column: 1;
}

.kvis-messenger-btn {
    padding: clamp(0px, 0.63vw, 12.096px) clamp(0px, 0.83vw, 15.936px);
    border: clamp(0px, 0.05vw, 0.96px) solid #e0e0e0;
    border-radius: clamp(0px, 0.52vw, 9.984px);
    background: #f5f5f5;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: var(--font-size-body-medium);
    font-weight: var(--font-weight-medium);
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.63vw, 12.096px);
    text-align: left;
}

.kvis-messenger-btn:hover {
    border-color: #4caf50;
    background-color: #f9f9f9;
}

.kvis-messenger-icon-circle {
    width: clamp(0px, 2.08vw, 39.936px);
    height: clamp(0px, 2.08vw, 39.936px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kvis-viber-icon {
    background-color: #8b5cf6;
}

.kvis-whatsapp-icon {
    background-color: #25d366;
}

.kvis-phone-icon {
    background-color: #e91e63;
}

.kvis-messenger-text {
    color: #333;
    font-weight: 500;
}

.kvis-messenger-btn.active {
    border-color: #4caf50;
    background-color: white;
}

.kvis-viber-btn.active .kvis-viber-icon {
    background-color: #8b5cf6;
}

.kvis-whatsapp-btn.active .kvis-whatsapp-icon {
    background-color: #25d366;
}

.kvis-phone-btn.active .kvis-phone-icon {
    background-color: #e91e63;
}

.kvis-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: clamp(0px, 0.63vw, 12.096px);
    cursor: pointer;
    font-size: var(--font-size-body-small);
    color: #666;
    line-height: var(--line-height-relaxed);
    text-align: left;
    justify-content: flex-start;
}

.kvis-checkbox-input {
    width: clamp(0px, 1.04vw, 19.968px);
    height: clamp(0px, 1.04vw, 19.968px);
    margin-top: clamp(0px, 0.1vw, 1.92px);
    cursor: pointer;
    flex-shrink: 0;
}

.kvis-checkbox-text {
    text-align: left;
}

/* Чекбокс согласия из Googing */
.googing-form-checkbox {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.53vw, 10.176px);
    justify-content: flex-start;
    width: clamp(0px, 40vw, 768px);
    margin-bottom: 0;
}

.googing-form-checkbox input[type="checkbox"] {
    width: clamp(0px, 0.78vw, 14.976px);
    height: clamp(0px, 0.78vw, 14.976px);
    border-radius: clamp(0px, 0.2vw, 3.84px);
    border: clamp(0px, 0.052vw, 0.998px) solid #EBEBEB;
    background: #EBEBEB;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    flex-shrink: 0;
}

.googing-form-checkbox input[type="checkbox"]:checked {
    background: rgba(72, 91, 133, 1);
    border-color: rgba(46, 61, 88, 1);
}

.layout-fade-out {
    opacity: 0;
    transform: scale(0.99);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.layout-fade-in {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.googing-form-checkbox input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: clamp(0px, 0.12vw, 2.304px);
    height: clamp(0px, 0.38vw, 7.296px);
    border: solid white;
    border-width: 0 clamp(0px, 0.16vw, 3.072px) clamp(0px, 0.16vw, 3.072px) 0;
    transform: translate(-50%, -60%) rotate(45deg);
}

.googing-form-checkbox label {
    font-size: calc(18 * var(--fluid-unit));
    font-weight: 300;
    color: rgba(26, 26, 26, 0.75);
    font-family: 'Geist', sans-serif;
    cursor: pointer;
    line-height: calc(28 * var(--fluid-unit));
}

.kvis-privacy-link {
    color: rgba(26, 26, 26, 0.75) !important;
    text-decoration: underline;
}

.kvis-privacy-link:hover {
    text-decoration: underline;
}

.kvis-disclaimer {
    font-size: var(--font-size-body-xxs);
    color: #9e9e9e;
    margin: 0;
    margin-top: auto;
}

/*@media (max-width: 2200px) {*/
/*    .kvis-container {*/
/*        padding: clamp(0px, 4.17vw, 80.064px) clamp(0px, 2.6vw, 50px);*/
/*    }*/
/*}*/

@media (min-width: 2200px) {
    .kvis-calculator-title-main {
        font-size: clamp(0px, 2.2vw, 42.24px);
    }

    .kvis-calculator-title-underline {
        font-size: clamp(0px, 2.2vw, 42.24px);
    }

    .kvis-final-title {
        font-size: clamp(0px, 1.6vw, 30.72px);
        line-height: clamp(0px, 2.4vw, 46.08px);
    }
}

/* Модальное окно с согласием на обработку персональных данных */
.kvis-privacy-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0px, 2vw, 38.4px);
    box-sizing: border-box;
}

.kvis-privacy-modal {
    background: #FFFFFF;
    border-radius: clamp(0px, 1.04vw, 19.968px);
    max-width: clamp(0px, 60vw, 1152px);
    max-height: 90vh;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 60px rgba(0, 0, 0, 0.3);
}

.kvis-privacy-modal-close {
    position: absolute;
    top: clamp(0px, 1.04vw, 19.968px);
    right: clamp(0px, 1.04vw, 19.968px);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: clamp(0px, 0.52vw, 9.984px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    transition: opacity 0.3s ease;
}

.kvis-privacy-modal-close:hover {
    opacity: 0.7;
}

.kvis-privacy-modal-close svg {
    width: clamp(0px, 1.25vw, 24px);
    height: clamp(0px, 1.25vw, 24px);
}

.kvis-privacy-modal-content {
    padding: clamp(0px, 2.6vw, 50px);
    overflow-y: auto;
    max-height: 90vh;
}

.kvis-privacy-modal-title {
    font-size: var(--font-size-h3);
    font-weight: 600;
    color: #000000;
    margin: 0 0 clamp(0px, 1.56vw, 29.952px) 0;
    font-family: 'Geist', sans-serif;
}

.kvis-privacy-modal-text {
    font-size: var(--font-size-body);
    font-weight: 300;
    color: #1A1A1A;
    line-height: 1.6;
    font-family: 'Geist', sans-serif;
}

.kvis-privacy-modal-text p {
    margin: 0 0 clamp(0px, 1.04vw, 19.968px) 0;
}

.kvis-privacy-modal-text p:last-child {
    margin-bottom: 0;
}

.kvis-privacy-modal-text strong {
    font-weight: 600;
    color: #000000;
}

.kvis-privacy-modal-text ul {
    margin: clamp(0px, 1.04vw, 19.968px) 0;
    padding-left: clamp(0px, 2.08vw, 39.936px);
}

.kvis-privacy-modal-text li {
    margin-bottom: clamp(0px, 0.52vw, 9.984px);
}

.kvis-privacy-modal-text li:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {


    /* =========================================
         ИДЕАЛЬНЫЕ КНОПКИ (Далее, Назад, Получить расчет)
         ========================================= */
    /* Контейнер кнопок (выравниваем вправо) */
    .kvis-next-wrapper {
        order: 2;
        width: 100%;
        display: flex;
        justify-content: flex-end; /* Прижимаем кнопку вправо, как на макете */
        align-items: center;
        gap: clamp(0px, 3vw, 57.6px);
        /*margin-top: 0;*/
        padding: clamp(0px, 13.021vw, 250.003px) 0 ;
    }

    .kvis-btn-back-1 {
        --position-aware-font-size: clamp(0px, 3.129vw, 60.077px);
        --position-aware-line-height: clamp(0px, 2.024vw, 38.861px);
    }

    /* --- 1. Серая кнопка "Назад" --- */
    .kvis-btn-back {
        height: clamp(0px, 11vw, 211.2px); /* Жесткая высота */
        padding: 0 clamp(0px, 6vw, 115.2px);
        border-radius: clamp(0px, 13vw, 249.6px);
        font-size: clamp(0px, 2.82vw, 54.144px);
        font-weight: 500;
        border: clamp(0px, 0.2vw, 3.84px) solid #E0E0E0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #EBEBEB;
        color: #000000;
        box-sizing: border-box;
    }

    .kvis-btn-back .btn-text {
        color: #000000;
    }

    /* --- 2. Синие кнопки (База) --- */
    .kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary {
        width: auto;
        height: clamp(0px, 13.021vw, 250.003px); /* Точно такая же высота, как у кнопки Назад */
        padding: clamp(0px, 1vw, 19.2px) clamp(0px, 1vw, 19.2px) clamp(0px, 1vw, 19.2px) clamp(0px, 6vw, 115.2px); /* Отступы формируют каемочку */
        border-radius: clamp(0px, 13vw, 249.6px);
        border: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        box-sizing: border-box;
        gap: clamp(0px, 4vw, 76.8px);
    }

    /* Текст внутри синих кнопок */
    .kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary span {
        font-size: clamp(0px, 2.82vw, 54.144px);
        font-weight: 500;
        line-height: 1;
        color: #FFFFFF;
    }

    /* Белый кружок */
    .kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary .header_nuv-btn-icon {
        width: clamp(0px, 9vw, 172.8px); /* Уменьшили: clamp(0px, 11vw, 211.2px) - clamp(0px, 2vw, 38.4px) (отступы) = clamp(0px, 9vw, 172.8px) */
        height: clamp(0px, 9vw, 172.8px);
        border-radius: 50%;
        background: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        margin: 0;
    }

    /* Стрелочка ровно вправо (поворот на 45 градусов) */
    /*.kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary .header_nuv-btn-icon svg {*/
    /*    width: clamp(0px, 3.5vw, 67.2px);*/
    /*    height: clamp(0px, 3.5vw, 67.2px);*/
    /*    transform: rotate(45deg);*/
    /*}*/

    /* Анимация при наведении */
    .kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary:hover span {
        color: #FFFFFF; /* Текст остается белым */
        transform: translateX(0); /* Не сдвигается */
    }

    /*.kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary:hover .header_nuv-btn-icon svg {*/
    /*    transform: rotate(45deg);*/
    /*}*/

    /* Эффект заливки (белая волна при наведении) */
    /*.kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary::after {*/
    /*    !*width: clamp(0px, 9vw, 172.8px);*!*/
    /*    !*height: clamp(0px, 9vw, 172.8px);*!*/
    /*    !*right: clamp(0px, 1vw, 19.2px);*!*/
    /*}*/

    /*.kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary:hover::after {*/
    /*    !*width: clamp(0px, 11vw, 211.2px); !* Оставляем размер кружка стандартным *!*!*/
    /*    !*height: clamp(0px, 11vw, 211.2px);*!*/
    /*    !*right: clamp(0px, 1vw, 19.2px);*!*/
    /*    !*width: 100%;*!*/
    /*    !*height: 100%;*!*/
    /*    !*left: 0;*!*/
    /*    !*right: 0;*!*/
    /*    !*border-radius: 0;*!*/
    /*}*/

    /* --- 3. Финальная кнопка "Получить расчет" (6 шаг) --- */
    .kvis-btn-next.kvis-btn-submit.header_nuv-btn-1.header_nuv-btn-primary {
        /*width: 68%; !* Сделали поуже (было 76%) *!*/
        /*height: clamp(0px, 13.021vw, 250.003px); !* Синхронизируем высоту с остальными *!*/
        /*padding: clamp(0px, 1vw, 19.2px) clamp(0px, 1vw, 19.2px) clamp(0px, 1vw, 19.2px) clamp(0px, 3.5vw, 67.2px);*/
        margin: 0;
    }

    /* Чуть уменьшаем текст, чтобы он влез в одну строку */
    .kvis-btn-next.kvis-btn-submit.header_nuv-btn-1.header_nuv-btn-primary span {
        font-size: clamp(0px, 3.385vw, 64.992px); /* Чуть уменьшили текст, чтобы влез в узкую кнопку */
        white-space: nowrap;
        text-align: center;
        flex: 1 1;
    }

    .kvis-btn-next.kvis-btn-submit.header_nuv-btn-1.header_nuv-btn-primary:hover span {
        transform: translateX(clamp(0px, 8.974vw, 172.301px));
        color: rgba(72, 91, 133, 1);
    }

    .kvis-btn-next.kvis-btn-submit.header_nuv-btn-1.header_nuv-btn-primary:hover svg {
        transform: translateX(max(-53.521vw, -1027.603px)) rotate(40deg) !important;
    }

    /* --- 4. Ссылка "Назад" на 6-м шаге --- */
    .kvis-btn-back-step6 {
        font-size: clamp(0px, 3.385vw, 64.992px);
        line-height: clamp(0px, 5.208vw, 99.994px);
        font-weight: 300;
        color: rgba(26, 26, 26, 0.75); /* Тот самый нужный серый цвет */
        text-decoration: underline;
        text-underline-offset: clamp(0px, 0.6vw, 11.52px);
        background: transparent;
        border: none;
        padding: 0;
        margin: 0;
        height: clamp(0px, 11vw, 211.2px); /* Синхронизируем высоту с синей кнопкой */
        display: flex;
        align-items: center; /* Идеально центрируем по вертикали */
        flex-shrink: 0;
    }


    .kvis-container {
        padding: clamp(0px, 19.531vw, 374.995px) 0;
    }

    .kvis-card {
        padding: clamp(0px, 2.564vw, 74.995px);
        border-radius: clamp(0px, 2.564vw, 49.229px);
    }

    .kvis-content-wrapper.kvis-two-columns {
        display: flex;
        flex-direction: column;
        gap: clamp(0px, 6.41vw, 123.072px);
    }

    .kvis-content-wrapper.kvis-two-columns.kvis-step-6 {
        flex-direction: column;
    }

    .kvis-content-wrapper.kvis-two-columns.kvis-step-6 .kvis-form-section {
        order: 2;
    }

    .kvis-content-wrapper.kvis-two-columns.kvis-step-6 .kvis-image-section-right {
        order: 1;
    }

    .kvis-image-section-right .kvis-doctor-image-wrapper,
    .kvis-image-section.kvis-image-section-right .kvis-doctor-image-wrapper {
        position: relative;
    }

    .kvis-image-section-right .kvis-play-button,
    .kvis-image-section.kvis-image-section-right .kvis-play-button {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: clamp(0px, 15.38vw, 295.296px);
        height: clamp(0px, 15.38vw, 295.296px);
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kvis-image-section-right .kvis-play-button::before,
    .kvis-image-section-right .kvis-play-button::after,
    .kvis-image-section.kvis-image-section-right .kvis-play-button::before,
    .kvis-image-section.kvis-image-section-right .kvis-play-button::after {
        width: clamp(0px, 15.38vw, 295.296px);
        height: clamp(0px, 15.38vw, 295.296px);
    }

    .kvis-image-section-right .kvis-play-button svg,
    .kvis-image-section.kvis-image-section-right .kvis-play-button svg {
        width: clamp(0px, 3.46vw, 66.432px);
        height: clamp(0px, 4.36vw, 83.712px);
    }

    .kvis-image-section {
        order: 1;
        width: 100%;
    }

    .kvis-form-section {
        order: 2;
    }

    .kvis-doctor-image-wrapper {
        width: 100%;
        height: clamp(0px, 116.67vw, 2240.064px);
        border-radius: clamp(0px, 1.923vw, 36.922px);
    }

    .kvis-doctor-image {
        border-radius: clamp(0px, 1.923vw, 36.922px);
    }

    .kvis-play-button {
        width: clamp(0px, 15.38vw, 295.296px);
        height: clamp(0px, 15.38vw, 295.296px);
    }

    .kvis-play-button::before,
    .kvis-play-button::after {
        width: clamp(0px, 15.38vw, 295.296px);
        height: clamp(0px, 15.38vw, 295.296px);
    }

    .kvis-play-button svg {
        width: clamp(0px, 3.46vw, 66.432px);
        height: clamp(0px, 4.36vw, 83.712px);
    }

    .kvis-progress-bar-container {
        bottom: clamp(0px, 1.282vw, 24.614px);
        left: clamp(0px, 1.282vw, 24.614px);
        right: clamp(0px, 1.282vw, 24.614px);
    }

    .kvis-progress-bar {
        height: clamp(0px, 9.115vw, 175.008px);
        border-radius: clamp(0px, 1.282vw, 24.614px);
    }

    .kvis-progress-bar-fill {
        height: calc(100% - clamp(0px, 0.513vw, 9.85px));
        border-radius: clamp(0px, 1.026vw, 19.699px);
        background-image: repeating-linear-gradient(
                -45deg,
                rgba(255, 255, 255, 0.3),
                rgba(255, 255, 255, 0.3) clamp(0px, 0.51vw, 9.792px),
                transparent clamp(0px, 0.51vw, 9.792px),
                transparent clamp(0px, 1.15vw, 22.08px)
        );
        background-size: clamp(0px, 1.67vw, 32.064px) clamp(0px, 1.67vw, 32.064px);
        animation: progressBarStripesMobile 1s linear infinite;
        position: absolute;
        left: clamp(0px, 0.256vw, 4.915px);
        top: clamp(0px, 0.256vw, 4.915px);
    }

    @keyframes progressBarStripesMobile {
        0% {
            background-position: 0 0;
        }
        100% {
            background-position: clamp(0px, 1.67vw, 32.064px) clamp(0px, 1.67vw, 32.064px);
        }
    }

    .kvis-progress-text {
        font-size: clamp(0px, 3.077vw, 59.078px);
        font-weight: 700;
    }

    .kvis-ready-bar-container {
        bottom: clamp(0px, 1.282vw, 24.614px);
        left: clamp(0px, 1.282vw, 24.614px);
        right: clamp(0px, 1.282vw, 24.614px);
    }

    .kvis-ready-bar {
        height: clamp(0px, 7.179vw, 137.837px);
        border-radius: clamp(0px, 1.282vw, 24.614px);
        background-image: repeating-linear-gradient(
                -45deg,
                rgba(255, 255, 255, 0.3),
                rgba(255, 255, 255, 0.3) clamp(0px, 0.51vw, 9.792px),
                transparent clamp(0px, 0.51vw, 9.792px),
                transparent clamp(0px, 1.15vw, 22.08px)
        );
        background-size: clamp(0px, 1.67vw, 32.064px) clamp(0px, 1.67vw, 32.064px);
        animation: progressBarStripesMobile 1s linear infinite;
        gap: clamp(0px, 3.85vw, 73.92px);
    }

    .kvis-ready-text {
        font-size: clamp(0px, 3.077vw, 59.078px);
        font-weight: 700;
    }

    .kvis-ready-bar svg {
        width: clamp(0px, 3.33vw, 63.936px);
        height: clamp(0px, 3.33vw, 63.936px);
    }

    .kvis-calculator-title {
        width: 100%;
        font-size: clamp(0px, 5.867vw, 112.646px);
        font-weight: 700;
        line-height: clamp(0px, 8.475vw, 162.72px);
        margin-bottom: 0;
    }

    .kvis-calculator-title-underline {
        text-decoration-thickness: clamp(0px, 0.26vw, 4.992px);
        text-underline-offset: clamp(0px, 0.64vw, 12.288px);
    }

    .kvis-calculator-subtitle {
        width: 100%;
        font-size: clamp(0px, 3.390vw, 65.088px);
        font-weight: 300;
        line-height: clamp(0px, 5.215vw, 100.128px);
        margin-top: clamp(0px, 2.56vw, 49.152px);
        margin-bottom: 0;
    }

    .kvis-title {
        margin-top: clamp(0px, 10.26vw, 196.992px);
        margin-bottom: clamp(0px, 6.41vw, 123.072px);
        font-size: clamp(0px, 4.10vw, 78.72px);
        font-weight: 500;
    }

    .kvis-option {
        padding: clamp(0px, 3.85vw, 73.92px) clamp(0px, 2.56vw, 49.152px);
        border-radius: clamp(0px, 2.564vw, 49.229px);
    }

    .kvis-radio-wrapper {
        margin-right: clamp(0px, 2.564vw, 49.229px);
    }

    .kvis-checkbox {
        width: clamp(0px, 5.13vw, 98.496px);
        height: clamp(0px, 5.13vw, 98.496px);
        border-radius: clamp(0px, 0.641vw, 12.307px);
    }

    .kvis-checkbox.checked svg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: clamp(0px, 1.54vw, 29.568px);
        height: clamp(0px, 1.15vw, 22.08px);
    }

    .kvis-checkbox.checked::before {
        width: clamp(0px, 3.33vw, 63.936px);
        height: clamp(0px, 3.33vw, 63.936px);
        top: 50%;
        left: 50%;
        right: auto;
        bottom: auto;
        transform: translate(-50%, -50%);
        border-radius: clamp(0px, 0.641vw, 12.307px);
    }

    .kvis-option-text {
        font-size: clamp(0px, 2.82vw, 54.144px);
        font-weight: 500;
    }

    .kvis-options-grid {
        grid-template-columns: 1fr;
        gap: clamp(0px, 2.564vw, 49.229px);
        margin-bottom: clamp(0px, 6.41vw, 123.072px);
    }

    .kvis-navigation {
        display: flex;
        flex-direction: column; /* Главное исправление! */
        align-items: stretch;
        gap: clamp(0px, 5vw, 96px); /* Расстояние между текстом и кнопками */
        width: 100%;
    }

    .kvis-navigation.kvis-navigation-step6 {
        display: flex;
        margin-top: clamp(0px, 13.021vw, 250.003px);
    }

    .kvis-discount-message {
        order: 1;
        width: 100%;
        display: flex;
        align-items: center;
        gap: clamp(0px, 2vw, 38.4px); /* Уменьшили отступ от иконки */
    }

    .kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary:active {
        transform: scale(0.97);
        transition: transform 0.1s ease;
    }

    /* --- ОТКЛЮЧЕНИЕ СДВИГОВ И МАСШТАБА ДЛЯ МОБИЛЬНЫХ --- */
    .kvis-form-content,
    .kvis-form-content.fade-out,
    .kvis-form-content.fade-in,
    .kvis-discount-text-wrapper.fade-out,
    .kvis-discount-text-wrapper.fade-in,
    .layout-fade-out,
    .layout-fade-in {
        transform: none;
        gap: clamp(0px, 3.911vw, 75.091px);
    }


    .kvis-discount-icon {
        width: clamp(0px, 5.859vw, 112.493px);
        height: clamp(0px, 5.859vw, 112.493px);
        border-radius: 50%;
        overflow: hidden;
        padding: 0;
        margin: 0;
    }

    .kvis-discount-icon svg {
        width: clamp(0px, 5.859vw, 112.493px);
        height: clamp(0px, 5.859vw, 112.493px);
    }

    .kvis-discount-text {
        font-family: 'Geist', sans-serif;
        font-weight: 300;
        font-size: clamp(0px, 3.385vw, 64.992px); /* Идеальный размер, чтобы влезло в 1 строку */
        line-height: clamp(0px, 5.208vw, 99.994px); /* Line height 30px для 20px - это 1.5 */
        letter-spacing: 0;
        color: rgba(25, 25, 25, 1);
        width: 100%;
        margin: 0;
    }

    .kvis-btn-next {
        width: auto;
        padding: clamp(0px, 0.77vw, 14.784px) clamp(0px, 0.77vw, 14.784px) clamp(0px, 0.77vw, 14.784px) clamp(0px, 3.21vw, 61.632px);
        border-radius: clamp(0px, 6.41vw, 123.072px);
        font-size: clamp(0px, 3.21vw, 61.632px);
        line-height: clamp(0px, 2.18vw, 41.856px);
        gap: clamp(0px, 3.85vw, 73.92px);
    }

    .kvis-btn-next .header_nuv-btn-icon {
        width: clamp(0px, 7.69vw, 147.648px);
        height: clamp(0px, 7.69vw, 147.648px);
    }

    /*.kvis-btn-next .header_nuv-btn-icon svg {*/
    /*    width: clamp(0px, 2.05vw, 39.36px);*/
    /*    height: clamp(0px, 1.79vw, 34.368px);*/
    /*}*/

    .kvis-btn-next::after {
        right: clamp(0px, 0.77vw, 14.784px);
        width: clamp(0px, 7.69vw, 147.648px);
        height: clamp(0px, 7.69vw, 147.648px);
    }

    .kvis-btn-next:hover::after {
        width: clamp(0px, 102.56vw, 1969.152px);
        /*height: clamp(0px, 102.56vw, 1969.152px);*/
        /*right: max(-51.28vw, -984.576px);*/
    }

    .kvis-btn-next.header_nuv-btn-primary:hover span {
        transform: translateX(clamp(0px, 8.24vw, 158.208px));
    }

    .kvis-btn-next:hover .header_nuv-btn-icon svg {
        transform: translateX(max(-16.103vw, -309.178px)) rotate(40deg);
    }


    /* Уменьшенная и аккуратная стрелочка вправо */
    .kvis-btn-next.header_nuv-btn-1.header_nuv-btn-primary .header_nuv-btn-icon svg {
        width: clamp(0px, 2.2vw, 42.24px); /* Было clamp(0px, 3.5vw, 67.2px) */
        height: clamp(0px, 2.2vw, 42.24px); /* Было clamp(0px, 3.5vw, 67.2px) */
        transform: rotate(0deg);
    }


    .kvis-btn-submit.header_nuv-btn-primary:hover span {
        transform: translateX(clamp(0px, 8.974vw, 172.301px));
    }

    .kvis-btn-submit:hover .header_nuv-btn-icon svg {
        transform: rotate(45deg);
    }


    .kvis-discount-dynamic {
        gap: clamp(0px, 0.5vw, 9.6px);
    }

    .kvis-discount-current {
        font-size: clamp(0px, 2.82vw, 54.144px);
        line-height: clamp(0px, 3.59vw, 68.928px);
    }

    .kvis-discount-hint {
        font-size: clamp(0px, 2.31vw, 44.352px);
        line-height: clamp(0px, 3.08vw, 59.136px);
    }

    .kvis-final-title {
        font-size: clamp(0px, 5.0vw, 96px);
        font-weight: 600;
        line-height: clamp(0px, 7.05vw, 135.36px);
        margin-bottom: clamp(0px, 2.56vw, 49.152px);
    }

    .kvis-promo-text {
        font-size: clamp(0px, 3.33vw, 63.936px);
        font-weight: 300;
        line-height: clamp(0px, 5.13vw, 98.496px);
    }

    .kvis-offer-cards {
        gap: clamp(0px, 2.56vw, 49.152px);
        margin-top: clamp(0px, 6.41vw, 123.072px);
    }

    .kvis-offer-card {
        gap: clamp(0px, 2.69vw, 51.648px);
        padding: clamp(0px, 2.67vw, 51.264px);
        border-radius: clamp(0px, 2.56vw, 49.152px);
    }

    .kvis-offer-icon {
        width: clamp(0px, 7.95vw, 152.64px);
        height: clamp(0px, 7.95vw, 152.64px);
        border-radius: clamp(0px, 0.92vw, 17.664px);
    }

    .kvis-offer-icon svg {
        width: clamp(0px, 2.69vw, 51.648px);
        height: clamp(0px, 2.69vw, 51.648px);
    }

    .kvis-offer-text {
        font-size: clamp(0px, 2.82vw, 54.144px);
        font-weight: 500;
        line-height: clamp(0px, 3.85vw, 73.92px);
    }

    .kvis-offer-checkbox {
        width: clamp(0px, 6vw, 115.2px);
        height: clamp(0px, 6vw, 115.2px);
        border-radius: clamp(0px, 0.67vw, 12.864px);
        border: clamp(0px, 0.33vw, 6.336px) solid rgba(235, 235, 235, 1);
    }

    .kvis-offer-checkbox.checked {
        border: clamp(0px, 0.33vw, 6.336px) solid rgba(235, 235, 235, 1);
    }

    .kvis-offer-checkbox svg {
        width: clamp(0px, 1.41vw, 27.072px);
        height: clamp(0px, 1.13vw, 21.696px);
    }

    .kvis-inputs-section {
        flex-direction: column;
        gap: clamp(0px, 2.604vw, 49.997px);
        margin-top: clamp(0px, 6.41vw, 123.072px);
    }

    .kvis-input {
        padding: clamp(0px, 5.208vw, 99.994px) clamp(0px, 2.604vw, 49.997px);
        border-radius: clamp(0px, 2.56vw, 49.152px);
    }

    .kvis-input.kvis-name-input {
        font-size: clamp(0px, 3.385vw, 64.992px);
        line-height: clamp(0px, 5.208vw, 99.994px);
        font-weight: 300;
    }

    .kvis-phone-input-wrapper {
        border-radius: clamp(0px, 2.56vw, 49.152px);
    }

    .kvis-phone-prefix {
        padding: clamp(0px, 5.208vw, 99.994px) clamp(0px, 3.906vw, 74.995px);
        gap: clamp(0px, 1.33vw, 25.536px);
    }

    .kvis-phone-prefix span {
        font-size: clamp(0px, 2.31vw, 44.352px);
        font-weight: 500;
    }

    .kvis-phone-prefix svg {
        width: clamp(0px, 3.21vw, 61.632px);
        height: clamp(0px, 2.41vw, 46.272px);
    }

    .kvis-phone-input {
        padding: clamp(0px, 5.208vw, 99.994px) clamp(0px, 3.906vw, 74.995px);
        font-size: clamp(0px, 3.385vw, 64.992px);
        line-height: clamp(0px, 5.208vw, 99.994px);
        font-weight: 300;
    }

    .kvis-checkbox-label {
        gap: clamp(0px, 1.61vw, 30.912px);
        font-size: clamp(0px, 1.79vw, 34.368px);
        line-height: clamp(0px, 2.56vw, 49.152px);
    }


    .googing-form-checkbox {
        gap: clamp(0px, 1.36vw, 26.112px);
        width: 100%;
        margin-top: clamp(0px, 2.56vw, 49.152px);
    }

    .googing-form-checkbox input[type="checkbox"] {
        width: clamp(0px, 4vw, 76.8px);
        height: clamp(0px, 4vw, 76.8px);
        border-radius: clamp(0px, 0.51vw, 9.792px);
        border: clamp(0px, 0.13vw, 2.496px) solid #EBEBEB;
    }

    .googing-form-checkbox input[type="checkbox"]:checked {
        border: clamp(0px, 0.13vw, 2.496px) solid rgba(46, 61, 88, 1);
    }

    .googing-form-checkbox input[type="checkbox"]:checked::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        width: clamp(0px, 0.38vw, 7.296px);
        height: clamp(0px, 0.77vw, 14.784px);
        border: solid white;
        border-width: 0 clamp(0px, 0.26vw, 4.992px) clamp(0px, 0.26vw, 4.992px) 0;
        transform: translate(-50%, -60%) rotate(45deg);
    }

    .googing-form-checkbox label {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 3.906vw, 74.995px);
    }
}

/* =========================================
   РАЗМЕРЫ ИЗ FIGMA С АДАПТАЦИЕЙ В VW (Desktop)
   ========================================= */
@media (min-width: 781px) {
    /* gap: 30px */
    .kvis-inputs-section {
        gap: clamp(0px, 1.563vw, 30.01px);
    }

    /* width: 590px, height: 80px, border-radius: 20px, border-width: 1px */
    .kvis-input.kvis-name-input,
    .kvis-phone-input-wrapper {
        width: clamp(0px, 30.729vw, 589.997px);
        height: clamp(0px, 4.167vw, 80.006px);
        border-radius: clamp(0px, 1.042vw, 20.006px);
        border-width: clamp(0px, 0.052vw, 0.998px);
    }

    /* padding: 20px */
    .kvis-input.kvis-name-input {
        padding: clamp(0px, 1.042vw, 20.006px);
    }

    /* Внутренние отступы для телефона (padding 20px) */
    .kvis-phone-prefix {
        padding: 0 clamp(0px, 1.042vw, 20.006px);
        height: 100%;
    }

    .kvis-phone-input {
        padding: 0 clamp(0px, 1.042vw, 20.006px);
        height: 100%;
        border: none;
    }

    /* Шрифт: 18px, line-height: 28px */
    .kvis-btn-next.kvis-btn-submit span {
        font-family: 'Geist', sans-serif;
        font-weight: 500;
        font-size: clamp(0px, 0.938vw, 18.01px);
        line-height: clamp(0px, 1.458vw, 27.994px);
        letter-spacing: 0;
        vertical-align: middle;
    }
}

.navbar-wrapper {
  position: relative;
  width: 100%;
  padding: 0 clamp(0px, 2.6vw, 50px);
  box-sizing: border-box;
}

.navbar-placeholder {
  width: 100%;
}

.navbar {
  width: 100%;
  background: #fff;
  border-radius: clamp(0px, 0.55vw, 10.56px);
  position: relative;
  z-index: 1000;
}

.navbar--fixed {
  position: fixed;
  top: clamp(0px, 0.52vw, 9.984px);
  left: clamp(0px, 2.6vw, 50px);
  right: clamp(0px, 2.6vw, 50px);
  width: auto;
}

.navbar-container {
  width: 100%;
  padding: clamp(0px, 1.1vw, 21.12px) clamp(0px, 1.56vw, 30px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0px, 2.6vw, 50px);
  flex-wrap: wrap;
  background: rgba(235, 235, 235, 0.3);
  border-radius: clamp(0px, 0.55vw, 10.56px);
}

.navbar-item {
  display: flex;
  align-items: center;
  line-height: 1.55;
  gap: clamp(0px, 0.7vw, 13.44px);
  font-size: var(--font-size-body);
  font-weight: 500;
  color: rgba(26, 26, 26, 0.75);
  text-decoration: none;
  font-family: 'Geist', sans-serif;
  transition: color 0.3s ease;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
}

.navbar-item-button {
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: clamp(0px, 0.7vw, 13.44px);
  font: inherit;
  margin: 0;
  padding: 0;
}

.navbar-item:hover {
  color: #485b85;
}

.navbar-item--popover {
  position: relative;
}

.navbar-item--popover::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: clamp(0px, 1.2vw, 23.04px);
}

.navbar-item svg {
  width: clamp(0px, 1.25vw, 24px);
  height: clamp(0px, 1.25vw, 24px);
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.navbar-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(0px, 1.25vw, 24px);
  height: clamp(0px, 1.25vw, 24px);
  flex-shrink: 0;
}

.navbar-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #485b85;
  color: #fff;
  font-size: clamp(0px, 0.65vw, 12.48px);
  font-weight: 500;
  padding: clamp(0px, 0.24vw, 4.608px) clamp(0px, 0.52vw, 9.984px);
  border-radius: clamp(0px, 0.52vw, 9.984px);
  line-height: 1;
}

@media (max-width: 767px) {
  .navbar-wrapper,
  .navbar,
  .navbar-placeholder {
    display: none;
  }
}

.footer {
    width: 100%;
    background: #FFFFFF;
    padding: 0 0 clamp(0px, 2.6vw, 50px) 0;
}

.footer-container {
    width: 100%;
    box-sizing: border-box;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(0px, 2.6vw, 50px);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Общие стили для блоков */
.footer-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Блок 1 - Логотип */
.footer-logo-block {
    flex: 1 1;
    gap: clamp(0px, 1vw, 19.2px);
}

.footer-logo {
    flex-shrink: 0;
}

.footer-logo img {
    width: clamp(0px, 11.51vw, 220.992px);
    height: clamp(0px, 3.65vw, 70.08px);
    object-fit: contain;
}

/* Блок 2 - Описание клиники */
.footer-description-block {
    /*flex-shrink: 0;*/

}

.footer-clinic-description {
    font-size: var(--font-size-body-small);
    font-weight: 300;
    color: rgba(26, 26, 26, 0.75);
    margin: 0;
    font-family: 'Geist', sans-serif;
    line-height: var(--line-height-25);
    text-align: left;
}

/* Блок 3 - Локация */
.footer-location-block {
    flex-shrink: 0;
    gap: clamp(0px, 0.52vw, 9.984px);
}

.footer-location-title {
    font-size: var(--font-size-body);
    font-weight: 500;
    color: rgba(0, 0, 0, 1);
    margin: clamp(0px, 0.52vw, 9.984px) 0 0 0;
    font-family: 'Geist', sans-serif;
    text-align: left;
}

.footer-location-address {
    font-size: var(--font-size-body);
    font-weight: 300;
    color: rgba(26, 26, 26, 0.75);
    margin: 0 0 clamp(0px, 0.52vw, 9.984px) 0;
    font-family: 'Geist', sans-serif;
    text-align: left;
}

/* Блок 4 - Контакты */
.footer-contact-block {
    flex-shrink: 0;
    gap: clamp(0px, 0.52vw, 9.984px);
}

.footer-contact-title {
    font-size: var(--font-size-body);
    font-weight: 500;
    color: rgba(25, 25, 25, 1);
    margin: clamp(0px, 0.52vw, 9.984px) 0 0 0;
    font-family: 'Geist', sans-serif;
    text-align: left;
}

.footer-contact-phone {
    font-size: var(--font-size-body);
    font-weight: 300;
    color: rgba(26, 26, 26, 0.75);
    text-decoration: none;
    font-family: 'Geist', sans-serif;
    transition: color 0.3s ease;
    text-align: left;
    margin: 0 0 clamp(0px, 0.52vw, 9.984px) 0;
}

.footer-contact-phone:hover {
    color: #485B85;
}

/* Блок 5 - Форма экстренной записи */
.footer-form-block {
    /*flex-shrink: 1;*/
    min-width: 0;
    /*max-width: clamp(0px, 28.65vw, 550.08px);*/
    width: 100%;
    flex: 1 1;
}

.footer-emergency {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: clamp(0px, 1.1vw, 21.12px);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.footer-emergency-title {
    font-size: var(--font-size-body);
    font-weight: 900;
    font-family: 'Geist', sans-serif;
    line-height: var(--line-height-28);
    text-align: right;
    margin: 0;
    padding-right: clamp(0px, 2vw, 38.4px);
    color: rgba(255, 255, 255, 1);
    letter-spacing: 0;
}

.footer-emergency-form {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: clamp(0px, 1.1vw, 21.12px);
    /*max-width: calc(600 * var(--fluid-unit));*/
    /*margin-top: max(-1.5vw, -28.8px); !* Добавлено: подтягивает форму с инпутом вверх. Подбери значение на глаз (например от max(-1vw, -19.2px) до max(-2.5vw, -48px)) *!*/
}

.footer-phone-input-wrapper {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: calc(550 * var(--fluid-unit));
    border: clamp(0px, 0.052vw, 0.998px) solid #EBEBEB;
    border-radius: clamp(0px, 4.5vw, 86.4px);
    overflow: hidden;
    background: white;
    transition: border-color 0.3s ease;
    gap: clamp(0px, 0.26vw, 4.992px);
    padding: clamp(0px, 0.26vw, 4.992px);
    align-items: center;
    box-sizing: border-box;
}

.footer-phone-input-wrapper:focus-within {
    border-color: #485B85;
}

.footer-phone-prefix {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.52vw, 9.984px);
    padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.25vw, 24px) clamp(0px, 1.04vw, 19.968px) clamp(0px, 0.5vw, 9.6px);
    background: white;
    flex-shrink: 0;
    position: relative;
    border-radius: clamp(0px, 4.5vw, 86.4px);
}

.footer-phone-prefix::after {
    content: '';
    position: absolute;
    right: 0;
    top: clamp(0px, 0.22vw, 4.224px);
    bottom: clamp(0px, 0.22vw, 4.224px);
    width: clamp(0px, 0.052vw, 0.998px);
    background: #EBEBEB;
}


.footer-phone-prefix svg {
    width: clamp(0px, 1.04vw, 19.968px);
    height: clamp(0px, 0.78vw, 14.976px);
    flex-shrink: 0;
}

.footer-phone-prefix span {
    font-size: var(--font-size-body);
    font-family: 'Geist', sans-serif;
    color: rgba(25, 25, 25, 1);
    font-weight: 500;
}

.footer-phone-input {
    flex: 1 1;
    min-width: 0;
    border: none;
    border-radius: clamp(0px, 0.78vw, 14.976px);
    padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.25vw, 24px);
    font-size: var(--font-size-button);
    font-family: 'Geist', sans-serif;
    color: rgba(26, 26, 26, 0.75);
    background: white;
    outline: none;
    transition: border-color 0.3s ease;
}

.footer-phone-input::placeholder {
    color: rgba(26, 26, 26, 0.5);
}

.footer-phone-input:focus {
    border: none;
    outline: none;
}

/* .footer-phone-input-error {
  border-color: rgba(235, 235, 235, 1);
} */

.footer-submit-btn {
    height: clamp(0px, 3.48vw, 66.816px); /* Fixed 66.78px */
    width: -webkit-fit-content;
    width: fit-content; /* Hug 210.68px */
    padding: 0 clamp(0px, 2.32vw, 44.544px); /* Right и Left 44.52px */
    border-radius: clamp(0px, 4.64vw, 89.088px); /* Radius 89.04px */
    border: clamp(0px, 0.046vw, 0.883px) solid #2E3D58; /* Border 0.89px */
    gap: clamp(0px, 1.39vw, 26.688px); /* Gap 26.71px */
    font-weight: 500;
    font-size: var(--font-size-body);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Geist', sans-serif;
    position: relative;
    overflow: hidden;
    background: transparent;
    color: #485B85;
}

.footer-submit-btn:hover {
    background: #FFFFFF;
}

.footer-btn-primary {
    background: #485B85;
    color: #FFFFFF;
}

.footer-btn-primary span {
    font-size: var(--font-size-button);
    color: #FFFFFF;
    font-weight: 500;
    line-height: clamp(0px, 0.94vw, 18.048px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 2;
}

.footer-btn-primary:hover span {
    transform: translateX(clamp(0px, 2.2vw, 42.24px));
    color: #485B85;
}

.footer-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    width: clamp(0px, 0.63vw, 12.096px);
    height: clamp(0px, 0.57vw, 10.944px);
}

.footer-btn-icon svg {
    width: 100%;
    height: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}


.footer-btn-icon svg path {
    fill: #FFFFFF;
    transition: fill 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-submit-btn:hover .footer-btn-icon svg {
    transform: translateX(max(-5.35vw, -102.72px)) rotate(40deg);
}

.footer-submit-btn:hover .footer-btn-icon svg path {
    fill: #485B85;
}

/* Эффект блика для кнопки */
.footer-submit-btn .flare {
    position: absolute;
    top: 0;
    height: 100%;
    width: 45px;
    transform: skewX(-45deg);
    animation: flareAnimation 3s infinite;
    left: -170%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), #fff);
    filter: blur(0px);
    z-index: 1;
    pointer-events: none;
}

@keyframes flareAnimation {
    0% {
        left: -170%;
    }
    50% {
        left: 170%;
    }
    100% {
        left: 170%;
    }
}


.footer-form-checkbox {
    display: flex;
    gap: clamp(0px, 0.53vw, 10.176px);
    justify-content: flex-start;
    /*margin-top: clamp(0px, 0.52vw, 9.984px); !* Добавлено: опускает блок на ~10px вниз *!*/
}

.footer-form-checkbox input[type="checkbox"] {
    width: clamp(0px, 0.78vw, 14.976px);
    height: clamp(0px, 0.78vw, 14.976px);
    border-radius: clamp(0px, 0.2vw, 3.84px);
    border: clamp(0px, 0.052vw, 0.998px) solid #EBEBEB;
    background: #EBEBEB;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    flex-shrink: 0;
}

.footer-form-checkbox input[type="checkbox"]:checked {
    background: rgba(72, 91, 133, 1);
    border-color: rgba(46, 61, 88, 1);
}

.footer-form-checkbox input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: clamp(0px, 0.12vw, 2.304px);
    height: clamp(0px, 0.38vw, 7.296px);
    border: solid white;
    border-width: 0 clamp(0px, 0.16vw, 3.072px) clamp(0px, 0.16vw, 3.072px) 0;
    transform: translate(-50%, -60%) rotate(45deg);
}

.footer-form-checkbox label {
    text-align: left;
    font-size: var(--font-size-body-small);
    font-weight: 300;
    color: rgba(215, 215, 215, 1);
    font-family: 'Geist', sans-serif;
    cursor: pointer;
}

.footer-form-checkbox label a {
    color: rgba(215, 215, 215, 1) !important;
}

/* Нижняя секция - Услуги и платежные системы */
.footer-bottom {
    /*margin-top: clamp(0px, 3.13vw, 60.096px);*/
    padding-top: clamp(0px, 2.6vw, 50px);
    /*border-top: clamp(0px, 0.052vw, 0.998px) solid rgba(235, 235, 235, 1);*/
}

.footer-services {
    display: flex;
    justify-content: space-between;
    gap: clamp(0px, 1.6vw, 30.72px);
}

.footer-services-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1 1;
}

.footer-services-title {
    font-size: var(--font-size-body);
    font-weight: 500;
    color: rgba(0, 0, 0, 1);
    margin: 0 0 clamp(0px, 1.04vw, 19.968px) 0;
    font-family: 'Geist', sans-serif;
    text-align: left;
}

.footer-services-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.52vw, 9.984px);
}

.footer-services-list li {
    font-size: var(--font-size-body);
    font-weight: 300;
    color: rgba(26, 26, 26, 0.75);
    font-family: 'Geist', sans-serif;
    text-align: left;
    line-height: 1.5;
}

.footer-payment-column {
    flex: 0 0 auto;
    min-width: clamp(0px, 15.63vw, 300.096px);
}

.footer-payment-logos {
    display: flex;
    /* flex-direction: column; */
    gap: clamp(0px, 0.78vw, 14.976px);
    margin-top: clamp(0px, 1.04vw, 19.968px);
}

.footer-payment-logo {
    width: clamp(0px, 4.95vw, 95.04px);
    height: clamp(0px, 3.18vw, 61.056px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.footer-payment-logo svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-payment-logo-visa {
    /* width: clamp(0px, 3.8vw, 72.96px);
    min-height: clamp(0px, 0.83vw, 15.936px); */
    height: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: #485B85;
    border-radius: clamp(0px, 0.52vw, 9.984px);
    padding: clamp(0px, 0.78vw, 14.976px) clamp(0px, 1.04vw, 19.968px);
    box-sizing: border-box;
}

/* Нижняя секция - Юридическая информация, QR код и информация о компании */
.footer-legal {
    margin-top: clamp(0px, 2.6vw, 50px);
    padding-top: clamp(0px, 2.6vw, 50px);
    border-top: clamp(0px, 0.052vw, 0.998px) solid rgba(235, 235, 235, 1);
}

.footer-legal-content {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Выравнивание всего контента по центру по вертикали */
    gap: clamp(0px, 2.6vw, 50px);
    width: 100%;
    padding: clamp(0px, 2.6vw, 50px) 0;
}


.footer-legal-warning,
.footer-company-name {
    width: 100%;
    font-family: 'Geist', sans-serif;
    font-weight: 500;
    font-size: clamp(0px, 0.94vw, 18.048px); /* Эквивалент 18px */
    line-height: clamp(0px, 1.46vw, 28.032px); /* Эквивалент 28px */
    letter-spacing: 0;
    color: rgba(25, 25, 25, 0.5); /* Цвет 25,25,25 + Opacity 50% */
    margin: 0;
    text-align: left;
}

.footer-legal-disclaimer,
.footer-company-details {
    width: 100%;
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 0.73vw, 14.016px); /* Эквивалент 14px */
    line-height: clamp(0px, 1.09vw, 20.928px); /* Эквивалент 21px */
    letter-spacing: 0;
    color: rgba(26, 26, 26, 0.5); /* Цвет 26,26,26 + Opacity 50% */
    margin: 0;
    text-align: left;
}

.footer-legal-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: clamp(0px, 0.8vw, 15.36px);
}

.footer-qr-code {
    width: clamp(0px, 6.56vw, 125.952px);
    height: clamp(0px, 6.56vw, 125.952px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-qr-code svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-qr-text {
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 0.73vw, 14.016px); /* Эквивалент 14px */
    line-height: clamp(0px, 1.09vw, 20.928px); /* Эквивалент 21px */
    letter-spacing: 0;
    color: rgba(25, 25, 25, 0.5); /* Цвет 25,25,25 + Opacity 50% */
    margin: 0;
    text-align: center;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-qr-text:hover {
    color: rgba(17, 47, 85, 1);
}

.footer-legal-left,
.footer-legal-right {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: clamp(0px, 36.98vw, 710.016px); /* Эквивалент 710px */
    gap: clamp(0px, 0.52vw, 9.984px); /* Небольшой отступ между заголовком и текстом, чтобы они не слипались */
}

.footer-legal-right {
    align-items: flex-start; /* Прижимаем контент правой колонки к левому краю */
}


/* Блок 3 - Подписка (Экстренная запись) */
/* Блок 3 - Подписка (Экстренная запись) */
.footer-subscribe {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 2.6vw, 50px); /* Увеличенный отступ (~50px) для визуального разделения */
    max-width: clamp(0px, 26vw, 499.2px);
}

.footer-company-director {
    font-size: var(--font-size-body-small);
    font-weight: 300;
    color: rgba(26, 26, 26, 0.75);
    margin: 0;
    font-family: 'Geist', sans-serif;
    line-height: 1.5;
    text-align: right;
}

.footer-bottom-dark-links-desc {
    display: flex;
    justify-content: space-between; /* Распределяем элементы по всей ширине линии */
    align-items: center;
    gap: clamp(0px, 1.5vw, 28.8px);
    /*padding-top: clamp(0px, 1.56vw, 29.952px); !* Отступ текста от верхней линии *!*/
    border-top: clamp(0px, 0.052vw, 0.998px) solid rgba(255, 255, 255, 0.2);
    flex-wrap: wrap; /* Для подстраховки на узких экранах */
    width: 100%;
}

.footer-bottom-dark-link {
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 0.73vw, 14.016px); /* Эквивалент 14px */
    line-height: clamp(0px, 1.09vw, 20.928px); /* Эквивалент 21px */
    letter-spacing: 0;
    color: rgba(26, 26, 26, 0.75); /* Цвет по дизайну */
    margin: 0;
    text-decoration: none;
    text-align: center; /* Выравнивание по центру, как в ТЗ */
    transition: color 0.3s ease;
}

.licence:hover {
    color: rgba(17, 47, 85, 1);
}

.footer-bottom-dark-link:hover {
    color: rgba(17, 47, 85, 1);
}

@media (min-width: 2201px) {
    .footer-form-block {
        max-width: 550px;
    }

    .footer-content {
        max-width: 100%;
        overflow: hidden;
        gap: clamp(0px, 1.5vw, 28.8px);
    }

    .footer-emergency-form {
        gap: clamp(0px, 0.4vw, 7.68px);
    }

    .footer-phone-input-wrapper {
        gap: clamp(0px, 0.26vw, 4.992px);
        padding: clamp(0px, 0.26vw, 4.992px);
    }

    .footer-phone-prefix {
        gap: clamp(0px, 0.52vw, 9.984px);
        padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.25vw, 24px);
    }

    .footer-phone-input {
        padding: clamp(0px, 1.04vw, 19.968px) clamp(0px, 1.25vw, 24px);
        font-size: var(--font-size-button);
    }

    .footer-submit-btn {
        padding: clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 0.31vw, 5.952px) clamp(0px, 1.56vw, 29.952px);
        gap: clamp(0px, 1.56vw, 29.952px);
        font-size: var(--font-size-body);
        line-height: clamp(0px, 0.89vw, 17.088px);
    }

    .footer-btn-icon {
        width: clamp(0px, 3.125vw, 60px);
        height: clamp(0px, 3.125vw, 60px);
    }

    .footer-btn-icon svg {
        width: clamp(0px, 0.73vw, 14.016px);
        height: clamp(0px, 0.63vw, 12.096px);
    }

    .footer-submit-btn::after {
        width: clamp(0px, 3.125vw, 60px);
        height: clamp(0px, 3.125vw, 60px);
        right: clamp(0px, 0.31vw, 5.952px);
    }
}

.kvis-privacy-link {
    color: rgba(215, 215, 215, 1);
    text-decoration: underline;
    cursor: pointer;
}

.kvis-privacy-link:hover {
    text-decoration: underline;
    color: rgba(26, 26, 26, 1);
}

@media (max-width: 767px) {
    .footer {
        padding-top: 0;
        padding-bottom: clamp(0px, 9.126vw, 175.219px);
    }

    .footer-content {
        flex-direction: column;
        align-items: stretch;
    }

    .footer-form-block {
        max-width: 100%;
        width: 100%;
        padding-top: clamp(0px, 6.510vw, 124.992px);
    }

    .footer-emergency {
        gap: clamp(0px, 5.208vw, 99.994px);
        align-items: flex-start;
    }

    .footer-emergency-title {
        justify-content: center; /* Главное исправление для флекс-контейнера */
        text-align: left;
        width: 100%;
        font-size: clamp(0px, 3.255vw, 62.496px);
        line-height: clamp(0px, 4.297vw, 82.502px);
        padding: 0;
        /*margin-bottom: clamp(0px, 3.85vw, 73.92px);*/
    }


    /* 1. Центрируем заголовок "Острая боль..." и поднимаем форму чуть выше */
    /*.footer-emergency-title {*/
    /*    text-align: center !important;*/
    /*    width: 100% !important;*/
    /*    margin-bottom: clamp(0px, 1.5vw, 28.8px) !important; !* Уменьшили отступ (было clamp(0px, 3.85vw, 73.92px)), чтобы поднять форму *!*/
    /*}*/
    /* 2. Центрируем саму форму целиком (инпут и галочка выровняются по центру экрана) */
    .footer-emergency-form {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: clamp(0px, 5.208vw, 99.994px);
        width: 100%;
    }

    /* 3. Настраиваем и сужаем белую плашку (контейнер для телефона и кнопки) */
    .footer-phone-input-wrapper {
        display: flex;
        position: relative;
        /*width: 85%; !* Сузили всё поле (было 100%) *!*/
        /*margin: 0 auto ; !* Выровняли его ровно по центру *!*/
        border: clamp(0px, 0.13vw, 2.496px) solid rgba(235, 235, 235, 1);
        border-radius: clamp(0px, 12.82vw, 246.144px);
        background: white;
        padding: 0;
        align-items: center;
        justify-content: flex-end;
        /*box-sizing: border-box ;*/
        height: clamp(0px, 13.021vw, 250.003px);
    }

    /* 4. Центрируем набираемый текст внутри поля */
    .footer-phone-input {
        flex: 1 1;
        min-width: 0;
        border: none;
        background: transparent;
        /* Делаем огромный отступ справа (clamp(0px, 35vw, 672px)), чтобы текст номера не залезал под кнопку */
        padding: clamp(0px, 3.33vw, 63.936px) clamp(0px, 30vw, 576px) clamp(0px, 3.33vw, 63.936px) clamp(0px, 2.56vw, 49.152px);
        /*text-align: center; !* Центрируем вводимые цифры *!*/
        font-family: 'Geist', sans-serif;
        font-weight: 500;
        font-size: clamp(0px, 2.086vw, 40.051px);
        line-height:clamp(0px, 3.259vw, 62.573px);
        color: rgba(26, 26, 26, 1);
        outline: none;
        box-sizing: border-box;
        width: 100%;
    }

    /* 5. Настраиваем кнопку "Записаться" (без вылетов за экран!) */
    .footer-submit-btn {
        position: absolute;
        right: clamp(0px, 0.5vw, 9.6px); /* Прижали кнопку ближе к правому краю инпута */
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        height: 90%; /* Высота теперь занимает почти 100% поля ввода */
        padding: 0 clamp(0px, 7.813vw, 150.01px); /* Увеличили внутренние отступы, чтобы кнопка стала шире */
        margin: 0;
        border-radius: clamp(0px, 10vw, 192px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10;
        gap: clamp(0px, 4.557vw, 87.494px);
        /*padding: clamp(0px, 1.302vw, 24.998px) clamp(0px, 1.302vw, 24.998px) clamp(0px, 1.302vw, 24.998px) clamp(0px, 5.208vw, 99.994px);*/
    }

    /* 6. Центрируем галочку и текст согласия */
    .footer-form-checkbox {
        justify-content: center; /* Выстраивает галочку и текст по центру */
        width: 100%;
    }

    .footer-form-checkbox label {
        text-align: center;
    }


    .footer-phone-input-wrapper:focus-within {
        border-color: #485B85;
    }

    .footer-phone-prefix {
        display: flex;
        align-items: center;
        gap: clamp(0px, 1.92vw, 36.864px);
        padding: clamp(0px, 3.33vw, 63.936px) clamp(0px, 2.56vw, 49.152px);
        background: white;
        flex-shrink: 0;
        position: relative;
        border-radius: 0;
    }

    .footer-phone-prefix::after {
        content: '';
        position: absolute;
        right: 0;
        top: clamp(0px, 0.77vw, 14.784px);
        bottom: clamp(0px, 0.77vw, 14.784px);
        width: clamp(0px, 0.13vw, 2.496px);
        background: #EBEBEB;
    }

    .footer-phone-prefix svg {
        width: clamp(0px, 3.21vw, 61.632px);
        height: clamp(0px, 2.18vw, 41.856px);
        flex-shrink: 0;
    }

    .footer-phone-prefix span {
        font-size: clamp(0px, 2.086vw, 40.051px);
        line-height:clamp(0px, 3.259vw, 62.573px);
    }


    .footer-form-checkbox {
        display: flex;
        align-items: center;
        gap: clamp(0px, 2.604vw, 49.997px);
        justify-content: flex-end;
        width: 100%;
        /*margin-top: clamp(0px, 0.52vw, 9.984px);*/
    }

    .footer-form-checkbox input[type="checkbox"] {
        width: clamp(0px, 2.604vw, 49.997px);
        height: clamp(0px, 2.604vw, 49.997px);
        border-radius: clamp(0px, 0.26vw, 4.992px);
        border: clamp(0px, 0.067vw, 1.286px) solid #EBEBEB;
        background: #EBEBEB;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        position: relative;
        flex-shrink: 0;
    }

    .footer-form-checkbox input[type="checkbox"]:checked {
        background: rgba(72, 91, 133, 1);
        border-color: rgba(46, 61, 88, 1);
    }

    .footer-form-checkbox input[type="checkbox"]:checked::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        width: clamp(0px, 0.15vw, 2.88px);
        height: clamp(0px, 0.49vw, 9.408px);
        border: solid white;
        border-width: 0 clamp(0px, 0.21vw, 4.032px) clamp(0px, 0.21vw, 4.032px) 0;
        transform: translate(-50%, -60%) rotate(45deg);
    }

    .footer-form-checkbox label {
        font-size:clamp(0px, 2.734vw, 52.493px);
        line-height: clamp(0px, 3.646vw, 70.003px);
        font-weight: 300;
        font-family: 'Geist', sans-serif;
        cursor: pointer;
        text-align: left;
    }


    .footer-submit-btn.footer-btn-primary span {
        font-size: clamp(0px, 2.083vw, 39.994px);
        line-height: clamp(0px, 3.255vw, 62.496px);
    }

    .footer-btn-icon {
        width: clamp(0px, 1.79vw, 34.368px);
        height: clamp(0px, 1.41vw, 27.072px);
    }

    .footer-btn-icon svg {
        width: clamp(0px, 1.79vw, 34.368px);
        height: clamp(0px, 1.41vw, 27.072px);
    }

    .footer-submit-btn.footer-btn-primary:hover .footer-btn-icon svg {
        transform: translateX(max(-15.7vw, -301.44px)) rotate(40deg);
    }

    .footer-submit-btn.footer-btn-primary:hover span {
        transform: translateX(clamp(0px, 5.7vw, 109.44px));
    }

    .footer-bottom {
        margin-top: 0;
        padding-top: 0;
        padding-bottom: clamp(0px, 13.021vw, 250.003px);
    }

    .footer-services {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: clamp(0px, 2.56vw, 49.152px);
        gap: clamp(0px, 2.56vw, 49.152px);
    }

    .footer-logo-block {
        order: 0;
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: center;
        gap: clamp(0px, 6.510vw, 124.992px);
        padding-bottom: clamp(0px, 6.510vw, 124.992px);
    }

    .footer-services-column:nth-child(2) {
        order: 1;
    }

    .footer-services-column:nth-child(3) {
        order: 2;
    }

    .footer-services-column:nth-child(4) {
        order: 3;
    }

    .footer-services-column:nth-child(6) {
        order: 4;
    }

    .footer-services-column:nth-child(5) {
        order: 5;
        grid-column: 1 / -1;
    }

    .footer-logo img {
        width: clamp(0px, 30.599vw, 587.501px);
        height: clamp(0px, 10.417vw, 200.006px);
    }

    .footer-clinic-description {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 4.557vw, 87.494px);
        margin-top: 0;
    }

    .footer-services-column {
        height: clamp(0px, 48.177vw, 924.998px);
        background: rgba(245, 245, 245, 1);
        border-radius: clamp(0px, 2.56vw, 49.152px);
        padding: clamp(0px, 2.56vw, 49.152px);
    }

    .footer-services-title {
        font-size: clamp(0px, 4.557vw, 87.494px);
        line-height: clamp(0px, 6.510vw, 124.992px);
        margin-bottom: clamp(0px, 2.604vw, 49.997px);
        font-weight: 700;
    }

    .footer-services-list {
        gap: clamp(0px, 1.302vw, 24.998px);
    }

    .footer-services-list li {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 4.557vw, 87.494px);
    }

    .footer-payment-logo {
        width: clamp(0px, 12.05vw, 231.36px);
        height: clamp(0px, 7.69vw, 147.648px);
    }

    .footer-payment-logo svg {
        width: 100%;
        height: 100%;
    }

    .footer-legal {
        margin-top: 0;
        padding-top: clamp(0px, 9.115vw, 175.008px);
    }

    .footer-legal-content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: clamp(0px, 13.021vw, 250.003px);
        align-items: center; /* Центрирование всех элементов по вертикали */
        padding: 0;
    }

    .footer-legal-center {
        order: 2;
        gap: clamp(0px, 3.646vw, 70.003px);
    }

    .footer-qr-code {
        width: clamp(0px, 27.344vw, 525.005px);
        height: clamp(0px, 27.344vw, 525.005px);
        padding: 0 clamp(0px, 1.302vw, 24.998px);
    }

    .footer-qr-text {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 5.208vw, 99.994px);
        margin-top: 0;
    }

    .footer-legal-left {
        order: 1;
        gap: clamp(0px, 2.604vw, 49.997px);
        /*width: 100%;*/
        max-width: 100%;
    }

    .footer-legal-warning,
    .footer-company-name {
        font-size: clamp(0px, 3.255vw, 62.496px);
        line-height: clamp(0px, 5.208vw, 99.994px);
        width: 100%;
    }

    .footer-legal-disclaimer,
    .footer-company-details {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 4.557vw, 87.494px);
        width: 100%;
        color: rgba(26, 26, 26, 0.4);
    }

    .footer-legal-right {
        order: 2;
        align-items: flex-start;
        gap: clamp(0px, 2.604vw, 49.997px);
        max-width: 100%;
    }

    .footer-bottom-dark-links-desc {
        display: none;
    }

    /*.footer-company-name {*/
    /*    font-size: clamp(0px, 2.31vw, 44.352px);*/
    /*    line-height: clamp(0px, 3.59vw, 68.928px);*/
    /*    width: 100%;*/
    /*    margin-right: 0;*/
    /*}*/

    /*.footer-company-details {*/
    /*    font-size: clamp(0px, 1.79vw, 34.368px);*/
    /*    line-height: clamp(0px, 2.69vw, 51.648px);*/
    /*    width: 100%;*/
    /*}*/
}



/* Нижний блок - Темно-синий фон с контактами */
.footer-bottom-dark {
    width: 100%;
    padding: clamp(0px, 2.604vw, 49.997px) 0;
    background: rgba(17, 47, 85, 1);
    box-sizing: border-box;
}

.footer-bottom-dark-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(0px, 2.6vw, 50px);
    /*margin-bottom: clamp(0px, 2.6vw, 50px);*/
}

.footer-bottom-dark-left {
    /* flex: 1; */
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.3vw, 5.76px);
    width: clamp(0px, 18.042vw, 346.406px);
}

.footer-bottom-dark-title {
    font-size: clamp(0px, 1.15vw, 22.08px);
    font-weight: 500;
    color: rgba(255, 255, 255, 1);
    margin: 0;
    font-family: 'Geist', sans-serif;
    line-height: var(--line-height-28);
    text-align: left;
}

.footer-bottom-dark-subtitle {
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 0.94vw, 18.048px); /* Эквивалент 18px */
    line-height: clamp(0px, 1.46vw, 28.032px); /* Эквивалент 28px */
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.7); /* Цвет по дизайну */
    margin: 0;
    text-align: left;
}

.footer-bottom-dark-center {
    /*flex: 1;*/
    display: flex;
    /*justify-content: space-between;*/
    /* flex-direction: column; */
    gap: clamp(0px, 2.6vw, 50px);
}

.footer-bottom-dark-info-block {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 0.52vw, 9.984px);
}

.footer-bottom-dark-info-title {
    font-size: clamp(0px, 0.94vw, 18.048px);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
    font-family: 'Geist', sans-serif;
    text-align: left;
}

.footer-bottom-dark-info-title-large {
    /*font-size: clamp(0px, 1.15vw, 22.08px);*/
    font-weight: 500;
    color: rgba(255, 255, 255, 1);
}

.footer-bottom-dark-info-value,
.footer-bottom-dark-info-link {
    font-family: 'Geist', sans-serif;
    font-weight: 300;
    font-size: clamp(0px, 0.94vw, 18.048px); /* Эквивалент 18px */
    line-height: clamp(0px, 1.46vw, 28.032px); /* Эквивалент 28px */
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.7); /* Цвет по дизайну */
    margin: 0;
    text-decoration: none;
    text-align: left;
    transition: color 0.3s ease;
}

.footer-bottom-dark-info-value:hover,
.footer-bottom-dark-info-link:hover {
    color: #FFFFFF;
}

.footer-bottom-dark-right {
    flex-shrink: 0;
}

.footer-bottom-dark-contact-wrapper {
    display: flex;
    align-items: center;
    gap: clamp(0px, 0.26vw, 4.992px);
    flex-shrink: 0;
    position: relative;
    overflow: visible;
}

@keyframes footer-bottom-dark-swing {
    0%, 100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(30deg);
    }
}

@keyframes footer-bottom-dark-pulse {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: scale(1.1);
        opacity: 0;
    }
}

@keyframes pulse-border-phone-footer {
    0% {
        transform: translate(-50%, -50%) translateZ(0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}

.footer-bottom-dark-phone-icon {
    width: clamp(0px, 2.86vw, 54.912px);
    height: clamp(0px, 2.86vw, 54.912px);
    border-radius: 50%;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 100;
    overflow: visible;
    box-sizing: content-box;
}

.footer-bottom-dark-phone-icon:hover::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 2.86vw, 54.912px);
    height: clamp(0px, 2.86vw, 54.912px);
    background: #FFFFFF;
    border-radius: 50%;
    animation: pulse-border-phone-footer 1500ms ease-out infinite;
}

.footer-bottom-dark-phone-icon:hover::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: clamp(0px, 2.86vw, 54.912px);
    height: clamp(0px, 2.86vw, 54.912px);
    background: #FFFFFF;
    border-radius: 50%;
    transition: all 200ms;
    background-color: rgba(255, 255, 255, 0.9);
}

.footer-bottom-dark-phone-icon svg {
    width: clamp(0px, 1.04vw, 19.968px);
    height: clamp(0px, 1.04vw, 19.968px);
    transform-origin: center;
    animation: footer-bottom-dark-swing 2s ease-in-out infinite;
    position: relative;
    z-index: 3;
}

.footer-bottom-dark-phone-icon svg path {
    fill: #485B85;
}

.footer-bottom-dark-contact-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(0px, 0.78vw, 14.976px);
    padding: clamp(0px, 0.21vw, 4.032px) clamp(0px, 0.23vw, 4.416px) clamp(0px, 0.21vw, 4.032px) clamp(0px, 1.56vw, 29.952px);
    background: #FFFFFF;
    border-radius: clamp(0px, 2.6vw, 50px);
    flex-shrink: 0;
    margin-right: clamp(0px, 0.26vw, 4.992px);
}

.footer-bottom-dark-phone-info {
    display: flex;
    flex-direction: column;
}

.footer-bottom-dark-phone-number {
    text-align: left;
    font-size: clamp(0px, 1.04vw, 19.968px);
    font-weight: 500;
    color: #000000;
    line-height: clamp(0px, 0.94vw, 18.048px);
}

.footer-bottom-dark-phone-hours {
    font-size: var(--font-size-body-xxs);
    color: #1A1A1ABF;
    line-height: 100%;
    text-align: left;
    margin-top: clamp(0px, 0.26vw, 4.992px);
    font-weight: 300;
    position: relative;
}

.footer-bottom-dark-avatar {
    width: clamp(0px, 2.6vw, 50px);
    height: clamp(0px, 2.6vw, 50px);
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.footer-bottom-dark-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer-bottom-dark-links-mob {
    display: none;
}

@media (max-width: 2200px) {
    /*.footer-bottom-dark {*/
    /*  padding: clamp(0px, 3.13vw, 60.096px) clamp(0px, 2.6vw, 50px) clamp(0px, 2.0vw, 38.4px) clamp(0px, 2.6vw, 50px);*/
    /*}*/
}

@media (max-width: 767px) {

    .footer-bottom-dark {
        padding: clamp(0px, 13.021vw, 250.003px) 0 clamp(0px, 2.6vw, 50px);
    }

    .footer-bottom-dark-content {
        /*display: none;*/
        flex-direction: column;
        gap: clamp(0px, 13.021vw, 250.003px);
    }

    .footer-bottom-dark-info-block {
        gap: clamp(0px, 1.302vw, 24.998px);
    }

    .footer-bottom-dark-left {
        width: 100%;
        text-align: start;
        gap: clamp(0px, 2.604vw, 49.997px);
    }

    .footer-bottom-dark-title {
        font-size: clamp(0px, 5.208vw, 99.994px);
        line-height: clamp(0px, 5.208vw, 99.994px);
    }

    .footer-bottom-dark-subtitle {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 4.557vw, 87.494px);
        max-width: clamp(0px, 73.012vw, 1401.83px);
    }

    /*.footer-bottom-dark-subtitle br {*/
    /*    display: block;*/
    /*}*/

    .footer-bottom-dark-center {
        width: 100%;
        gap: clamp(0px, 7.813vw, 150.01px);
        flex-direction: column;
    }

    .footer-bottom-dark-info-title {
        font-size: clamp(0px, 3.906vw, 74.995px);
        line-height: clamp(0px, 5.208vw, 99.994px);
    }

    .footer-bottom-dark-info-value {
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 4.557vw, 87.494px);
    }

    /*.footer-bottom-dark-links {*/
    /*    padding: clamp(0px, 6.41vw, 123.072px);*/
    /*    flex-direction: column;*/
    /*    gap: clamp(0px, 6.41vw, 123.072px);*/
    /*}*/

    .footer-bottom-dark-links-mob {
        display: flex;
        flex-direction: column;
        gap: clamp(0px, 6.510vw, 124.992px);
        width: 100%;
        padding: clamp(0px, 13.021vw, 250.003px) 0;

        border-top: 1px solid rgba(255, 255, 255, 0.3);

    }

    .footer-bottom-dark-links-mob > a,
    .footer-bottom-dark-links-mob  > span {
        text-decoration: none;
        font-family: 'Geist', sans-serif;
        font-weight: 300;
        font-size: clamp(0px, 2.865vw, 55.008px);
        line-height: clamp(0px, 4.557vw, 87.494px);
        letter-spacing: 0;
        color: rgba(255, 255, 255, 0.7);
    }

    .footer-bottom-dark-link {
        font-size: clamp(0px, 1.79vw, 34.368px);
    }
}


.article-page {
    background: rgba(255, 255, 255, 1);
}

.article-shell {
    /*padding: clamp(0px, 5.208vw, 99.994px) clamp(0px, 2.604vw, 49.997px);*/
    padding: clamp(0px, 5.208vw, 99.994px) clamp(0px, 2.604vw, 49.997px) clamp(0px, 2.604vw, 49.997px);
}

.article-shell__container {
    box-sizing: border-box;
    display: grid;
    grid-gap: clamp(0px, 1.563vw, 30.01px);
    gap: clamp(0px, 1.563vw, 30.01px);
    grid-template-columns: 1fr 1fr;
    width: 100%;
    position: relative;
}

.article-shell__media,
.article-shell__content {
    min-width: 0;
}

.article-shell__media {
    align-self: start;
}

.article-shell__media-inner {
    width: 100%;
    height: clamp(0px, 36.458vw, 699.994px);
}

.article-shell__image,
.article-shell__video,
.article-shell__media-placeholder {
    border-radius: clamp(0px, 1.042vw, 20.006px);
    display: block;
    height: 100%;
    width: 100%;
}

.article-shell__image,
.article-shell__video {
    background: #dfe7f1;
    object-fit: cover;
}

.article-shell__media-placeholder {
    align-items: center;
    background: linear-gradient(135deg, #dbe5f1 0%, #b9c8dc 100%);
    color: #112f55;
    display: flex;
    font-family: inherit;
    font-size: 28px;
    font-weight: 700;
    justify-content: center;
    padding: 32px;
    text-align: center;
    height: 100%;
}

.article-shell__content {
    color: #243041;
    padding: clamp(0px, 1.563vw, 30.01px);
    text-align: left;
}

@media (max-width: 767px) {
    .article-shell {
        padding: 0 clamp(0px, 2.604vw, 49.997px) clamp(0px, 13.038vw, 250.33px);
    }

    .article-shell__container {
        grid-template-columns: 1fr;
        gap: clamp(0px, 6.510vw, 124.992px);
        /*padding-top:clamp(0px, 6.519vw, 125.165px);*/
    }

    .article-shell__media-inner {
        height: clamp(0px, 117.340vw, 2252.928px);
    }

    .article-shell__content {
        padding: 0;
    }
}

.legal-page {
  background: #ffffff;
}

.legal-page__content {
  padding: clamp(0px, 6.25vw, 120px) clamp(0px, 2.604vw, 49.997px);
}

.legal-page__container {
  margin: 0 auto;
  max-width: clamp(0px, 72.917vw, 1400.006px);
}

.legal-page__link {
  color: #485b85;
  font-weight: 500;
  text-decoration: none;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: color 180ms ease;
}

.legal-page__link:hover,
.legal-page__link:focus-visible {
  color: #485b85;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}

.legal-page__link:focus-visible {
  border-radius: clamp(0px, 0.208vw, 3.994px);
  outline: clamp(0px, 0.104vw, 1.997px) solid rgba(72, 91, 133, 0.28);
  outline-offset: clamp(0px, 0.156vw, 2.995px);
}

.legal-page__placeholder {
  background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 100%);
  min-height: 50vh;
  padding: clamp(0px, 7.292vw, 140.006px) clamp(0px, 6.25vw, 120px);
}

.legal-page__placeholder-container {
  margin: 0 auto;
  max-width: clamp(0px, 56.25vw, 1080px);
}

.legal-page__placeholder-title {
  color: #112f55;
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 3.125vw, 60px);
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 clamp(0px, 1.25vw, 24px);
  text-transform: uppercase;
}

.legal-page__placeholder-text {
  color: rgba(26, 26, 26, 0.75);
  font-family: 'Geist', sans-serif;
  font-size: clamp(0px, 1.146vw, 22.003px);
  font-weight: 300;
  line-height: clamp(0px, 1.719vw, 33.005px);
  margin: 0;
}

@media (max-width: 767px) {
  .legal-page__content {
    padding: 0 clamp(0px, 5.128vw, 98.458px) clamp(0px, 6.519vw, 125.165px);
  }

  .legal-page__container {
    max-width: none;
  }

  .legal-page__link:focus-visible {
    border-radius: clamp(0px, 1.026vw, 19.699px);
    outline-width: clamp(0px, 0.513vw, 9.85px);
    outline-offset: clamp(0px, 0.769vw, 14.765px);
  }

  .legal-page__placeholder {
    padding: clamp(0px, 24.615vw, 472.608px) clamp(0px, 5.128vw, 98.458px) clamp(0px, 15.385vw, 295.392px);
  }

  .legal-page__placeholder-container {
    max-width: none;
  }

  .legal-page__placeholder-title {
    font-size: clamp(0px, 8.205vw, 157.536px);
    line-height: 1.15;
    margin-bottom: clamp(0px, 4.103vw, 78.778px);
  }

  .legal-page__placeholder-text {
    font-size: clamp(0px, 3.846vw, 73.843px);
    line-height: clamp(0px, 5.897vw, 113.222px);
  }
}

.cookie-policy-link {
  align-items: center;
  color: #485b85;
  display: inline-flex;
  font-weight: 600;
  gap: 0.35em;
  text-decoration: none;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: color 180ms ease;
}

.cookie-policy-link:hover,
.cookie-policy-link:focus-visible {
  color: #485b85;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}

.cookie-policy-link:focus-visible {
  border-radius: clamp(0px, 0.208vw, 3.994px);
  outline: clamp(0px, 0.104vw, 1.997px) solid rgba(72, 91, 133, 0.28);
  outline-offset: clamp(0px, 0.156vw, 2.995px);
}

@media (max-width: 767px) {
  .cookie-policy-link:focus-visible {
    border-radius: clamp(0px, 1.026vw, 19.699px);
    outline-width: clamp(0px, 0.513vw, 9.85px);
    outline-offset: clamp(0px, 0.769vw, 14.765px);
  }
}

.App {
  min-height: 100vh;
  width: 100%;
  overflow-x: clip;
  --desktop-page-padding: 50px;
  --wide-screen-gutter: max(0px, calc((100vw - 1920px) / 2));
}

@media (min-width: 1921px) {
  .navbar-wrapper,
  .carousel-container,
  .fixed-price-container,
  .fich1-container,
  .gallery-container,
  .article-shell,
  .legal-page {
    max-width: none;
    padding-left: calc(var(--wide-screen-gutter) + var(--desktop-page-padding));
    padding-right: calc(var(--wide-screen-gutter) + var(--desktop-page-padding));
  }

  .navbar--fixed {
    left: 50%;
    right: auto;
    width: calc(1920px - var(--desktop-page-padding) - var(--desktop-page-padding));
    transform: translateX(-50%);
  }
}

.route-page {
  background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 45%);
  color: #243041;
  min-height: 100vh;
  padding: 64px 20px;
}

.route-page__container {
  margin: 0 auto;
  max-width: 1100px;
  text-align: left;
}

.route-page__eyebrow {
  color: #485b85;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.route-page__title {
  color: #112f55;
  font-size: clamp(34px, 4vw, 60px);
  line-height: 1.05;
  margin: 0;
}

.route-page__description {
  color: #526075;
  font-size: 18px;
  line-height: 1.6;
  margin: 18px 0 0;
  max-width: 720px;
}

.route-page__list {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
  margin-top: 32px;
}

.route-page__card,
.route-page__action {
  border: 1px solid rgba(17, 47, 85, 0.12);
  border-radius: 24px;
  color: inherit;
  display: block;
  padding: 24px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.route-page__card:hover,
.route-page__action:hover {
  box-shadow: 0 18px 40px rgba(17, 47, 85, 0.1);
  transform: translateY(-2px);
}

.route-page__card h2 {
  color: #112f55;
  font-size: 28px;
  line-height: 1.15;
  margin: 0 0 10px;
}

.route-page__card p {
  color: #526075;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

.route-page__action {
  display: inline-block;
  margin-top: 28px;
}

html {
  scrollbar-width: thin;
  scrollbar-color: #485b85 transparent;
}

::-webkit-scrollbar {
  background-color: transparent;
  width: 16px;
}

::-webkit-scrollbar-track {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: #485b85;
  border: 6px solid rgba(255, 255, 255, 0);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background-clip: padding-box;
  background-color: #112f55;
  border: 3px solid rgba(255, 255, 255, 0);
}

::-webkit-scrollbar-thumb:active {
  background-clip: padding-box;
  background-color: #112f55;
  border: 1px solid rgba(255, 255, 255, 0);
}

@media (max-width: 768px) {
  .route-page {
    padding: 40px 16px;
  }

  .route-page__description {
    font-size: 16px;
  }

  .route-page__card h2 {
    font-size: 22px;
  }
}


/*# sourceMappingURL=main.8ae15279.css.map*/