@charset "UTF-8";

:root {
  --black: #151516;
  --1: #3d9b9c;
  --2: #51bcb2;
  --white: #fff;
  --bg: #f2f6f9;
  --stroke-in-bg: #d7dade;
  --gray-element-dark: #838588;
  --gray-element: #adadae;
  --gray-text: #676767;
  --bg-in-bg: #e1ebf2;
  --gray-blue-element: #b1cadd;
  --stroke-in-white: #e2e2e3;
  --svg-green: #3d9b9c;
  --svg-second: #b78b7b;
  --font-family: "Montserrat";
  --second-family: "Comfortaa";
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Comfortaa";
  src: url("../fonts/Comfortaa-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0px 1000px white inset !important;
  -webkit-text-fill-color: #333 !important;
}

*,
*:after,
*:before {
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  margin: 0;
  padding: 0;
  color: var(--black);
  background-color: var(--white);
  font-family: var(--font-family);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}

html {
  scrollbar-gutter: stable;
}

.lock {
  overflow: hidden;
  height: 100vh;
}

.page-content {
  display: flex;
  flex-direction: column;
}

.page-content > * {
  width: 100%;
}

.page-content header.header,
.page-content footer.footer {
  flex-shrink: 0;
}

.page-content main {
  flex-grow: 1;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

*,
*:focus {
  outline: none;
}

a[href^="tel:"],
a[href^="mailto:"] {
  white-space: nowrap;
}

h1,
h2,
h3,
h4,
p,
ul,
ol {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.img-cover,
.img-contain {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.img-contain {
  -o-object-fit: contain;
  object-fit: contain;
}

input,
button,
textarea {
  border: none;
  background: none;
  padding: 0;
  box-shadow: none;
  font-family: inherit;
  font-size: inherit;
}

button,
input[type=submit] {
  cursor: pointer;
}

address {
  font-style: normal;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  font-family: inherit;
  font-size: inherit;
}

input::placeholder,
textarea::placeholder {
  font-family: inherit;
  font-size: inherit;
}

.container {
  width: 100%;
  max-width: 99.125rem;
  margin-inline: auto;
}

.main-page {
  padding-top: 0.9375rem;
  display: flex;
  flex-direction: column;
  row-gap: 12.5rem;
  padding-bottom: 12.5rem;
}

.main-page > * {
  width: 100%;
}

.breadcrumbs a {
  display: inline-block;
  position: relative;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  color: #151516;
  padding-right: 12px;
}

.breadcrumbs a:last-child {
  cursor: default;
  pointer-events: none;
  color: #adadae;
}

.breadcrumbs a:last-child:after {
  display: none;
}

.breadcrumbs a:hover {
  color: #adadae;
}

.breadcrumbs a:hover:after {
  color: #adadae;
}

.breadcrumbs a:after {
  content: "/";
  display: inline-block;
  vertical-align: middle;
  padding-left: 12px;
}

.social-block {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
}

.flex-align,
.flex,
.flex-item,
.center-wrapper,
.flex-align-top,
.flex-justify {
  display: flex;
  gap: 1.125rem;
}

.flex-justify {
  align-items: center;
  justify-content: space-between;
}

.align-justify {
  justify-content: space-between;
}

.align-end {
  justify-content: flex-end;
}

.flex-align,
.flex-item,
.center-wrapper {
  align-items: center;
}

.flex-align-top {
  align-items: flex-start;
}

.flex-item {
  -moz-column-gap: 0.75rem;
  column-gap: 0.75rem;
}

.center-wrapper {
  justify-content: center;
}

.gap-100,
.gap-60,
.gap-50,
.gap-40,
.gap-30,
.gap-20,
.gap-18,
.gap-10 {
  display: flex;
  flex-direction: column;
}

.gap-100 > *,
.gap-60 > *,
.gap-50 > *,
.gap-40 > *,
.gap-30 > *,
.gap-20 > *,
.gap-18 > *,
.gap-10 > * {
  width: 100%;
}

.gap-100 {
  row-gap: 6.25rem;
}

.gap-60 {
  row-gap: 3.75rem;
}

.gap-50 {
  row-gap: 3.125rem;
}

.gap-40 {
  row-gap: 2.5rem;
}

.gap-30 {
  row-gap: 1.875rem;
}

.gap-20 {
  row-gap: 1.25rem;
}

.gap-18 {
  row-gap: 1.125rem;
}

.gap-10 {
  row-gap: 0.625rem;
}

.d-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.25rem;
}

.card-info,
.card-info-grey,
.card-info-dark {
  border-radius: 2.1875rem;
  background-color: #fff;
  padding: 2.5rem;
  justify-content: space-between;
  display: flex;
  flex-direction: column;
  row-gap: 2.1875rem;
  color: #151516;
}

.card-info .card-txt > * + *,
.card-info-grey .card-txt > * + *,
.card-info-dark .card-txt > * + * {
  margin-top: 0.625rem;
}

.card-info .card-info-row > * + *,
.card-info-grey .card-info-row > * + *,
.card-info-dark .card-info-row > * + * {
  margin-top: 1.25rem;
}

.card-info .card-icon,
.card-info-grey .card-icon,
.card-info-dark .card-icon {
  width: 4.0625rem;
  height: 4.0625rem;
}

.card-info-dark {
  background: #e1ebf2;
}

.card-info.shadow-card {
  width: -moz-max-content;
  width: max-content;
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
}

.bg-primary,
.card-primary {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
  color: white;
}

.bg-grey,
.card-info-grey,
.grey-section {
  background-color: #f2f6f9;
}

.pb-150 {
  padding-block: 9.375rem;
}

.grey-section {
  border-radius: 2.1875rem;
  width: calc(100vw - 20px);
  max-width: 118.75rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
  padding-block: 9.375rem;
}

.grey-section > * + * {
  margin-top: 12.5rem;
}

.brad,
.brad-grey {
  border-radius: 2.1875rem;
  overflow: hidden;
}

.brad-grey {
  background: #e1ebf2;
  padding: 2.1875rem;
}

.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.three-columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.25rem;
}

.block-768 {
  display: block;
}

.hide-768 {
  display: none !important;
}

.hide-1024 {
  display: none !important;
}

.block-1024 {
  display: block;
}

.h1,
.h2,
.h3,
.bold-40,
.medi-28 {
  font-weight: 700;
}

.h1 {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 5rem;
  line-height: 1.1;
  text-transform: uppercase;
}

.h2 {
  font-family: var(--second-family);
  font-size: 4rem;
  line-height: 1.1;
}

.h3 {
  font-size: 3rem;
  line-height: 1.1;
}

.font-20,
.medi-20,
.demi-20,
.bold-20 {
  font-size: 1.25rem;
  font-weight: 400;
}

.font-18,
.medi-18,
.demi-18,
.bold-18 {
  font-size: 1.125rem;
  font-weight: 400;
}

.font-16,
.medi-16,
.demi-16,
.bold-16 {
  font-size: 1rem;
  font-weight: 400;
}

.font-14,
.medi-14,
.demi-14,
.bold-14 {
  font-size: 0.875rem;
  font-weight: 400;
}

.font-12,
.medi-12,
.demi-12,
.bold-12 {
  font-size: 0.75rem;
  font-weight: 400;
}

.medi-20,
.demi-20 {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.4;
}

.medi-20,
.medi-18,
.medi-16,
.medi-14,
.medi-12 {
  font-weight: 500;
}

.demi-20,
.demi-18,
.demi-16,
.demi-14,
.demi-12 {
  font-weight: 600;
}

.bold-20,
.bold-18,
.bold-16,
.bold-14,
.bold-12 {
  font-weight: 700;
}

.medi-28,
.bold-28 {
  font-family: var(--second-family);
  font-size: 1.75rem;
  line-height: 1.35;
}

.bold-28 {
  font-weight: 700;
}

.bold-40 {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 40px;
  line-height: 125%;
}

.font-second {
  font-family: var(--second-family);
}

.link-accent,
.link-accent-icon span {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: 0.3s;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  padding-bottom: 3px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
}

.txt-nowrap {
  white-space: nowrap;
}

.txt-muted {
  color: #676767;
}

.txt-grey {
  color: #838588;
}

.link-accent:hover {
  background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.link-accent,
.link-accent-icon span {
  position: relative;
}

.link-accent:after,
.link-accent-icon span:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='75' height='2' viewBox='0 0 75 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1 1H74' stroke='url(%23paint0_linear_6023_581)' stroke-width='2' stroke-linecap='round' stroke-dasharray='0.1 5' /%3e%3cdefs%3e%3clinearGradient id='paint0_linear_6023_581' x1='-0.0369325' y1='1' x2='0.990128' y2='10.1738' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='%233D9B9C' /%3e%3cstop offset='0.5' stop-color='%2351BCB2' /%3e%3cstop offset='1' stop-color='%232A8586' /%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
  background-repeat: repeat-x;
}

.link-accent:hover:after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='75' height='2' viewBox='0 0 75 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1 1H74' stroke='url(%23paint0_linear_6023_602)' stroke-width='2' stroke-linecap='round' stroke-dasharray='0.1 5' /%3e%3cdefs%3e%3clinearGradient id='paint0_linear_6023_602' x1='-0.0369325' y1='1' x2='0.990128' y2='10.1738' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='%23C49E90' /%3e%3cstop offset='0.5' stop-color='%23D2C0B4' /%3e%3cstop offset='1' stop-color='%23B78B7B' /%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
}

.link-grey {
  font-family: var(--font-family);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.4;
  color: #adadae;
  border-bottom: 2px dotted currentColor;
  transition: 0.1s;
  width: -moz-fit-content;
  width: fit-content;
}

.link-grey:hover {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  border-bottom: 2px dotted #51bcb2;
}

.section-title .medi-20 {
  max-width: 62.5rem;
}

.section-title > * + * {
  margin-top: 1.5625rem;
}

.text-group > * + * {
  margin-top: 1.125rem;
}

.section-title.flex-align {
  width: 100%;
  justify-content: space-between;
}

.section-title.flex-align > * + * {
  margin-top: 0;
}

.section-title.flex-align .title-group {
  flex-grow: 1;
  max-width: 64.375rem;
}

.section-title.flex-align .title-group > * + * {
  margin-top: 1.5625rem;
}

.section-title.hero-light-title {
  max-width: 75rem;
}

.bullit-list,
.custom-text ul,
.custom-text ol {
  list-style-type: disc;
  margin-left: 1rem;
}

.bullit-list li::marker,
.custom-text ul li::marker,
.custom-text ol li::marker {
  color: #b1cadd;
}

.bullit-list li + li,
.custom-text ul li + li,
.custom-text ol li + li {
  margin-top: 10px;
}

.custom-text h2 {
  font-family: var(--second-family);
  font-size: 4rem;
  line-height: 1.1;
  max-width: 62.5rem;
}

.custom-text h2 {
  margin-bottom: 35px;
}

.custom-text p {
  margin-block: 20px;
}

.custom-text p + h2 {
  margin-top: 60px;
}

.custom-text-group {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 5rem;
  column-gap: 5rem;
  margin-block: 5.25rem;
}

.custom-text-group .custom-text-left {
  flex-grow: 1;
  max-width: 52.5rem;
}

.custom-text-group .custom-text-right {
  flex-shrink: 0;
}

.custom-text-group .custom-text-right img {
  width: 31.3125rem;
  aspect-ratio: 501/336;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 2.1875rem;
  flex-shrink: 0;
}

/*==== SVG SPRITE===*/

.svg-logo {
  width: 15.4375rem;
  aspect-ratio: 247/71;
}

svg {
  display: inline-block;
  transition: 0.3s;
  flex-shrink: 0;
}

.svg-telegram,
.svg-whatsapp {
  width: 25px;
  height: 25px;
  fill: #ffffff;
}

.svg-video {
  width: 1.5625rem;
  height: 1.5625rem;
  fill: #3d9b9c;
}

.svg-pin {
  width: 1.375rem;
  height: 1.375rem;
}

.svg-gallery,
.svg-medal,
.svg-rub,
.svg-users,
.svg-dom,
.svg-exit {
  width: 1.5625rem;
  height: 1.5625rem;
}

.svg-phone,
.svg-chat {
  width: 1.5625rem;
  height: 1.5625rem;
  color: var(--white);
}

.svg-eye {
  width: 1.5625rem;
  height: 1.5625rem;
  color: #B1CADD;
}

.svg-cross {
  width: 1rem;
  height: 1rem;
  color: #adadae;
}

.svg-carret-down {
  width: 1.125rem;
  height: 1.125rem;
}

.svg-carret-left,
.svg-carret-right {
  width: 9px;
  height: 16px;
  color: #ADADAE;
  fill: transparent;
  transition: 0.3s;
}

.svg-house {
  width: 1.5625rem;
  height: 1.5625rem;
  fill: var(--svg-green);
}

.carret-right,
.carret-green {
  display: block;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M0.900391 12.8999L6.90039 6.8999L0.90039 0.899902' stroke='%23ADADAE' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' /%3e%3c/svg%3e");
  background-size: 8px 14px;
  background-size: contain;
  flex-shrink: 0;
}

.carret-green {
  display: block;
  width: 10px;
  height: 10px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='6' height='10' viewBox='0 0 6 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M4.75 0.75L0.75 4.75L4.75 8.75' stroke='url(%23paint0_linear_5206_2095)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' /%3e%3cdefs%3e%3clinearGradient id='paint0_linear_5206_2095' x1='4.75' y1='0.636364' x2='2.65064' y2='9.21512' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='%233D9B9C' /%3e%3cstop offset='0.5' stop-color='%2351BCB2' /%3e%3cstop offset='1' stop-color='%232A8586' /%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
  background-size: 6px 10px;
}

.svg-rotate {
  width: 1.5625rem;
  height: 1.5625rem;
  fill: var(--svg-green);
}

.svg-gull,
.svg-gulls {
  width: 51.0625rem;
  aspect-ratio: 817/227;
  color: white;
}

.svg-gulls {
  width: 37.1875rem;
  aspect-ratio: 595/204;
}

.btn-primary,
.btn-secondary,
.btn-outline,
.btn-light {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  text-align: center;
  cursor: pointer;
  transition: 0.3s;
  padding-left: 5.5625rem;
  padding-right: 2.1875rem;
  height: 4.3125rem;
  border-radius: 2.5rem;
  position: relative;
  font-family: var(--font-family);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 140%;
  color: #fff;
  overflow: hidden;
  flex-shrink: 0;
}

.btn-primary .btn-circle,
.btn-secondary .btn-circle,
.btn-outline .btn-circle,
.btn-light .btn-circle {
  flex-shrink: 0;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4.3125rem;
  z-index: 2;
  background-color: red;
}

.btn-primary span,
.btn-secondary span,
.btn-outline span,
.btn-light span {
  z-index: 2;
  transition: 0.3s;
}

.btn-primary:after,
.btn-primary:before,
.btn-secondary:after,
.btn-secondary:before,
.btn-light.btn-simple:after,
.btn-light.btn-simple:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: 0.3s;
}

.btn-primary:before,
.btn-secondary:before,
.btn-light.btn-simple:before {
  opacity: 0;
}

.btn-primary:hover:after,
.btn-secondary:hover:after,
.btn-light.btn-simple:hover:after {
  opacity: 0;
}

.btn-primary:hover:before,
.btn-secondary:hover:before,
.btn-light.btn-simple:hover:before {
  opacity: 1;
}

.btn-primary {
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
  background: #339190;
}

.btn-primary:after {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
}

.btn-primary:before {
  background: #339190;
  background: linear-gradient(115deg, #51bcb2 5%, transparent 100%);
}

.btn-primary .btn-circle {
  box-shadow: 5px -4px 15px 0 rgba(255, 255, 255, 0.1), 21px -17px 27px 0 rgba(255, 255, 255, 0.09), 47px -37px 36px 0 rgba(255, 255, 255, 0.05), 84px -67px 43px 0 rgba(255, 255, 255, 0.01);
  background: linear-gradient(135deg, #4ab2aa 0%, #50bab1 50%, #2e8a8a 100%);
}

.btn-primary:hover {
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
}

.btn-secondary {
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
  background: #aa897c;
}

.btn-secondary:after {
  background: linear-gradient(135deg, transparent 0%, #c4ac9c 50%, transparent 100%);
}

.btn-secondary:before {
  background: linear-gradient(115deg, #c4ac9c 1%, transparent 100%);
}

.btn-secondary .btn-circle {
  box-shadow: 5px -4px 15px 0 rgba(255, 255, 255, 0.1), 21px -17px 27px 0 rgba(255, 255, 255, 0.09), 47px -37px 36px 0 rgba(255, 255, 255, 0.05), 84px -67px 43px 0 rgba(255, 255, 255, 0.01);
  background: linear-gradient(135deg, #c09e8f 0%, #e3d1c5 50%, #ba9282 100%);
}

.btn-secondary:hover {
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
}

.btn-outline,
.btn-light {
  color: #151516;
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, #fff 50%, rgba(255, 255, 255, 0.5) 100%);
}

.btn-outline span.btn-txt,
.btn-light span.btn-txt {
  color: #151516;
}

.btn-outline .btn-circle,
.btn-light .btn-circle {
  box-shadow: 5px -4px 15px 0 rgba(80, 187, 177, 0.1), 21px -17px 27px 0 rgba(80, 187, 177, 0.09), 47px -37px 36px 0 rgba(80, 187, 177, 0.05), 84px -67px 43px 0 rgba(80, 187, 177, 0.01);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, #fff 50%, rgba(255, 255, 255, 0.5) 100%);
}

.btn-outline:hover span.btn-txt,
.btn-light:hover span.btn-txt {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.btn-light {
  color: #151516;
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
  background: linear-gradient(135deg, rgba(242, 246, 249, 0.8) 0%, #f2f6f9 50%, rgba(242, 246, 249, 0.5) 100%);
}

.btn-light .btn-circle {
  box-shadow: 5px -4px 15px 0 rgba(78, 117, 141, 0.1), 21px -17px 27px 0 rgba(78, 117, 141, 0.09), 47px -37px 36px 0 rgba(78, 117, 141, 0.05), 84px -67px 43px 0 #e1ebf1;
  background: linear-gradient(135deg, rgba(242, 246, 249, 0.8) 0%, #f2f6f9 50%, rgba(242, 246, 249, 0.5) 100%);
}

.btn-light.btn-simple:after {
  background: linear-gradient(135deg, rgba(242, 246, 249, 0.8) 0%, #f2f6f9 50%, rgba(242, 246, 249, 0.5) 100%);
}

.btn-light.btn-simple:before {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
}

.btn-light.btn-simple span {
  color: #151516;
  position: relative;
  z-index: 3;
}

.btn-light.btn-simple:hover {
  color: white;
}

.btn-light.btn-simple:hover span {
  color: white;
  background: unset;
  -webkit-text-fill-color: unset;
}

.btn-simple {
  padding-inline: 2.1875rem !important;
}

.btn-round,
.btn-round-outline,
.btn-round-white,
.btn-round-primary,
.btn-round-secondary,
.swiper-button-prev,
.swiper-button-next {
  width: 4.3125rem;
  height: 4.3125rem;
  padding: 0.625rem;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}

.btn-round > *,
.btn-round-outline > *,
.btn-round-white > *,
.btn-round-primary > *,
.btn-round-secondary > *,
.swiper-button-prev > *,
.swiper-button-next > * {
  z-index: 2;
}

.btn-round:after,
.btn-round-outline:after,
.btn-round-white:after,
.btn-round-primary:after,
.btn-round-secondary:after,
.swiper-button-prev:after,
.swiper-button-next:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  transition: 0.3s;
}

.btn-round:hover:after,
.btn-round-outline:hover:after,
.btn-round-white:hover:after,
.btn-round-primary:hover:after,
.btn-round-secondary:hover:after,
.swiper-button-prev:hover:after,
.swiper-button-next:hover:after {
  opacity: 1;
}

.btn-round-secondary {
  box-shadow: 5px -4px 15px 0 rgba(255, 255, 255, 0.1), 21px -17px 27px 0 rgba(255, 255, 255, 0.09), 47px -37px 36px 0 rgba(255, 255, 255, 0.05), 84px -67px 43px 0 rgba(255, 255, 255, 0.01);
  background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
}

.btn-round-secondary:after {
  background: radial-gradient(95.1% 95.1% at 21.01% 9.42%, #aa897c 0%, rgba(255, 255, 255, 0) 100%), #aa897c;
}

.btn-round-primary,
.swiper-button-prev,
.swiper-button-next {
  box-shadow: 5px -4px 15px 0 rgba(255, 255, 255, 0.1), 21px -17px 27px 0 rgba(255, 255, 255, 0.09), 47px -37px 36px 0 rgba(255, 255, 255, 0.05), 84px -67px 43px 0 rgba(255, 255, 255, 0.01);
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
}

.btn-round-primary svg,
.swiper-button-prev svg,
.swiper-button-next svg {
  color: white;
}

.btn-round {
  box-shadow: 5px -4px 15px 0 rgba(255, 255, 255, 0.1), 21px -17px 27px 0 rgba(255, 255, 255, 0.09), 47px -37px 36px 0 rgba(255, 255, 255, 0.05), 84px -67px 43px 0 rgba(255, 255, 255, 0.01);
  background: #f2f6f9;
}

.btn-round-outline {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, #fff 50%, rgba(255, 255, 255, 0.5) 100%);
}

.swiper-button-prev,
.swiper-button-next {
  margin: 0;
}

.swiper-button-prev[disabled],
.swiper-button-next[disabled] {
  background: #f2f6f9;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
}

.btn-round-white {
  background: linear-gradient(135deg, #ffffff 0%, #ffffff 50%, #ffffff 100%);
}

.btn-round-white:before {
  background: linear-gradient(135deg, #ffffff 0%, #ffffff 50%, #ffffff 100%);
}

.btn-round-white:hover:after {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
}

.btn-round-white:hover svg {
  color: white;
}

.swiper-nav {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex-shrink: 0;
}

.swiper-nav .swiper-button-next,
.swiper-nav .swiper-button-prev {
  position: relative;
  inset: 0;
  transform: unset;
}

.btn-close {
  width: 4.3125rem;
  height: 4.3125rem;
  flex-shrink: 0;
  border-radius: 3.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}

.label,
.label-second,
.label-white {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0.875rem;
  border-radius: 3.125rem;
  background: var(--bg);
  white-space: nowrap;
  text-align: center;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
}

.label img,
.label svg,
.label-second img,
.label-second svg,
.label-white img,
.label-white svg {
  width: 1.5625rem;
  height: 1.5625rem;
  flex-shrink: 0;
}

.label-second {
  padding: 0.625rem 1.25rem;
  color: white;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.4;
  background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
}

.label-white {
  color: #151516;
  background: linear-gradient(135deg, rgb(255, 255, 255) 0%, #fff 50%, rgb(255, 255, 255) 100%);
}

.label-warning {
  padding: 0.6875rem 0.9375rem;
}

.label.h-50 {
  padding: 0.8125rem 1.5625rem;
}

.tabs-buttons {
  gap: 0.625rem;
  width: calc(50% + 50vw - 20px);
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}

.tabs-buttons::-webkit-scrollbar {
  display: none;
}

.tabs-buttons .tab-btn:last-child {
  margin-right: 1.25rem;
}

.label.tab-btn {
  height: 3.125rem;
  padding: 0.875rem 1.5625rem;
  transition: 0.3s;
}

.label.tab-btn svg,
.label.tab-btn img {
  width: 25px;
  height: 25px;
}

.label.tab-btn:hover {
  background: #b1cadd;
}

.tab-btn.tab-btn-active {
  background: #b1cadd;
}

.tabs-buttons.tabs-icon-buttons .tab-btn {
  background: #e1ebf2;
}

.tabs-buttons.tabs-icon-buttons .tab-btn svg {
  color: #b1cadd;
  fill: #b1cadd;
}

.tabs-buttons.tabs-icon-buttons .tab-btn.tab-btn-active {
  background: #fff;
}

.tabs-buttons.tabs-icon-buttons .tab-btn.tab-btn-active svg {
  color: #3d9b9c;
  fill: #3d9b9c;
}

.tab-content {
  display: none;
  transform: translateY(10px);
}

.tab-content.tab-content-active {
  display: block;
  animation-name: tabShow;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes tabShow {
  to {
    transform: translateY(0);
  }
}

form,
.form-item {
  position: relative;
}

.form-item.has-placeholder .input {
  font-weight: 500;
  padding-top: 1rem;
  color: #151516;
  font-size: 1.125rem;
}

.contact-form {
  display: flex;
  flex-direction: column;
  width: 100%;
  row-gap: 1.25rem;
}

.form-row {
  display: flex;
  gap: 0.9375rem;
}

.form-row > * {
  width: calc(50% - 0.9375rem);
}

.form-row.form-row--wide > * {
  width: 100%;
}

.input,
.textarea {
  font-family: var(--font-family);
  display: block;
  width: 100%;
  height: 4.3125rem;
  padding-inline: 1.875rem;
  border: 0;
  border-radius: 3.125rem;
  background: white;
  color: #151516;
  caret-color: #51bcb2;
}

textarea.input,
.input.textarea {
  height: auto;
  min-height: 8rem;
  padding-block: 1.25rem;
  border-radius: 1.5rem;
  resize: vertical;
  line-height: 1.4;
}

.input::-moz-placeholder,
.textarea::-moz-placeholder {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.125rem;
  color: #adadae;
}

.input::placeholder,
.textarea::placeholder {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.125rem;
  color: #adadae;
}

.fake-placeholder {
  position: absolute;
  top: 1.375rem;
  left: 1.875rem;
  z-index: 2;
  pointer-events: none;
  transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
  font-size: 1rem;
  line-height: 1.4;
  color: #adadae;
}

/* Поднимаем label при фокусе */

.form-item.has-placeholder .input:focus + .fake-placeholder {
  top: 0.4375rem;
  font-size: 0.8125rem;
}

/* Поднимаем label если поле не пустое */

.form-item.has-placeholder .input:not(:-moz-placeholder) + .fake-placeholder {
  top: 0.4375rem;
  font-size: 0.8125rem;
}

.form-item.has-placeholder .input:not(:placeholder-shown) + .fake-placeholder {
  top: 0.4375rem;
  font-size: 0.8125rem;
}

/* Поднимаем label при autofill */

.form-item.has-placeholder .input:-webkit-autofill + .fake-placeholder {
  top: 0.4375rem;
  font-size: 0.8125rem;
}

.form-item.has-placeholder .input:-webkit-autofill,
.form-item.has-placeholder .input:-webkit-autofill:hover,
.form-item.has-placeholder .input:-webkit-autofill:focus {
  -webkit-text-fill-color: #51bcb2;
  -webkit-transition: background-color 9999s ease-in-out 0s;
  transition: background-color 9999s ease-in-out 0s;
}

.label-special {
  position: relative;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.875rem;
  column-gap: 0.875rem;
  cursor: pointer;
}

.label-special input[type=checkbox],
.label-special input[type=radio] {
  width: 0.01px;
  height: 0.01px;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.label-special .fake-checkbox {
  border-radius: 3px;
  display: block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid #51bcb2;
  background-repeat: no-repeat;
  position: relative;
}

.label-special .fake-checkbox:before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.4375rem;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3.08494 5.11875L8.02869 0.175C8.14535 0.0583334 8.28146 0 8.43702 0C8.59258 0 8.72869 0.0583334 8.84535 0.175C8.96202 0.291667 9.02035 0.430306 9.02035 0.590917C9.02035 0.751528 8.96202 0.889972 8.84535 1.00625L3.49327 6.37292C3.3766 6.48958 3.24049 6.54792 3.08494 6.54792C2.92938 6.54792 2.79327 6.48958 2.6766 6.37292L0.168269 3.86458C0.0516026 3.74792 -0.00439744 3.60947 0.000269231 3.44925C0.0049359 3.28903 0.0657969 3.15039 0.182852 3.03333C0.299908 2.91628 0.438547 2.85794 0.598769 2.85833C0.758991 2.85872 0.897436 2.91706 1.0141 3.03333L3.08494 5.11875Z' fill='white' /%3e%3c/svg%3e");
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 0;
  transition: 0.3s;
}

.label-special input[type=checkbox]:checked + .fake-checkbox {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
}

.label-special input[type=checkbox]:checked + .fake-checkbox:before {
  opacity: 1;
}

.form-agree.is-invalid .fake-checkbox {
  outline: 2px solid #e11314;
  outline-offset: 2px;
  animation: agreeShake 0.35s ease;
}

.form-agree.is-invalid .label-text {
  color: #e11314;
}

@keyframes agreeShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

/*HEADER*/

.nav-menu {
  display: flex;
  align-items: center;
  -moz-column-gap: 1.375rem;
  column-gap: 1.375rem;
}

.nav-menu a {
  font-size: 1rem;
  line-height: 1.4;
  transition: 0.3s;
  color: var(--black);
  white-space: nowrap;
}

.nav-menu a:hover {
  color: var(--gray-element-dark);
}

.header {
  padding-top: 1rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  row-gap: 1.125rem;
}

.header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 15;
  padding-bottom: 1rem;
  box-shadow: 0 4px 18px rgba(13, 43, 62, 0.08);
  animation: headerSlideDown 0.25s ease-out;
}

@keyframes headerSlideDown {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

.header .logo {
  width: 15.4375rem;
}

.header .logo .svg-logo,
.header .logo img {
  width: 100%;
  max-height: 4.4375rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.header .header-top,
.header .header-bottom {
  width: 100%;
}

.header-row {
  display: flex;
  align-items: center;
  -moz-column-gap: 1.125rem;
  column-gap: 1.125rem;
  justify-content: space-between;
}

.header-row-right {
  -moz-column-gap: 0.9375rem;
  column-gap: 0.9375rem;
}

.phone-group .phone-link .btn-round-primary {
  display: none;
}

.phone-group .label .hide-desktop {
  display: none;
}

.header-bottom .menu-toggle {
  display: none;
}

/*HEADER DESKTOP MENU*/

.header-menu {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu-item {
  position: relative;
  list-style: none;
}

.menu-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.submenu-wrapper {
  position: absolute;
  top: 100%;
  left: -25px;
  display: none;
  max-height: 37.5rem;
  overflow: hidden;
  overflow-y: auto;
  z-index: 20;
  scrollbar-width: thin;
  scrollbar-color: #92aca9 transparent;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  border-radius: 1.5625rem;
}

.submenu-wrapper::-webkit-scrollbar {
  width: 3px;
}

.submenu-wrapper::-webkit-scrollbar-thumb {
  background-color: #92aca9;
}

.submenu-wrapper::-webkit-scrollbar-track {
  background-color: transparent;
}

.menu-item.has-submenu:hover .submenu-wrapper {
  display: block;
}

.submenu-layout {
  display: grid;
  grid-template-columns: 350px 1fr;
  border-radius: 16px;
  overflow: hidden;
}

.submenu-layout.no-sub-submenu {
  grid-template-columns: 350px;
}

.submenu-list {
  margin: 0;
  margin-top: 3px;
  padding: 0;
  list-style: none;
  background: #f2f6f9;
}

.submenu-item {
  list-style: none;
}

.submenu-link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: none;
  background: transparent;
  text-align: left;
  text-decoration: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.sub-submenu-area {
  display: none;
  position: relative;
  padding: 24px 28px;
  min-width: 380px;
  margin-top: 3px;
  background: #fff;
}

.sub-submenu-area.visible {
  display: block;
}

.sub-submenu-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sub-submenu-list li + li {
  margin-top: 14px;
}

.sub-submenu-wrapper {
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: 0.2s ease;
}

.sub-submenu-wrapper.active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.submenu-item:not(.has-sub-submenu) .submenu-icon {
  display: none;
}

/*custom menu style*/

.menu-link {
  color: #151516;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.4;
  white-space: nowrap;
  padding: 22px 0;
}

.menu-icon,
.submenu-icon {
  width: 14px;
  height: 14px;
  display: inline-block;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-size: contain;
}

.menu-icon {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M0.75 0.75L4.75 4.75L8.75 0.75' stroke='%23151516' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' /%3e%3c/svg%3e");
  background-size: 10px;
}

.menu-item:hover .menu-link,
.menu-item:hover .menu-icon {
  opacity: 0.7;
}

.submenu-icon {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='9' height='16' viewBox='0 0 9 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1.25 1.25L7.25 7.75L1.25 14.25' stroke='%23151516' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' /%3e%3c/svg%3e");
  opacity: 0.6;
  background-size: 6px;
  transform: rotate(90deg);
  transition: 0.3s;
}

.submenu-list {
  padding-top: 20px;
  padding-bottom: 20px;
}

.submenu-link {
  padding: 0.3125rem 1.5625rem;
  padding-right: 20px;
}

.submenu-item.has-sub-submenu.active .submenu-link {
  color: #3d9b9c;
}

.submenu-item.has-sub-submenu.active .submenu-icon {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='9' height='16' viewBox='0 0 9 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1.25 1.25L7.25 7.75L1.25 14.25' stroke='%2351bcb2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' /%3e%3c/svg%3e");
  transform: rotate(0);
  opacity: 1;
}

.submenu-link,
.sub-submenu-list a {
  font-size: 1rem;
  font-weight: 500;
}

.submenu-link:hover,
.sub-submenu-list a:hover {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.header-menu-wrapper {
  padding-left: 2.1875rem;
  padding-right: 2.1875rem;
  border-radius: 2.5rem;
  background: #f2f6f9;
}

/*MOBILE  MENU*/

.header-mobile-wrapper {
  position: fixed;
  inset: 0;
  top: 7.4375rem;
  z-index: 20;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: flex-end;
  padding-inline: 0.3125rem;
  max-height: calc(100dvh - 7.375rem);
  overflow: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

.header-mobile-wrapper::-webkit-scrollbar {
  display: none;
}

.header-mobile-wrapper {
  transform: translateX(110%);
  transition: 0.3s;
}

.header-mobile-wrapper.active {
  transform: translateX(0);
}

.mobile-wrapper-content {
  position: relative;
  border-radius: 1.5625rem;
  padding: 1.875rem 1.25rem;
  background: #f2f6f9;
  width: 100%;
  max-width: 30rem;
  display: flex;
  flex-direction: column;
  row-gap: 1.5625rem;
}

.mobile-submenu {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  border-radius: 1.5625rem;
  padding: 1.875rem 1.25rem;
  background: #f2f6f9;
  transform: translateX(110%);
  max-width: 30rem;
  transition: 0.3s;
  height: calc(100dvh - 13.5rem);
  overflow: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

.mobile-submenu::-webkit-scrollbar {
  display: none;
}

.mobile-submenu.is-open {
  transform: translateX(0);
}

.mobile-submenu .close-submenu {
  margin-bottom: 1.875rem;
}

.mobile-submenu-list {
  display: flex;
  flex-direction: column;
  row-gap: 0.9375rem;
}

.mobile-submenu-item {
  width: 100%;
}

.mobile-submenu-link {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.4;
  color: #151516;
}

.mobile-menu {
  flex-grow: 1;
}

.mobile-menu-link {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.35;
  color: #151516;
  padding-block: 0.25rem;
  display: flex;
  align-items: center;
}

.mobile-menu-link span {
  flex-grow: 1;
}

.mobile-menu-item + .mobile-menu-item {
  margin-top: 0.625rem;
}

.mobile-navigation {
  width: 100%;
}

.mobile-navigation .mobile-nav-list {
  border-radius: 25px;
  padding: 25px;
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  row-gap: 0.8125rem;
}

.mobile-navigation .mobile-nav-list a {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #151516;
}

.mobile-menu-contacts {
  width: 100%;
  justify-content: space-between;
}

.mobile-menu-contacts .phone-group {
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 0.5rem;
}

.mobile-menu-contacts .phone-group .phone-link {
  display: block;
  font-size: 0.875rem;
}

.mobile-menu-contacts .label {
  background: #fff;
  font-size: 0.75rem;
}

.close-submenu {
  display: flex;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  align-items: center;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.4;
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.active .svg-house {
  fill: white;
}

.btn-round.menu-toggle.active {
  background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
}

/*HERO*/

.hero-section {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.hero {
  border-radius: 2.1875rem;
  width: 100%;
  max-width: 118.75rem;
  margin-left: auto;
  margin-right: auto;
  max-height: 46rem;
  overflow: hidden;
  background: linear-gradient(135deg, #3D9B9C 0%, #51BCB2 51%, #2A8586 100%);
  position: relative;
  color: #fff;
  display: flex;
}

.hero .card-info.card-primary {
  border-radius: 1.5625rem;
}

.hero .container {
  display: flex;
  position: relative;
  z-index: 4;
  padding-top: 5rem;
  padding-bottom: 1.25rem;
}

.hero .hero-content {
  width: 52%;
  max-width: 48.75rem;
  display: flex;
  flex-direction: column;
  row-gap: 3.125rem;
}

.hero .hero-content > * {
  width: 100%;
}

.hero .hero-group {
  -moz-column-gap: 4.4375rem;
  column-gap: 4.4375rem;
}

.hero .phone-group {
  text-align: right;
  white-space: nowrap;
}

.hero .h1 br {
  display: none;
}

.hero .hero-title > * + * {
  margin-top: 1.5625rem;
}

.hero .hero-img {
  position: absolute;
  inset: 0;
  z-index: 2;
  mix-blend-mode: soft-light;
}

.hero .hero-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.hero .hero-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 42.4%;
  z-index: 0;
}

.hero .hero-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.hero .benefits-group {
  width: 100%;
  margin-top: auto;
  display: flex;
  -moz-column-gap: 1.5625rem;
  column-gap: 1.5625rem;
}

.hero .benefits-group .card-info {
  flex: 1;
  border-radius: 1.5625rem;
}

.hero-title .h1,
.hero-title .medi-20 {
  color: #fff;
}

.hero-404 {
  position: relative;
  overflow: hidden;
}

.hero-404 .hero-404-row {
  display: flex;
}

.hero-404 .hero-404-right {
  width: 65%;
  flex-shrink: 0;
  margin-left: -25%;
}

.hero-404 .hero-404-svg {
  width: 31.25rem;
  margin-left: auto;
}

.hero-404 .hero-title {
  max-width: 56.25rem;
  width: 75%;
  flex-shrink: 0;
}

.hero-404 .hero-title .medi-20 {
  max-width: 28.125rem;
  margin-top: 1.5625rem;
}

.hero-404 .hero-title .btn-primary {
  margin-top: 3.125rem;
}

.hero-404 .hero-title .h1,
.hero-404 .hero-title .medi-20 {
  color: #151516;
}

.hero-right-column {
  align-self: flex-end;
  margin-left: auto;
}

.hero-right-column .card-info {
  width: 100%;
  max-width: 25.8125rem;
}

.benefits-group.benefits-group-mobile {
  display: none;
}

.hero-single-page.hero-inner {
  overflow: visible;
}

.hero-single-page.hero-inner .hero-inner-right {
  position: sticky;
  top: 20px;
}

.hero-single-content {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 5rem;
  column-gap: 5rem;
  align-items: flex-start;
}

.hero-single-content .label {
  margin-bottom: 1.25rem;
}

.hero-single-content .medi-20 {
  margin-bottom: 1.5em;
}

.hero-single-content .h2 {
  margin-bottom: 0.86em;
}

.persone-card {
  display: flex;
  flex-direction: column;
  width: 32.125rem;
  row-gap: 1.25rem;
}

.persone-card-img {
  width: 100%;
  background-color: #fff;
  border-radius: 2.1875rem;
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

.persone-card .btn-primary {
  position: absolute;
  bottom: 1.875rem;
  z-index: 3;
  left: 50%;
  transform: translateX(-50%);
}

.persone-card-bottom {
  width: 100%;
  flex-shrink: 0;
  box-shadow: -5px 4px 15px 0 rgba(255, 255, 255, 0.1), -21px 17px 27px 0 rgba(255, 255, 255, 0.09), -47px 37px 36px 0 rgba(255, 255, 255, 0.05), -84px 67px 43px 0 rgba(255, 255, 255, 0.01), -131px 104px 47px 0 rgba(255, 255, 255, 0);
  background: #e1ebf2;
  border-radius: 2.1875rem;
  padding: 2.1875rem;
  text-align: center;
}

.persone-card-bottom > * + * {
  margin-top: 5px;
}

.card-info-small {
  border-radius: 1.5625rem;
  padding: 1.875rem;
  row-gap: 1.25rem;
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
}

.rating-link .rating-link-logo {
  width: 100%;
  aspect-ratio: 187/39;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rating-link .rating-link-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

/*HEADER INNER*/

.hero-inner {
  position: relative;
  overflow: hidden;
  display: flex;
  min-height: 46rem;
}

.hero-inner .container {
  width: 100%;
  display: flex;
}

.hero-inner .container .hero-inner-content {
  flex-grow: 1;
}

.hero-inner .container .hero-inner-left {
  align-self: center;
}

.hero-inner-image {
  position: absolute;
  bottom: 0;
  right: 0;
  top: 0;
  width: 49%;
  overflow: hidden;
  z-index: 2;
  mix-blend-mode: darken;
  display: flex;
  align-items: flex-end;
}

.hero-inner-image img {
  mix-blend-mode: darken;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.hero-inner-content {
  display: flex;
  -moz-column-gap: 1.875rem;
  column-gap: 1.875rem;
}

.hero-inner.hero-inner-grey {
  max-width: 118.75rem;
  width: calc(100% - 1.25rem);
  margin-left: auto;
  margin-right: auto;
  padding-top: 1.25rem;
  padding-bottom: 3.75rem;
  background-color: #f2f6f9;
}

.hero-inner-text {
  max-width: 80%;
}

.hero-inner-right {
  flex: 1;
  width: 49%;
}

.hero-inner-left {
  width: 51%;
}

.hero-inner-right {
  display: flex;
  flex-direction: column;
  z-index: 3;
  align-items: flex-end;
  row-gap: 3.125rem;
  padding-top: 1.875rem;
}

.hero-inner-right .card-info {
  position: relative;
  z-index: 5;
}

.hero-inner-labels {
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  row-gap: 0.625rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 5;
}

/*HERO ABOUT*/

.hero-about .hero-inner-image {
  background-size: contain;
  background-size: cover;
  background-position: right bottom;
  background-repeat: no-repeat;
}

.hero-about .hero-inner-image img {
  display: none;
}

.hero-about .hero-inner-image:before {
  content: "";
  background: linear-gradient(90deg, #f2f6f9 0%, rgba(242, 246, 249, 0) 100%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 40%;
  max-width: 23.125rem;
}

/*НАПРАВЛЕНИЯ*/

.direction-card {
  position: relative;
  height: 23.75rem;
  border-radius: 2.1875rem;
  background-color: #f2f6f9;
  overflow: hidden;
}

.direction-card .card-image {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 43%;
  max-width: 21.1875rem;
  aspect-ratio: 339/354;
}

.direction-card .card-image img {
  mix-blend-mode: darken;
}

.direction-card .card-txt {
  max-width: 26.875rem;
}

.direction-cards {
  position: relative;
  overflow: hidden;
}

.direction-cards .direction-card {
  grid-column: span 6;
}

.direction-card:nth-child(5) {
  position: relative;
  z-index: 3;
  overflow: unset;
}

.direction-card:nth-child(5) .card-txt {
  position: relative;
  z-index: 2;
}

.direction-card:nth-child(5):before {
  content: "";
  display: block;
  height: 13.75rem;
  aspect-ratio: 817/247;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -0.625rem;
  left: 0;
  transform: translateX(-15%);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='355' height='108' viewBox='0 0 355 108' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M352.996 92.2113C346.206 78.1213 296.116 42.2113 283.376 40.3113C274.826 39.0013 246.456 50.4713 224.446 58.0013C224.446 58.0013 224.446 57.9313 224.446 57.9013C220.116 46.0413 207.936 52.7813 191.636 60.7513C173.816 49.0013 142.286 10.7213 123.566 1.60129C101.496 -9.15871 0.216323 37.8313 0.216323 37.8313C-5.00368 48.5813 85.8263 28.1513 101.996 27.4013C118.166 26.6513 140.926 46.4013 154.216 59.6813C167.506 72.9613 168.896 81.2213 160.996 89.2413C153.096 97.2613 139.496 92.7913 138.086 95.6913C136.676 98.5913 148.036 107.691 168.086 107.101C188.136 106.511 203.326 90.1013 210.476 82.8213C217.626 75.5413 229.896 73.2213 253.226 65.1813C276.556 57.1413 294.816 70.0013 320.066 79.3913C345.316 88.7813 359.796 106.311 352.996 92.2113Z' fill='%23FFFFFF'/%3e%3c/svg%3e");
  opacity: 0.7;
}

.direction-card:nth-child(5),
.direction-card:nth-child(6) {
  grid-column: span 3;
}

.direction-card:nth-child(6) {
  position: relative;
  z-index: 2;
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
}

.direction-card:nth-child(6) .card-txt > * {
  color: white !important;
}

.direction-card:last-child {
  background-position: right bottom;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='480' height='247' viewBox='0 0 480 247' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3.85364 212.626C19.5082 180.131 134.862 97.3046 164.223 92.9478C183.942 90.0112 249.301 116.393 299.992 133.747V133.531C309.996 106.187 338.035 121.712 375.596 140.078C416.645 112.999 489.266 24.7319 532.359 3.69425C583.218 -21.1225 816.498 87.219 816.498 87.219C828.57 112.012 619.288 64.8816 582.016 63.1726C544.743 61.4636 492.344 106.909 461.733 137.599C431.121 168.289 427.947 187.256 446.054 205.766C464.185 224.277 495.567 213.926 498.837 220.642C502.108 227.334 475.92 248.395 429.654 246.927C383.387 245.459 348.471 207.788 331.999 190.939C315.527 174.114 287.272 168.818 233.527 150.284C179.781 131.75 137.868 161.308 79.7219 183.044C21.5762 204.779 -11.801 245.098 3.85364 212.602' fill='white' /%3e%3c/svg%3e");
  background-image: url("../img/direction-card-bg.webp");
}

.steps-cards {
  grid-template-rows: auto;
  row-gap: 3.75rem;
}

.steps-cards .step-card {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  row-gap: 1.75rem;
}

.steps-cards .step-card .card-info,
.steps-cards .step-card .card-info-grey {
  flex-grow: 1;
}

.steps-cards .step-card .label-second {
  flex-shrink: 0;
}

.steps-cards .step-card .bold-28 {
  flex-grow: 1;
}

.steps-cards .step-card .medi-20 {
  padding-right: 4.0625rem;
}

.steps-cards .step-card .card-txt img {
  width: 4.0625rem;
  height: 4.0625rem;
  flex-shrink: 0;
  -o-object-fit: contain;
  object-fit: contain;
}

.steps-cards .step-card:first-child .card-info,
.steps-cards .step-card:first-child .card-info-grey {
  row-gap: 3.125rem;
}

.steps-cards .step-card:first-child,
.steps-cards .step-card:nth-child(2) {
  grid-column: span 6;
}

.step-card .card-txt > * + *,
.swiper-slide .card-txt > * + *,
.advantage-card .card-txt > * + * {
  margin-top: 18px;
}

/*PRICE*/

.table {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
  border-top: 2px dotted rgba(21, 21, 22, 0.24);
  padding-top: 1.875rem;
}

.table .table-row {
  width: 100%;
}

.table .table-row,
.table .table-cell {
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
}

.table .table-btn {
  width: 15rem;
  flex-shrink: 0;
  justify-content: flex-end;
}

.table .table-btn .btn-light span span {
  margin-left: 10px;
}

.table .table-name {
  flex-grow: 1;
}

.table .table-price {
  width: 26%;
  white-space: nowrap;
}

.table .table-price > .medi-20 {
  width: 1.6875rem;
}

.table-price,
.price-block {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
}

.table-price .price-old,
.price-block .price-old {
  color: #676767;
}

.price {
  overflow: hidden;
}

/*advantage*/

.advantages-content .advantage-card,
.card-info.p-0 {
  overflow: hidden;
}

.advantages-content .advantage-card .card-image,
.card-info.p-0 .card-image {
  position: relative;
  width: 100%;
  aspect-ratio: 514/499;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.advantages-content .advantage-card .card-image:after,
.advantages-content .advantage-card .card-image:before,
.card-info.p-0 .card-image:after,
.card-info.p-0 .card-image:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
  height: 11.125rem;
  z-index: 2;
}

.advantages-content .advantage-card .card-image img,
.card-info.p-0 .card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.advantages-content .advantage-card:first-child {
  background: #e1ebf2;
  aspect-ratio: 1;
}

.advantages-content .advantage-card:last-child {
  aspect-ratio: 1;
  align-self: flex-end;
}

.card-info.p-0,
.advantage-card.p-0 {
  padding: 0;
  row-gap: 0;
}

.card-info.p-0 .card-txt,
.advantage-card.p-0 .card-txt {
  padding: 2.5rem;
  padding-bottom: 0.875rem;
}

.card-info.p-0 .card-image + .card-txt,
.advantage-card.p-0 .card-image + .card-txt {
  padding-bottom: 2.5rem;
  padding-top: 0;
}

.advantages-content {
  align-items: flex-start;
}

.advantages-content .advantage-card {
  grid-column: span 4;
}

/*carousel*/

.advantages-carousel .container {
  position: relative;
}

.advantages-carousel .absolute-button {
  position: absolute;
  right: 0;
  bottom: 0;
  transition: translateY(-100%);
  z-index: 5;
  width: -moz-fit-content;
  width: fit-content;
}

.advantages-swiper .card-info.p-0 .card-image:before,
.advantages-swiper .card-info.p-0 .card-image:after {
  display: none;
}

.advantages-swiper.advantages-swiper-inner .swiper-slide .advantage-card {
  aspect-ratio: 514/713;
}

.swiper-slide .advantage-card {
  aspect-ratio: 1;
}

.advantage-card.p-0 {
  overflow: hidden;
}

.swiper-slide .advantage-card.p-0 {
  aspect-ratio: unset;
  background: #e1ebf2;
}

.swiper-slide .advantage-card.p-0 .card-image {
  padding-left: 40px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  aspect-ratio: 479/469;
  overflow: hidden;
}

.swiper-slide .advantage-card.p-0 .card-image img {
  align-self: flex-end;
  -o-object-position: bottom;
  object-position: bottom;
}

.swiper-slide .advantage-card.p-0 img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  margin-top: auto;
}

.advantages-pagination {
  display: none;
}

.custom-pagination {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.lift-up .custom-pagination {
  margin-top: -1.5625rem;
}

.swiper-pagination-custom {
  width: auto;
}

.custom-pagination__fraction {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: #adadae;
}

.custom-pagination__fraction span {
  color: #151516;
  font-variant-numeric: tabular-nums;
}

.custom-pagination__bar {
  width: 100%;
  height: 2px;
  background: #e1ebf2;
  border-radius: 10px;
  overflow: hidden;
}

.custom-pagination__fill {
  height: 100%;
  background: #151516;
  transition: 0.5s;
}

/*interview*/

.interview-card {
  display: flex;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
}

.interview-card .block-600 {
  display: block;
}

.interview-card .hide-600 {
  display: none;
}

.interview-card__picture {
  position: relative;
  width: calc(50% - 0.625rem);
  aspect-ratio: 1;
  overflow: hidden;
  flex-shrink: 0;
  border-radius: 2.1875rem;
  background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
  display: flex;
  align-items: flex-end;
  padding-top: 2.5rem;
  padding-right: 2.5rem;
}

.interview-card__picture .ray-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  mix-blend-mode: soft-light;
}

.interview-card__text {
  display: flex;
  flex-direction: column;
  row-gap: 3.125rem;
  justify-content: center;
  width: calc(50% - 0.625rem);
  padding-right: 8.4375rem;
  padding-top: 1.875rem;
}

.interview-card__text .medi-18 {
  color: #838588;
}

.interview-card__title {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
}

.interview {
  overflow: hidden;
}

.interview .custom-pagination__bar {
  display: none;
  width: 0;
}

.interview-pagination {
  transform: translateY(115%);
  position: relative;
  z-index: 2;
}

.interview .swiper-nav {
  transform: translateY(-100%);
  position: relative;
  z-index: 2;
}

.interview-pagination {
  font-size: 28px;
  line-height: 135%;
  color: #adadae;
}

.interview-pagination .custom-pagination span {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 64px;
  line-height: 110%;
  color: #151516;
}

.slogan.offset-top {
  margin-top: -14.6875rem;
}

.slogan.offset-top .slogan-content {
  border-radius: 0 0 2.1875rem 2.1875rem;
}

.slogan {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.slogan .medi-20,
.slogan .h2 {
  color: white;
}

.slogan .slogan-content {
  padding-top: 11.5625rem;
  padding-bottom: 9.375rem;
  padding-inline: 0.9375rem;
  border-radius: 2.1875rem;
  display: flex;
  flex-direction: column;
  row-gap: 3.125rem;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.slogan .slogan-content .slogan-title {
  max-width: 71.25rem;
  width: 90%;
}

.slogan .slogan-content .slogan-title .medi-20 {
  max-width: 48.75rem;
  margin-inline: auto;
}

.slogan .slogan-content .slogan-title > * + * {
  margin-top: 1.25rem;
}

.slogan.slogan-primary .slogan-content {
  background: linear-gradient(135deg, #05817d 0%, #51bcb2 50%, #05817d 100%);
}

.slogan.slogan-secondary .slogan-content {
  padding-top: 9.375rem;
  background: linear-gradient(135deg, #96837c 0%, #c8aa96 50%, #96837c 100%);
}

.slogan.slogan-secondary svg {
  fill: var(--svg-second);
}

.slogan.slogan-grey .slogan-content {
  background: #e1ebf2;
}

.slogan.slogan-grey .slogan-content .medi-20,
.slogan.slogan-grey .slogan-content .h2 {
  color: #151516;
}

.slogan .slogan-contact-bottom,
.slogan .slogan-contact-top {
  position: absolute;
  right: 1.875rem;
  bottom: 1.875rem;
  z-index: 2;
}

.slogan .slogan-contact-top {
  top: 1.875rem;
  bottom: auto;
}

.living-swiper {
  height: 32.0625rem;
}

.living-swiper .swiper-slide {
  width: -moz-fit-content !important;
  width: fit-content !important;
  margin-left: 0 !important;
  transform: translateX(-100px);
}

.living-swiper .swiper-slide img {
  height: 100%;
  width: auto;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 2.1875rem;
}

.living .center-wrapper {
  display: none;
}

/*BOSS INTERVIEW*/

.boss-interview {
  width: calc(100vw - 1.25rem);
  max-width: 118.75rem;
  margin-inline: auto;
  background: #f2f6f9;
  position: relative;
}

.boss-interview-bg {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.boss-interview-bg img {
  mix-blend-mode: exclusion;
  opacity: 0.15;
}

.boss-interview-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  z-index: 2;
}

.boss-picture {
  aspect-ratio: 780/670;
  width: 48.75rem;
  align-self: flex-end;
}

.boss-interview-text {
  width: 56%;
  max-width: 61.25rem;
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
}

.boss-interview-text > * {
  width: 100%;
}

.boss-interview-text .medi-14 {
  display: none;
}

.white-label {
  width: -moz-fit-content;
  width: fit-content;
  padding: 2.1875rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
}

.white-label-title > * + * {
  margin-top: 5px;
}

.boss-picture .white-label {
  display: none;
}

/*DOCTORS*/

.doctors {
  overflow: hidden;
}

.card {
  background: #f2f6f9;
  display: flex;
  flex-direction: column;
  max-width: 31.1875rem;
  border-radius: 2.1875rem;
  overflow: hidden;
}

.card .card-image {
  width: 100%;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 1;
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
}

.card .card-image img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.card .card-image .label {
  position: absolute;
  z-index: 2;
  top: 2.5rem;
  left: 2.5rem;
}

.card .card-text {
  width: 100%;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  row-gap: 2.5rem;
  padding: 2.5rem;
  padding-top: 0 !important;
}

.card .card-text .flex-align {
  margin-top: auto;
}

.cards-swiper .swiper-slide {
  height: unset;
  display: flex;
}

.card .card-image,
.card-image.overlay-top {
  position: relative;
}

.card .card-image:before,
.card .card-image:after,
.card-image.overlay-top:before,
.card-image.overlay-top:after {
  content: "";
  background: linear-gradient(0deg, #f2f6f9 0%, rgba(242, 246, 249, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  aspect-ratio: 499/178;
  display: block;
  right: 0;
  z-index: 3;
  width: 100%;
}

.card .card-image:after {
  background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
}

.card-info.p-0 .card-image.overlay-top:before,
.card-info.p-0 .card-image.overlay-top:after {
  background: linear-gradient(0deg, #f2f6f9 0%, rgba(242, 246, 249, 0) 100%);
  bottom: auto;
  top: 0;
  transform: scaleY(-1);
}

.card-info.p-0 .card-image.overlay-top:after {
  background: linear-gradient(0deg, #f2f6f9 0%, rgba(242, 246, 249, 0) 100%);
}

.card-info.bg-grey .card-image:before,
.card-info.bg-grey .card-image:after {
  background: linear-gradient(0deg, #f2f6f9 0%, rgba(242, 246, 249, 0) 100%);
}

.document-card {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 513/633;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}

.review-card {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.review-card .review-card-header {
  width: 100%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
}

.review-card .review-card-body {
  flex-grow: 1;
}

.review-card .review-card-body .medi-20,
.review-card .review-card-body .bold-40 {
  width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.review-card.is-expanded .review-card-body .medi-20,
.review-card.is-expanded .review-card-body .bold-40 {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}

.review-swiper .swiper-wrapper {
  align-items: flex-start;
}

.review-swiper .swiper-slide {
  height: auto;
}

.review-card .review-card-body > * + * {
  margin-top: 1.25rem;
}

.review-card .avatar-box {
  width: 5.3125rem;
  height: 5.3125rem;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background-color: #fff;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.35;
  color: #adadae;
}

.review-card .avatar-box img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.review-card .review-card-footer {
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  justify-content: space-between;
  margin-top: auto;
}

.review {
  overflow: hidden;
}

/*NEWS*/

a.news-card.card {
  display: flex;
  color: inherit;
  text-decoration: none;
}

a.news-card.card:hover .card-text .bold-28 {
  color: var(--activ, #339190);
}

.news-card.card .card-image {
  aspect-ratio: 513/350;
}

.news-card.card .card-text {
  row-gap: 1.125rem;
}

.news-card.card .card-text .medi-20 {
  width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.news-card.card .card-text .bold-28 {
  flex-grow: 1;
}

.news-card.card a:hover {
  color: var(--1);
}

.js-drop .js-drop-body {
  max-height: 0;
  overflow: hidden;
  transition: height 0.3s, max-height 0.3s;
}

.js-drop > * + * {
  margin-top: 20px;
}

.js-drop-item {
  background: #fff;
  border-radius: 2.1875rem;
}

.js-drop-button {
  padding: 2.5rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  justify-content: space-between;
}

.js-drop-button .btn-round {
  background-image: url("../img/drop-btn-active.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.3s;
  margin-left: auto;
  cursor: pointer;
}

.js-drop-content {
  padding: 2.5rem;
  padding-top: 0 !important;
}

.js-drop-item.js-drop-item-active .btn-round {
  background-image: url("../img/drop-btn.webp");
}

.js-drop-grey.js-drop .js-drop-item {
  background: #f2f6f9;
}

.js-drop-grey.js-drop .js-drop-item.js-drop-item-active .btn-round {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='69' height='69' viewBox='0 0 69 69' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='69' height='69' rx='34.5' fill='white'/%3e%3cpath d='M42.7051 34.4941L26.296 34.4941' stroke='%23ADADAE' stroke-width='2.5' stroke-linecap='round'/%3e%3c/svg%3e");
}

.js-drop-grey.js-drop .btn-simple.btn-light {
  background: #fff;
}

.js-drop-grey.js-drop .btn-simple.btn-light:after {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, #fff 50%, rgba(255, 255, 255, 0.5) 100%);
}

.faq-acordion .js-drop-item.js-drop-item-active .js-drop-button {
  padding-bottom: 0.9375rem;
}

/*CONTACTS*/

.contacts-content {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 4.375rem;
  column-gap: 4.375rem;
}

.contacts-content .contacts-block {
  padding-top: 7.9375rem;
  padding-bottom: 10.5rem;
}

.contacts-content .contacts-left,
.contacts-content .contacts-right {
  width: 50%;
  flex: 1;
  max-width: 41.5rem;
}

.contacts-content .contacts-right {
  display: flex;
}

.table-list .table-list-item {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-end;
}

.table-list .table-list-item .medi-20.txt-muted {
  flex-shrink: 0;
  text-align: left;
}

.table-list .table-list-item .medi-20 {
  white-space: normal;
}

.table-list .table-list-item .dotted {
  position: relative;
  top: -2px;
  height: 1px;
  flex-grow: 1;
  min-width: 2.5rem;
  border-bottom: 2px dotted rgba(21, 21, 22, 0.24);
}

.table-list .table-list-item .dotted + .medi-20 {
  padding-left: 1.25rem;
  text-align: right;
}

.table-list .table-list-item .txt-muted {
  padding-right: 1.25rem;
}

.table-list .table-list-item + .table-list-item {
  margin-top: 1.25rem;
}

.tariff-card .card-info {
  background: #f2f6f9;
}

.grey-section .tariff-card .card-info {
  background: #fff;
}

.tariff-card .card-info-grey {
  display: flex;
  flex-direction: column;
  row-gap: 1.75rem;
  background: #e1ebf2;
  border-radius: 25px 25px 0 0;
  height: 28.75rem;
}

.tariff-card .tariff-name {
  min-height: 4.75rem;
}

.tariff-card .tariff-descrip {
  flex-grow: 1;
}

.tariff-card .card-info {
  border-radius: 0 0 25px 25px;
}

.tariff-card .tariff-price {
  width: 100%;
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 0.75rem;
  column-gap: 0.75rem;
  white-space: nowrap;
}

.tariff-card .tariff-price .medi-20 {
  position: relative;
  top: -7px;
}

.tariff-card .price-current {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 3.4375rem;
  line-height: 110%;
  color: #151516;
}

.tariff-card .btn-primary {
  align-self: flex-start;
}

.round-mark {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
}

.round-mark li {
  display: flex;
  width: 100%;
  position: relative;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
}

.round-mark li:before {
  content: "";
  width: 25px;
  height: 25px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath opacity='0.5' d='M25 12.5C25 19.4036 19.4036 25 12.5 25C5.59644 25 0 19.4036 0 12.5C0 5.59644 5.59644 0 12.5 0C19.4036 0 25 5.59644 25 12.5Z' fill='%23B1CADD' /%3e%3cpath d='M17.5379 8.71209C17.904 9.0782 17.904 9.6718 17.5379 10.0379L11.2879 16.2879C10.9218 16.654 10.3282 16.654 9.96209 16.2879L7.46209 13.7879C7.09597 13.4218 7.09597 12.8282 7.46209 12.4621C7.8282 12.096 8.4218 12.096 8.78791 12.4621L10.625 14.2992L13.4185 11.5056L16.2121 8.71209C16.5782 8.34597 17.1718 8.34597 17.5379 8.71209Z' fill='%23B1CADD' /%3e%3c/svg%3e");
  background-size: 25px;
  background-repeat: no-repeat;
}

/*DOCTORS*/

.reason-card {
  display: flex;
  flex-direction: column;
  row-gap: 1.75rem;
}

.reason-card .card-info {
  width: 100%;
  background: #f2f6f9;
  flex-grow: 1;
}

.reason-card .card-info.p-0 {
  row-gap: 0;
}

.reason-card .card-info.p-0 .card-txt {
  padding-bottom: 0;
}

.card-info.align-end {
  justify-content: space-between;
}

.card-info.align-end .card-txt {
  align-self: flex-end;
  margin-top: auto;
}

/*REASON*/

.early-treatment-cards {
  position: relative;
  display: grid;
  background: #f2f6f9;
  grid-template-columns: 1fr 1fr 1fr;
}

.early-treatment-cards .card-info-group {
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
}

.early-treatment-cards .card-info-group img {
  width: 65px;
  height: 65px;
  -o-object-fit: contain;
  object-fit: contain;
  flex-shrink: 0;
}

.early-treatment-cards .card-info {
  background: transparent;
  position: relative;
  z-index: 2;
  row-gap: 1.25rem;
  padding: 1.875rem;
  padding-right: 4.375rem;
  justify-content: flex-start;
}

.early-treatment-cards .gull-decor {
  position: absolute;
  top: -1%;
  left: -1%;
  z-index: 1;
}

.early-treatment-cards {
  overflow: hidden;
}

.early-treatment-cards:before,
.early-treatment-cards:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 58.4375rem;
  aspect-ratio: 935/189;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='935' height='189' viewBox='0 0 935 189' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1332.68 348.638C1307.03 295.357 1117.97 159.548 1069.85 152.404C1037.53 147.589 930.414 190.846 847.335 219.302V218.947C830.94 174.112 784.987 199.568 723.427 229.682C656.152 185.281 537.13 40.5523 466.505 6.05737C383.151 -34.634 0.822786 143.011 0.822786 143.011C-18.9616 183.663 324.034 106.385 385.121 103.583C446.209 100.78 532.086 175.296 582.256 225.617C632.426 275.939 637.629 307.039 607.952 337.39C578.236 367.741 526.804 350.77 521.444 361.781C516.084 372.753 559.003 407.288 634.83 404.88C710.658 402.473 767.883 340.706 794.879 313.078C821.876 285.49 868.184 276.807 956.268 246.417C1044.35 216.027 1113.05 264.493 1208.34 300.133C1303.64 335.772 1358.34 401.881 1332.68 348.599' fill='white' /%3e%3c/svg%3e ");
}

.early-treatment-cards:after {
  bottom: 0;
  left: 50%;
  transform: translate(-18%, 1%);
}

.early-treatment-cards:before {
  width: 579px;
  aspect-ratio: 579/258;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='579' height='258' viewBox='0 0 579 258' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M360.58 245.336C354.813 233.364 312.314 202.849 301.497 201.244C294.232 200.162 270.152 209.881 251.476 216.275V216.196C247.791 206.121 237.461 211.841 223.622 218.608C208.499 208.631 181.744 176.112 165.868 168.361C147.13 159.218 61.185 199.133 61.185 199.133C56.7375 208.267 133.841 190.904 147.573 190.274C161.305 189.644 180.61 206.387 191.888 217.694C203.166 229.001 204.335 235.989 197.664 242.809C190.984 249.628 179.423 245.815 178.218 248.289C177.013 250.754 186.661 258.514 203.706 257.973C220.752 257.432 233.616 243.554 239.685 237.346C245.753 231.147 256.163 229.196 275.964 222.368C295.765 215.539 311.207 226.429 332.629 234.437C354.051 242.445 366.348 257.299 360.58 245.327' fill='white'/%3e%3cpath d='M576.269 150.646C565.175 127.623 483.425 68.9405 462.617 65.8537C448.642 63.7731 402.322 82.4643 366.398 94.7603V94.6068C359.309 75.2334 339.438 86.2333 312.819 99.2455C283.728 80.0597 232.262 17.5226 201.723 2.61738C165.679 -14.9653 0.355783 61.7948 0.355783 61.7948C-8.19924 79.3605 140.116 45.9687 166.531 44.7579C192.946 43.5471 230.08 75.745 251.775 97.4889C273.469 119.233 275.718 132.671 262.886 145.786C250.036 158.9 227.797 151.567 225.479 156.325C223.161 161.066 241.72 175.988 274.508 174.948C307.297 173.908 332.042 147.218 343.715 135.281C355.389 123.36 375.413 119.608 413.502 106.476C451.591 93.3448 481.295 114.287 522.502 129.687C563.709 145.087 587.363 173.652 576.269 150.629' fill='white'/%3e%3c/svg%3e ");
  right: 0;
  transform: translate(30%, -1%);
}

.early-treatment .section-title {
  max-width: 65rem;
}

.early-treatment .section-title .medi-20 {
  max-width: 65.4375rem;
}

.program-card {
  background: #f2f6f9;
  border-radius: 2.1875rem;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}

.program-card .program-card-title {
  width: 100%;
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 3.75rem;
  column-gap: 3.75rem;
}

.program-card .program-card-title .btn-round-primary {
  flex-shrink: 0;
}

.program-card .program-card-title .btn-round-primary:hover {
  background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
}

.program-card .program-card-title .bold-28 {
  flex-grow: 1;
}

.program-card .program-card-body {
  margin-top: auto;
  width: 100%;
}

.program-card.brad-grey {
  background: #e1ebf2;
}

.program-card.program-card--primary {
  background: linear-gradient(135deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
}

.program-card.program-card--primary .bold-40 {
  color: white;
}

.program-card.program-card--seagulls {
  background-repeat: no-repeat;
  background-size: 90%;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='801' height='290' viewBox='0 0 801 290' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M799.58 277.336C793.813 265.364 751.314 234.849 740.497 233.244C733.232 232.162 709.152 241.881 690.476 248.275V248.196C686.791 238.121 676.461 243.841 662.622 250.608C647.499 240.631 620.744 208.112 604.868 200.361C586.13 191.218 500.185 231.133 500.185 231.133C495.738 240.267 572.841 222.904 586.573 222.274C600.305 221.644 619.61 238.387 630.888 249.694C642.166 261.001 643.335 267.989 636.664 274.809C629.984 281.628 618.423 277.815 617.218 280.289C616.013 282.754 625.661 290.514 642.706 289.973C659.752 289.432 672.616 275.554 678.685 269.346C684.753 263.147 695.163 261.196 714.964 254.368C734.765 247.539 750.207 258.429 771.629 266.437C793.051 274.445 805.348 289.299 799.58 277.327' fill='white' /%3e%3cpath d='M576.269 150.646C565.175 127.623 483.425 68.9405 462.617 65.8537C448.642 63.7731 402.322 82.4643 366.398 94.7603V94.6068C359.309 75.2334 339.438 86.2333 312.819 99.2455C283.728 80.0597 232.262 17.5226 201.723 2.61738C165.679 -14.9653 0.355783 61.7948 0.355783 61.7948C-8.19924 79.3605 140.116 45.9687 166.531 44.7579C192.946 43.5471 230.08 75.745 251.775 97.4889C273.469 119.233 275.718 132.671 262.886 145.786C250.036 158.9 227.797 151.567 225.479 156.325C223.161 161.066 241.72 175.988 274.508 174.948C307.297 173.908 332.042 147.218 343.715 135.281C355.389 123.36 375.413 119.608 413.502 106.476C451.591 93.3448 481.295 114.287 522.502 129.687C563.709 145.087 587.363 173.652 576.269 150.629' fill='white' /%3e%3c/svg%3e");
}

.program-card.program-card--seagull {
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='407' height='123' viewBox='0 0 407 123' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M405.08 105.883C397.282 89.701 339.817 48.4553 325.19 46.2857C315.367 44.8234 282.807 57.9607 257.555 66.6029V66.495C252.571 52.8783 238.603 60.6097 219.891 69.7554C199.443 56.2706 163.265 12.3159 141.798 1.83965C116.462 -10.5185 0.250092 43.4329 0.250092 43.4329C-5.76354 55.7791 98.4928 32.3095 117.061 31.4584C135.629 30.6074 161.732 53.2379 176.981 68.5208C192.231 83.8036 193.812 93.249 184.792 102.467C175.76 111.684 160.126 106.53 158.497 109.874C156.868 113.207 169.914 123.695 192.962 122.964C216.01 122.232 233.404 103.474 241.61 95.083C249.816 86.7044 263.892 84.0673 290.665 74.8377C317.439 65.6081 338.319 80.3275 367.285 91.1514C396.251 101.975 412.879 122.053 405.08 105.871' fill='%23F2F6F9' /%3e%3c/svg%3e");
  background-position: left 70%;
}

.garanty-content {
  -moz-column-gap: 3.75rem;
  column-gap: 3.75rem;
}

.garanty-content .garanty-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 2.1875rem;
  max-width: 40.4375rem;
  padding-right: 70px;
}

.garanty-image {
  width: 100%;
  aspect-ratio: 780/527;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 10px !important;
  padding-bottom: 0 !important;
}

.garanty-image img {
  align-self: flex-end;
}

.clinic-video-frame {
  border-radius: 2.1875rem;
  position: relative;
  overflow: hidden;
}

.clinic-video-frame:before,
.clinic-video-frame:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  z-index: 2;
}

.clinic-video-frame:before {
  left: 0;
  background: linear-gradient(90deg, #e1eaf1 0%, rgba(225, 234, 241, 0) 100%);
}

.clinic-video-frame:after {
  right: 0;
  background: linear-gradient(90deg, #e1eaf1 0%, rgba(225, 234, 241, 0) 100%);
  transform: rotate(180deg);
}

.clinic-video-frame .btn-light {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, #fff 50%, rgba(255, 255, 255, 0.5) 100%);
  z-index: 5;
}

.grey-section .jurist-help-cards .card-info-grey {
  background-color: #fff;
}

.intensives-cards.three-columns {
  align-items: center;
}

.intensives-cards.three-columns .intensive-card {
  height: 100%;
  max-width: 32rem;
}

.intensive-card {
  border-radius: 2.1875rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-self: center;
  height: -moz-fit-content;
  height: fit-content;
  background: #f2f6f9;
}

.intensive-card .intensive-card-header {
  padding: 2.5rem;
  font-size: 2.5rem;
  min-height: 9.9375rem;
  background: #e1ebf2;
  flex-shrink: 0;
}

.intensive-card .intensive-card-body {
  padding: 2.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
}

.intensive-card .intensive-card-body .link-accent {
  margin-top: auto;
}

.intensive-card .intensive-card-footer {
  width: 100%;
  aspect-ratio: 513/420;
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  overflow: hidden;
}

.intensive-card .intensive-card-footer img {
  height: 100%;
  width: auto;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  flex: 1;
}

.intensive-card.intensive-card-special {
  padding: 2.5rem;
  justify-content: space-between;
  background-color: #e1ebf2;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='419' height='336' viewBox='0 0 419 336' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M167.854 212.626C183.508 180.131 298.862 97.3046 328.223 92.9478C347.942 90.0112 413.301 116.393 463.992 133.747V133.531C473.996 106.187 502.035 121.712 539.596 140.078C580.645 112.999 653.266 24.7319 696.359 3.69425C747.218 -21.1225 980.498 87.219 980.498 87.219C992.57 112.012 783.288 64.8816 746.016 63.1726C708.743 61.4636 656.344 106.909 625.733 137.599C595.121 168.289 591.947 187.256 610.054 205.766C628.185 224.277 659.567 213.926 662.837 220.642C666.108 227.334 639.92 248.395 593.654 246.927C547.387 245.459 512.471 207.788 495.999 190.939C479.527 174.114 451.272 168.818 397.527 150.284C343.781 131.75 301.868 161.308 243.722 183.044C185.576 204.779 152.199 245.098 167.854 212.602' fill='white' /%3e%3cpath d='M2.32538 315.264C11.7718 295.662 81.3792 245.698 99.0967 243.07C110.995 241.298 150.435 257.212 181.024 267.682V267.551C187.06 251.056 203.979 260.421 226.645 271.5C251.415 255.165 295.237 201.919 321.24 189.229C351.93 174.258 492.697 239.614 492.697 239.614C499.981 254.57 373.696 226.139 351.204 225.108C328.713 224.077 297.094 251.491 278.622 270.005C260.15 288.518 258.235 299.96 269.161 311.126C280.102 322.292 299.038 316.049 301.012 320.1C302.985 324.136 287.183 336.842 259.265 335.956C231.346 335.07 210.277 312.346 200.337 302.182C190.397 292.032 173.347 288.838 140.916 277.657C108.485 266.476 83.193 284.307 48.1064 297.419C13.0197 310.531 -7.12103 334.852 2.32538 315.25' fill='white' /%3e%3c/svg%3e");
  background-position: right 0;
  background-size: 90%;
  background-repeat: no-repeat;
  min-height: 31.6875rem;
}

.grey-section .intensive-card .intensive-card {
  background: #fff;
}

.controls-grid {
  display: grid;
  grid-template-columns: 32.0625rem 1fr;
  gap: 1.25rem;
}

.controls-grid-left,
.controls-grid-right {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
}

.control-card {
  width: 100%;
  flex: 1;
}

.control-card .control-card-group,
.control-card .control-card-item {
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
}

.control-card .control-card-item {
  width: 100%;
  gap: 0.3125rem !important;
}

.control-card .control-card-group.flex-align {
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
}

.control-card .control-card-group.flex-align p.bold-28 {
  margin-bottom: auto;
}

.control-card .control-card-group.flex-align > * + * {
  margin-left: auto;
  align-items: flex-end;
}

.grey-section .controls-grid .control-card.card-info-grey {
  background: #fff;
}

.rehabilitation-grid {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 1fr;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  align-items: flex-start;
}

.rehabilitation-grid:after {
  content: "";
  background: linear-gradient(39deg, #389897 0%, #4abab5 63.13%, #389897 93.27%), rgba(242, 246, 249, 0.2);
  width: 20.5625rem;
  aspect-ratio: 329/435;
  height: 50%;
  position: absolute;
  right: 30%;
  top: 0;
  filter: blur(500px);
  display: block;
  z-index: 1;
}

.rehabilitation-picture {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(14, 1fr);
  grid-column-gap: 25px;
  grid-row-gap: 40px;
  position: relative;
  z-index: 2;
}

.picture1,
.picture2,
.picture3,
.picture4 {
  border-radius: 2.1875rem;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 507/580;
}

.picture1 img,
.picture2 img,
.picture3 img,
.picture4 img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.picture2,
.picture3 {
  aspect-ratio: 507/300;
}

.picture1 {
  grid-area: 1/1/10/2;
}

.picture2 {
  grid-area: 10/1/15/2;
}

.picture3 {
  grid-area: 1/2/6/3;
}

.picture4 {
  grid-area: 6/2/15/3;
}

.rehabilitation-card {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 0.625rem;
  height: 100%;
}

.rehabilitation-card .intensive-card {
  width: 100%;
  background-color: #fff;
}

.rehabilitation-card .intensive-card .font-20 {
  line-height: 1.2;
}

.rehabilitation-card .intensive-card-body {
  padding-top: 25px;
  padding-bottom: 25px;
}

.rehabilitation-card .intensive-card-footer {
  aspect-ratio: 320/207;
}

.rehabilitation-card .intensive-card-footer img {
  -o-object-position: top;
  object-position: top;
}

.rehabilitation-swiper .swiper-slide {
  width: 11.8125rem;
}

.rehabilitation-swiper .swiper-slide img {
  border-radius: 1.5625rem;
  width: 100%;
  aspect-ratio: 189/169;
  -o-object-fit: cover;
  object-fit: cover;
}

.rehabilitation .hide-768.gap-20 {
  display: none;
}

.rescue-project-grid {
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
}

.rescue-project-grid > * {
  grid-column: span 1;
  height: 100%;
}

.rescue-project-grid .rescue-project-img {
  display: flex;
  justify-content: center;
}

.rescue-project-grid .rescue-project-img .img-cover {
  height: 100%;
  width: 100%;
  aspect-ratio: 509/678;
}

.rescue-project-grid .rescue-project-img .project-logo {
  aspect-ratio: 625/456;
  -o-object-fit: contain;
  object-fit: contain;
}

.rescue-project-grid .rescue-project-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.modal-frame {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: 0.3s;
  padding-block: 4.375rem;
  justify-content: center;
  align-items: center;
  z-index: 20;
  overflow: hidden;
  overflow-y: auto;
  display: none;
  background: rgba(0, 0, 0, 0.5);
}

.modal-frame-content {
  opacity: 0;
  display: flex;
  flex-direction: column;
  width: 98%;
  max-width: 44.3125rem;
  min-width: 17.5rem;
  margin-inline: auto;
  padding: 3.125rem;
  position: relative;
  border-radius: 2.1875rem;
  background: #f2f6f9;
  overflow: hidden;
}

.modal-frame .btn-close {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 5;
}

.modal-frame.active {
  display: flex;
}

.modal-frame.active .modal-frame-content {
  animation-name: opacity;
  animation-duration: 0.6s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

.modal-frame-header {
  padding-right: 100px;
  margin-bottom: 50px;
  position: relative;
  z-index: 2;
}

.modal-frame-header > * + * {
  margin-top: 20px;
}

@keyframes opacity {
  to {
    opacity: 1;
  }
}

.modal-success-submit .modal-frame-content {
  max-width: 31.25rem;
}

.modal-success-submit .modal-bg {
  height: 12.8125rem;
  width: 37.1875rem;
  transform: translateX(15%);
  margin-top: -6.25rem;
  pointer-events: none;
}

.form-city-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.footer {
  padding-block: 3.75rem;
  max-width: 118.75rem;
  width: calc(100vw - 1.25rem);
  margin-left: auto;
  margin-right: auto;
  background: #f2f6f9;
}

.footer-grid {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 1.875rem;
  column-gap: 1.875rem;
}

.footer-grid .footer-column {
  flex: 1;
  max-width: 40.4375rem;
  width: calc(50% - 1.875rem);
}

.footer-contacts-links a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 0.125rem;
  transition: 0.3s;
}

.footer-contacts-links a:hover {
  color: #676767;
}

.footer-nav a,
.footer-menu a {
  transition: 0.3s;
}

.footer-nav a:hover,
.footer-menu a:hover {
  color: #676767;
}

.footer-menu-wrapper {
  padding-top: 2.1875rem;
  width: 50%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
  justify-content: space-between;
}

.footer-menu-wrapper > * {
  width: 100%;
}

.footer-menu-wrapper .footer-menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
}

.footer-copyright {
  color: #838588;
}

.svg-logo-footer {
  width: 40.6vw;
  max-width: 48.75rem;
  aspect-ratio: 780/119;
}

.footer-bottom {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.875rem;
}

.modal-visible .modal-large,
.modal-visible .modal-frame {
  transform: translateX(0) !important;
}

.ui-panel {
  width: 320px;
  background-color: #094071;
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100vh;
  overflow: hidden;
  overflow-y: auto;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 50px;
  padding-bottom: 80px;
  z-index: 10;
}

.ui-panel .back-index {
  color: #FFF;
  font-size: 20px;
  margin-bottom: 16px;
  display: block;
}

.ui-panel ul {
  list-style: circle;
}

.ui-panel h3 {
  margin-bottom: 16px;
  font-size: 16px;
  text-transform: uppercase;
  color: orange;
}

.ui-panel .ui-panel-block__part + .ui-panel-block__part {
  margin-top: 32px;
}

.ui-panel li + li {
  margin-top: 16px;
}

.ui-panel li > a {
  color: #fff;
  font-size: 16px;
  font-family: sans-serif;
}

.body-dashboard {
  padding-left: 320px;
  padding-top: 50px;
  padding-bottom: 100px;
}

.body-dashboard .ui-panel {
  transition: 0.3s;
}

.body-dashboard.active {
  padding-left: 0;
}

.body-dashboard.active .ui-panel {
  transform: translateX(-100%);
}

.body-dashboard .modal-frame {
  transform: translate(0) !important;
  position: relative !important;
}

.body-dashboard #close-ui {
  position: absolute;
  right: 40px;
  top: 40px;
  z-index: 4;
  border: 1px solid blue;
  background-color: blue;
  width: 140px;
  height: 50px;
  color: white;
}

.body-dashboard .container-dashboard {
  width: 93%;
  margin-left: auto;
  margin-right: auto;
}

.body-dashboard .container-dashboard h2.db-h2 {
  margin-bottom: 40px;
}

.body-dashboard .container-dashboard .reestr-modal {
  transform: translateX(0);
}

.body-dashboard .container-dashboard .modal-large.service-modal {
  transform: translateY(0);
  z-index: -1;
}

.body-dashboard .color-scheme {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  row-gap: 24px;
}

.body-dashboard .color-scheme li {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.body-dashboard .color-scheme li span:first-child {
  width: 60px;
  height: 60px;
  border: 1px solid #000;
}

.body-dashboard .color-scheme li span + span {
  font-size: 16px;
  margin-top: 15px;
}

.body-dashboard .ui-typography li {
  padding-bottom: 10px;
  padding-top: 10px;
  border-bottom: 1px solid #cecece;
}

.body-dashboard .ui-typography li pre {
  margin-top: 5px;
  margin-bottom: 5px;
}

.body-dashboard .ui-icons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 48px;
}

.body-dashboard .ui-lists > li {
  padding-top: 20px;
  padding-bottom: 20px;
}

.body-dashboard .dark-bg,
.body-dashboard .temp-wrapper {
  background-color: #080808;
  padding: 15px;
  color: white;
}

/*стили для вспомогат страницы - удалить из проектп */

.start-page {
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.start-page h1 {
  font-weight: 700;
  margin-bottom: 40px;
}

.start-page__cards {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 16px;
  column-gap: 16px;
  row-gap: 16px;
}

.start-page a {
  width: calc((100% - 32px) / 3);
  height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 700;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.start-page a span {
  display: block;
  text-align: center;
  padding-bottom: 8px;
  padding-top: 8px;
}

.start-page a:first-child {
  width: 100%;
}

.container-dashboard__content .mobile-navigation {
  width: 480px;
  position: relative;
}

.body-dashboard footer.footer {
  position: static;
}

p.dashed {
  height: 1px;
  border-bottom: 1px dashed #999;
  width: 100%;
  padding-top: 5px;
  padding-bottom: 20px;
}

/*//стили для вспомогат страницы - удалить из проектп */

@media (min-width: 1024px) {
  .main-page.pb-40 {
    padding-bottom: 2.5rem !important;
  }
}

@media (min-width: 1200px) {
  .card-info.card-info-short {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: unset !important;
    aspect-ratio: 1 !important;
  }

  .advantages-swiper .advantage-card.brad-grey {
    flex-direction: column-reverse;
  }
}

@media (max-width: 1919px) {
  .card-info .h1 {
    font-size: 4.4vw;
  }

  .card-info .bold-40 {
    font-size: 2.4vw;
  }

  .bold-40 {
    font-size: 2.2vw;
  }

  .link-grey {
    font-size: 1rem;
  }

  .hero .container {
    padding-top: 4.16vw;
  }

  .hero .hero-content {
    row-gap: 2.6vw;
  }

  .hero .hero-group {
    -moz-column-gap: 3.5vw;
    column-gap: 3.5vw;
  }

  .hero .h1 {
    font-size: 4.16vw;
  }

  .hero .benefits-group {
    -moz-column-gap: 1.1vw;
    column-gap: 1.1vw;
  }

  .hero-single-page.hero-inner .hero-inner-left {
    width: 70%;
    max-width: 48.8125rem;
  }

  .persone-card {
    width: 28vw;
  }

  .interview-card__text {
    padding-right: 7vw;
  }

  .living-swiper {
    height: 26vw;
  }

  .boss-picture {
    width: 46vw;
  }

  .boss-interview-text {
    width: 53vw;
  }

  .contacts-content .contacts-block {
    padding-top: 6.6vw;
    padding-bottom: 8.75vw;
  }

  .tariff-card .price-current {
    font-size: 2.9vw;
  }

  .intensive-card .intensive-card-header {
    font-size: 2.08vw;
  }

  .rehabilitation-card .intensive-card .font-20 {
    font-size: 18px;
  }

  .rehabilitation-card .card-info-dark .bold-40 {
    font-size: 1.9vw;
  }
}

@media (max-width: 1699px) {
  .container {
    padding-left: 4.375rem;
    padding-right: 4.375rem;
  }

  .h2 {
    font-size: 3.4vw;
  }

  .h3 {
    font-size: 2.5vw;
  }

  .custom-text h2 {
    font-size: 3.4vw;
  }

  .header .container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .hero-404 .hero-404-right {
    width: 50%;
    margin-left: 0;
  }

  .hero-404 .hero-title {
    width: 50%;
  }

  .interview-card__text {
    row-gap: 1.875rem;
  }

  .interview-card__title {
    row-gap: 0.625rem;
  }

  .interview-pagination {
    font-size: 1.4vw;
  }

  .interview-pagination .custom-pagination span {
    font-size: 3.4vw;
  }

  .footer .container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (max-width: 1599px) {
  .main-page {
    row-gap: 8.75rem;
    padding-bottom: 8.75rem;
  }

  .gap-60 {
    row-gap: 2.5rem;
  }

  .card-info,
  .card-info-grey,
  .card-info-dark {
    padding: 1.875rem;
  }

  .h1 {
    font-size: 4.5vw;
  }

  .doctor-rating .card-info-small {
    padding: 25px;
    row-gap: 0.9375rem;
  }

  .hero-inner {
    min-height: calc(100vh - 10.625rem);
  }

  .hero-inner-text {
    max-width: 100%;
  }

  .direction-card {
    height: 20vw;
  }

  .direction-card .bold-40 {
    font-size: 2.1vw;
  }

  .direction-card:nth-child(5):before {
    height: 9.375rem;
  }

  .card-info.p-0 .card-txt,
  .advantage-card.p-0 .card-txt {
    padding: 1.875rem;
    padding-bottom: 0.625rem;
  }

  .card-info.p-0 .card-image + .card-txt,
  .advantage-card.p-0 .card-image + .card-txt {
    padding-bottom: 1.875rem;
  }

  .card .card-text .flex-align {
    flex-direction: column;
    gap: 0.625rem;
  }

  .early-treatment-cards .card-info {
    padding-right: 1.25rem;
  }

  .garanty-content .garanty-text {
    padding-right: 0;
  }
}

@media (max-width: 1439px) {
  .main-page {
    row-gap: 6.25rem;
    padding-bottom: 6.25rem;
  }

  .pb-150 {
    padding-bottom: 6.25rem;
  }

  .grey-section > * + * {
    margin-top: 8.75rem;
  }

  .grey-section {
    padding-bottom: 8.75rem;
  }

  .medi-28,
  .bold-28 {
    font-size: 1.5rem;
  }

  .link-accent,
  .link-accent-icon span {
    font-size: 1rem;
  }

  .custom-text h2 {
    margin-bottom: 25px;
  }

  .custom-text p {
    margin-block: 10px;
  }

  .custom-text p + h2 {
    margin-top: 40px;
  }

  .custom-text-group {
    margin-block: 3.75rem;
  }

  .custom-text-group .custom-text-right {
    width: 40%;
  }

  .custom-text-group .custom-text-right img {
    width: 100%;
  }

  .nav-menu {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }

  .nav-menu a {
    font-size: 0.875rem;
  }

  .header .logo {
    width: 10.875rem;
    max-height: 3.125rem;
  }

  .phone-group .label .hide-desktop {
    display: block;
    font-size: 0.875rem;
  }

  .phone-group .label .show-desktop {
    display: none;
  }

  .city-select .city-current {
    -moz-column-gap: 0.625rem;
    column-gap: 0.625rem;
    font-size: 0.875rem;
  }

  .header-menu-wrapper {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
  }

  .hero-inner.hero-inner-grey {
    padding-bottom: 2.5rem;
  }

  .hero-inner-text {
    row-gap: 0.9375rem;
  }

  .steps-cards .step-card .card-txt img {
    width: 3.125rem;
    height: 3.125rem;
  }

  .interview-card__picture {
    padding-top: 1.875rem;
    padding-right: 1.875rem;
  }

  .slogan.offset-top {
    margin-top: -10.9375rem;
  }

  .slogan .slogan-content {
    padding-top: 7.8125rem;
    padding-bottom: 6.25rem;
  }

  .slogan.slogan-secondary .slogan-content {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }

  .slogan .slogan-contact-bottom,
  .slogan .slogan-contact-top {
    right: 1.25rem;
    bottom: 1.25rem;
  }

  .slogan .slogan-contact-top {
    top: 1.25rem;
    bottom: auto;
  }

  .white-label {
    padding: 1.875rem;
  }

  .card .card-image .label {
    top: 1.875rem;
    left: 1.875rem;
  }

  .card .card-text {
    padding: 1.875rem;
    row-gap: 1.875rem;
  }

  .tariff-card .btn-primary {
    height: 3.125rem;
    padding-left: 3.75rem;
    padding-right: 20px;
  }

  .tariff-card .btn-primary .btn-circle {
    width: 3.125rem;
    height: 3.125rem;
  }

  .tariff-card .btn-primary .btn-txt {
    font-size: 1rem;
  }

  .intensive-card .intensive-card-header {
    min-height: 9.375vw;
  }

  .intensive-card .intensive-card-header,
  .intensive-card .intensive-card-body {
    padding: 25px;
    row-gap: 1.25rem;
  }

  .intensive-card.intensive-card-special {
    padding: 1.5625rem;
    min-height: 26.25rem;
  }

  .controls-grid {
    grid-template-columns: 1fr 2fr;
  }

  .control-card .control-card-group,
  .control-card .control-card-item {
    gap: 1.875rem;
  }

  .control-card .control-card-item .txt-muted {
    font-size: 1rem;
  }

  .rehabilitation-picture {
    grid-row-gap: 20px;
    grid-column-gap: 20px;
  }

  .rehabilitation-card .intensive-card .font-20 {
    font-size: 1.25vw;
  }
}

@media (max-width: 1364px) {
  .gap-100 {
    row-gap: 4.375rem;
  }

  .gap-60 {
    row-gap: 1.875rem;
  }

  .gap-50 {
    row-gap: 1.875rem;
  }

  .gap-40 {
    row-gap: 1.875rem;
  }

  .card-info,
  .card-info-grey,
  .card-info-dark {
    row-gap: 1.25rem;
  }

  .card-info .card-info-row > * + *,
  .card-info-grey .card-info-row > * + *,
  .card-info-dark .card-info-row > * + * {
    margin-top: 0.9375rem;
  }

  .pb-150 {
    padding-block: 5rem;
  }

  .font-20,
  .medi-20,
  .demi-20,
  .bold-20 {
    font-size: 1.125rem;
  }

  .label.h-50 {
    padding: 0.625rem 1.5625rem;
  }

  .header-bottom .btn-call {
    width: 4.3125rem;
    padding: 0;
  }

  .header-bottom .btn-call .btn-txt {
    display: none;
  }

  .hero .hero-group {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 2.6vw;
  }

  .hero .hero-group .phone-group {
    text-align: left;
  }

  .hero .hero-group .phone-group > * + * {
    margin-top: 6px;
  }

  .hero .benefits-group {
    display: none;
  }

  .hero-inner.hero-inner-grey {
    padding-bottom: 1.875rem;
  }

  .direction-card:nth-child(5):before {
    transform: translate(-15%, 10%);
    height: 9.375rem;
  }

  .white-label {
    padding: 1.25rem;
  }

  .js-drop-item {
    border-radius: 1.5625rem;
  }

  .contacts-content .card-info-grey {
    row-gap: 1.875rem;
  }

  .tariff-card .card-info-grey {
    height: 26.25rem;
    row-gap: 1.5625rem;
  }

  .tariff-card .card-info,
  .tariff-card .card-info-grey {
    padding: 20px;
  }
}

@media (max-width: 1280px) {
  .footer-menu-wrapper {
    padding-top: 0;
  }
}

@media (max-width: 1279px) {
  .card-info,
  .card-info-grey,
  .card-info-dark {
    padding: 1.5625rem;
  }

  .medi-28,
  .bold-28 {
    font-size: 1.375rem;
  }

  .btn-primary,
  .btn-secondary,
  .btn-outline,
  .btn-light {
    height: 3.125rem;
    padding-left: 4.0625rem;
    padding-right: 1.5625rem;
    font-size: 0.8125rem;
  }

  .btn-primary .btn-circle,
  .btn-secondary .btn-circle,
  .btn-outline .btn-circle,
  .btn-light .btn-circle {
    width: 3.125rem;
  }

  .btn-simple {
    padding-inline: 1.5625rem !important;
  }

  .btn-round,
  .btn-round-outline,
  .btn-round-white,
  .btn-round-primary,
  .btn-round-secondary,
  .swiper-button-prev,
  .swiper-button-next {
    width: 3.125rem;
    height: 3.125rem;
  }

  .input,
  .textarea {
    height: 3.125rem;
    padding-inline: 1.5625rem;
  }

  .fake-placeholder {
    top: 0.9375rem;
  }

  .form-item.has-placeholder .input:focus + .fake-placeholder {
    top: 0.3125rem;
    font-size: 0.75rem;
  }

  .phone-group .phone-link .btn-round-primary {
    display: flex;
    width: 3.125rem;
    height: 3.125rem;
  }

  .phone-group .phone-link .phone-number {
    display: none;
  }

  .header-bottom .btn-call {
    width: 3.125rem;
  }

  .menu-link {
    padding: 12px 0;
    font-size: 1rem;
  }

  .submenu-link,
  .sub-submenu-list a {
    font-size: 0.875rem;
  }

  .hero .hero-title .medi-20 {
    font-size: 1rem;
  }

  .hero-right-column .card-info {
    max-width: 23.75rem;
  }

  .hero-inner-labels .label .demi-16 {
    font-size: 13px;
  }

  .hero-inner-labels .label svg {
    width: 20px;
    height: 20px;
  }

  .steps-cards .step-card {
    grid-column: span 6;
    row-gap: 1.25rem;
  }

  .steps-cards {
    row-gap: 1.875rem !important;
  }

  .card-info.p-0 .card-image + .card-txt,
  .advantage-card.p-0 .card-image + .card-txt {
    padding-bottom: 1.5625rem;
    padding-top: 0.625rem;
  }

  .interview-card__picture {
    padding-top: 1.25rem;
    padding-right: 1.25rem;
  }

  .card .card-image .label {
    top: 1.25rem;
    left: 1.25rem;
    padding: 0.4375rem 0.875rem;
    font-size: 0.8125rem;
  }

  .card .card-text {
    padding: 1.25rem;
    row-gap: 1.25rem;
  }

  .tariff-card .tariff-name {
    min-height: unset;
  }
}

@media (max-width: 1199px) {
  .lock {
    padding-right: 0;
  }

  .container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }

  .breadcrumbs a {
    font-size: 0.875rem;
  }

  .card-info,
  .card-info-grey,
  .card-info-dark {
    border-radius: 1.5625rem;
  }

  .grey-section {
    border-radius: 1.5625rem;
    padding-block: 6.25rem;
  }

  .brad,
  .brad-grey {
    border-radius: 1.5625rem;
  }

  .font-20,
  .medi-20,
  .demi-20,
  .bold-20 {
    font-size: 1rem;
  }

  .link-grey {
    font-size: 0.8125rem;
  }

  .custom-text-group {
    margin-block: 1.875rem;
    -moz-column-gap: 3.125rem;
    column-gap: 3.125rem;
  }

  .header {
    row-gap: 0.9375rem;
  }

  .header .header-row-right {
    -moz-column-gap: 0.625rem;
    column-gap: 0.625rem;
  }

  .header .container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }

  .phone-group .phone-link {
    display: none;
  }

  .header-menu-wrapper {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .hero-404 .hero-404-svg {
    width: 25rem;
  }

  .hero-404 .hero-404-svg {
    width: 18.75rem;
  }

  .hero-inner {
    min-height: 31.25rem;
  }

  .advantages-content .advantage-card .card-image,
  .card-info.p-0 .card-image {
    aspect-ratio: 310/225;
  }

  .advantages-content .advantage-card .card-image:after,
  .advantages-content .advantage-card .card-image:before,
  .card-info.p-0 .card-image:after,
  .card-info.p-0 .card-image:before {
    height: 4.6875rem;
  }

  .swiper-slide .advantage-card.p-0 .card-image {
    padding-left: 0;
    justify-content: center;
  }

  .swiper-slide .advantage-card.p-0 .card-image img {
    height: 18.625rem;
    width: auto;
  }

  .interview-card__picture {
    border-radius: 1.5625rem;
  }

  .doctors-swiper .swiper-slide {
    width: 17.0625rem !important;
  }

  .review-card .review-card-footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.625rem;
  }

  .js-drop-button {
    padding: 1.25rem;
  }

  .js-drop-content {
    padding: 1.25rem;
  }

  .contacts-content {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
  }

  .packages-tariff-content .label {
    display: none;
  }

  .early-treatment-cards .card-info {
    padding-right: 1.25rem;
  }

  .program-card {
    row-gap: 1.25rem;
    border-radius: 1.5625rem;
    padding: 1.5625rem;
    min-height: 12.8125rem;
  }

  .intensive-card {
    border-radius: 1.5625rem;
  }

  .footer .container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

@media (max-width: 1024px) {
  .medi-28,
  .bold-28 {
    font-size: 1.25rem;
  }
}

@media (max-width: 1023px) {
  .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .main-page {
    row-gap: 4.375rem;
    padding-bottom: 4.375rem;
  }

  .d-grid {
    gap: 0.625rem;
  }

  .card-info .card-icon,
  .card-info-grey .card-icon,
  .card-info-dark .card-icon {
    width: 2.8125rem;
    height: 2.8125rem;
  }

  .pb-150 {
    padding-block: 3.75rem;
  }

  .brad-grey {
    padding: 1.5625rem;
  }

  .hide-1024 {
    display: block !important;
  }

  .block-1024 {
    display: none !important;
  }

  .h2 {
    font-size: 1.6875rem;
  }

  .h3 {
    font-size: 1.375rem;
  }

  .bold-40 {
    font-size: 1.25rem;
  }

  .section-title > * + * {
    margin-top: 1.125rem;
  }

  .text-group > * + * {
    margin-top: 0.625rem;
  }

  .custom-text h2 {
    font-size: 1.6875rem;
  }

  .custom-text-group .custom-text-right img {
    border-radius: 1.5625rem;
  }

  .swiper-nav {
    display: none;
  }

  .btn-close {
    width: 3.125rem;
    height: 3.125rem;
  }

  .tabs-buttons {
    gap: 0.4375rem;
    width: calc(50% + 50vw);
  }

  .label.tab-btn {
    padding: 0.4375rem 0.875rem;
    height: 2rem;
    font-size: 0.8125rem;
  }

  .tabs-buttons.tabs-icon-buttons .tab-btn {
    height: 2.5rem;
  }

  .tabs-buttons.tabs-icon-buttons .tab-btn svg {
    width: 20px;
    height: 20px;
  }

  .nav-menu {
    display: none !important;
  }

  .header-top .header-row {
    flex-direction: row-reverse;
  }

  .phone-group .label .hide-desktop {
    font-size: 0.75rem;
  }

  .city-select .city-current {
    font-size: 0.8125rem;
  }

  .header-bottom .menu-toggle {
    display: flex;
  }

  .header-bottom .social-block {
    display: none;
  }

  .header-menu-wrapper {
    display: none !important;
  }

  .hero {
    border-radius: 1.5625rem;
    background: linear-gradient(180deg, #3d9b9c 0%, #51bcb2 50%, #2a8586 100%);
    background: url(../img/hero-bg-w375.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 48.125rem;
  }

  .hero .container {
    flex-direction: column;
  }

  .hero .container > * {
    width: 100%;
  }

  .hero .container {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .hero .hero-bg {
    display: none;
  }

  .hero-right-column {
    align-self: unset;
    margin-left: unset;
    display: flex;
    justify-content: center;
    margin-top: auto;
  }

  .hero-single-page.hero-inner .hero-inner-left {
    width: 100%;
  }

  .hero-single-content .medi-20 {
    margin-bottom: 0.9375rem;
  }

  .hero-single-content .h2 {
    margin-bottom: 1.5625rem;
  }

  .persone-card {
    width: 100%;
    max-width: 25rem;
    margin-bottom: 1.5625rem;
    row-gap: 0.625rem;
  }

  .persone-card-bottom {
    border-radius: 1.5625rem;
    padding: 1.5625rem;
  }

  .persone-card-img {
    border-radius: 1.5625rem;
  }

  .hero-inner {
    min-height: 23.125rem;
  }

  .direction-card {
    min-height: 18.75rem;
  }

  .direction-card .bold-40 {
    font-size: 1.25rem;
  }

  .direction-cards .direction-card {
    grid-column: span 12;
  }

  .direction-cards .direction-card:nth-child(5),
  .direction-cards .direction-card:nth-child(6) {
    grid-column: span 6;
  }

  .step-card .card-txt > * + *,
  .swiper-slide .card-txt > * + *,
  .advantage-card .card-txt > * + * {
    margin-top: 10px;
  }

  .table .table-btn .btn-light span span {
    display: none;
  }

  .table {
    padding-top: 0;
    border-top: 0;
    row-gap: 0;
  }

  .table .table-row {
    flex-wrap: wrap;
    row-gap: 1rem;
    padding-block: 1.25rem;
    -moz-column-gap: 0.625rem;
    column-gap: 0.625rem;
  }

  .table .table-row:first-child {
    padding-top: 0;
  }

  .table .table-row + .table-row {
    border-top: 2px dotted rgba(21, 21, 22, 0.24);
  }

  .table .table-name {
    width: 100%;
    flex-shrink: 0;
  }

  .table .table-btn {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }

  .table .table-price > .medi-20 {
    width: -moz-fit-content !important;
    width: fit-content !important;
  }

  .card-info.p-0 .card-txt,
  .advantage-card.p-0 .card-txt {
    padding: 1.5625rem;
  }

  .advantages-carousel {
    overflow: hidden;
  }

  .advantages-carousel .absolute-button {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .advantages-swiper {
    width: calc(50% + 50vw);
  }

  .advantages-swiper.advantages-swiper-inner .swiper-slide .advantage-card {
    aspect-ratio: unset;
    width: 100%;
  }

  .swiper-slide .advantage-card.p-0 {
    height: 28rem;
  }

  .advantages-swiper .swiper-slide {
    width: 17.6875rem !important;
  }

  .advantages-pagination {
    display: block;
  }

  .interview-card {
    align-items: center;
  }

  .interview-pagination {
    font-size: 1rem;
  }

  .slogan.offset-top {
    margin-top: -6.5625rem;
  }

  .slogan.offset-top .slogan-content {
    border-radius: 0 0 1.5625rem 1.5625rem;
  }

  .slogan .slogan-content {
    padding-top: 6.5625rem;
    padding-bottom: 4.375rem;
    row-gap: 2.1875rem;
    border-radius: 1.5625rem;
  }

  .slogan .slogan-content .slogan-title > * + * {
    margin-top: 0.9375rem;
  }

  .slogan.slogan-secondary .slogan-content {
    padding-top: 4.375rem;
    padding-bottom: 4.375rem;
  }

  .slogan .slogan-contact-bottom,
  .slogan .slogan-contact-top {
    position: relative;
    inset: 0;
    margin-top: -1.5625rem;
  }

  .living-swiper .swiper-slide img {
    border-radius: 1.5625rem;
  }

  .living-swiper .swiper-slide {
    transform: translateX(0);
  }

  .living-swiper {
    height: 15.125rem;
  }

  .living .section-title .btn-light {
    display: none;
  }

  .living .center-wrapper {
    display: flex;
  }

  .living .title-group .medi-20 {
    max-width: 70%;
  }

  .card .link-accent.demi-18 {
    font-size: 0.8125rem;
  }

  .card {
    border-radius: 1.5625rem;
  }

  .card .card-image:before,
  .card .card-image:after,
  .card-image.overlay-top:before,
  .card-image.overlay-top:after {
    aspect-ratio: unset;
    height: 4.875rem;
  }

  .review-card .review-card-header {
    -moz-column-gap: 0.75rem;
    column-gap: 0.75rem;
  }

  .review-card .review-card-header .medi-20 {
    font-size: 0.875rem;
  }

  .review-card .review-card-body .medi-20 {
    display: none;
  }

  .review-card .review-card-body .bold-40 {
    width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    font-size: 1.125rem;
  }

  .review-card .avatar-box {
    width: 3.75rem;
    height: 3.75rem;
    font-size: 1.25rem;
  }

  .review-card .review-card-footer .medi-18 {
    font-size: 0.8125rem;
  }

  .review-swiper {
    width: calc(50% + 50vw);
  }

  .review-swiper .swiper-slide {
    width: 34.75rem !important;
  }

  .news-card.card .card-text .medi-20 {
    -webkit-line-clamp: 3;
  }

  .news-card.card .card-text {
    row-gap: 0.625rem;
  }

  .news-card.card .card-text .medi-18 {
    font-size: 0.8125rem;
    margin-bottom: 0.625rem;
  }

  .news-card.card .card-text .medi-20 {
    font-size: 0.875rem;
  }

  .news-card.card .medi-18 {
    font-size: 0.8125rem;
    margin-bottom: 0.625rem;
  }

  .news-card.card .medi-20 {
    font-size: 0.875rem;
  }

  .news-swiper,
  .sale-swiper {
    margin-top: -1.5625rem;
  }

  .news-swiper .swiper-slide,
  .sale-swiper .swiper-slide {
    width: 17.0625rem;
  }

  .js-drop > * + * {
    margin-top: 10px;
  }

  .js-drop-grey.js-drop .js-drop-item {
    background: #e1ebf2;
  }

  .contacts-content {
    flex-direction: column;
    row-gap: 2.5rem;
  }

  .contacts-content .contacts-block {
    padding-top: 1.875rem;
    padding-bottom: 0;
  }

  .contacts-content .card-info-grey .contacts-group {
    flex-direction: column;
    align-items: flex-start;
  }

  .tariff-card .tariff-price .medi-20 {
    top: -2px;
  }

  .tariff-card .price-current {
    font-size: 1.5rem;
  }

  .round-mark {
    row-gap: 0.625rem;
  }

  .round-mark li {
    -moz-column-gap: 0.625rem;
    column-gap: 0.625rem;
  }

  .round-mark li:before {
    width: 20px;
    height: 20px;
    background-size: 20px;
  }

  .reason-card {
    row-gap: 0.625rem;
  }

  .reasons-swiper .swiper-slide {
    width: 17.0625rem;
  }

  .early-treatment-cards:before,
  .early-treatment-cards:after {
    display: none;
  }

  .intensive-card .intensive-card-header {
    min-height: 11.375vw;
  }

  .intensive-card.intensive-card-special {
    min-height: 23.75rem;
  }

  .controls-grid {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .control-card .control-card-group,
  .control-card .control-card-item {
    gap: 1.25rem;
  }

  .control-card .control-card-item .txt-muted {
    font-size: 0.8125rem;
  }

  .picture1,
  .picture2,
  .picture3,
  .picture4 {
    border-radius: 1.5625rem;
  }

  .rehabilitation-card .intensive-card-body {
    padding-left: 5px;
    padding-right: 5px;
  }

  .rescue-project-grid .rescue-project-col {
    justify-content: center;
  }

  .modal-frame-content {
    padding: 1.875rem;
    border-radius: 1.5625rem;
  }

  .modal-frame .btn-close {
    top: 20px;
    right: 20px;
  }

  .form-city-content {
    max-height: 400px;
    overflow: hidden;
    overflow-y: auto;
  }

  .form-city .label-special {
    font-size: 0.875rem;
  }

  .footer .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .footer-grid {
    flex-direction: column-reverse;
    row-gap: 2.5rem;
    margin-bottom: 2.5rem;
  }

  .footer-grid > * {
    width: 100%;
    max-width: 100%;
  }

  .footer-grid .footer-column {
    width: 100%;
    max-width: 100%;
  }

  .footer-grid .label .medi-18 {
    font-size: 0.8125rem;
  }

  .footer-menu-wrapper .footer-menu {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-inline: 0.9375rem;
  }

  .svg-logo-footer {
    width: 19.375rem;
  }

  .footer-bottom {
    grid-template-columns: 1fr;
  }

  .start-page a {
    width: calc((100% - 16px) / 2);
  }
}

@media (max-width: 1023px) and (max-width: 767px) {
  .hero {
    min-height: 54.375rem;
  }
}

@media (max-width: 767px) {
  .container {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .breadcrumbs a {
    font-size: 0.75rem;
  }

  .card-info .h1 {
    font-size: 2.5rem;
  }

  .card-info .bold-40 {
    font-size: 1.25rem;
  }

  .grey-section {
    width: calc(100vw - 10px);
    padding-block: 3.75rem;
  }

  .grey-section > * + * {
    margin-top: 4.375rem;
  }

  .two-columns {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .three-columns {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .block-768 {
    display: none !important;
  }

  .hide-768 {
    display: block !important;
  }

  .h1 {
    font-size: 2.0625rem;
  }

  .h1 {
    font-size: 2.0625rem;
  }

  .font-20,
  .medi-20,
  .demi-20,
  .bold-20 {
    font-size: 0.875rem;
  }

  .medi-28,
  .bold-28 {
    font-size: 1.125rem;
  }

  .link-accent,
  .link-accent-icon span {
    font-size: 0.8125rem;
  }

  .section-title.flex-align {
    flex-direction: column;
    row-gap: 0.9375rem;
    align-items: flex-start;
  }

  .section-title.flex-align .title-group > * + * {
    margin-top: 1.125rem;
  }

  .custom-text-group {
    margin-block: 0.625rem;
    flex-direction: column;
    row-gap: 0.625rem;
  }

  .custom-text-group .custom-text-left,
  .custom-text-group .custom-text-right {
    width: 100%;
  }

  .custom-text-group .custom-text-left img,
  .custom-text-group .custom-text-right img {
    max-width: 31.25rem;
  }

  .label,
  .label-second,
  .label-white {
    padding: 0.375rem 0.6875rem;
    font-size: 0.8125rem;
  }

  .label .medi-16,
  .label-second .medi-16,
  .label-white .medi-16 {
    font-size: 0.8125rem;
  }

  .label-warning {
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 0.6875rem 1.25rem;
    border-radius: 0.9375rem;
  }

  .label-warning span {
    white-space: normal;
    text-align: left;
    width: 70%;
    align-items: flex-start;
  }

  .form-row {
    flex-direction: column;
  }

  .form-row > * {
    width: 100%;
  }

  .form-row > *[type=submit] {
    width: -moz-fit-content;
    width: fit-content;
  }

  .form-agree .label-text {
    font-size: 0.75rem;
  }

  .form-agree .label-text a {
    font-size: 0.75rem;
  }

  .header .container {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .hero .hero-content {
    row-gap: 1.875rem;
  }

  .hero .hero-group {
    row-gap: 2.1875rem;
  }

  .hero .h1 {
    font-size: 2.0625rem;
  }

  .hero .h1 br {
    display: block;
  }

  .hero .hero-title > * + * {
    margin-top: 0.9375rem;
  }

  .hero .hero-title .medi-20 {
    font-size: 0.875rem;
  }

  .hero-404 .hero-404-row {
    flex-direction: column-reverse;
    row-gap: 3.125rem;
  }

  .hero-404 .hero-404-right {
    display: flex;
    flex-direction: row;
    width: 100%;
    position: relative;
  }

  .hero-404 .hero-404-gull {
    position: absolute;
    top: -1rem;
    left: 14.5rem;
    width: 305px;
    flex-shrink: 0;
  }

  .hero-404 .hero-404-svg {
    width: 13.125rem;
    flex-shrink: 0;
    margin-left: 0;
  }

  .hero-404 .hero-title {
    width: 100%;
  }

  .hero-404 .hero-title .medi-20 {
    margin-top: 0.9375rem;
  }

  .hero-404 .hero-title .btn-primary {
    margin-top: 1.875rem;
  }

  .benefits-group.benefits-group-mobile {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 0.625rem;
    column-gap: 0.625rem;
    margin-top: 0.625rem;
  }

  .card-info-small {
    row-gap: 0.625rem;
    padding: 1.5625rem;
  }

  .doctor-rating {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .hero-inner-image {
    top: auto;
    width: 100%;
    height: 17.125rem;
    left: 0;
  }

  .hero-inner-content {
    flex-direction: column;
  }

  .hero-inner.hero-inner-grey {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    width: calc(100% - 0.625rem);
  }

  .hero-inner-right {
    width: 100%;
  }

  .hero-inner-left {
    width: 100%;
    padding-bottom: 0.625rem;
    row-gap: 1.5625rem;
  }

  .hero-inner-right {
    align-items: flex-start;
  }

  .hero-inner-right .card-info .font-16 {
    font-size: 0.75rem;
  }

  .hero-about .hero-inner-image:before {
    bottom: auto;
    right: 0;
    width: 100%;
    max-width: unset;
    height: 6.6875rem;
    background: linear-gradient(180deg, #f2f6f9 0%, rgba(242, 246, 249, 0) 100%);
  }

  .hero-about .hero-inner-image {
    max-width: unset;
    background-image: none !important;
  }

  .hero-about .hero-inner-image img {
    display: block;
    -o-object-position: top;
    object-position: top;
  }

  .hero-about {
    height: 37.5rem;
  }

  .direction-card {
    height: 12.1875rem;
    width: 100%;
    max-width: 26.875rem;
    margin-left: auto;
    margin-right: auto;
    min-height: unset;
    border-radius: 1.5625rem;
  }

  .direction-card .card-txt {
    max-width: 13.75rem;
  }

  .direction-card .card-image {
    width: 130px;
  }

  .direction-cards .direction-card:nth-child(5),
  .direction-cards .direction-card:nth-child(6) {
    grid-column: span 12;
  }

  .direction-card:nth-child(5):before {
    transform: translate(10%, 50%);
    height: 7.5rem;
  }

  .steps-cards .step-card {
    grid-column: span 12;
    row-gap: 0.9375rem;
  }

  .steps-cards .step-card .card-txt img {
    width: 2.8125rem;
    height: 2.8125rem;
  }

  .steps-cards .step-card:first-child,
  .steps-cards .step-card:nth-child(2) {
    grid-column: span 12;
  }

  .advantages-content .advantage-card:first-child {
    aspect-ratio: 310/219;
    max-height: 260px;
  }

  .advantages-content .advantage-card:last-child {
    aspect-ratio: 310/219;
    max-height: 260px;
    align-self: unset;
  }

  .advantages-content .advantage-card.p-0 {
    max-height: 370px;
    max-width: 370px;
  }

  .advantages-content .advantage-card {
    margin-left: auto;
    margin-right: auto;
  }

  .advantages-content .advantage-card {
    grid-column: span 12;
  }

  .swiper-slide .advantage-card {
    aspect-ratio: unset;
    height: 28rem;
  }

  .boss-interview {
    width: calc(100vw - 0.625rem);
  }

  .three-columns .card {
    margin-inline: auto;
  }

  .card .card-image {
    max-height: 200px;
  }

  .cards-swiper {
    width: calc(50% + 50vw);
  }

  .review-swiper .swiper-slide {
    width: 17.0625rem !important;
  }

  .review-card {
    width: 17.0625rem;
    height: 23.375rem;
  }

  .table-list .table-list-item {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0.3125rem;
  }

  .table-list .table-list-item .dotted {
    display: none;
  }

  .table-list .table-list-item .dotted + .medi-20 {
    text-align: left;
    padding-left: 0;
  }

  .table-list .table-list-item .txt-muted {
    padding-right: 0;
  }

  .table-list .table-list-item + .table-list-item {
    margin-top: 0.9375rem;
  }

  .tariff-card .card-info-grey {
    height: -moz-max-content;
    height: max-content;
    row-gap: 1.125rem;
  }

  .tariff-card .btn-primary .btn-txt {
    font-size: 0.875rem;
  }

  .reasons-swiper .swiper-slide .card-info .card-image {
    height: 11.25rem;
    margin-top: -15px;
  }

  .early-treatment-cards {
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }

  .early-treatment-cards .card-info-group {
    flex-direction: row;
    -moz-column-gap: 1.875rem;
    column-gap: 1.875rem;
  }

  .early-treatment-cards .card-info-group img {
    width: 45px;
    height: 45px;
    -o-object-fit: contain;
    object-fit: contain;
  }

  .early-treatment-cards .card-info {
    padding: 0;
  }

  .early-treatment-cards .gull-decor .svg-gull {
    width: 33.5625rem;
  }

  .early-treatment-cards .gull-decor {
    top: 12%;
    left: -35%;
  }

  .early-treatment-cards:before,
  .early-treatment-cards:after {
    display: none;
  }

  .early-treatment-cards:before {
    display: block;
    width: 22.3125rem;
    bottom: 0;
    right: -90px;
    transform: translateY(-42%);
  }

  .garanty-content {
    row-gap: 2.5rem;
  }

  .garanty-content .garanty-text {
    row-gap: 1.25rem;
    justify-content: flex-start;
  }

  .garanty-image {
    max-width: 25rem;
  }

  .intensive-card .intensive-card-header {
    font-size: 1.25rem;
    height: auto;
  }

  .intensive-card .intensive-card-footer {
    -moz-column-gap: 0;
    column-gap: 0;
  }

  .intensive-card .intensive-card-header {
    order: 1;
  }

  .intensive-card .intensive-card-body {
    gap: 1.25rem;
    order: 3;
  }

  .intensive-card .intensive-card-body .gap-10 {
    gap: 0.3125rem;
  }

  .intensive-card .intensive-card-footer {
    order: 2;
    border-radius: 0 0 1.5625rem 1.5625rem;
  }

  .intensive-card.intensive-card-special {
    min-height: 9.6875rem;
    height: auto;
    row-gap: 1.25rem;
    background-size: 10.625rem;
  }

  .rehabilitation-grid:after {
    display: none;
  }

  .rehabilitation-grid {
    grid-template-columns: 1fr;
  }

  .rehabilitation-picture {
    display: none;
  }

  .rehabilitation-card .intensive-card .font-20 {
    font-size: 0.875rem;
  }

  .rehabilitation .hide-768.gap-20 {
    display: flex !important;
  }

  .modal-frame-header > * + * {
    margin-top: 12px;
  }

  .modal-frame-header {
    margin-bottom: 30px;
  }

  .modal-success-submit .modal-bg {
    width: 19.8125rem;
    height: 6.8125rem;
    margin-top: -3.125rem;
  }

  .modal-success-submit .modal-bg svg {
    width: 100%;
  }

  .form-city-content {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .footer .container {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .start-page a {
    width: 100%;
  }
}

@media (max-width: 767) {
  .hero-single-content .medi-20 {
    margin-bottom: 1.8vw;
  }

  .hero-single-content .h2 {
    margin-bottom: 2.5vw;
  }
}

@media (max-width: 699px) {
  .boss-interview {
    padding-bottom: 2.5rem;
  }

  .boss-interview-content {
    flex-direction: column;
  }

  .boss-picture {
    align-self: center;
    width: 21.875rem;
  }

  .boss-interview-text {
    padding-top: 2.5rem;
    padding-bottom: 2.1875rem;
    width: 100%;
    max-width: 21.875rem;
    row-gap: 1.125rem;
  }

  .boss-interview-text .medi-14 {
    display: block;
  }

  .boss-picture .white-label {
    display: flex;
  }

  .boss-interview-text .white-label {
    display: none;
  }
}

@media (max-width: 599px) {
  .doctor-rating {
    grid-template-columns: 1fr;
  }

  .doctor-rating .card-info-small {
    max-width: 19.375rem;
  }

  .doctor-rating .card-info-small .rating-link-logo {
    max-width: 11.6875rem;
    max-height: reny(40);
  }

  .interview-card {
    flex-direction: column;
    row-gap: 1.875rem;
  }

  .interview-card__picture,
  .interview-card__text {
    width: 100%;
  }

  .interview-card .block-600 {
    display: none;
  }

  .interview-card .hide-600 {
    display: block;
  }

  .interview-card__picture {
    position: relative;
  }

  .interview-card__picture .hide-600 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1.25rem;
    z-index: 2;
  }

  .interview .container {
    position: relative;
    padding-bottom: 40px;
  }

  .interview .interview-pagination {
    position: absolute;
    bottom: 0;
    transform: unset;
    left: 0.9375rem;
    right: 0.9375rem;
  }

  .interview .interview-pagination .custom-pagination__bar {
    display: flex;
    width: calc(100% - 85px);
  }

  .control-card .control-card-group.flex-align {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .control-card .control-card-group.flex-align > * + * {
    margin-left: 0;
    align-items: flex-start;
  }
}

@media (max-width: 579px) {
  .table .table-price {
    width: 50%;
    align-items: baseline;
    flex: 1;
    -moz-column-gap: 0.5rem;
    column-gap: 0.5rem;
  }

  .table .table-price .price-block {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 478px) {
  .garanty-image {
    height: 13.9375rem;
    padding: 10px;
    padding-bottom: 0;
  }
}

@media (max-width: 364px) {
  .table {
    row-gap: 1.25rem;
    padding-top: 1.25rem;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .packages-tariff-content .three-columns {
    grid-template-columns: 1fr 1fr;
  }

  .tariff-card:last-child {
    grid-column: span 2;
    display: flex;
    width: 100%;
  }

  .tariff-card:last-child .card-info-grey {
    height: 23.125rem;
    border-radius: 25px 0 0 25px;
    row-gap: 1rem;
    width: 400px;
  }

  .tariff-card:last-child .card-info {
    height: 23.125rem;
    border-radius: 0 25px 25px 0;
    flex-grow: 1;
  }
}
/*# sourceMappingURL=main.css.map */

/* PHOTOS GRID — кирпичики (CSS columns/masonry) */
.photos-grid {
  column-count: 3;
  column-gap: 1.25rem;
}

@media (max-width: 1023px) {
  .photos-grid { column-count: 2; }
}
@media (max-width: 600px) {
  .photos-grid { column-count: 1; }
}

.photo-tile {
  display: block;
  margin-bottom: 1.25rem;
  border-radius: 1.5rem;
  overflow: hidden;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  transition: transform 0.25s ease;
  cursor: zoom-in;
}

.photo-tile img {
  display: block;
  width: 100%;
  height: auto;
}

.photo-tile:hover {
  transform: translateY(-3px);
}

.photos-section {
  padding-bottom: 4rem;
}

/* DROPDOWN в шапке — для пункта "О клинике" */
.nav-menu-item.has-dropdown {
  position: relative;
}

/* Невидимый "мостик" — продолжение hover-зоны пункта вниз,
   чтобы курсор не терял :hover, доходя до выпадающего */
.nav-menu-item.has-dropdown::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 0.75rem;
}

/* Стрелка-индикатор */
.nav-menu-item.has-dropdown > a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.nav-menu-item.has-dropdown > a::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 0.3rem solid transparent;
  border-right: 0.3rem solid transparent;
  border-top: 0.35rem solid currentColor;
  transition: transform 0.2s;
}

.nav-menu-item.has-dropdown:hover > a::after,
.nav-menu-item.has-dropdown:focus-within > a::after {
  transform: rotate(180deg);
}

.nav-menu-item.has-dropdown > .dropdown {
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 0;
  z-index: 25;
  min-width: 16rem;
  padding: 0.75rem;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(13, 43, 62, 0.12);
  display: none;
  flex-direction: column;
  gap: 0.25rem;
}

.nav-menu-item.has-dropdown:hover > .dropdown,
.nav-menu-item.has-dropdown:focus-within > .dropdown {
  display: flex;
}

.nav-menu-item.has-dropdown .dropdown a {
  display: block;
  padding: 0.625rem 0.875rem;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.35;
  color: #151516;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}

.nav-menu-item.has-dropdown .dropdown a:hover {
  background: #f1f5f9;
  color: #339190;
}

/* AKCII — фильтр сверху */
.akcii-filter {
  margin-bottom: 1.75rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.akcii-filter .tab-btn {
  cursor: pointer;
}

/* AKCII GRID — карточки акций */
.akcii-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1023px) {
  .akcii-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .akcii-grid { grid-template-columns: 1fr; }
}

/* Featured карточка — занимает 2 колонки */
.akciya-card--featured {
  grid-column: span 2;
}

@media (max-width: 1023px) {
  .akciya-card--featured { grid-column: span 2; }
}
@media (max-width: 600px) {
  .akciya-card--featured { grid-column: span 1; }
}

.akciya-card {
  display: flex;
  flex-direction: column;
  border-radius: 2.1875rem;
  background: #fff;
  overflow: hidden;
  position: relative;
  box-shadow: 0 6px 20px rgba(13, 43, 62, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.akciya-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(13, 43, 62, 0.14);
}

/* Цветной hero-блок с большим бейджем */
.akciya-hero {
  position: relative;
  padding: 2.25rem 2rem 2rem;
  text-align: center;
  color: #fff;
  overflow: hidden;
}

.akciya-card--featured .akciya-hero {
  padding: 3rem 2rem 2.5rem;
}

.akciya-card--featured .akciya-big {
  font-size: 6rem;
}

/* Иконка над числом */
.akciya-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  margin-bottom: 0.875rem;
  position: relative;
  z-index: 1;
}

.akciya-icon svg {
  width: 1.625rem;
  height: 1.625rem;
  fill: #fff;
  color: #fff;
}

/* Pill с типом — в углу */
.akciya-type-pill {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  padding: 0.3rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(0, 0, 0, 0.18);
  border-radius: 1rem;
  color: #fff;
  z-index: 2;
  backdrop-filter: blur(2px);
}

.akciya-hero::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -20%;
  width: 70%;
  height: 200%;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  transform: rotate(-25deg);
  pointer-events: none;
}

.akciya-big {
  font-family: 'Comfortaa', var(--font-family);
  font-weight: 700;
  font-size: 4.25rem;
  line-height: 1;
  letter-spacing: -0.02em;
  position: relative;
  z-index: 1;
}

.akciya-tag {
  display: inline-block;
  margin-top: 0.875rem;
  padding: 0.4rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.22);
  border-radius: 1.5rem;
  color: #fff;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(2px);
}

/* Темы по типу акции */
.akciya-card--discount .akciya-hero {
  background: linear-gradient(135deg, #f97316 0%, #dc2626 100%);
}

.akciya-card--free .akciya-hero {
  background: linear-gradient(135deg, #339190 0%, #51bcb2 60%, #2a8586 100%);
}

.akciya-card--bonus .akciya-hero {
  background: linear-gradient(135deg, #c4ac9c 0%, #aa897c 100%);
}

/* Контент */
.akciya-body {
  padding: 1.75rem 2rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  flex: 1;
}

.akciya-title {
  font-family: 'Montserrat', var(--font-family);
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.25;
  color: #0d2b3e;
  margin: 0;
}

.akciya-desc {
  font-size: 1rem;
  line-height: 1.5;
  color: #4b5563;
  margin: 0;
}

.akciya-footer {
  margin-top: auto;
  padding-top: 0.5rem;
}

.akciya-footer .btn-primary {
  width: 100%;
  font-size: 1rem;
}

.akciya-body {
  padding: 1.75rem 2rem 2rem;
}

/* VAKANSII GRID — карточки вакансий */
.vakansii-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 767px) {
  .vakansii-grid { grid-template-columns: 1fr; }
}

.vakansiya-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
  background: #f4f6f8;
  border: 1px solid #e1e7ed;
  border-radius: 1.75rem;
  transition: opacity 0.2s ease;
}

.vakansiya-card--closed {
  opacity: 0.65;
  filter: grayscale(35%);
}

.vakansiya-card--closed:hover {
  opacity: 0.85;
  filter: grayscale(20%);
}

/* Статус-метка */
.vakansiya-status {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  padding: 0.4rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #6b7280;
  color: #fff;
  border-radius: 1rem;
}

.vakansiya-body {
  flex: 1;
}

.vakansiya-title {
  font-family: 'Montserrat', var(--font-family);
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.25;
  color: #1f2937;
  margin: 0 0 1.25rem;
  padding-right: 8rem;
}

.vakansiya-meta {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.vakansiya-meta-row {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.4;
}

.vakansiya-meta-label {
  color: #6b7280;
  font-weight: 500;
}

.vakansiya-meta-value {
  color: #1f2937;
  font-weight: 500;
}

.vakansiya-footer .btn-outline[disabled] {
  cursor: not-allowed;
  opacity: 0.55;
  pointer-events: none;
}

/* INFO PAGES — общий стиль для статичных информационных страниц */
.info-disclaimer {
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: #fff7ed;
  border-left: 4px solid #f97316;
  border-radius: 1rem;
}

.info-disclaimer p {
  margin: 0;
}

.info-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 1023px) {
  .info-grid { grid-template-columns: 1fr; }
}

.info-card {
  padding: 2rem;
  background: #fff;
  border: 1px solid #e5edf3;
  border-radius: 1.75rem;
  box-shadow: 0 4px 16px rgba(13, 43, 62, 0.04);
}

.info-card-title {
  font-family: 'Montserrat', var(--font-family);
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.3;
  color: #0d2b3e;
  margin: 0 0 0.875rem;
}

.info-card-desc {
  font-size: 1rem;
  line-height: 1.5;
  color: #4b5563;
  margin: 0 0 1rem;
}

.info-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.info-card-list li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #1f2937;
}

.info-card-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #339190;
}

.info-card-list--meta li {
  padding-left: 0;
}

.info-card-list--meta li::before { display: none; }

.info-meta-label {
  display: inline-block;
  min-width: 5rem;
  color: #6b7280;
  font-weight: 500;
  margin-right: 0.5rem;
}

.info-card-list a {
  color: #339190;
}

.info-card-list a:hover {
  text-decoration: underline;
}

/* ARTICLES — статьи на странице /stati */
.articles-filter {
  margin-bottom: 1.75rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.articles-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1023px) { .articles-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .articles-grid { grid-template-columns: 1fr; } }

.article-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e5edf3;
  border-radius: 1.5rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s, box-shadow 0.25s;
  position: relative;
  overflow: hidden;
}

.article-card-img {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: linear-gradient(135deg, #e3d1c5 0%, #c4ac9c 100%);
}

.article-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.article-card:hover .article-card-img img {
  transform: scale(1.05);
}

.article-card-img--placeholder {
  background: linear-gradient(135deg, #339190 0%, #51bcb2 100%);
}

.article-card-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  flex: 1;
}

.article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(13, 43, 62, 0.12);
}

.article-card-tag {
  align-self: flex-start;
  padding: 0.3rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  border-radius: 1rem;
}

.article-card-title {
  font-family: 'Montserrat', var(--font-family);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.3;
  color: #0d2b3e;
  margin: 0;
}

.article-card-lead {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #4b5563;
  margin: 0;
  flex: 1;
}

.article-card-more {
  margin-top: auto;
  font-weight: 600;
  font-size: 0.9375rem;
  color: #339190;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.article-card:hover .article-arrow {
  transform: translateX(4px);
}

.article-arrow {
  display: inline-block;
  font-style: normal;
  transition: transform 0.2s;
}

.article-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.article-card-date {
  font-size: 0.8125rem;
  color: #6b7280;
  font-weight: 500;
}

/* Pagination "Load more" */
.articles-load-more {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

.articles-load-more .btn-primary {
  min-width: 18rem;
}

.article-card[data-hidden="1"] {
  display: none !important;
}

/* ARTICLE DETAIL — детальная страница статьи */
.article-detail {
  max-width: 56rem;
  margin: 0 auto;
}

.article-detail-img {
  margin-bottom: 2rem;
  border-radius: 1.75rem;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.article-detail-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-detail-tag {
  display: inline-block;
  padding: 0.4rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  border-radius: 1rem;
}

.article-detail-body {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #1f2937;
}

.article-detail-body p {
  margin: 0 0 1.25rem;
}

.article-detail-body h2,
.article-detail-body h3,
.article-detail-body h4 {
  margin: 2.5rem 0 1rem;
  font-family: 'Montserrat', var(--font-family);
  color: #0d2b3e;
  line-height: 1.3;
}

.article-detail-body h2 { font-size: 1.6rem; }
.article-detail-body h3 { font-size: 1.35rem; }
.article-detail-body h4 { font-size: 1.1rem; }

.article-detail-body ul,
.article-detail-body ol {
  margin: 0 0 1.25rem;
  padding-left: 1.5rem;
}

.article-detail-body li {
  margin-bottom: 0.5rem;
}

/* Подчёркивание только у inline-ссылок в тексте, не у кнопок и CTA */
.article-detail-body p a,
.article-detail-body li a {
  color: #339190;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.article-detail-body p a:hover,
.article-detail-body li a:hover {
  color: #2a8586;
}

.article-detail-body img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
  margin: 1.5rem 0;
}

.article-detail-body table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.article-detail-body table th,
.article-detail-body table td {
  padding: 0.75rem 1rem;
  border: 1px solid #e5edf3;
  text-align: left;
}

.article-detail-body table th {
  background: #f4f6f8;
  font-weight: 600;
}

.article-detail-cta {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5edf3;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* === ARTICLE DETAIL — улучшенная типографика === */

.article-detail {
  max-width: 80rem;
  margin: 0 auto;
}

.article-detail-img {
  margin: 0 0 2rem;
  border-radius: 1.75rem;
  overflow: hidden;
  aspect-ratio: 16 / 7;
}

.article-detail-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-detail-tag {
  display: inline-block;
  padding: 0.4rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  border-radius: 1rem;
  margin-bottom: 1rem;
}

/* 2-column grid */
.article-detail-grid {
  display: grid;
  grid-template-columns: 18rem 1fr;
  gap: 2.5rem;
  align-items: start;
}

@media (max-width: 1023px) {
  .article-detail-grid {
    grid-template-columns: 1fr;
  }
}

.article-detail-side {
  position: sticky;
  top: 6rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (max-width: 1023px) {
  .article-detail-side { position: static; }
}

/* === Author card === */
.article-author {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  background: #fff;
  border: 1px solid #e5edf3;
  border-radius: 1.25rem;
}

.article-author-photo {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  overflow: hidden;
  display: block;
}

.article-author-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-author-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.article-author-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  font-weight: 600;
}

.article-author-name {
  font-weight: 700;
  color: #0d2b3e;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.25;
}

.article-author-name:hover { color: #339190; }

.article-author-role {
  font-size: 0.85rem;
  color: #4b5563;
  line-height: 1.3;
}

/* === TOC === */
.article-toc {
  padding: 1.25rem;
  background: #f4f6f8;
  border-radius: 1.25rem;
}

.article-toc-title {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.article-toc-list {
  list-style: decimal inside;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.4;
}

.article-toc-list a {
  color: #1f2937;
  text-decoration: none;
  transition: color 0.15s;
}

.article-toc-list a:hover { color: #339190; }

/* === Article body — типографика === */
.article-detail-body {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #1f2937;
  max-width: 44rem;
}

.article-detail-body > p:first-child {
  font-size: 1.2rem;
  line-height: 1.55;
  color: #0d2b3e;
  font-weight: 500;
}

.article-detail-body p {
  margin: 0 0 1.25rem;
}

.article-detail-body h2,
.article-detail-body h3,
.article-detail-body h4 {
  margin: 2.5rem 0 1rem;
  font-family: 'Montserrat', var(--font-family);
  color: #0d2b3e;
  line-height: 1.3;
  scroll-margin-top: 5rem;
}

.article-detail-body h2 {
  font-size: 1.65rem;
  position: relative;
  padding-left: 1rem;
}

.article-detail-body h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.4rem;
  bottom: 0.4rem;
  width: 4px;
  background: #339190;
  border-radius: 4px;
}

.article-detail-body h3 { font-size: 1.3rem; }
.article-detail-body h4 { font-size: 1.1rem; }

.article-detail-body ul {
  list-style-type: disc;
  margin: 0 0 1.5rem;
  padding-left: 1.5rem;
}

.article-detail-body ol {
  list-style-type: decimal;
  margin: 0 0 1.5rem;
  padding-left: 1.5rem;
}

.article-detail-body li {
  margin-bottom: 0.65rem;
}

.article-detail-body ul li::marker {
  color: #339190;
}

.article-detail-body ul li::marker {
  color: #339190;
}

.article-detail-body strong {
  color: #0d2b3e;
}

.article-detail-body img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
  margin: 1.5rem 0;
}

.article-detail-body table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.article-detail-body table th,
.article-detail-body table td {
  padding: 0.75rem 1rem;
  border: 1px solid #e5edf3;
  text-align: left;
}

.article-detail-body table th {
  background: #f4f6f8;
  font-weight: 600;
}

.article-detail-body blockquote {
  margin: 1.5rem 0;
  padding: 1.25rem 1.5rem;
  background: #f0fdfa;
  border-left: 4px solid #339190;
  border-radius: 0.75rem;
  font-style: italic;
}

/* === Универсальные CTA-кнопки внутри статьи === */
.cta-btn {
  text-decoration: none !important;
}

.cta-btn .btn-txt,
.cta-btn span {
  text-decoration: none !important;
}

.cta-btn--solid {
  background: #0d2b3e !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.cta-btn--solid .btn-txt {
  color: #fff !important;
}

.cta-btn--solid:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28) !important;
}

.cta-btn--solid .btn-circle {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #fff !important;
}

.cta-btn--solid .btn-circle svg {
  color: #fff !important;
  fill: #fff;
}

.cta-btn--ghost {
  display: inline-flex !important;
  align-items: center;
  gap: 0.6rem;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  font-weight: 600;
}

.cta-btn--ghost,
.cta-btn--ghost .btn-txt,
.cta-btn--ghost span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-image: none !important;
}

.cta-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.28) !important;
  border-color: rgba(255, 255, 255, 0.8);
}

.cta-btn--ghost:hover .btn-txt,
.cta-btn--ghost:hover span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-image: none !important;
}

.cta-btn--ghost .cta-btn-ico {
  width: 1.1rem;
  height: 1.1rem;
  color: #fff;
  flex-shrink: 0;
}

/* === Inline CTA в середине статьи === */
.article-inline-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  padding: 1.75rem 2rem;
  margin: 2.5rem 0;
  background: linear-gradient(135deg, #339190 0%, #51bcb2 100%);
  border-radius: 1.5rem;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.article-inline-cta::before {
  content: '';
  position: absolute;
  right: -3rem;
  top: -3rem;
  width: 12rem;
  height: 12rem;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  pointer-events: none;
}

.article-inline-cta-text {
  font-size: 1rem;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}

.article-inline-cta-text strong {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
  color: #fff !important;
}

.article-inline-cta-text p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
}

.article-inline-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .article-inline-cta {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 1.5rem;
  }
  .article-inline-cta-actions {
    align-items: stretch;
  }
}

/* === Финальный CTA по категории === */
.article-final-cta {
  margin-top: 3rem;
  padding: 3rem 2.5rem;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,0.18), transparent 55%),
    linear-gradient(135deg, var(--cat-color, #339190) 0%, color-mix(in srgb, var(--cat-color, #339190) 65%, black) 100%);
  border-radius: 1.75rem;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.article-final-cta-content {
  max-width: 38rem;
  position: relative;
  z-index: 1;
}

.article-final-cta-title {
  font-family: 'Montserrat', var(--font-family);
  font-size: 1.8rem;
  line-height: 1.2;
  margin: 0 0 0.875rem;
  font-weight: 700;
  color: #fff !important;
}

.article-final-cta-desc {
  font-size: 1.05rem;
  line-height: 1.55;
  margin: 0 0 1.75rem;
  color: rgba(255, 255, 255, 0.95);
}

.article-final-cta-actions {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .article-final-cta { padding: 2rem 1.5rem; }
  .article-final-cta-title { font-size: 1.45rem; }
  .article-final-cta-actions .cta-btn { flex: 1; justify-content: center; }
}

.article-detail-back {
  margin-top: 2rem;
}


/* Meta-строка под H1 */
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin: 1rem 0 0;
  font-size: 0.9rem;
  color: #6b7280;
}

.article-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.article-meta-ico {
  width: 1rem;
  height: 1rem;
  color: #339190;
  flex-shrink: 0;
}

/* figure внутри текста */
.article-figure {
  margin: 2rem 0;
  border-radius: 1.25rem;
  overflow: hidden;
  background: #f4f6f8;
}

.article-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  margin: 0;
}

/* первый figure после первого блока — пусть будет hero-уровня */
.article-detail-body > figure:first-of-type {
  margin-top: 2.5rem;
}

/* === ARTICLE — услуги по теме === */
.article-services {
  margin-top: 3rem;
}

.article-services-title,
.article-related-title {
  font-family: 'Montserrat', var(--font-family);
  font-size: 1.6rem;
  font-weight: 700;
  color: #0d2b3e;
  margin: 0 0 1.5rem;
}

.article-services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

@media (max-width: 600px) {
  .article-services-grid { grid-template-columns: 1fr; }
}

.article-service-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #e5edf3;
  border-radius: 1.25rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  position: relative;
  overflow: hidden;
}

.article-service-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-left: 4px solid var(--cat-color, #339190);
  pointer-events: none;
}

.article-service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(13, 43, 62, 0.1);
  border-color: var(--cat-color, #339190);
}

.article-service-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--cat-color, #339190) 15%, white);
  margin-bottom: 0.5rem;
}

.article-service-icon svg {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--cat-color, #339190);
}

.article-service-title {
  font-weight: 700;
  font-size: 1.1rem;
  color: #0d2b3e;
  line-height: 1.3;
}

.article-service-desc {
  font-size: 0.9rem;
  line-height: 1.45;
  color: #4b5563;
}

.article-service-more {
  margin-top: auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--cat-color, #339190);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.article-service-more i {
  font-style: normal;
  transition: transform 0.2s;
}

.article-service-card:hover .article-service-more i {
  transform: translateX(4px);
}

/* === ARTICLE — похожие статьи === */
.article-related {
  margin-top: 3rem;
}

.article-related-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

@media (max-width: 767px) {
  .article-related-grid { grid-template-columns: 1fr; }
}

.article-related-card {
  display: flex;
  gap: 1rem;
  padding: 0.75rem;
  background: #fff;
  border: 1px solid #e5edf3;
  border-radius: 1.25rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s, box-shadow 0.2s;
}

.article-related-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(13, 43, 62, 0.1);
}

.article-related-img {
  flex-shrink: 0;
  width: 7rem;
  aspect-ratio: 1;
  border-radius: 0.75rem;
  overflow: hidden;
  background: linear-gradient(135deg, #e3d1c5 0%, #c4ac9c 100%);
}

.article-related-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-related-img--ph {
  background: linear-gradient(135deg, #339190 0%, #51bcb2 100%);
}

.article-related-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: center;
}

.article-related-tag {
  align-self: flex-start;
  padding: 0.2rem 0.6rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  border-radius: 0.75rem;
}

.article-related-card-title {
  font-family: 'Montserrat', var(--font-family);
  font-size: 1rem;
  font-weight: 700;
  color: #0d2b3e;
  line-height: 1.3;
  margin: 0;
}

.article-related-card:hover .article-related-card-title {
  color: var(--cat-color, #339190);
}

/* === USLUGI — список услуг === */
.uslugi-filter {
  margin-bottom: 1.75rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tab-count {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.05rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 0.75rem;
}

.tab-btn-active .tab-count {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}

.uslugi-section {
  margin-bottom: 2.5rem;
  scroll-margin-top: 6rem;
}

.uslugi-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e5edf3;
}

.uslugi-section-title {
  font-family: 'Montserrat', var(--font-family);
  font-size: 1.5rem;
  font-weight: 700;
  color: #0d2b3e;
  margin: 0;
  position: relative;
  padding-left: 1rem;
}

.uslugi-section-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.3rem;
  bottom: 0.3rem;
  width: 4px;
  background: var(--cat-color, #339190);
  border-radius: 4px;
}

.uslugi-section-count {
  font-size: 0.85rem;
  color: #6b7280;
  font-weight: 500;
}

.uslugi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

@media (max-width: 1023px) { .uslugi-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .uslugi-grid { grid-template-columns: 1fr; } }

.usluga-card {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 1.25rem;
  background: #fff;
  border: 1px solid #e5edf3;
  border-radius: 1rem;
  text-decoration: none;
  color: #0d2b3e;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  position: relative;
  font-size: 0.95rem;
  line-height: 1.3;
}

.usluga-card:hover {
  transform: translateX(2px);
  border-color: #339190;
  box-shadow: 0 6px 18px rgba(13, 43, 62, 0.08);
}

.usluga-card-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.625rem;
  color: #fff;
}

.usluga-card-icon svg {
  width: 1.1rem;
  height: 1.1rem;
  color: #fff;
  fill: #fff;
}

.usluga-card-title {
  flex: 1;
  font-weight: 500;
  color: #1f2937;
}

.usluga-card-arrow {
  font-size: 1.1rem;
  color: #9ca3af;
  transition: color 0.2s, transform 0.2s;
}

.usluga-card:hover .usluga-card-arrow {
  color: #339190;
  transform: translateX(4px);
}

/* === MEGA MENU — широкое выпадающее с колонками === */
.menu-item .submenu-wrapper.mega-menu {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  min-width: 60rem;
  max-width: 90vw;
  padding: 0;
  display: none;
  z-index: 30;
}

.menu-item.has-submenu:hover > .submenu-wrapper.mega-menu,
.menu-item.has-submenu:focus-within > .submenu-wrapper.mega-menu {
  display: block;
}

.mega-menu-inner {
  background: #fff;
  border-radius: 1.25rem;
  box-shadow: 0 16px 40px rgba(13, 43, 62, 0.18);
  padding: 1.75rem 2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.75rem;
  margin-top: 0.75rem;
}

@media (max-width: 1199px) {
  .mega-menu-inner { grid-template-columns: repeat(2, 1fr); }
  .menu-item .submenu-wrapper.mega-menu { min-width: 36rem; }
}

.mega-col {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.mega-col-title {
  font-family: 'Montserrat', var(--font-family);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--col-color, #339190);
  margin-bottom: 0.5rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--col-color, #339190);
}

.mega-col-list {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mega-col-list li {
  margin: 0;
  padding: 0;
}

.mega-col-list li::before { content: none; }

.mega-col-list a {
  display: block;
  padding: 0.45rem 0.6rem;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.3;
  color: #1f2937;
  text-decoration: none;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}

.mega-col-list a:hover {
  background: color-mix(in srgb, var(--col-color, #339190) 12%, transparent);
  color: var(--col-color, #339190);
  transform: translateX(2px);
}

/* Акцент для срочной помощи */
.mega-col--urgent {
  position: relative;
}

.mega-col--urgent::before {
  content: '';
  position: absolute;
  top: -0.25rem;
  left: -0.5rem;
  right: -0.5rem;
  bottom: -0.25rem;
  background: linear-gradient(135deg, rgba(220,38,38,0.05), rgba(220,38,38,0.02));
  border-radius: 0.75rem;
  pointer-events: none;
  z-index: -1;
}

.mega-col--urgent .mega-col-title {
  color: #dc2626;
  border-bottom-color: #dc2626;
}

/* Группы в мобильном меню */
.mobile-submenu-group {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7280;
  margin: 1rem 0 0.25rem;
  padding-left: 0.75rem;
}

.mobile-submenu-group:first-child { margin-top: 0.5rem; }

/* city-popup links (поддомены городов) */
.form-city-content { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem 1.5rem; }
.city-link { text-decoration: none; padding: 0.5rem 0; }
.city-link:hover .link-accent { color: var(--accent, #339190); }
@media (max-width: 600px) { .form-city-content { grid-template-columns: 1fr; } }

/* /otzyvy/ — сетка отзывов */
.otzyvy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 1rem;
}
@media (max-width: 1024px) { .otzyvy-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .otzyvy-grid { grid-template-columns: 1fr; } }
.otzyvy-grid .review-card { height: 100%; }

/* Тизер блога в подвале каждой страницы */
.blog-teaser {
  padding: 4rem 0 5rem;
  background: #f7f8f8;
}
.blog-teaser .section-title { margin-bottom: 2rem; flex-wrap: wrap; gap: 1rem; }
.blog-teaser-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media (max-width: 1200px) { .blog-teaser-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .blog-teaser-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .blog-teaser-grid { grid-template-columns: 1fr; } }
.blog-teaser .article-card-img { aspect-ratio: 16/10; }
.blog-teaser-all { white-space: nowrap; }

/* Заметная "обзорная" ссылка в шапке подменю услуг */
.submenu-item--overview { border-bottom: 1px solid #e5e7eb; padding-bottom: 0.5rem; margin-bottom: 0.5rem; }
.submenu-link--overview { font-weight: 700 !important; color: #339190 !important; }
.submenu-link--overview:hover { color: #267272 !important; }
.mobile-submenu-link--overview { color: #339190; }
.mobile-submenu-link--overview strong { color: #339190; }


/* === Декоративные SVG из Figma (через ::before / ::after) === */

/* Hero — справа снизу */
.hero-section { position: relative; overflow: hidden; }
.hero { position: relative; }
.hero::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 22%;
  max-width: 19.5rem;
  aspect-ratio: 313 / 463;
  background: url("/img/hero-decor.svg") no-repeat right bottom / contain;
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 1024px) { .hero::after { display: none; } }

/* Steps — декор прибит к верхне-правому углу .grey-section
   (на странице такая grey-section одна — та, что содержит .steps) */
.grey-section:has(> .steps) { overflow: hidden; }
.grey-section:has(> .steps)::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  max-width: 42rem;
  aspect-ratio: 651 / 314;
  background: url("/img/steps-decor.svg") no-repeat top right / contain;
  pointer-events: none;
  z-index: 0;
}
.grey-section:has(> .steps) > * { position: relative; z-index: 1; }
@media (max-width: 1280px) { .grey-section:has(> .steps)::before { width: 50%; } }
@media (max-width: 768px)  { .grey-section:has(> .steps)::before { display: none; } }

/* Direction cards — декор слева снизу. Не трогаем 5..7, там свои волны/птицы.
   Используем background-image (а не ::before) — иначе isolation/stacking ломает
   mix-blend-mode на оригинальных картинках направлений. */
.direction-cards .direction-card:nth-child(1),
.direction-cards .direction-card:nth-child(4) {
  background-image: url("/img/direction-decor-rings.svg");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 22rem auto;
}
.direction-cards .direction-card:nth-child(2),
.direction-cards .direction-card:nth-child(3) {
  background-image: url("/img/direction-decor-blob.svg");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 26rem auto;
}
@media (max-width: 640px) {
  .direction-cards .direction-card:nth-child(1),
  .direction-cards .direction-card:nth-child(4),
  .direction-cards .direction-card:nth-child(2),
  .direction-cards .direction-card:nth-child(3) { background-size: 16rem auto; }
}

/* Advantages — декор колец на 1-й и 3-й карточке */
.advantages { position: relative; }
.advantages .advantage-card { position: relative; isolation: isolate; overflow: hidden; }
.advantages .advantage-card .card-txt,
.advantages .advantage-card .card-image { position: relative; z-index: 1; }
/* 1-я карточка — бежевые кольца справа сверху */
.advantages .advantages-content > .advantage-card:nth-child(1)::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 55%;
  max-width: 19rem;
  aspect-ratio: 297 / 316;
  background: url("/img/advantage-decor-beige.svg") no-repeat top right / contain;
  pointer-events: none;
  z-index: 0;
}
/* 3-я карточка — зелёные кольца справа снизу */
.advantages .advantages-content > .advantage-card:nth-child(3)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  max-width: 13rem;
  aspect-ratio: 197 / 442;
  background: url("/img/advantage-decor-teal.svg") no-repeat right bottom / contain;
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 768px) {
  .advantages .advantages-content > .advantage-card:nth-child(1)::before,
  .advantages .advantages-content > .advantage-card:nth-child(3)::after { display: none; }
}

/* === HOVER-АНИМАЦИИ КАРТОЧЕК === */

/* Карточки направлений — подъём + параллакс декора + zoom картинки */
.direction-cards .direction-card {
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease,
    background-position 0.6s ease-out;
  will-change: transform, box-shadow, background-position;
}
.direction-cards .direction-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px -12px rgba(13, 43, 62, 0.18);
}
/* Параллакс декора слева снизу — слегка уезжает влево/вниз */
.direction-cards .direction-card:nth-child(1):hover,
.direction-cards .direction-card:nth-child(4):hover {
  background-position: -10px calc(100% + 6px);
}
.direction-cards .direction-card:nth-child(2):hover,
.direction-cards .direction-card:nth-child(3):hover {
  background-position: -14px calc(100% + 8px);
}
/* Картинка направления (бокал/капельница/капля/мозг) — плавное увеличение */
.direction-card .card-image img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.direction-card:hover .card-image img {
  transform: scale(1.06);
}

/* Карточки преимуществ (24/7, бригада, цена) — лёгкий подъём */
.advantages .advantage-card {
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease;
}
.advantages .advantage-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px -10px rgba(13, 43, 62, 0.15);
}
.advantages .advantage-card .card-image img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.advantages .advantage-card:hover .card-image img {
  transform: scale(1.04);
}

/* Карточки тизера блога — подъём + сдвиг стрелки */
.blog-teaser .article-card {
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease;
}
.blog-teaser .article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -10px rgba(13, 43, 62, 0.14);
}
.blog-teaser .article-card-img img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.blog-teaser .article-card:hover .article-card-img img {
  transform: scale(1.05);
}
.blog-teaser .article-arrow {
  display: inline-block;
  transition: transform 0.3s ease;
}
.blog-teaser .article-card:hover .article-arrow {
  transform: translateX(4px);
}

/* Учитываем prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .direction-cards .direction-card,
  .direction-card .card-image img,
  .advantages .advantage-card,
  .advantages .advantage-card .card-image img,
  .blog-teaser .article-card,
  .blog-teaser .article-card-img img,
  .blog-teaser .article-arrow { transition: none !important; }
  .direction-cards .direction-card:hover,
  .advantages .advantage-card:hover,
  .blog-teaser .article-card:hover { transform: none; }
  .direction-card:hover .card-image img,
  .advantages .advantage-card:hover .card-image img,
  .blog-teaser .article-card:hover .article-card-img img { transform: none; }
}

/* Поднять «Лечение наркомании / алкоголизма / игромании» (5-7) наверх блока */
.direction-cards .direction-card:nth-child(5) { order: -3; }
.direction-cards .direction-card:nth-child(6) { order: -2; }
.direction-cards .direction-card:nth-child(7) { order: -1; }


/* Этапы лечения — табы (только мобильный вид) */
.steps-tabs { display: none; }
@media (max-width: 768px) {
  .steps-tabs {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    margin-bottom: 1.5rem;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
  }
  .steps-tabs::-webkit-scrollbar { display: none; }
  .steps-tab {
    flex-shrink: 0;
    padding: 0.625rem 1.25rem;
    border-radius: 999px;
    background: #f2f6f9;
    color: #0d2b3e;
    border: none;
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.4;
    cursor: pointer;
    transition: filter 0.2s, color 0.2s;
  }
  .steps-tab.is-active {
    color: #fff;
    font-weight: 600;
    font-size: 1.125rem;
    background: linear-gradient(135deg, #c49e90 0%, #d2c0b4 50%, #b78b7b 100%);
  }
  /* Показываем только активную карточку, остальные скрыты */
  .steps-cards { display: block; }
  .steps-cards .step-card { display: none; }
  .steps-cards .step-card.is-active { display: block; }
  .steps-cards .step-card.is-active .label-second { display: none; }
}

/* «Почему выбирают нас» — декоры на карточках карусели */
.advantages-carousel .swiper-slide { isolation: isolate; }
/* Карточки без картинки — декор как background-image */
.advantages-carousel .swiper-slide:nth-child(1) .advantage-card {
  background-image: url("/img/wcu-decor-1.svg");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 11rem auto;
}
.advantages-carousel .swiper-slide:nth-child(3) .advantage-card {
  background-image: url("/img/wcu-decor-3.svg");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 14rem auto;
}
/* 2-я карточка — с фотографией; декор поверх через ::after */
.advantages-carousel .swiper-slide:nth-child(2) .advantage-card {
  position: relative;
  overflow: hidden;
}
.advantages-carousel .swiper-slide:nth-child(2) .advantage-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 16rem;
  aspect-ratio: 298 / 316;
  background: url("/img/wcu-decor-2.svg") no-repeat right top / contain;
  pointer-events: none;
  z-index: 2;
}
@media (max-width: 768px) {
  .advantages-carousel .swiper-slide:nth-child(1) .advantage-card,
  .advantages-carousel .swiper-slide:nth-child(3) .advantage-card { background-size: 9rem auto; }
  .advantages-carousel .swiper-slide:nth-child(2) .advantage-card::after { width: 11rem; }
}

/* Декоры на блоке-слогане «Убедим пациента» — внутри зелёной плашки */
.slogan.slogan-primary .slogan-content { position: relative; overflow: hidden; }
.slogan.slogan-primary .slogan-content > * { position: relative; z-index: 1; }
.slogan.slogan-primary .slogan-content::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 18rem;
  aspect-ratio: 314 / 475;
  background: url("/img/slogan-decor-left.svg") no-repeat left bottom / contain;
  pointer-events: none;
  z-index: 0;
  opacity: 0.85;
}
.slogan.slogan-primary .slogan-content::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 24rem;
  aspect-ratio: 458 / 314;
  background: url("/img/slogan-decor-right.svg") no-repeat right bottom / contain;
  pointer-events: none;
  z-index: 0;
  opacity: 0.85;
}
@media (max-width: 768px) {
  .slogan.slogan-primary .slogan-content::before { width: 10rem; }
  .slogan.slogan-primary .slogan-content::after  { width: 13rem; }
}
