@keyframes a {
  0% {
    translate: 0 -100%
  }

  to {
    translate: 0 0
  }
}

@keyframes b {
  0% {
    opacity: 0
  }

  80%,
  to {
    opacity: 1
  }
}

@keyframes c {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(359deg)
  }
}

.container {
  position: relative;
  max-width: 98vw;
  width: 100%;
  margin-inline: auto;
  padding-inline: 12px
}

.container-left,
.container-right {
  padding: 0;
  position: relative;
  width: 100vw;
  max-width: calc(100vw - (100vw - 430px)/2)
}

.container-right {
  margin-left: auto;
  margin-right: 0;
  padding: 0 0 0 12px
}

.container-left {
  margin-right: auto;
  margin-left: 0;
  padding-right: 12px
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent
}

*,
:focus {
  outline: 0
}

html {
  display: flex;
  flex-direction: column
}

.menu-item:not(.menu-item-has-children) .menu-item-arrow,
body:not(.home, .page-bg, .page-about) .header-fixed_fixed:before,
html:not(.loaded) ._dynamic_adapt_,
html:not(.loaded) .sub-menu-wrapper,
html:not(.loaded) [data-da*=header__mobile] {
  display: none
}

html:not(.loaded) .header-fixed,
html:not(.loaded) .swiper {
  opacity: 0
}

html.safari {
  -webkit-text-size-adjust: 100%
}

html.safari input,
html.safari textarea {
  font-size: 16px !important
}

html.safari input {
  -webkit-appearance: none;
  appearance: none
}

@supports not (-webkit-hyphens:none) {
  body {
    padding-right: 0 !important
  }
}

.header__mobile,
body,
html {
  scrollbar-gutter: stable
}

.header__mobile.scrollbar-auto,
body.scrollbar-auto,
html.scrollbar-auto {
  scrollbar-gutter: auto
}

.wrapper,
body,
html {
  min-height: 100%
}

body {
  position: relative;
  margin: 0;
  font-family: Gilroy;
  color: #272020;
  -webkit-tap-highlight-color: transparent;
  line-height: 1.45
}

body.no-scroll {
  overflow-y: hidden
}

.wrapper,
body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  overflow-x: clip
}

.text-block a[data-gallery] img,
.wrapper>* {
  width: 100%
}

.main {
  flex: 1 1 auto
}

sup {
  font-size: .5em
}

svg {
  transition: all .4s
}

a,
button,
figure,
iframe,
input,
li,
textarea {
  background: 0 0;
  text-decoration: none;
  color: inherit
}

a,
figure,
iframe,
li {
  font-family: inherit;
  cursor: pointer
}

button,
input,
textarea {
  border: 0
}

button {
  padding: 0;
  margin: 0;
  cursor: pointer
}

a:active,
button:active,
figure:active,
iframe:active,
input:active,
li:active,
textarea:active {
  outline: 0
}

a,
dd,
dl,
dt,
fieldset,
figure,
iframe,
li {
  padding: 0;
  margin: 0;
  border: 0
}

button,
strong {
  font: inherit
}

ul li {
  list-style: none;
  cursor: default
}

input,
textarea {
  outline: 0;
  font-family: Gilroy;
  -webkit-appearance: none;
  appearance: none
}

input::placeholder,
textarea::placeholder {
  font: inherit;
  color: inherit;
  transition: all .4s
}

textarea {
  resize: none;
  max-height: 100%;
  padding-right: 9px;
  width: calc(100% + 13px);
  margin-right: -9px;
  overflow-y: auto;
  overflow-x: hidden
}

@supports (-moz-appearance:none) {
  textarea {
    scrollbar-color: #bb9f6a #f2f4f3;
    scrollbar-width: thin
  }
}

textarea::-webkit-scrollbar {
  width: 4px
}

textarea::-webkit-scrollbar-track-piece {
  background-color: #f2f4f3;
  border-radius: 5px
}

textarea::-webkit-scrollbar-thumb {
  background-color: #bb9f6a;
  border-radius: 5px
}

@supports (-webkit-hyphens:none) {
  input {
    -webkit-appearance: none;
    appearance: none;
    font-size: 16px !important
  }
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
  -webkit-appearance: none
}

input[type=number] {
  -moz-appearance: textfield
}

input[type=button],
input[type=submit] {
  cursor: pointer
}

button,
input,
textarea {
  transition: all .3s
}

a,
button,
input,
textarea {
  box-shadow: 0 0 0 1px transparent
}

a:focus-visible {
  box-shadow: 0 0 0 1px #a6874c
}

h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
ul {
  margin: 0;
  padding: 0;
  font: inherit
}

img {
  max-width: 100%;
  object-fit: contain;
  border: 0
}

picture {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center
}

picture img {
  width: 100%;
  object-fit: cover
}

[data-digits-counter] {
  display: inline-block;
  white-space: nowrap
}

[data-lines] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden
}

[data-lines].active {
  -webkit-line-clamp: unset;
  overflow: visible
}

.input-wrapper,
.input-wrapper p,
.text-block ol,
.text-block ul {
  display: grid
}

.logo {
  display: flex
}

.button,
.menu li,
.submit,
.tel,
a {
  transition: color .3s, background .3s, opacity .3s
}

.menu li {
  position: relative;
  z-index: 2
}

.link-button {
  display: inline-flex;
  justify-content: center;
  align-items: center
}

.hover-translate {
  transition: translate .4s
}

.hover-translate:focus-visible {
  translate: 0 -3px
}

.hover-icon img,
.hover-icon svg,
.hover-scale,
.hover-scale img {
  transition: all .4s
}

.hover-scale [class*=-img] {
  overflow: hidden
}

.hover-scale:focus-visible img {
  scale: 1.02
}

.hover-icon:focus-visible img,
.hover-icon:focus-visible svg {
  scale: 1.08
}

.underline {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: all .4s
}

.form .checkbox__text a:focus-visible,
.underline:focus-visible {
  text-decoration-color: transparent
}

.hover-underline {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: all .4s;
  text-decoration-color: transparent
}

.hover-underline:focus-visible {
  text-decoration-color: currentColor
}

[hidden] {
  display: none !important
}

.flex,
.text-block a[data-gallery] {
  display: flex
}

.flex-wrap {
  flex-wrap: wrap
}

.justify-center {
  justify-content: center
}

.justify-end {
  justify-content: end
}

.justify-start {
  justify-content: start;
  justify-items: start
}

.justify-between {
  width: 100%;
  justify-content: space-between
}

.align-center {
  align-items: center
}

.align-start {
  align-items: start;
  align-content: start
}

.align-end {
  align-items: end;
  align-content: end
}

.col {
  justify-items: start
}

.col,
.grid {
  display: grid;
  grid-template-columns: 100%
}

.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
  overflow: hidden
}

.map-wrapper {
  position: relative;
  min-height: 400px;
  width: 100%;
  background: 50%/cover no-repeat;
  overflow: hidden
}

.map {
  object-fit: cover
}

.loader,
.map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

.loader {
  z-index: 2;
  background-color: rgba(166, 135, 76, .4);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none
}

.loader.is-active {
  opacity: 1
}

.loader:after {
  content: "";
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  border: 8px solid #fff;
  border-left-color: transparent;
  border-radius: 50%;
  animation: c .7s linear infinite
}

[class*=ymaps-2][class*=-ground-pane] {
  filter: saturate(0) grayscale(90%)
}

.pagination__items {
  display: flex;
  justify-content: center;
  gap: 10px
}

.pagination__items li,
.pagination__items li a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px
}

.pagination__items li {
  font-size: 14px;
  font-weight: 500
}

.pagination__items li.active {
  color: #fff;
  background: #a6874c
}

.pagination__items li.active a {
  color: #fff;
  border-color: #a6874c
}

.pagination__items li.active span {
  align-self: center
}

.pagination__items li a {
  border: 1px solid rgba(39, 32, 32, .4);
  color: rgba(39, 32, 32, .4)
}

.pagination__items li a:focus-visible {
  background: #a6874c;
  color: #fff
}

.pagination__items li span {
  align-self: flex-end
}

.slider {
  position: relative
}

.slider:has(.hover-translate) .swiper {
  padding-block: 10px;
  margin-block: -10px
}

.swiper {
  transition: all .4s
}

.swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 12px;
  width: 100%
}

.swiper-pagination-bullet {
  border-radius: 50%;
  background: color-mix(in srgb, #000 20%, #f2f4f3);
  cursor: pointer;
  transition: all .4s
}

.swiper-pagination-bullet-active {
  background: #a6874c
}

.swiper-button-lock,
.swiper-pagination-bullet-active:last-child:first-child,
.swiper-pagination-lock {
  display: none
}

.swiper-wrapper {
  display: grid;
  grid-auto-flow: column;
  justify-content: start
}

.swiper-slide {
  display: grid;
  grid-template-columns: 100%
}

.swiper-scrollbar {
  width: 100%;
  height: 4px;
  margin-top: 12px;
  background: #f2f4f3;
  cursor: pointer
}

.swiper-scrollbar-drag {
  background: #a6874c
}

.crumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 8px
}

.crumbs-wrapper {
  margin-top: 8px
}

.crumbs li:not(:last-child) {
  color: #a6874c
}

.crumbs li:last-child {
  pointer-events: none
}

.crumbs li:last-child a {
  cursor: default
}

.crumbs li:not(:last-child) {
  position: relative
}

.crumbs li:not(:last-child):before {
  content: "/";
  position: absolute;
  top: 50%;
  translate: 50% -50%;
  color: #272020
}

.menu-link {
  position: relative;
  order: 10;
  width: 24px;
  height: 24px
}

.menu-link.active .menu-lines {
  background: 0 0
}

.menu-link.active .menu-lines:after {
  top: 0;
  rotate: -135deg
}

.menu-link.active .menu-lines:before {
  top: 0;
  rotate: 135deg
}

.menu-lines,
.menu-lines:after,
.menu-lines:before {
  position: absolute;
  width: 24px;
  height: 2px;
  background-color: #fff;
  transition: .4s;
  pointer-events: none
}

.menu-lines {
  top: 50%;
  right: 0;
  translate: 0 -50%
}

.menu-lines:after,
.menu-lines:before {
  content: "";
  top: -8px;
  right: 0
}

.menu-lines:after {
  top: 8px
}

summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  transition: all .4s
}

summary::-webkit-details-marker {
  display: none
}

.footer__menu ul>li>a:focus-visible,
.footer__menu>li>a:focus-visible,
.header__menu>li>a:focus-visible,
summary:focus-visible {
  color: #a6874c
}

summary:after {
  content: "";
  flex-grow: 0;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='26' height='27' viewBox='0 0 26 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.785 15.221v10.9h-3.4v-10.9H.435v-3.4h10.95V.921h3.4v10.9h10.95v3.4h-10.95z' fill='%2300562E'/%3E%3C/svg%3E") center/contain;
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='26' height='27' viewBox='0 0 26 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.785 15.221v10.9h-3.4v-10.9H.435v-3.4h10.95V.921h3.4v10.9h10.95v3.4h-10.95z' fill='%2300562E'/%3E%3C/svg%3E") center/contain;
  background: #00562e;
  transition: all .4s
}

summary.active:after {
  rotate: -45deg
}

summary[disabled]:after {
  display: none
}

.text-block {
  text-wrap: pretty
}

.text-block p:last-child,
.text-block>:last-child {
  margin-bottom: 0
}

.about-main__text p strong,
.program-about__blockquote strong,
.text-block b,
.text-block h1,
.text-block h2,
.text-block strong {
  font-weight: 700
}

.text-block h2 {
  font-family: Forum;
  line-height: 1.2;
  text-transform: uppercase
}

.text-block h3 {
  font-weight: 500;
  line-height: 1.25
}

.text-block h4,
.text-block h5 {
  font-weight: 500;
  line-height: 1.35
}

.text-block ol>*,
.text-block ul>*,
.text-block ul>li strong {
  display: contents
}

.text-block ol ol,
.text-block ol ul,
.text-block ul ol,
.text-block ul ul {
  padding-top: 10px
}

.text-block ul>li {
  position: relative;
  padding-left: 16px;
  display: flex;
  align-items: center
}

.text-block ul>li:before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  flex-grow: 0;
  flex-shrink: 0;
  aspect-ratio: 1;
  align-self: flex-start;
  mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='17' height='17' rx='4.5' stroke='%230C8A45'/%3E%3Cpath d='M12.428 12.927a.5.5 0 0 0 .5-.5v-4.5a.5.5 0 1 0-1 0v4h-4a.5.5 0 0 0 0 1h4.5zm-7.208-7l6.854 6.854.707-.707-6.854-6.855-.707.707z' fill='%230C8A45'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='.5' y='.5' width='17' height='17' rx='4.5' stroke='%230C8A45'/%3E%3Cpath d='M12.428 12.927a.5.5 0 0 0 .5-.5v-4.5a.5.5 0 1 0-1 0v4h-4a.5.5 0 0 0 0 1h4.5zm-7.208-7l6.854 6.854.707-.707-6.854-6.855-.707.707z' fill='%230C8A45'/%3E%3C/svg%3E") center/contain no-repeat;
  background: #0c8a45
}

.text-block ol {
  list-style: none;
  counter-reset: a
}

.text-block ol>li {
  display: flex;
  align-items: center;
  gap: .8333333333em
}

.text-block ol>li:before {
  counter-increment: a;
  content: "0" counter(a);
  padding: .3333333333em .5em;
  min-width: 2em;
  font-family: inherit;
  font-weight: 600;
  line-height: 1;
  color: #0c8a45;
  text-align: center;
  border-radius: 5px;
  background: #f0f0f0;
  box-sizing: border-box
}

.text-block ol>li:nth-child(n+10):before {
  content: counter(a)
}

.text-block ol ol {
  padding-left: 20px
}

.text-block h2+ol,
.text-block h2+ul,
.text-block h3+ol,
.text-block h3+ul,
.text-block h4+ol,
.text-block h4+ul,
.text-block h5+ol,
.text-block h5+ul,
.text-block h6+ol,
.text-block h6+ul {
  padding-top: 0
}

.text-block blockquote {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-inline: 0;
  margin-top: 0;
  background: #f2f4f3;
  font-style: italic;
  line-height: 1.35;
  color: #121314
}

.text-block blockquote:before {
  content: "";
  mask: url(../img/icons/quotes-left.svg) center/contain no-repeat;
  -webkit-mask: url(../img/icons/quotes-left.svg) center/contain no-repeat;
  background: #a6874c;
  align-self: start
}

.text-block mark {
  background: #b69860
}

.text-block a {
  text-decoration: underline
}

.text-block .table {
  width: 100%;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  padding-bottom: 9px;
  margin-bottom: -9px;
  overflow-x: auto;
  overflow-y: hidden
}

@supports (-moz-appearance:none) {
  .text-block .table {
    scrollbar-color: #bb9f6a #f2f4f3;
    scrollbar-width: thin
  }
}

.text-block .table::-webkit-scrollbar {
  height: 4px
}

.text-block .table::-webkit-scrollbar-track-piece {
  background: #f2f4f3;
  border-radius: 5px
}

.text-block .table::-webkit-scrollbar-thumb {
  background: #bb9f6a;
  border-radius: 5px
}

.text-block table {
  width: 100%;
  border-collapse: collapse
}

.text-block table th {
  font-weight: 700;
  text-align: left;
  padding: 16px
}

.text-block table td {
  padding: 16px
}

.text-block table tr>:first-child {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px
}

.text-block table tr>:last-child {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px
}

.text-block table thead {
  background: #000;
  color: #fff
}

.text-block table tbody tr:nth-child(2n) {
  background: #ccc
}

.text-block table tbody tr:nth-child(odd) {
  background: #fafafa
}

.text-block table:not(:has(thead)) tbody tr {
  position: relative
}

.text-block table:not(:has(thead)) tbody tr>th:first-child {
  position: sticky;
  left: 0;
  top: 0;
  background: inherit
}

.sub-menu-wrapper .sub-menu {
  position: relative;
  z-index: 2;
  background: #fff;
  color: #272020
}

.sub-menu-wrapper li,
li.menu-item-has-children a {
  display: flex;
  align-items: center
}

.sub-menu-wrapper a {
  padding: 8px 16px;
  transition: color .3s, background .3s !important
}

li.menu-item-has-children {
  position: relative
}

li.menu-item-has-children_not-relative {
  position: static !important
}

.menu-item-arrow.active,
li.menu-item-has-children.active>a .menu-item-arrow {
  rotate: -180deg
}

li.menu-item-has-children.active>.sub-menu-wrapper {
  margin-top: 0;
  z-index: 1;
  pointer-events: auto;
  opacity: 1
}

li.menu-item-has-children.active li:hover>a .menu-item-arrow {
  background: #fff
}

li.menu-item-has-children li.menu-item-has-children .sub-menu-wrapper {
  top: 0
}

li.menu-item-has-children a {
  position: relative;
  z-index: 2;
  justify-content: space-between;
  gap: 8px;
  width: 100%
}

li.menu-item-has-children .sub-menu>li:first-child>a {
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important
}

li.menu-item-has-children .sub-menu>li:last-child>a {
  border-bottom-left-radius: 12px !important;
  border-bottom-right-radius: 12px !important
}

.menu-item-arrow {
  display: inline-block;
  flex-basis: 8px;
  width: 8px;
  height: 8px;
  flex-grow: 0;
  flex-shrink: 0;
  transition: all .4s;
  mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='9' height='6' viewBox='0 0 9 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.755.718l3.75 4.25 3.75-4.25' stroke='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='9' height='6' viewBox='0 0 9 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.755.718l3.75 4.25 3.75-4.25' stroke='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;
  background: #fff
}

.checkbox,
.checkbox__input {
  position: relative;
  display: flex;
  cursor: pointer
}

.checkbox {
  align-items: center;
  -webkit-user-select: none;
  user-select: none
}

.checkbox.error {
  color: #f03
}

.checkbox.error .checkbox__input:before {
  border-color: #f03
}

.checkbox__input {
  margin: 0;
  flex: 0 0 20px;
  width: 20px;
  height: 20px
}

.checkbox__input:before {
  content: "";
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border: 1px solid #c9d1cd;
  border-radius: 0;
  transition: background-color .3s, border-color .3s;
  box-sizing: border-box
}

.checkbox__input:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 100%;
  background: url(../img/icons/check.svg) 50%/contain no-repeat;
  opacity: 0;
  transition: all .2s
}

.checkbox__input:checked:before {
  border-color: #a6874c
}

.checkbox__input:checked:after {
  opacity: 1
}

.checkbox__input:disabled~span {
  opacity: .4;
  cursor: not-allowed
}

.checkbox__input:focus-visible {
  outline: 0
}

.checkbox__input:focus-visible:before {
  border-color: #ccc
}

.checkbox-text {
  position: relative
}

.checkbox-text .checkbox__text {
  transition: all .4s
}

.checkbox-text .checkbox__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
  overflow: hidden
}

.checkbox-text .checkbox__input:before {
  display: none
}

.checkbox-text .checkbox__input:checked~.checkbox__text {
  color: #a6874c
}

body:not(.home, .page-about) {
  padding-top: 156px
}

.page-bg .header,
.page-bg .main,
body.home .header__top,
body.page-about .header__top {
  color: #fff
}

body:not(.home, .page-bg, .page-about) .header-fixed {
  position: fixed;
  background: #fff
}

body:not(.home, .page-bg, .page-about) .header-fixed_fixed {
  animation: none
}

body:not(.home, .page-bg, .page-about) .header-fixed_fixed .header__call,
body:not(.home, .page-bg, .page-about) .header-fixed_fixed .header__top,
body:not(.home, .page-bg, .page-about) .header__call,
body:not(.home, .page-bg, .page-about) .header__tel {
  color: #272020
}

body:not(.home, .page-bg, .page-about) .header-fixed_fixed .header__call .social svg,
body:not(.home, .page-bg, .page-about) .header__call svg,
body:not(.home, .page-bg, .page-about) .header__tel svg {
  fill: #272020
}

body:not(.home, .page-bg, .page-about) .header__call img,
body:not(.home, .page-bg, .page-about) .header__tel img {
  filter: brightness(0)
}

body:not(.home, .page-bg, .page-about) .menu-item-arrow {
  background: #272020
}

body:not(.home, .page-bg, .page-about) .menu-link .menu-lines:after,
body:not(.home, .page-bg, .page-about) .menu-link .menu-lines:before,
body:not(.home, .page-bg, .page-about) .menu-link .menu-lines:not(.menu-link.active .menu-lines) {
  background: #a6874c
}

.page-bg {
  background: url(../img/contact/bg.webp) top/cover no-repeat
}

.page-about .crumbs li:not(:last-child),
.page-about .crumbs li:not(:last-child):before,
.page-bg .crumbs li:not(:last-child),
.page-bg .crumbs li:not(:last-child):before {
  color: #fed888
}

.page-about .crumbs li:nth-last-child(2):before,
.page-bg .crumbs li:nth-last-child(2):before {
  color: #fff
}

.section-gradient {
  background: linear-gradient(270deg, #00622e, #00361b);
  color: #fff
}

.section-gray {
  background: #f2f4f3
}

.section__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px
}

.section__top-center {
  justify-content: center
}

.section-offset {
  width: min(1812px, 100% - 24px);
  margin-inline: auto;
  border-radius: 10px
}

.title,
.title-2 {
  line-height: 1.1;
  font-family: Forum;
  text-transform: uppercase
}

.title-2 {
  line-height: 1.2
}

.title-3 {
  font-weight: 500;
  line-height: 1.25
}

.title-4,
.title-5 {
  font-weight: 600;
  line-height: 1.25
}

.title-5 {
  line-height: 1.3
}

.title-center {
  text-align: center
}

.active-text {
  color: #00562e
}

.button,
.sb {
  font-weight: 600
}

.button {
  position: relative;
  z-index: 1;
  padding: .75em 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  background: #a6874c;
  border-radius: 4px;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  overflow: hidden
}

.button svg {
  fill: currentColor
}

.button:focus-visible {
  background: color-mix(in srgb, #fff 20%, #a6874c)
}

.button-gradient {
  box-shadow: 0 3px 0 0 #b98b32;
  border-radius: 4px;
  color: rgba(49, 42, 42, .8)
}

.button-gradient:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(132deg, #ffe095, #f0dba8 48.5%, #e9b855);
  transition: all .4s;
  pointer-events: none
}

.button-gradient:not(.active):focus-visible:before {
  opacity: .7
}

.button_border {
  background: 0 0;
  border: 1px solid #fcd886;
  color: #272020
}

.button_border:focus-visible {
  background: #fcd886
}

.button_border-dark {
  background: 0 0;
  border: 1px solid #a6874c;
  color: #272020
}

.button_border-dark:focus-visible {
  background: #a6874c
}

.button_white {
  color: #fff
}

.button_white:focus-visible {
  color: #272020
}

.button_small {
  padding: .5em 1.5em;
  font-weight: 400
}

.tel {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600
}

.tel,
.tel svg {
  fill: #00562e
}

.tel:focus-visible {
  color: #a6874c !important
}

.call .social,
.call__row {
  gap: 16px;
  display: flex;
  align-items: center
}

.call .social {
  gap: 12px
}

.call .social svg {
  width: 16px;
  height: 16px;
  fill: #00562e
}

.call .social svg:focus-visible {
  fill: #a6874c !important
}

.logo {
  display: grid;
  line-height: 1;
  text-transform: uppercase;
  font-family: Forum
}

.logo__title {
  font-weight: 400
}

.logo__text {
  color: #fed888
}

.lg-video-item {
  position: relative;
  display: flex
}

.lg-video-item:after,
.lg-video-item:before {
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  transition: all .4s
}

.lg-video-item:before {
  content: "";
  position: absolute;
  width: min(16%, 95px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #a6874c
}

.lg-video-item:after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  mask: url(../img/icons/play.svg) center/contain no-repeat;
  -webkit-mask: url(../img/icons/play.svg) center/contain no-repeat;
  background: #fff
}

.lg-video-item:focus-visible:before {
  background: #fff
}

.lg-video-item:focus-visible:after {
  background: #a6874c
}

.text-wrapper {
  display: flex
}

.text__left {
  max-width: 675px
}

.text__content {
  max-width: 567px
}

.text__img {
  flex: 1 1 100%;
  max-height: 700px
}

.input,
.textarea {
  width: 100%;
  background: rgba(191, 199, 211, .3);
  border-radius: 0 !important;
  color: #fff
}

.input::placeholder,
.textarea::placeholder {
  color: rgba(255, 255, 255, .6)
}

.textarea {
  height: 80px;
  padding-block: 16px
}

.form .checkbox__text {
  font-weight: 500;
  font-size: 12px;
  line-height: 1.16667
}

.form .checkbox__text a {
  color: #a6874c;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: all .4s
}

.popup {
  position: fixed;
  inset: 0;
  z-index: 11;
  display: none;
  overflow: hidden;
  background: rgba(0, 0, 0, .7);
  width: 100%;
  height: 100%
}

.popup__dialog {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer
}

.popup__content {
  position: relative;
  width: max-content;
  max-width: 96%;
  max-height: 90vh;
  background: #fff;
  overflow-y: auto;
  transition: all .4s;
  cursor: default;
  border-radius: 0
}

.popup__title {
  line-height: 1;
  text-transform: uppercase
}

.popup__form form {
  display: grid;
  justify-content: center;
  grid-template-columns: 100%
}

.popup__form .input,
.popup__form .textarea {
  color: #272020
}

.popup__form .input::placeholder,
.popup__form .textarea::placeholder {
  color: #272020
}

.popup__close {
  position: absolute;
  z-index: 4;
  display: flex;
  cursor: pointer;
  transition: all .4s
}

.popup__close svg {
  width: 20px;
  height: 20px;
  fill: #f2f4f3
}

.popup-callback .popup__content {
  width: 546px
}

.popup-thank .popup__content {
  display: grid;
  min-width: 280px;
  justify-items: center;
  background: #fff;
  color: #272020
}

.popup-thank .popup__subtitle,
.popup-thank .popup__title {
  margin: 0
}

.header-fixed,
.header-fixed:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%
}

.header-fixed {
  z-index: 10;
  transition: opacity .4s, padding-block .4s
}

.header-fixed:before {
  content: "";
  height: 100%;
  z-index: -1;
  background: linear-gradient(270deg, #00622e, #00361b);
  opacity: 0;
  pointer-events: none
}

.header-fixed_fixed {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  padding-block: 12px !important;
  min-height: auto;
  color: #fff;
  animation: a .5s
}

.header-fixed_fixed .header__call {
  color: #fff
}

.header-fixed_fixed .header__call .social svg {
  fill: #fff
}

.header-fixed_fixed .header__tel img {
  filter: brightness(0) invert(1)
}

.header-fixed_fixed:before {
  opacity: 1
}

.header__top {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center
}

.header__top-wrapper {
  display: flex;
  align-items: center
}

.header__right {
  display: grid;
  grid-template-columns: 1fr repeat(2, auto);
  align-items: center
}

.header__menu {
  display: flex;
  align-items: center;
  text-transform: uppercase
}

.header__menu>li {
  transition: none
}

.header__call {
  color: #00562e
}

.header__time {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-left: 30px;
  font-size: 12px
}

.header__time:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #00562e;
  animation: b 1s infinite alternate
}

.header-main {
  position: relative;
  z-index: 1;
  padding-top: 156px;
  color: #fff;
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat
}

.header-main-wrapper {
  padding-top: 20px
}

.header-main__left {
  display: grid;
  justify-items: start
}

.header-main__title {
  line-height: 1.1;
  font-family: Forum;
  text-transform: uppercase
}

.header-main__subtitle,
.header-main__text {
  font-weight: 300;
  line-height: 1.35
}

.header-main__subtitle {
  margin-bottom: 12px
}

.header-main__text {
  font-style: italic
}

.header-main__img {
  position: absolute;
  left: 56%;
  bottom: 0;
  translate: -50% 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  max-height: 88%
}

.about-main__img img,
.header-main__img img {
  object-fit: contain;
  object-position: bottom
}

.about-main .crumbs>li:before,
.footer,
.footer__logo .logo__title {
  color: #fff
}

.footer__top {
  display: grid;
  grid-template-columns: repeat(2, auto) 1fr repeat(2, auto);
  align-items: start
}

.footer__top-wrapper {
  background: #001409
}

.footer__menu {
  display: grid;
  max-width: 240px
}

.footer__menu>li>a {
  font-weight: 500;
  text-transform: uppercase
}

.footer__menu ul {
  display: grid;
  gap: 7px;
  margin-top: 16px;
  font-size: 14px
}

.footer__menu ul>li>a {
  color: rgba(255, 255, 255, .6)
}

.footer__contact {
  display: grid;
  gap: 20px
}

.footer__contact .social,
.footer__email,
.footer__tel {
  display: flex;
  align-items: center;
  gap: 14px
}

.footer__email,
.footer__tel {
  gap: 8px
}

.footer__info {
  display: grid
}

.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  font-weight: 500;
  font-size: 12px;
  line-height: 2;
  color: #cda561
}

.footer__bottom a {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: all .4s
}

.footer__bottom a:focus-visible {
  text-decoration-color: transparent
}

.footer__bottom-wrapper {
  padding-block: 8px;
  background: #000
}

.about {
  background: url(../img/about/bg.webp) 50%/cover no-repeat;
  color: #fff;
  overflow: hidden
}

.about-wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start
}

.about__img {
  align-self: end;
  margin-left: calc(10px + -83*((100vw - 320px)/1600))
}

.about__subtitle {
  font-style: italic;
  font-weight: 300;
  line-height: 1.25
}

.about__buttons {
  display: flex;
  row-gap: 12px
}

.about-features .section__top {
  margin-bottom: 20px
}

.about-features .features__item {
  display: grid;
  gap: 12px;
  align-content: start
}

.about-features .features__item-title {
  text-transform: none
}

.about-main {
  display: grid;
  align-content: start;
  padding-top: 156px;
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff
}

.about-main .container {
  display: grid;
  align-content: start;
  height: 100%
}

.about-main-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  justify-items: start
}

.about-main__img {
  position: absolute;
  left: -144px;
  bottom: 0;
  width: 100%;
  z-index: 0;
  height: 100%
}

.about-main__right {
  margin-left: auto;
  flex: 0 0 60%
}

.about-main__subtitle {
  margin-bottom: 4px
}

.about-main__title {
  margin-bottom: 14px;
  line-height: 1.2;
  text-transform: uppercase;
  font-family: Forum
}

.about-main__quote {
  font-style: italic;
  font-weight: 300;
  line-height: 1.25
}

.about-main__text {
  max-width: 650px
}

.book-wrapper {
  display: grid;
  gap: var(--gap);
  --gap: min(12px + 12px, 12px + 12 * ((100vw - 320px)/1600));
  --min-columns-width: 300px;
  --max-columns: 4;
  grid-template-columns: repeat(auto-fill, minmax(clamp(var(--min-columns-width), 30vw, 100%/var(--max-columns) - var(--gap)/var(--max-columns)*(var(--max-columns) - 1)), 1fr))
}

.book__item {
  display: grid;
  grid-template: auto 1fr auto/100%;
  align-content: start;
  box-shadow: 0 4px 250px 0 rgba(0, 0, 0, .1);
  background: #fff;
  border-radius: 10px
}

.book__item-img {
  width: 100%;
  border-radius: 10px;
  aspect-ratio: 261/355;
  object-fit: cover
}

.book__item-title {
  margin-bottom: 12px
}

.book__item-author {
  font-weight: 500;
  line-height: 1.25;
  color: rgba(39, 32, 32, .6)
}

.brands__item {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .4s
}

.brands__item:focus-visible {
  scale: 1.03
}

.brands__item img {
  max-height: 100%
}

.contact-wrapper {
  display: grid;
  grid-template-columns: minmax(360px, 29.9305555556%) 1fr
}

.contact__left {
  display: grid;
  align-content: start
}

.contact__item {
  display: flex;
  align-items: center;
  gap: 14px
}

.contact__form .input-wrapper {
  display: grid
}

.contact__tel {
  font-weight: 600
}

.contact__social {
  flex-wrap: wrap;
  line-height: 1
}

.contact__social .social {
  display: flex;
  align-items: center
}

.contact__social .social img {
  transition: all .4s
}

.contact__social .social img:focus-visible {
  scale: 1.1
}

.faq-home {
  padding-bottom: 188px
}

.faq-wrapper {
  display: grid;
  margin-bottom: 40px
}

.faq__item {
  box-shadow: 0 4px 250px 0 rgba(0, 0, 0, .1019607843);
  border-radius: 10px
}

.faq__item,
.faq__item-title {
  background: #fff
}

.faq__item-title:focus-visible {
  color: #a6874c
}

.faq__item-title.active {
  padding-bottom: 20px
}

.faq-callback {
  position: relative;
  z-index: 1;
  min-height: 376px;
  display: grid;
  justify-items: center;
  align-content: center;
  border-radius: 10px;
  overflow: hidden;
  color: #fff;
  text-align: center
}

.faq-callback-home {
  margin-top: -188px
}

.faq-callback__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  object-fit: cover;
  pointer-events: none
}

.faq-callback__subtitle {
  font-weight: 300;
  line-height: 1.25
}

.experience {
  position: relative;
  z-index: 1;
  max-width: 1812px;
  margin-inline: auto;
  background: url(../img/experience/bg.webp) 50%/cover no-repeat;
  border-radius: 10px;
  color: #fff
}

.experience-wrapper {
  display: flex;
  justify-content: space-between
}

.experience__left {
  max-width: 860px
}

.experience__text ul>li {
  padding-left: 4px
}

.experience__text ul>li:before {
  background: #fed888
}

.experience__img {
  position: absolute;
  left: 53%;
  bottom: 0;
  translate: -50% 0;
  z-index: -1
}

.experience__right {
  display: grid;
  max-width: 385px
}

.experience__item {
  display: flex;
  align-items: center
}

.experience__item-number {
  line-height: 1.25;
  color: #fed888;
  white-space: nowrap
}

.experience__item-text {
  max-width: 250px;
  font-weight: 300
}

.features-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr)
}

.features__item {
  display: flex;
  align-items: center;
  background: #f2f4f3;
  border-radius: 10px
}

.features__item:focus-visible .features__item-title {
  scale: 1.01
}

.features__item-title {
  display: flex;
  color: #a6874c;
  letter-spacing: -.03em;
  text-transform: uppercase;
  line-height: 1;
  transition: all .4s
}

.features__item-text {
  line-height: 1.25
}

.features__item-grid {
  display: grid
}

.investment-wrapper {
  box-shadow: 0 4px 250px 0 rgba(0, 0, 0, .1);
  background: url(../img/investment/bg.webp) 50%/cover no-repeat;
  border-radius: 10px
}

.investment__left {
  display: grid;
  align-content: start;
  justify-items: start
}

.investment__text {
  font-weight: 300
}

.investment__text ul>li,
.program-about__col ul>li {
  padding-left: 0
}

.investment__text ul>li:before {
  margin-top: 4px;
  mask-image: url(../img/icons/check-2.svg);
  -webkit-mask-image: url(../img/icons/check-2.svg)
}

.investment__buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap
}

.program__content {
  border-radius: 10px;
  box-shadow: 0 4px 250px 0 rgba(0, 0, 0, .1);
  background: #fff
}

.program-wrapper {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto auto
}

.program__item {
  position: relative;
  border-radius: 10px;
  cursor: pointer;
  transition: all .4s
}

.program__item:focus-visible {
  background: #00562e;
  color: #fff
}

.program__item:focus-visible .program__item-bg {
  filter: brightness(0) invert(1)
}

.program__item-bg {
  position: absolute;
  left: 0;
  bottom: 16px;
  width: 100%;
  height: calc(100% - 16px);
  object-position: bottom right;
  transition: all .4s
}

.program-about:nth-child(2n) .program-about__content {
  flex-direction: row-reverse
}

.program-about__content {
  display: flex;
  align-items: flex-start
}

.program-about__col {
  display: grid
}

.program-about__col ul>li:before {
  flex-basis: 22px;
  width: 22px;
  margin-top: 4px
}

.program-about__img {
  flex-grow: 0;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  max-height: 403px
}

.program-about__blockquote {
  display: grid;
  grid-template-columns: minmax(40px, 5.1%) 1fr;
  background: #f2f4f3;
  line-height: 1.45;
  font-style: italic
}

.program-features-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr)
}

.program-features__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: start;
  border-radius: 10px;
  background: #f2f4f3;
  cursor: pointer
}

.program-features__item-right {
  display: grid;
  gap: 12px;
  align-content: start
}

.program-features__item-title {
  font-weight: 500;
  line-height: 1.25
}

.program-main {
  color: #272020
}

.program-main .crumbs {
  margin-bottom: 12px
}

.program-main .crumbs li:not(:last-child),
.program-main .crumbs li:not(:last-child):before {
  color: #0c8a45
}

.program-main .crumbs li:not(:last-child):focus-visible:before {
  color: #a6874c
}

.program-main .crumbs li:nth-last-child(2):before {
  color: #272020
}

.program-main .header-main-wrapper {
  padding-top: 38px
}

.program-main .header-main__left {
  display: grid;
  max-width: 850px
}

.program-main .header-main__title {
  margin-bottom: 0
}

.program-main .header-main__info {
  display: grid
}

.program-main .header-main__info-item {
  display: flex;
  align-items: center;
  gap: 12px
}

.program-main .header-main__info-item>span span:first-child {
  color: #0c8a45;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase
}

.program-main .header-main__info-item>span span:last-child {
  font-weight: 400;
  line-height: 1.2
}

.program-main .header-main__bottom {
  display: flex;
  align-items: center;
  flex-wrap: wrap
}

.program-main .header-main__price {
  font-weight: 500;
  line-height: 1;
  color: #0c8a45
}

.program-main .services__item-labels {
  position: static
}

.program-main .services__item-label {
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase
}

.program-main .services__item-label-green {
  color: #0c8a45
}

.services__header {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  max-width: 100%;
  padding-bottom: 9px;
  margin-bottom: -9px;
  overflow-x: auto;
  overflow-y: hidden
}

@supports (-moz-appearance:none) {
  .services__header {
    scrollbar-color: #bb9f6a #f2f4f3;
    scrollbar-width: thin
  }
}

.services__header::-webkit-scrollbar {
  height: 4px
}

.services__header::-webkit-scrollbar-track-piece {
  background: #f2f4f3;
  border-radius: 5px
}

.services__header::-webkit-scrollbar-thumb {
  background: #bb9f6a;
  border-radius: 5px
}

.services__header .button {
  justify-content: center;
  border-radius: 5px 5px 0 0;
  box-shadow: none
}

.services__header .button:not(.active):before {
  opacity: 0
}

.services__header .button:not(.active):after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 104%;
  z-index: -1;
  background: #d3ded9;
  transition: all .4s
}

.services__header .button:not(.active):focus-visible:after {
  background: color-mix(in srgb, #000 10%, #d3ded9)
}

.services-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-radius: 10px;
  box-shadow: 0 4px 250px 0 rgba(0, 0, 0, .1)
}

.services__item {
  display: grid;
  grid-template-columns: minmax(auto, 53.0120481928%) minmax(300px, 1fr);
  background: #f2f4f3;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer
}

.other__item:focus-visible .other__item-title,
.services__item:focus-visible .services__item-title,
.video__item:focus-visible .video__item-title {
  color: #a6874c
}

.services__item-left {
  position: relative;
  display: flex
}

.services__item-img {
  width: 100%;
  display: flex
}

.services__item-img img {
  width: 100%;
  object-fit: cover
}

.services__item-labels {
  position: absolute;
  z-index: 2;
  max-width: calc(100% - 32px);
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap
}

.services__item-label {
  padding: 4px 6px;
  border-radius: 5px;
  background: #fff;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1;
  color: #a6874c
}

.services__item-label-green {
  color: #0c8a45
}

.services__item-right {
  display: grid;
  align-content: start
}

.services__item-title {
  font-weight: 500;
  line-height: 1.25;
  transition: all .4s
}

.services__item-date,
.services__item-location {
  line-height: 1.2
}

.services__item-date img,
.services__item-location img {
  margin-right: 4px;
  vertical-align: middle
}

.services__item-date span span,
.services__item-location span span {
  font-weight: 500;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #0c8a45
}

.services__item-price {
  font-weight: 500;
  color: #0c8a45
}

.services-main {
  position: relative
}

.services-main-wrapper {
  display: grid;
  justify-items: start
}

.services-main__title {
  line-height: 1.1;
  text-transform: uppercase;
  font-family: Forum
}

.services-main__subtitle {
  line-height: 1.45;
  color: #fff
}

.services-main__img {
  position: absolute;
  right: 50%;
  translate: 50% 0;
  bottom: 42px;
  max-height: 72%;
  pointer-events: none
}

.callback-wrapper {
  display: grid;
  grid-template-columns: minmax(410px, 1fr) 51.875%;
  background: url(../img/callback/bg.webp) 50%/cover no-repeat;
  color: #fff;
  border-radius: 10px;
  overflow: hidden
}

.callback__left {
  display: grid;
  align-content: start;
  padding-right: 20px
}

.callback__subtitle {
  font-weight: 500;
  line-height: 1.25
}

.callback__img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.callback__form {
  max-width: 431px
}

.callback-2 .callback-wrapper {
  grid-template-columns: minmax(410px, 1fr) 47.9166666667%
}

.callback-2 .callback__left {
  padding-right: 20px
}

.news-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(20%, 230px), 1fr))
}

.news__item {
  display: grid;
  grid-template-rows: auto 1fr;
  box-shadow: 0 4px 250px 0 rgba(0, 0, 0, .1);
  background: #fff;
  border-radius: 10px;
  overflow: hidden
}

.news__item:focus-visible .news__item-img img {
  scale: 1.02
}

.news__item-img {
  display: flex;
  aspect-ratio: 342/214;
  overflow: hidden
}

.news__item-img img {
  width: 100%;
  object-fit: cover;
  transition: .4s ease-in
}

.news__item-content {
  display: flex;
  flex-direction: column;
  padding-block: 16px
}

.news__item-date {
  color: #a3a8ba
}

.news__item-link {
  margin-top: auto
}

.news-grid,
.step__text li>* {
  display: contents
}

.single-news-wrapper {
  display: grid;
  grid-template-columns: 1fr minmax(300px, 23.6111111111%)
}

.single-news__title {
  line-height: 1;
  font-family: Forum
}

.single-news__date {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #bebcbc;
  font-weight: 400
}

.single-news__date svg {
  width: 19px;
  height: 19px;
  fill: #a6874c
}

.single-news__text {
  line-height: 1.35
}

.single-news__text h2,
.single-news__text h3 {
  margin-top: 12px;
  font-weight: 700;
  font-family: Gilroy;
  text-transform: none
}

.single-news__pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px
}

.single-news__pagination-button {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
  font-weight: 500;
  line-height: 1.35;
  text-transform: none;
  border-radius: 0
}

.single-news__pagination-button svg {
  flex-grow: 0;
  flex-shrink: 0
}

.single-news__pagination-button:nth-child(2) {
  text-align: right
}

.single-news__pagination-button:nth-child(2):focus-visible svg {
  fill: #fff
}

.single-news__right {
  display: grid;
  align-content: start;
  gap: 20px
}

.other {
  display: grid;
  width: 100%
}

.other__title {
  color: #a6874c
}

.other__items {
  display: grid
}

.other__item {
  display: grid;
  grid-template-columns: 37.6470588235% 1fr;
  align-items: start;
  gap: 12px
}

.other__item:focus-visible .other__item-img img {
  scale: 1.03
}

.other__item-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px
}

.other__item-title {
  font-weight: 600;
  line-height: 1.33333;
  transition: all .4s
}

.other__item-date {
  color: #44433f
}

.other__item-text {
  line-height: 1.35;
  color: #121314
}

.other__item-img {
  display: flex;
  overflow: hidden;
  width: 100%
}

.other__item-img img {
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: all .4s
}

.video-wrapper {
  display: grid;
  gap: var(--gap);
  --gap: min(16px + 8px, 16px + 8 * ((100vw - 320px)/1600));
  --min-columns-width: 280px;
  --max-columns: 3;
  grid-template-columns: repeat(auto-fill, minmax(clamp(var(--min-columns-width), 30vw, 100%/var(--max-columns) - var(--gap)/var(--max-columns)*(var(--max-columns) - 1)), 1fr))
}

.video__item {
  display: grid;
  grid-template-columns: 100%;
  border-radius: 10px;
  box-shadow: 0 10px 100px 0 rgba(28, 33, 42, .07);
  overflow: hidden
}

.video__item,
.video__item:focus-visible .lg-video-item:before {
  background: #fff
}

.video__item:focus-visible .lg-video-item:after {
  background: #a6874c
}

.video__item-img {
  width: 100%;
  aspect-ratio: 464/245;
  object-fit: cover
}

.video__item-content {
  padding-top: 20px;
  color: #272020
}

.video__item-title {
  transition: all .4s
}

.video-page .video__item-title {
  font-weight: 600;
  line-height: 1.25
}

.step-wrapper {
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  box-shadow: 0 4px 250px 0 rgba(0, 0, 0, .1);
  border-radius: 10px
}

.step__text li {
  cursor: default
}

@media (min-width:576px) {

  .container-left,
  .container-right {
    width: calc(550px + (100vw - 550px)/2);
    max-width: none
  }

  .container-right {
    padding-left: 0
  }

  .container-left {
    padding-right: 0;
    padding-left: 20px
  }

  .show-xs {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-xs.swiper-navigation,
  .show-xs.swiper-pagination {
    display: none
  }

  .program-main .header-main__info-item>span span:first-child {
    margin-right: 12px
  }
}

@media (min-width:768px) {
  .container {
    width: 720px;
    max-width: none;
    padding: 0
  }

  .container-left,
  .container-right {
    width: calc(720px + (100vw - 720px)/2)
  }

  .show-sm {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-sm.swiper-navigation,
  .show-sm.swiper-pagination {
    display: none
  }
}

@media (min-width:992px) {
  .container {
    width: 940px
  }

  .container-left,
  .container-right {
    width: calc(940px + (100vw - 940px)/2)
  }

  .show-md {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-md.swiper-navigation,
  .show-md.swiper-pagination {
    display: none
  }

  .text .container {
    display: contents
  }

  .about-main__right {
    padding-top: 40px
  }

  .brands-wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center
  }

  .brands-wrapper .swiper-slide {
    width: auto
  }
}

@media (min-width:992px) and (min-width:1501px) {
  .brands-wrapper {
    gap: 74px;
    row-gap: 24px
  }
}

@media (min-width:1200px) {
  .container {
    width: 1140px
  }

  .container-left,
  .container-right {
    width: calc(1140px + (100vw - 1140px)/2)
  }

  .show-lg {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .menu-link,
  .show-lg.swiper-navigation,
  .show-lg.swiper-pagination {
    display: none
  }

  .sub-menu-wrapper {
    position: absolute;
    top: calc(100% + 12px);
    z-index: -1;
    width: max-content;
    padding-top: 56px;
    margin-top: -12px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s ease-in-out, margin .3s ease-in-out;
    box-sizing: content-box;
    white-space: normal
  }

  .sub-menu-wrapper .sub-menu {
    border-radius: 12px;
    box-shadow: 0 12px 48px 0 rgba(28, 33, 42, .15)
  }

  .sub-menu-wrapper li:focus-visible>a {
    background: #a6874c;
    color: #fff
  }

  li.menu-item-has-children.right .sub-menu-wrapper {
    right: 0;
    translate: 0 -56px;
    text-align: right
  }

  li.menu-item-has-children.right .sub-menu-wrapper a {
    flex-direction: row-reverse
  }

  li.menu-item-has-children.right .sub-menu-wrapper .sub-menu-wrapper {
    right: 100%;
    translate: -8px -56px
  }

  li.menu-item-has-children.right .sub-menu-wrapper .menu-item-arrow+a {
    padding: .75em 1em .75em 2em
  }

  li.menu-item-has-children.right .top .sub-menu-wrapper {
    right: 0 !important;
    translate: 0 -48px
  }

  li.menu-item-has-children.right .top .top .sub-menu-wrapper {
    left: 100% !important;
    translate: 8px 0
  }

  li.menu-item-has-children.left .sub-menu-wrapper {
    left: 0;
    translate: 0 -56px
  }

  li.menu-item-has-children.left .sub-menu-wrapper .sub-menu-wrapper {
    left: 100%;
    padding-left: 8px;
    margin-left: -8px;
    translate: 8px -56px
  }

  li.menu-item-has-children.left .sub-menu-wrapper .menu-item-arrow+a {
    padding: .75em 2em .75em 1em
  }

  li.menu-item-has-children.left .top .sub-menu-wrapper {
    left: 0 !important;
    translate: 0 -48px
  }

  li.menu-item-has-children.left .top .top .sub-menu-wrapper {
    translate: -100% 0
  }

  li.menu-item-has-children.left>.sub-menu-wrapper,
  li.menu-item-has-children.right>.sub-menu-wrapper {
    width: min(max-content, 100vw);
    min-width: 150px
  }

  li.menu-item-has-children.left .top,
  li.menu-item-has-children.right .top {
    position: relative
  }

  li.menu-item-has-children.left .top .sub-menu-wrapper,
  li.menu-item-has-children.right .top .sub-menu-wrapper {
    top: 100% !important
  }

  li.menu-item-has-children.left .top .top,
  li.menu-item-has-children.right .top .top {
    position: relative !important
  }

  li.menu-item-has-children.left .top .top .sub-menu-wrapper,
  li.menu-item-has-children.right .top .top .sub-menu-wrapper {
    inset: 0;
    top: 0 !important;
    padding-top: 0
  }

  body.page-program .logo__text {
    color: #a6874c
  }

  body.page-program .header__top {
    color: #272020
  }

  .page-about .header__call,
  .page-bg .header__call,
  body.page-program .header-fixed_fixed .header__top {
    color: #fff
  }

  body.page-program .header-fixed_fixed .menu-item-arrow {
    background: #fff
  }

  body.page-program .menu-item-arrow {
    background: #272020
  }

  .page-about .header__call .social svg,
  .page-bg .header__call .social svg {
    fill: #fff
  }

  .page-about .header__tel img,
  .page-bg .header__tel img {
    filter: brightness(0) invert(1)
  }

  .header-fixed:not(.header-fixed_fixed) {
    padding-top: 8px;
    min-height: 156px
  }

  .program__item {
    grid-column: span 3
  }

  .program__item:nth-child(odd) {
    background: #f2f4f3
  }

  .program__item:nth-child(2n) {
    background: #f2ece1
  }

  .program__item:nth-child(6n+3),
  .program__item:nth-child(6n+5) {
    grid-column: span 4
  }

  .program__item:nth-child(6n+1),
  .program__item:nth-child(6n+6) {
    grid-column: span 5
  }

  .news-grid {
    display: grid;
    grid-template: repeat(2, auto)/66.1111111111% 1fr;
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px);
    margin-bottom: round(clamp(16px, 14.4px + .5vw, 24px), 1px);
    grid-column: 1/-1
  }

  .news-grid>.news__item:focus-visible .news__item-img img {
    scale: 1.01
  }

  .news-grid>.news__item .news__item-img {
    flex-grow: 0;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover
  }

  .news-grid>.news__item .news__item-content {
    padding: round(clamp(16px, 14.6px + .4375vw, 23px), 1px)
  }

  .news-grid>.news__item:first-child {
    grid-row: span 2;
    grid-template: auto/55.0420168067% 1fr;
    gap: 0
  }

  .news-grid>.news__item:first-child .news__item-content {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px);
    justify-content: center
  }

  .news-grid>.news__item:first-child .news__item-date {
    font-size: round(clamp(16px, 14.4px + .5vw, 24px), 1px);
    line-height: 1.45
  }

  .news-grid>.news__item:first-child .news__item-title {
    font-size: round(clamp(20px, 18.4px + .5vw, 28px), 1px)
  }

  .news-grid>.news__item:first-child .news__item-text {
    font-size: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .news-grid>.news__item:first-child .news__item-link {
    margin-top: 0;
    font-size: round(clamp(16px, 14.8px + .375vw, 22px), 1px)
  }

  .news-grid>.news__item:nth-child(2),
  .news-grid>.news__item:nth-child(3) {
    display: flex
  }

  .news-grid>.news__item:nth-child(2) .news__item-img,
  .news-grid>.news__item:nth-child(3) .news__item-img {
    flex-basis: round(clamp(104px, 80.2px + 7.4375vw, 223px), 1px)
  }

  .news-grid>.news__item:nth-child(2) .news__item-content,
  .news-grid>.news__item:nth-child(3) .news__item-content {
    gap: 12px
  }

  .news-grid>.news__item:nth-child(2) .news__item-date,
  .news-grid>.news__item:nth-child(3) .news__item-date {
    order: 2
  }

  .news-grid>.news__item:nth-child(2) .news__item-title,
  .news-grid>.news__item:nth-child(3) .news__item-title {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .news-grid>.news__item:nth-child(2) .news__item-text,
  .news-grid>.news__item:nth-child(3) .news__item-text {
    font-size: 14px;
    line-height: 1.35
  }

  .news-grid>.news__item:nth-child(2) .news__item-link,
  .news-grid>.news__item:nth-child(3) .news__item-link {
    display: none
  }
}

@media (any-hover:hover) and (min-width:1200px) {
  .sub-menu-wrapper li:hover>a {
    background: #a6874c;
    color: #fff
  }
}

@media (min-width:1200px) and (min-width:1501px) {
  .experience__text p {
    max-width: 454px
  }

  .news-grid>.news__item:first-child .news__item-content {
    padding: 46px
  }
}

@media (min-width:1200px) and (any-hover:hover) {
  .news-grid>.news__item:hover .news__item-img img {
    scale: 1.01
  }
}

@media (min-width:1400px) {
  .container {
    width: 1300px
  }
}

@media (min-width:1501px) {
  .container {
    width: 1440px
  }

  .container-left,
  .container-right {
    width: calc(1440px + (100vw - 1440px)/2)
  }

  .flex,
  .grid {
    gap: 16px
  }

  .show-xl {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-xl.swiper-navigation,
  .show-xl.swiper-pagination {
    display: none
  }

  .pagination {
    margin-top: 60px
  }

  .pagination__items li a,
  .pagination__items li.active {
    min-width: 36px;
    height: 36px
  }

  .swiper-pagination {
    margin-top: 40px
  }

  .swiper-pagination-bullet {
    width: 12px;
    height: 12px
  }

  .crumbs {
    column-gap: 28px;
    font-size: 16px
  }

  .crumbs-wrapper {
    margin-bottom: 40px
  }

  .crumbs li:not(:last-child):before {
    right: -14px
  }

  summary:after {
    flex-basis: 28px;
    width: 28px
  }

  .text-block h2 {
    font-size: 65px
  }

  .text-block h3 {
    font-size: 28px
  }

  .text-block h4 {
    font-size: 24px
  }

  .text-block h5 {
    font-size: 22px
  }

  .text-block p {
    margin-bottom: 32px
  }

  .text-block ol,
  .text-block ul {
    margin-bottom: 20px
  }

  .checkbox,
  .text-block ul,
  .text-block ul>li {
    gap: 16px
  }

  .text-block ol {
    gap: 13px;
    font-size: 18px
  }

  .text-block ol>li:before {
    font-size: 12px
  }

  .text-block blockquote {
    gap: 42px;
    margin-bottom: 40px;
    padding-block: 46px;
    padding-inline: 74px
  }

  .text-block blockquote:before {
    width: 60px;
    height: 50px
  }

  .page-text h2,
  .page-text h3,
  .page-text h4,
  .page-text h5,
  .page-text h6 {
    margin-bottom: 24px
  }

  .footer__menu>li>a,
  body {
    font-size: 16px
  }

  .page-about .crumbs,
  .page-bg .crumbs {
    margin-top: 20px
  }

  .section {
    padding-block: 120px
  }

  .section-small {
    padding-block: 40px
  }

  .section-small-top {
    padding-top: 40px
  }

  .section-small-bottom {
    padding-bottom: 40px
  }

  .section-bottom {
    padding-bottom: 120px
  }

  .section-top {
    padding-top: 120px
  }

  .section-bg+.section-bg {
    margin-top: -60px
  }

  .section__top {
    margin-bottom: 40px
  }

  .title {
    font-size: 70px
  }

  .title-2 {
    font-size: 65px
  }

  .title-3 {
    font-size: 28px
  }

  .title-4 {
    font-size: 24px
  }

  .title-5 {
    font-size: 18px
  }

  .button {
    min-height: 58px;
    font-size: 16px
  }

  .button_small {
    min-height: 44px
  }

  .button-more {
    margin-top: 40px
  }

  .tel {
    font-size: 18px
  }

  .logo__title {
    font-size: 29px
  }

  .logo img {
    width: 129px;
    height: 132px
  }

  .logo__text {
    font-size: 26px
  }

  .text-wrapper {
    gap: 64px
  }

  .text__left {
    padding-block: 135px
  }

  .input,
  .textarea {
    padding-inline: 26px
  }

  .input {
    height: 50px
  }

  .popup__content {
    padding-block: 50px;
    padding-inline: 50px
  }

  .popup__title {
    font-size: 50px
  }

  .popup__subtitle,
  .popup__title {
    margin-bottom: 20px
  }

  .popup__form .input-wrapper {
    gap: 16px
  }

  .popup__close {
    right: 16px;
    top: 16px
  }

  .popup-thank .popup__content {
    gap: 20px
  }

  .popup-thank img {
    width: 100px;
    height: 100px
  }

  .header-fixed {
    padding-block: 16px
  }

  .header__top {
    gap: 48px
  }

  .header__right {
    gap: 24px
  }

  .header__menu {
    gap: 32px;
    font-size: 16px
  }

  .header-main {
    min-height: 820px
  }

  .header-main-wrapper {
    padding-bottom: 80px
  }

  .header-main__title {
    margin-bottom: 40px;
    font-size: 70px
  }

  .header-main__subtitle,
  .header-main__text {
    font-size: 26px
  }

  .header-main__text {
    margin-bottom: 68px
  }

  .header-main__img {
    max-width: 700px
  }

  .footer__top {
    gap: 84px
  }

  .footer__top-wrapper {
    padding-block: 40px
  }

  .footer__logo .logo__title {
    font-size: 44px
  }

  .footer__logo .logo__text {
    font-size: 39px
  }

  .footer__logo img {
    width: 200px;
    height: 200px
  }

  .footer__menu {
    gap: 18px
  }

  .footer__email,
  .footer__tel {
    font-size: 18px
  }

  .footer__info {
    gap: 12px
  }

  .about-wrapper {
    gap: 62px
  }

  .about__img {
    max-width: 750px
  }

  .about__right {
    padding-block: 100px
  }

  .about__title {
    margin-bottom: 20px
  }

  .about__subtitle {
    font-size: 22px
  }

  .about__subtitle,
  .about__text {
    margin-bottom: 52px
  }

  .about__buttons {
    column-gap: 32px
  }

  .about-features .features__text {
    margin-bottom: 40px
  }

  .about-features .features__item {
    padding-inline: 32px;
    padding-block: 28px
  }

  .about-features .features__item-text {
    font-size: 18px
  }

  .about-main-wrapper {
    gap: 24px
  }

  .about-main__img {
    max-width: 844px
  }

  .about-main__right {
    min-height: 500px;
    padding-bottom: 84px
  }

  .about-main__subtitle {
    font-size: 22px
  }

  .about-main__title {
    font-size: 70px
  }

  .about-main__quote {
    margin-bottom: 22px;
    font-size: 22px
  }

  .about-main__text {
    margin-bottom: 34px
  }

  .about-main__text p:not(:last-child) {
    margin-bottom: 20px
  }

  .book__item {
    padding: 40px
  }

  .book__item-img {
    margin-bottom: 28px
  }

  .book__item-author {
    font-size: 18px
  }

  .brands__item {
    max-width: 288px;
    max-height: 124px
  }

  .contact-wrapper {
    gap: 50px
  }

  .contact__left {
    gap: 16px
  }

  .contact__form .input-wrapper,
  .contact__social .social {
    gap: 14px
  }

  .contact__tel {
    font-size: 20px
  }

  .contact__email,
  .contact__social {
    font-size: 18px
  }

  .faq-wrapper {
    gap: 20px
  }

  .faq__item-title {
    padding-block: 32px;
    padding-inline: 32px
  }

  .faq__item-content {
    padding-bottom: 32px;
    padding-inline: 32px
  }

  .faq-callback {
    padding-block: 76px
  }

  .faq-callback__title,
  .single-news__text h2,
  .single-news__text h3 {
    margin-bottom: 20px
  }

  .faq-callback__subtitle {
    margin-bottom: 40px;
    font-size: 22px
  }

  .experience__title {
    margin-bottom: 34px
  }

  .experience__text {
    max-width: 540px
  }

  .experience__text ul {
    gap: 30px;
    margin-bottom: 30px
  }

  .experience__right {
    gap: 50px
  }

  .experience__item {
    gap: 20px
  }

  .experience__item-number {
    font-size: 57px
  }

  .experience__item-text {
    font-size: 17px
  }

  .features-wrapper {
    gap: 24px
  }

  .features__item {
    padding: 16px;
    min-height: 144px;
    gap: 20px
  }

  .features__item-title {
    font-size: 55px
  }

  .features__item-text,
  .services__item-date span span,
  .services__item-location span span {
    font-size: 16px
  }

  .investment-wrapper {
    padding-block: 102px;
    padding-inline: 98px
  }

  .investment__left {
    gap: 30px;
    max-width: 790px
  }

  .investment__text {
    font-size: 18px
  }

  .investment__buttons {
    gap: 32px
  }

  .program__content {
    padding: 44px
  }

  .program-wrapper {
    gap: 24px
  }

  .program__item {
    padding-block: 46px;
    padding-inline: 46px;
    min-height: 274px
  }

  .program-about:nth-child(2n) .program-about__content {
    gap: 80px
  }

  .program-about__col,
  .program-about__content {
    gap: 40px
  }

  .program-about__col {
    font-size: 20px
  }

  .program-about__img {
    flex-basis: 634px
  }

  .program-about__blockquote {
    gap: 60px;
    padding-block: 32px;
    padding-inline: 62px;
    margin-top: 60px;
    font-size: 22px
  }

  .program-about__button {
    margin-top: 60px
  }

  .program-features-wrapper {
    gap: 24px
  }

  .program-features__item {
    gap: 16px;
    padding-block: 32px;
    padding-inline: 28px
  }

  .program-features__item-icon {
    width: 70px;
    height: 70px
  }

  .program-features__item-title,
  .single-news__text h2 {
    font-size: 24px
  }

  .program-main .header-main__left {
    gap: 18px
  }

  .program-main .header-main__subtitle {
    font-size: 22px
  }

  .program-main .header-main__info {
    gap: 16px
  }

  .program-main .header-main__info-item>span span:first-child {
    font-size: 18px
  }

  .program-main .header-main__info-item>span span:last-child {
    font-size: 20px
  }

  .program-main .header-main__bottom {
    gap: 24px
  }

  .program-main .header-main__price {
    font-size: 32px
  }

  .program-main .services__item-labels {
    gap: 24px
  }

  .program-main .services__item-label,
  .single-news__text h3,
  .step__text ol {
    font-size: 20px
  }

  .services__header {
    gap: 16px;
    margin-right: 44px
  }

  .services__header .button {
    min-width: 125px;
    min-height: 55px;
    font-size: 18px
  }

  .services__header .button.active {
    min-height: 68px
  }

  .services-wrapper {
    gap: 24px;
    padding: 44px
  }

  .services__item-labels {
    left: 32px;
    bottom: 32px
  }

  .services__item-label {
    font-size: 18px
  }

  .services__item-right {
    gap: 10px;
    padding-left: 34px;
    padding-right: 24px;
    padding-block: 28px
  }

  .services__item-title {
    font-size: 26px
  }

  .services__item-date,
  .services__item-location {
    font-size: 18px
  }

  .services__item-price {
    font-size: 32px
  }

  .services-main-wrapper {
    padding-top: 52px;
    padding-bottom: 52px;
    max-width: 930px
  }

  .services-main__title {
    margin-bottom: 20px;
    font-size: 70px
  }

  .services-main__subtitle {
    margin-bottom: 36px;
    font-size: 22px
  }

  .callback__left {
    gap: 20px;
    padding-block: 66px;
    padding-inline: 84px
  }

  .callback__subtitle {
    margin-top: -8px;
    margin-bottom: 12px;
    font-size: 22px
  }

  .callback__form .input-wrapper {
    gap: 20px
  }

  .news-wrapper {
    gap: 24px
  }

  .news__item-content {
    gap: 16px;
    padding-inline: 20px
  }

  .single-news-wrapper {
    gap: 40px
  }

  .single-news__title {
    margin-bottom: 40px;
    font-size: 70px
  }

  .single-news__date {
    margin-bottom: 40px
  }

  .single-news__pagination {
    margin-top: 40px
  }

  .single-news__pagination-button {
    min-height: 46px;
    padding-inline: 30px;
    font-size: 16px
  }

  .single-news__pagination-button svg {
    flex-basis: 14px;
    max-width: 14px;
    max-height: 14px
  }

  .other,
  .other__items {
    gap: 20px
  }

  .other__item-title {
    font-size: 18px
  }

  .other__item-text {
    font-size: 14px
  }

  .video__item-content {
    padding-bottom: 32px;
    padding-inline: 40px
  }

  .video-page {
    padding-bottom: 80px
  }

  .video-page .video__item-title {
    font-size: 28px
  }

  .step-wrapper {
    padding-block: 104px;
    padding-inline: 93px
  }
}

@media (max-width:1500px) {

  .flex,
  .grid {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .hide-xl {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-xl.swiper-navigation,
  .hide-xl.swiper-pagination {
    display: none
  }

  .pagination {
    margin-top: round(clamp(24px, 16.8px + 2.25vw, 60px), 1px)
  }

  .pagination__items li a,
  .pagination__items li.active {
    min-width: round(clamp(32px, 31.2px + .25vw, 36px), 1px);
    height: round(clamp(32px, 31.2px + .25vw, 36px), 1px)
  }

  .swiper-pagination {
    margin-top: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .swiper-pagination-bullet {
    width: round(clamp(8px, 7.2px + .25vw, 12px), 1px);
    height: round(clamp(8px, 7.2px + .25vw, 12px), 1px)
  }

  .crumbs {
    column-gap: round(clamp(24px, 23.2px + .25vw, 28px), 1px);
    font-size: round(clamp(14px, 13.6px + .125vw, 16px), 1px)
  }

  .crumbs-wrapper {
    margin-bottom: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .crumbs li:not(:last-child):before {
    right: round(clamp(-12px, -11.6px + -.125vw, -14px), 1px)
  }

  summary:after {
    flex-basis: round(clamp(20px, 18.4px + .5vw, 28px), 1px);
    width: round(clamp(20px, 18.4px + .5vw, 28px), 1px)
  }

  .text-block h2 {
    font-size: round(clamp(28px, 20.6px + 2.3125vw, 65px), 1px)
  }

  .text-block h3 {
    font-size: round(clamp(20px, 18.4px + .5vw, 28px), 1px)
  }

  .text-block h4 {
    font-size: round(clamp(20px, 19.2px + .25vw, 24px), 1px)
  }

  .text-block h5 {
    font-size: round(clamp(18px, 17.2px + .25vw, 22px), 1px)
  }

  .text-block p {
    margin-bottom: round(clamp(12px, 8px + 1.25vw, 32px), 1px)
  }

  .text-block ol,
  .text-block ul {
    margin-bottom: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .text-block ul,
  .text-block ul>li {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .text-block ol {
    gap: round(clamp(10px, 9.4px + .1875vw, 13px), 1px);
    font-size: round(clamp(15px, 14.4px + .1875vw, 18px), 1px)
  }

  .text-block ol>li:before {
    font-size: round(clamp(10px, 9.6px + .125vw, 12px), 1px)
  }

  .text-block blockquote {
    gap: round(clamp(12px, 6px + 1.875vw, 42px), 1px);
    margin-bottom: round(clamp(20px, 16px + 1.25vw, 40px), 1px);
    padding-block: round(clamp(20px, 14.8px + 1.625vw, 46px), 1px);
    padding-inline: round(clamp(12px, -.4px + 3.875vw, 74px), 1px)
  }

  .text-block blockquote:before {
    width: round(clamp(28px, 21.6px + 2vw, 60px), 1px);
    height: round(clamp(22px, 16.4px + 1.75vw, 50px), 1px)
  }

  .page-text h2,
  .page-text h3,
  .page-text h4,
  .page-text h5,
  .page-text h6 {
    margin-bottom: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .checkbox {
    gap: round(clamp(8px, 6.4px + .5vw, 16px), 1px)
  }

  body {
    font-size: round(clamp(15px, 14.8px + .0625vw, 16px), 1px)
  }

  .page-about .crumbs,
  .page-bg .crumbs {
    margin-top: round(clamp(12px, 10.4px + .5vw, 20px), 1px)
  }

  .section {
    padding-block: round(clamp(48px, 33.6px + 4.5vw, 120px), 1px)
  }

  .section-small {
    padding-block: round(clamp(16px, 11.2px + 1.5vw, 40px), 1px)
  }

  .section-small-top {
    padding-top: round(clamp(16px, 11.2px + 1.5vw, 40px), 1px)
  }

  .section-small-bottom {
    padding-bottom: round(clamp(16px, 11.2px + 1.5vw, 40px), 1px)
  }

  .section-bottom {
    padding-bottom: round(clamp(48px, 33.6px + 4.5vw, 120px), 1px)
  }

  .section-top {
    padding-top: round(clamp(48px, 33.6px + 4.5vw, 120px), 1px)
  }

  .section-bg+.section-bg {
    margin-top: round(clamp(-24px, -16.8px + -2.25vw, -60px), 1px)
  }

  .section__top {
    margin-bottom: round(clamp(24px, 20.8px + 1vw, 40px), 1px)
  }

  .title {
    font-size: round(clamp(32px, 24.4px + 2.375vw, 70px), 1px)
  }

  .title-2 {
    font-size: round(clamp(28px, 20.6px + 2.3125vw, 65px), 1px)
  }

  .title-3 {
    font-size: round(clamp(20px, 18.4px + .5vw, 28px), 1px)
  }

  .title-4 {
    font-size: round(clamp(18px, 16.8px + .375vw, 24px), 1px)
  }

  .title-5 {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .button {
    min-height: round(clamp(44px, 41.2px + .875vw, 58px), 1px);
    font-size: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .button_small {
    min-height: round(clamp(38px, 36.8px + .375vw, 44px), 1px)
  }

  .button-more {
    margin-top: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .tel {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .logo__title {
    font-size: round(clamp(20px, 18.2px + .5625vw, 29px), 1px)
  }

  .logo img {
    width: round(clamp(64.5px, 51.6px + 4.03125vw, 129px), 1px);
    height: round(clamp(66px, 52.8px + 4.125vw, 132px), 1px)
  }

  .logo__text {
    font-size: round(clamp(18px, 16.4px + .5vw, 26px), 1px)
  }

  .text-wrapper {
    gap: round(clamp(20px, 11.2px + 2.75vw, 64px), 1px)
  }

  .text__left {
    padding-block: round(clamp(48px, 30.6px + 5.4375vw, 135px), 1px)
  }

  .input,
  .textarea {
    padding-inline: round(clamp(16px, 14px + .625vw, 26px), 1px)
  }

  .input {
    height: round(clamp(44px, 42.8px + .375vw, 50px), 1px)
  }

  .popup__content {
    padding-block: round(clamp(20px, 14px + 1.875vw, 50px), 1px);
    padding-inline: round(clamp(16px, 9.2px + 2.125vw, 50px), 1px)
  }

  .popup__title {
    font-size: round(clamp(24px, 18.8px + 1.625vw, 50px), 1px)
  }

  .popup__subtitle,
  .popup__title {
    margin-bottom: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .popup__form .input-wrapper {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .popup__close {
    right: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
    top: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .popup-thank .popup__content {
    gap: round(clamp(12px, 10.4px + .5vw, 20px), 1px)
  }

  .popup-thank img {
    width: round(clamp(60px, 52px + 2.5vw, 100px), 1px);
    height: round(clamp(60px, 52px + 2.5vw, 100px), 1px)
  }

  .header-fixed {
    padding-block: round(clamp(8px, 6.4px + .5vw, 16px), 1px)
  }

  .header__top {
    gap: round(clamp(20px, 14.4px + 1.75vw, 48px), 1px)
  }

  .header__right {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .header__menu {
    gap: round(clamp(16px, 12.8px + 1vw, 32px), 1px);
    font-size: round(clamp(14px, 13.6px + .125vw, 16px), 1px)
  }

  .header-main {
    min-height: round(clamp(400px, 316px + 26.25vw, 820px), 1px)
  }

  .header-main-wrapper {
    padding-bottom: round(clamp(48px, 41.6px + 2vw, 80px), 1px)
  }

  .header-main__title {
    margin-bottom: round(clamp(20px, 16px + 1.25vw, 40px), 1px);
    font-size: round(clamp(32px, 24.4px + 2.375vw, 70px), 1px)
  }

  .header-main__subtitle,
  .header-main__text {
    font-size: round(clamp(17px, 15.2px + .5625vw, 26px), 1px)
  }

  .header-main__text {
    margin-bottom: round(clamp(20px, 10.4px + 3vw, 68px), 1px)
  }

  .header-main__img {
    max-width: round(clamp(400px, 340px + 18.75vw, 700px), 1px);
    left: 60%
  }

  .footer__top {
    gap: round(clamp(20px, 7.2px + 4vw, 84px), 1px)
  }

  .footer__top-wrapper {
    padding-block: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .footer__logo .logo__title {
    font-size: round(clamp(24px, 20px + 1.25vw, 44px), 1px)
  }

  .footer__logo .logo__text {
    font-size: round(clamp(22px, 18.6px + 1.0625vw, 39px), 1px)
  }

  .footer__logo img {
    width: round(clamp(120px, 104px + 5vw, 200px), 1px);
    height: round(clamp(120px, 104px + 5vw, 200px), 1px)
  }

  .footer__menu {
    gap: round(clamp(14px, 13.2px + .25vw, 18px), 1px)
  }

  .footer__menu>li>a {
    font-size: round(clamp(14px, 13.6px + .125vw, 16px), 1px)
  }

  .footer__email,
  .footer__tel {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .footer__info {
    gap: round(clamp(8px, 7.2px + .25vw, 12px), 1px)
  }

  .about-wrapper {
    gap: round(clamp(20px, 11.6px + 2.625vw, 62px), 1px)
  }

  .about__img {
    max-width: round(clamp(300px, 210px + 28.125vw, 750px), 1px)
  }

  .about__right {
    padding-block: round(clamp(24px, 8.8px + 4.75vw, 100px), 1px)
  }

  .about__title {
    margin-bottom: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .about__subtitle {
    font-size: round(clamp(18px, 17.2px + .25vw, 22px), 1px)
  }

  .about__subtitle,
  .about__text {
    margin-bottom: round(clamp(24px, 18.4px + 1.75vw, 52px), 1px)
  }

  .about__buttons {
    column-gap: round(clamp(20px, 17.6px + .75vw, 32px), 1px)
  }

  .about-features .features__text {
    margin-bottom: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .about-features .features__item {
    padding-inline: round(clamp(16px, 12.8px + 1vw, 32px), 1px);
    padding-block: round(clamp(20px, 18.4px + .5vw, 28px), 1px)
  }

  .about-features .features__item-text {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .about-main-wrapper {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .about-main__img {
    max-width: round(clamp(300px, 191.2px + 34vw, 844px), 1px)
  }

  .about-main__right {
    min-height: round(clamp(400px, 380px + 6.25vw, 500px), 1px);
    padding-bottom: round(clamp(40px, 31.2px + 2.75vw, 84px), 1px)
  }

  .about-main__subtitle {
    font-size: round(clamp(18px, 17.2px + .25vw, 22px), 1px)
  }

  .about-main__title {
    font-size: round(clamp(32px, 24.4px + 2.375vw, 70px), 1px)
  }

  .about-main__quote {
    margin-bottom: round(clamp(16px, 14.8px + .375vw, 22px), 1px);
    font-size: round(clamp(18px, 17.2px + .25vw, 22px), 1px)
  }

  .about-main__text {
    margin-bottom: round(clamp(16px, 12.4px + 1.125vw, 34px), 1px)
  }

  .about-main__text p:not(:last-child) {
    margin-bottom: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .about-main__right {
    flex-basis: 50%
  }

  .about-main__img {
    left: 0
  }

  .book__item {
    padding: round(clamp(16px, 11.2px + 1.5vw, 40px), 1px)
  }

  .book__item-img {
    margin-bottom: round(clamp(16px, 13.6px + .75vw, 28px), 1px)
  }

  .book__item-author {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .brands__item {
    max-width: round(clamp(86.4px, 46.08px + 12.6vw, 288px), 1px);
    max-height: round(clamp(37.2px, 19.84px + 5.425vw, 124px), 1px)
  }

  .contact-wrapper {
    gap: round(clamp(24px, 18.8px + 1.625vw, 50px), 1px)
  }

  .contact__left {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .contact__form .input-wrapper,
  .contact__social .social {
    gap: round(clamp(12px, 11.6px + .125vw, 14px), 1px)
  }

  .contact__tel {
    font-size: round(clamp(18px, 17.6px + .125vw, 20px), 1px)
  }

  .contact__email,
  .contact__social {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .faq-wrapper {
    gap: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .faq__item-content,
  .faq__item-title {
    padding-inline: round(clamp(16px, 12.8px + 1vw, 32px), 1px)
  }

  .faq__item-title {
    padding-block: round(clamp(20px, 17.6px + .75vw, 32px), 1px)
  }

  .faq__item-content {
    padding-bottom: round(clamp(20px, 17.6px + .75vw, 32px), 1px)
  }

  .faq-callback {
    padding-block: round(clamp(28px, 18.4px + 3vw, 76px), 1px)
  }

  .faq-callback__title,
  .single-news__text h2,
  .single-news__text h3 {
    margin-bottom: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .faq-callback__subtitle {
    margin-bottom: round(clamp(16px, 11.2px + 1.5vw, 40px), 1px);
    font-size: round(clamp(18px, 17.2px + .25vw, 22px), 1px)
  }

  .experience__title {
    margin-bottom: round(clamp(20px, 17.2px + .875vw, 34px), 1px)
  }

  .experience__text {
    max-width: round(clamp(432px, 410.4px + 6.75vw, 540px), 1px)
  }

  .experience__text ul {
    gap: round(clamp(16px, 13.2px + .875vw, 30px), 1px);
    margin-bottom: round(clamp(16px, 13.2px + .875vw, 30px), 1px)
  }

  .experience__right {
    gap: round(clamp(20px, 14px + 1.875vw, 50px), 1px)
  }

  .experience__item {
    gap: round(clamp(8px, 5.6px + .75vw, 20px), 1px)
  }

  .experience__item-number {
    font-size: round(clamp(20px, 12.6px + 2.3125vw, 57px), 1px)
  }

  .experience__item-text {
    font-size: round(clamp(15px, 14.6px + .125vw, 17px), 1px)
  }

  .experience__img {
    max-width: 450px
  }

  .features-wrapper {
    gap: round(clamp(8px, 4.8px + 1vw, 24px), 1px)
  }

  .features__item {
    padding: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
    min-height: round(clamp(80px, 67.2px + 4vw, 144px), 1px);
    gap: round(clamp(12px, 10.4px + .5vw, 20px), 1px)
  }

  .features__item-title {
    font-size: round(clamp(28px, 22.6px + 1.6875vw, 55px), 1px)
  }

  .features__item-text,
  .services__item-date span span,
  .services__item-location span span {
    font-size: round(clamp(14px, 13.6px + .125vw, 16px), 1px)
  }

  .investment-wrapper {
    padding-block: round(clamp(20px, 3.6px + 5.125vw, 102px), 1px);
    padding-inline: round(clamp(16px, -.4px + 5.125vw, 98px), 1px)
  }

  .investment__left {
    gap: round(clamp(20px, 18px + .625vw, 30px), 1px);
    max-width: round(clamp(400px, 322px + 24.375vw, 790px), 1px)
  }

  .investment__text {
    font-size: round(clamp(15px, 14.4px + .1875vw, 18px), 1px)
  }

  .investment__buttons {
    gap: round(clamp(12px, 8px + 1.25vw, 32px), 1px)
  }

  .program__content {
    padding: round(clamp(16px, 10.4px + 1.75vw, 44px), 1px)
  }

  .program-wrapper {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .program__item {
    padding-block: round(clamp(20px, 14.8px + 1.625vw, 46px), 1px);
    padding-inline: round(clamp(16px, 10px + 1.875vw, 46px), 1px);
    min-height: round(clamp(180px, 161.2px + 5.875vw, 274px), 1px)
  }

  .program-about:nth-child(2n) .program-about__content {
    gap: round(clamp(20px, 8px + 3.75vw, 80px), 1px)
  }

  .program-about__col,
  .program-about__content {
    gap: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .program-about__col {
    font-size: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .program-about__img {
    flex-basis: round(clamp(300px, 233.2px + 20.875vw, 634px), 1px)
  }

  .program-about__blockquote {
    gap: round(clamp(16px, 7.2px + 2.75vw, 60px), 1px);
    padding-block: round(clamp(20px, 17.6px + .75vw, 32px), 1px);
    padding-inline: round(clamp(16px, 6.8px + 2.875vw, 62px), 1px);
    font-size: round(clamp(17px, 16px + .3125vw, 22px), 1px)
  }

  .program-about__blockquote,
  .program-about__button {
    margin-top: round(clamp(20px, 12px + 2.5vw, 60px), 1px)
  }

  .program-features-wrapper {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .program-features__item {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
    padding-block: round(clamp(20px, 17.6px + .75vw, 32px), 1px);
    padding-inline: round(clamp(16px, 13.6px + .75vw, 28px), 1px)
  }

  .program-features__item-icon {
    width: round(clamp(48px, 43.6px + 1.375vw, 70px), 1px);
    height: round(clamp(48px, 43.6px + 1.375vw, 70px), 1px)
  }

  .program-features__item-title,
  .single-news__text h2 {
    font-size: round(clamp(20px, 19.2px + .25vw, 24px), 1px)
  }

  .program-main .header-main__left {
    gap: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .program-main .header-main__subtitle {
    font-size: round(clamp(18px, 17.2px + .25vw, 22px), 1px)
  }

  .program-main .header-main__info {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .program-main .header-main__info-item>span span:first-child {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .program-main .header-main__info-item>span span:last-child {
    font-size: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .program-main .header-main__bottom {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .program-main .header-main__price {
    font-size: round(clamp(24px, 22.4px + .5vw, 32px), 1px)
  }

  .program-main .services__item-labels {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .program-main .services__item-label,
  .single-news__text h3 {
    font-size: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .services__header {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
    margin-right: round(clamp(16px, 10.4px + 1.75vw, 44px), 1px)
  }

  .services__header .button {
    min-width: round(clamp(100px, 95px + 1.5625vw, 125px), 1px);
    min-height: round(clamp(36px, 32.2px + 1.1875vw, 55px), 1px);
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .services__header .button.active {
    min-height: round(clamp(48px, 44px + 1.25vw, 68px), 1px)
  }

  .services-wrapper {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px);
    padding: round(clamp(16px, 10.4px + 1.75vw, 44px), 1px)
  }

  .services__item-labels {
    left: round(clamp(16px, 12.8px + 1vw, 32px), 1px);
    bottom: round(clamp(16px, 12.8px + 1vw, 32px), 1px)
  }

  .services__item-label {
    font-size: round(clamp(14px, 13.2px + .25vw, 18px), 1px)
  }

  .services__item-right {
    gap: round(clamp(8px, 7.6px + .125vw, 10px), 1px);
    padding-left: round(clamp(16px, 12.4px + 1.125vw, 34px), 1px);
    padding-right: round(clamp(16px, 14.4px + .5vw, 24px), 1px);
    padding-block: round(clamp(20px, 18.4px + .5vw, 28px), 1px)
  }

  .services__item-title {
    font-size: round(clamp(24px, 23.6px + .125vw, 26px), 1px)
  }

  .services__item-date,
  .services__item-location {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .services__item-price {
    font-size: round(clamp(24px, 22.4px + .5vw, 32px), 1px)
  }

  .services-main-wrapper {
    padding-top: round(clamp(24px, 18.4px + 1.75vw, 52px), 1px);
    padding-bottom: round(clamp(40px, 37.6px + .75vw, 52px), 1px);
    max-width: round(clamp(400px, 294px + 33.125vw, 930px), 1px)
  }

  .services-main__title {
    margin-bottom: round(clamp(16px, 15.2px + .25vw, 20px), 1px);
    font-size: round(clamp(32px, 24.4px + 2.375vw, 70px), 1px)
  }

  .services-main__subtitle {
    margin-bottom: round(clamp(16px, 12px + 1.25vw, 36px), 1px);
    font-size: round(clamp(18px, 17.2px + .25vw, 22px), 1px)
  }

  .callback__left {
    gap: round(clamp(16px, 15.2px + .25vw, 20px), 1px);
    padding-block: round(clamp(20px, 10.8px + 2.875vw, 66px), 1px);
    padding-inline: round(clamp(20px, 7.2px + 4vw, 84px), 1px)
  }

  .callback__subtitle {
    margin-top: round(clamp(-16px, -17.6px + .5vw, -8px), 1px);
    margin-bottom: round(clamp(4px, 2.4px + .5vw, 12px), 1px);
    font-size: round(clamp(16px, 14.8px + .375vw, 22px), 1px)
  }

  .callback__form .input-wrapper {
    gap: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .news-wrapper {
    gap: round(clamp(16px, 14.4px + .5vw, 24px), 1px)
  }

  .news__item-content {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
    padding-inline: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .single-news-wrapper {
    gap: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .single-news__title {
    font-size: round(clamp(32px, 24.4px + 2.375vw, 70px), 1px)
  }

  .single-news__date,
  .single-news__title {
    margin-bottom: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .single-news__pagination {
    margin-top: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .single-news__pagination-button {
    min-height: round(clamp(42px, 41.2px + .25vw, 46px), 1px);
    padding-inline: round(clamp(20px, 18px + .625vw, 30px), 1px);
    font-size: round(clamp(14px, 13.6px + .125vw, 16px), 1px)
  }

  .single-news__pagination-button svg {
    flex-basis: round(clamp(12px, 11.6px + .125vw, 14px), 1px);
    max-width: round(clamp(12px, 11.6px + .125vw, 14px), 1px);
    max-height: round(clamp(12px, 11.6px + .125vw, 14px), 1px)
  }

  .other {
    gap: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .other__items {
    gap: round(clamp(12px, 10.4px + .5vw, 20px), 1px)
  }

  .other__item-title {
    font-size: round(clamp(16px, 15.6px + .125vw, 18px), 1px)
  }

  .other__item-text {
    font-size: round(clamp(12px, 11.6px + .125vw, 14px), 1px)
  }

  .video__item-content {
    padding-bottom: round(clamp(20px, 17.6px + .75vw, 32px), 1px);
    padding-inline: round(clamp(16px, 11.2px + 1.5vw, 40px), 1px)
  }

  .video-page {
    padding-bottom: round(clamp(40px, 32px + 2.5vw, 80px), 1px)
  }

  .video-page .video__item-title {
    font-size: round(clamp(20px, 18.4px + .5vw, 28px), 1px)
  }

  .step-wrapper {
    padding-block: round(clamp(28px, 12.8px + 4.75vw, 104px), 1px);
    padding-inline: round(clamp(16px, .6px + 4.8125vw, 93px), 1px)
  }

  .step__text ol {
    font-size: round(clamp(15px, 14px + .3125vw, 20px), 1px)
  }
}

@media (max-width:1400px) {
  .header__top {
    gap: 16px
  }

  .header__menu {
    gap: 16px;
    font-size: 14px
  }

  .header-main {
    background-position: center right 34%
  }

  .footer__top {
    gap: round(clamp(20px, 14.0740740741px + 1.8518518519vw, 40px), 1px)
  }

  .experience__left,
  .experience__right {
    zoom: .9
  }

  .experience__img {
    max-width: 400px
  }

  .program-main .header-main__left {
    max-width: 600px
  }
}

@media (max-width:1199px) {
  .hide-lg {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-lg.swiper-navigation,
  .hide-lg.swiper-pagination {
    display: none
  }

  li.menu-item-has-children a {
    justify-content: space-between
  }

  .sub-menu-wrapper .sub-menu {
    display: grid;
    gap: 12px;
    padding: 12px 0 0 12px;
    background: 0 0;
    font-size: 14px;
    color: #272020
  }

  .sub-menu-wrapper.active {
    opacity: 1;
    margin-top: 0;
    pointer-events: auto
  }

  .sub-menu-wrapper li {
    display: grid
  }

  .sub-menu-wrapper a {
    padding: 0
  }

  .menu-item-arrow {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
    -webkit-mask-size: 50%;
    mask-size: 50%;
    background: #272020
  }

  body:not(.home, .page-about) {
    padding-top: 67px
  }

  .page-bg .header__call {
    color: #fff
  }

  .page-bg .header__call svg {
    fill: #fff
  }

  .page-bg .header__tel img {
    filter: brightness(0) invert(1)
  }

  .header-fixed {
    min-height: 67px
  }

  .header__mobile {
    height: calc(100dvh - 67px)
  }

  .header-fixed {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
    padding-block: 8px !important;
    background: linear-gradient(270deg, #00622e, #00361b)
  }

  .header__mobile {
    position: fixed;
    right: -100vw;
    top: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: 100%;
    justify-items: start;
    align-content: start;
    gap: 20px;
    width: min(500px, 101vw);
    padding: 28px 20px;
    background: #f2f4f3;
    color: #272020;
    opacity: 0;
    transition: right .3s, opacity .3s;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden
  }

  @supports (-moz-appearance:none) {
    .header__mobile {
      scrollbar-color: #bb9f6a #f2f4f3;
      scrollbar-width: thin
    }
  }

  .header__mobile::-webkit-scrollbar {
    width: 4px
  }

  .header__mobile::-webkit-scrollbar-track-piece {
    background-color: #f2f4f3;
    border-radius: 5px
  }

  .header__mobile::-webkit-scrollbar-thumb {
    background-color: #bb9f6a;
    border-radius: 5px
  }

  .header__mobile.active {
    right: 0;
    opacity: 1
  }

  .header__right {
    display: flex;
    justify-content: flex-end
  }

  .header__nav {
    width: 100%
  }

  .header__menu {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px;
    width: 100%
  }

  .header__call {
    color: #272020
  }

  .header__call svg {
    fill: #00562e
  }

  .header__time:before {
    background: #00562e
  }

  .header-main {
    padding-top: 67px;
    background: linear-gradient(270deg, #00622e, #00361b) !important
  }

  .header-main__img {
    right: 20px;
    left: auto;
    translate: 0 0
  }

  .footer__menu {
    display: none
  }

  .footer__top {
    grid-template-columns: auto 1fr auto
  }

  .about {
    position: relative
  }

  .about-wrapper {
    grid-template-columns: 100%
  }

  .about__img {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: round(clamp(200px, 145.3924914676px + 17.0648464164vw, 350px), 1px)
  }

  .about-main {
    padding-top: 67px
  }

  .faq-home {
    padding-bottom: 160px
  }

  .faq-callback {
    min-height: 320px
  }

  .faq-callback-home {
    margin-top: -160px
  }

  .experience-wrapper {
    display: grid;
    grid-template-columns: 100%;
    gap: 40px
  }

  .experience__text,
  .program-main .header-main__left {
    max-width: 100%
  }

  .experience__left {
    max-width: 100%;
    zoom: 1
  }

  .experience__right {
    max-width: 410px;
    zoom: 1
  }

  .experience__img {
    left: round(clamp(350px, 222.582480091px + 39.8179749716vw, 700px), 1px);
    max-width: round(clamp(200px, 127.1899886234px + 22.7531285552vw, 400px), 1px)
  }

  .features-wrapper,
  .program-wrapper {
    grid-template-columns: repeat(2, 1fr)
  }

  .program-features__item {
    grid-template-columns: 100%
  }

  .program-main {
    background: #f2f4f3 !important
  }

  .services-wrapper {
    grid-template-columns: 100%
  }

  .news-wrapper-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .video__item-content {
    padding-inline: round(clamp(16px, 14.5437997725px + .4550625711vw, 20px), 1px)
  }
}

@media (max-width:991px) {
  .hide-md {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-md.swiper-navigation,
  .hide-md.swiper-pagination {
    display: none
  }

  body:not(.home, .page-about) {
    padding-top: 110px
  }

  .text {
    padding-block: round(clamp(48px, 40.3695976155px + 2.3845007452vw, 64px), 1px)
  }

  .text-wrapper {
    display: grid
  }

  .text .container-right {
    display: contents
  }

  .text__left {
    padding-block: 0
  }

  .header-fixed {
    min-height: 110px
  }

  .header__mobile {
    height: calc(100dvh - 110px)
  }

  .header-main {
    padding-top: 110px
  }

  .header-main__img {
    right: 0;
    max-width: round(clamp(400px, 352.3099850969px + 14.9031296572vw, 500px), 1px)
  }

  .footer__bottom {
    display: grid;
    grid-template-columns: auto auto;
    row-gap: 4px
  }

  .about-main {
    padding-top: 110px;
    position: relative
  }

  .about-main__img {
    position: absolute;
    left: auto;
    right: 0;
    bottom: 0
  }

  .about-main-wrapper {
    display: block;
    margin-top: 20px
  }

  .about-main__right {
    flex-basis: 100%
  }

  .brands__item {
    max-width: 100%;
    max-height: 80px
  }

  .contact-wrapper {
    grid-template-columns: 1fr 1.3fr
  }

  .program-about__content {
    display: grid
  }

  .services__header .button {
    min-height: 42px
  }

  .news-wrapper {
    grid-template-columns: repeat(2, 1fr)
  }

  .single-news-wrapper {
    grid-template-columns: 100%;
    gap: 40px
  }

  .other {
    order: 3
  }

  .other__items {
    display: grid;
    grid-template-columns: 1fr 1fr
  }

  .video-wrapper:not(:has(>:nth-child(4))) {
    grid-template-columns: 100%
  }

  .step-wrapper {
    background: 0 0
  }
}

@media (max-width:767px) {
  .hide-sm {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-sm.swiper-navigation,
  .hide-sm.swiper-pagination {
    display: none
  }

  body:not(.home, .page-about) {
    padding-top: 100px
  }

  .header-fixed {
    min-height: 100px
  }

  .header__mobile {
    height: calc(100dvh - 100px)
  }

  .header-main {
    padding-top: 100px
  }

  .header-main__img {
    max-width: round(clamp(180px, 22.5055928412px + 49.2170022371vw, 400px), 1px)
  }

  .header-main__left {
    max-width: round(clamp(240px, 63.8926174497px + 55.033557047vw, 486px), 1px)
  }

  .footer__top {
    grid-template-columns: repeat(2, 1fr);
    justify-items: start
  }

  .footer__logo {
    grid-column: 1/-1
  }

  .about__right {
    max-width: 100%
  }

  .about__img {
    max-width: round(clamp(150px, 85.5704697987px + 20.1342281879vw, 240px), 1px)
  }

  .about__text {
    margin-bottom: 170px
  }

  .about__buttons {
    translate: 0 -140px
  }

  .about-main {
    padding-top: 100px
  }

  .contact-wrapper {
    grid-template-columns: 100%
  }

  .faq-callback {
    background: linear-gradient(270deg, #00622e, #00361b)
  }

  .faq-callback__bg,
  .features__item-text br {
    display: none
  }

  .faq-home {
    padding-bottom: 115px
  }

  .faq-callback {
    min-height: 230px
  }

  .faq-callback-home {
    margin-top: -115px
  }

  .features__item {
    display: grid;
    grid-template-columns: 100%;
    align-content: start
  }

  .investment-wrapper {
    background-position: 0
  }

  .program-wrapper {
    grid-template-columns: 100%
  }

  .program__item:nth-child(odd) {
    background: #f2f4f3
  }

  .program__item:nth-child(2n) {
    background: #f2ece1
  }

  .program-features-wrapper {
    grid-template-columns: repeat(2, 1fr)
  }

  .program-features__item:last-child:nth-child(odd) {
    grid-column: 1/-1
  }

  .services__header {
    justify-content: flex-start;
    margin-top: 20px
  }

  .services__item {
    grid-template-columns: repeat(2, 1fr)
  }

  .callback__img,
  .services-main__img {
    display: none
  }

  .callback-wrapper {
    grid-template-columns: 100%
  }

  .callback__form,
  .other__items {
    max-width: 100%
  }

  .other__items {
    display: flex;
    padding-bottom: 18px;
    margin-bottom: -18px;
    overflow-x: auto;
    overflow-y: hidden;
    cursor: grabbing
  }

  @supports (-moz-appearance:none) {
    .other__items {
      scrollbar-color: #bb9f6a #f2f4f3;
      scrollbar-width: thin
    }
  }

  .other__items::-webkit-scrollbar {
    height: 8px
  }

  .other__items::-webkit-scrollbar-track-piece {
    background: #f2f4f3;
    border-radius: 5px
  }

  .other__items::-webkit-scrollbar-thumb {
    background: #bb9f6a;
    border-radius: 5px
  }

  .other__item {
    flex: 0 0 max(220px, 40vw);
    grid-template-columns: 100%
  }

  .other__item-img,
  .other__item-img img {
    width: 100%
  }
}

@media (max-width:575px) {
  .hide-xs {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-xs.swiper-navigation,
  .hide-xs.swiper-pagination {
    display: none
  }

  .text-block blockquote:before {
    width: 20px;
    height: 20px;
    -webkit-mask-size: contain;
    mask-size: contain
  }

  body:not(.home, .page-about) {
    padding-top: 84px
  }

  .button {
    padding-inline: round(clamp(16px, 5.9607843137px + 3.137254902vw, 24px), 1px)
  }

  .popup__dialog {
    width: 400px;
    max-width: 100%;
    padding: 0 12px;
    margin: 0 auto
  }

  .header-fixed {
    min-height: 84px
  }

  .header__mobile {
    height: calc(100dvh - 84px)
  }

  .header-main {
    padding-top: 84px
  }

  .header-main__left {
    max-width: 100%
  }

  .header-main__subtitle {
    max-width: 250px
  }

  .footer__bottom,
  .footer__top {
    grid-template-columns: 100%
  }

  .about__text {
    margin-bottom: round(clamp(60px, 22.3529411765px + 11.7647058824vw, 90px), 1px)
  }

  .about__buttons {
    display: grid;
    max-width: 50%;
    translate: 0 round(clamp(-50px, -18.6274509804px + -9.8039215686vw, -75px), 1px)
  }

  .about-main {
    padding-top: 84px
  }

  .about-main__img {
    max-width: round(clamp(130px, -20.5882352941px + 47.0588235294vw, 250px), 1px)
  }

  .about-main-wrapper {
    max-width: round(clamp(250px, 124.5098039216px + 39.2156862745vw, 350px), 1px)
  }

  .about-main__text {
    font-size: 13px
  }

  .experience__item-number {
    font-size: 20px
  }

  .experience__item-text {
    font-size: 14px
  }

  .experience__right {
    gap: 16px;
    max-width: round(clamp(200px, 24.3137254902px + 54.9019607843vw, 340px), 1px)
  }

  .experience__img {
    left: auto;
    right: -10px;
    translate: 0 0;
    max-width: round(clamp(140px, 64.7058823529px + 23.5294117647vw, 200px), 1px)
  }

  .investment__buttons>* {
    width: 100%
  }

  .callback-2 .callback-wrapper,
  .news-wrapper,
  .program-about__blockquote,
  .program-features-wrapper,
  .services__item {
    grid-template-columns: 100%
  }

  .program-main .header-main__info-item>span {
    display: grid;
    gap: 3px
  }

  .single-news__pagination-button {
    width: 100%;
    gap: 10px
  }
}

@media (min-width:576px) and (max-width:1199px) {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: balance
  }
}

@media (max-width:1199px) and (min-width:768px) {

  body.home .header__call,
  body.page-about .header__call {
    color: #fff
  }

  body.home .header__call svg,
  body.page-about .header__call svg {
    fill: #fff
  }

  body.home .header__call img,
  body.page-about .header__call img {
    filter: brightness(0) invert(1)
  }

  .footer__contact {
    justify-self: end
  }

  .program__item:nth-child(4n+1),
  .program__item:nth-child(4n+4) {
    background: #f2f4f3
  }

  .program__item:nth-child(4n+2),
  .program__item:nth-child(4n+3) {
    background: #f2ece1
  }
}

@media (min-width:1200px) and (max-width:1400px) {
  .header-fixed:not(.header-fixed_fixed) {
    min-height: 90px
  }
}

@media (min-width:992px) and (max-width:1400px) {
  .header-main {
    padding-top: 90px
  }
}

@media (max-width:991px) and (min-width:576px) {
  .footer__bottom>:nth-child(2n) {
    text-align: right
  }
}

@media (max-width:767px) and (min-width:576px) {
  .footer__info {
    justify-self: end
  }

  .about-main__img {
    max-width: round(clamp(280px, 99.057591623px + 31.4136125654vw, 340px), 1px)
  }

  .about-main-wrapper {
    max-width: round(clamp(350px, 78.5863874346px + 47.1204188482vw, 440px), 1px)
  }
}

@media (max-width:1199px) and (min-width:992px) {
  .about__right {
    max-width: round(clamp(680px, 392.4637681159px + 28.9855072464vw, 740px), 1px)
  }
}

@media (max-width:991px) and (min-width:768px) {
  .about__right {
    max-width: round(clamp(500px, 258.9237668161px + 31.3901345291vw, 570px), 1px)
  }

  .about-main__img {
    max-width: round(clamp(340px, 202.2421524664px + 17.9372197309vw, 380px), 1px)
  }

  .about-main-wrapper {
    max-width: round(clamp(430px, 188.9237668161px + 31.3901345291vw, 500px), 1px)
  }
}

@media (min-width:992px) and (max-width:1500px) {
  .brands-wrapper {
    gap: round(clamp(28px, 18.8px + 2.875vw, 74px), 1px);
    row-gap: round(clamp(20px, 19.2px + .25vw, 24px), 1px)
  }
}

@media (min-width:1200px) and (max-width:1500px) {
  .experience__text p {
    max-width: round(clamp(363.2px, 345.04px + 5.675vw, 454px), 1px)
  }
}

@media (any-hover:hover) {
  .hover-active:hover {
    color: #a6874c
  }

  .hover-translate:hover {
    translate: 0 -3px
  }

  .hover-scale:hover img {
    scale: 1.02
  }

  .hover-icon:hover img,
  .hover-icon:hover svg {
    scale: 1.08
  }

  .footer__bottom a:hover,
  .form .checkbox__text a:hover,
  .underline:hover {
    text-decoration-color: transparent
  }

  .hover-underline:hover {
    text-decoration-color: currentColor
  }

  .pagination__items li a:hover {
    background: #a6874c;
    color: #fff
  }

  .crumbs li:not(:last-child):hover,
  .program-main .crumbs li:not(:last-child):hover:before {
    color: #a6874c
  }

  .crumbs li:not(:last-child):hover:before {
    color: #f2f4f3
  }

  .button:hover {
    background: color-mix(in srgb, #fff 20%, #a6874c)
  }

  .button-gradient:not(.active):hover:before {
    opacity: .7
  }

  .button_border:hover {
    background: #fcd886
  }

  .button_border-dark:hover {
    background: #a6874c
  }

  .button_white:hover {
    color: #272020
  }

  .tel:hover {
    color: #a6874c !important
  }

  .call .social svg:hover {
    fill: #a6874c !important
  }

  .lg-video-item:hover:before,
  .video__item:hover .lg-video-item:before {
    background: #fff
  }

  .lg-video-item:hover:after,
  .video__item:hover .lg-video-item:after {
    background: #a6874c
  }

  .popup__close svg:hover {
    fill: #a6874c
  }

  .brands__item:hover {
    scale: 1.03
  }

  .contact__social .social img:hover {
    scale: 1.1
  }

  .faq__item-title:hover,
  .footer__menu ul>li>a:hover,
  .footer__menu>li>a:hover,
  .header__menu>li>a:hover {
    color: #a6874c
  }

  .features__item:hover .features__item-title {
    scale: 1.01
  }

  .program__item:hover {
    background: #00562e;
    color: #fff
  }

  .program__item:hover .program__item-bg {
    filter: brightness(0) invert(1)
  }

  .services__header .button:not(.active):hover:after {
    background: color-mix(in srgb, #000 10%, #d3ded9)
  }

  .other__item:hover .other__item-title,
  .services__item:hover .services__item-title,
  .video__item:hover .video__item-title {
    color: #a6874c
  }

  .news__item:hover .news__item-img img {
    scale: 1.02
  }

  .single-news__pagination-button:nth-child(2):hover svg {
    fill: #fff
  }

  .other__item:hover .other__item-img img {
    scale: 1.03
  }
}