:root {
    --app-height: 100%;
}

.container {
  padding: 0 150px;
}

body {
  background: #14141F;
}

.top-header {
  height: 76px;
  display: flex;
  align-items: center;
  margin: 38px 0;
  justify-content: space-between;
}

.top-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.menu-item {
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 22.4px;
  text-align: left;
  color: #6490FA;
  text-transform: uppercase;
  padding: 10px 15px;
  margin: 0 15px;
}

.menu-item:hover {
  color: #eee;
}

.banner-block {
  height: 980px;
  background: linear-gradient(rgba(20, 20, 31, .95), rgba(20, 20, 31, .95)), url('/local/templates/main/img/banner-home.png');
}

.home header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}


h1.home-title {
  font-family: "Montserrat", sans-serif;
  font-size: 48px;
  font-weight: 300;
  line-height: 55px;
  text-align: left;
  color: #6490FA;
  margin-top: 317px;
}

.lblue-text {
  color: #DEE8FF;
  font-weight: 600;
}

.banner-block .container {
  overflow: hidden;
}

.home-title-desc {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 29.26px;
  max-width: 640px;
  color: #D6E2FF;
  margin-top: 57px;
}

.btn {
  padding: 15px 46px;
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 29.26px;
  color: #fff;
  display: block;
  border-radius: 9px;
  width: fit-content;
  border: none;
  outline: none;
}

.btn-primary-color {
  background: #6D45DE;
}

.banner-block .btn {
  margin-top: 57px;
}

.btn-primary-color:hover {
  background: #000;
}

.article-block {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: stretch;
}

.aimg-block, .atext-block {
  width: 50%;
}

.aimg-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aimg-block {
  object-fit: cover;
  height: 100%;
}

.aimg-block {
  height: auto;
  min-height: 490px;
  background-size: cover !important;
}

.atext-block {
  height: fit-content;
}

.atext-title {
  font-family: "Montserrat", sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 40.32px;
  text-align: left;
  color: #6490FA;
}

.atext-block {
  padding: 60px 150px;
}

.atext-desc {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: justified;
  color: #C3C3C3;
  margin-top: 30px;
}

.atext-desc a,
.atext-desc a:link,
.atext-desc a:visited {
  color: #6490FA;
  text-decoration: underline;
  text-decoration-color: rgba(100, 144, 250, 0.4);
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.atext-desc a:hover {
  color: #DEE8FF;
  text-decoration-color: rgba(222, 232, 255, 0.65);
}

.atext-block .btn {
  margin: 65px 0 0 0;
}

.btn-primary {
  background: linear-gradient(103.34deg, #7E46EA 15.16%, #14141F 117.27%);
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 24.38px;
  text-align: center;
}

.btn-primary:hover {
  background: #000;
}

.h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 44.8px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  margin: 60px 0 62px;
  text-align: center;
  display: block;
  color: #6490FA;
}

.reviews-block:not(.reviews-block--premium) {
  background: linear-gradient(100.29deg, #0C0C12 19.2%, #14141F 102.47%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
  overflow: hidden;
  padding-bottom: 179px;
}

.reviews_list {
  display: flex;
  justify-content: space-between;
}

.reviews_item {
  width: calc((100% - 156px) / 4);
  padding: 85px 40px 52px 40px;
  background: #06060a;
  border-radius: 15px;
  position: relative;
  margin-top: 49px;
  max-width: 362px;
}

.review-img {
  position: absolute;
  top: -49px;
  left: 26px;
  width: 109px;
  height: 109px;
  border-radius: 50%;
}

.reviews-name {
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 22.4px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  color: #6490FA;
  display: block;
}

.reviews-position {
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 14.56px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  color: #6490FA;
  display: block;
  margin-top: 5px;
}

.reviews-text {
  margin-top: 30px;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 14.56px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  color: #fff;
  display: block;
}

.cms-block {
  background: linear-gradient(111.86deg, #14141F 35.68%, #0D0D14 100%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}

.cms-items-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 71px 0;
}

.pricing-blocks {
  margin-top: 28px;
  display: flex;
  gap: 50px;
  width: 100%;
  justify-content: center;
}

.price {
  background: linear-gradient(210.25deg, #CAEAAD 0%, #AAD584 50.42%, #CAEAAD 100%);
  width: calc((100% - 190px) / 3);
  border-radius: 36px;
  padding: 30px 45px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 472px;
}

.price-green {
  background: url('/local/templates/main/img/green.svg'), linear-gradient(210.25deg, #CAEAAD 0%, #AAD584 50.42%, #CAEAAD 100%);
  background-repeat: no-repeat;
  background-position: 114% 72%;
}

.price-badge {
  padding: 10px 50px;
  background: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 22.4px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  display: block;
  width: fit-content;
  border-radius: 9px;
}

.price-title {
  font-family: "Montserrat", sans-serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 44.8px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  margin-top: 60px;
  margin-bottom: 45px;
}

.price-list {
  margin-bottom: 45px;
  flex: 1;
}

.price-list li {
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 24.38px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  list-style-type: disc;
  margin-left: 30px;
}

.price .btn {
  text-align: center;
  padding: 16px 50px;
  background: linear-gradient(103.34deg, #7E46EA 15.16%, #14141F 117.27%);
  margin: 0 auto;
}

.all-uslugi {
  color: #6490FA;
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 26.88px;
  text-align: left;
  text-underline-position: from-font;
  text-decoration-skip-ink: none;
  margin: 100px auto 60px;
  display: flex;
  width: fit-content;
  align-items: center;
}

.icon-right {
  display: inline-block;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDkgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0tMi45MjEyOGUtMDcgMTQuNjkyNEwxLjMzODUzIDE2TDguNjI5MTYgOC44NzM0QzguNzQ2NjggOC43NTkyMSA4LjgzOTk1IDguNjIzNDEgOC45MDM1OSA4LjQ3Mzg0QzguOTY3MjQgOC4zMjQyNiA5IDguMTYzODYgOSA4LjAwMTg1QzkgNy44Mzk4NCA4Ljk2NzI0IDcuNjc5NDQgOC45MDM1OSA3LjUyOTg2QzguODM5OTUgNy4zODAyOSA4Ljc0NjY4IDcuMjQ0NDkgOC42MjkxNiA3LjEzMDNMMS4zMzg1MyAxLjMzOTU3ZS0wNkwwLjAwMTI1OTA4IDEuMzA3NjNMNi44NDQwMyA4TC0yLjkyMTI4ZS0wNyAxNC42OTI0WiIgZmlsbD0iIzY0OTBGQSIvPgo8L3N2Zz4K");
  width: 9px;
  height: 16px;
  margin-left: 15px;
}

.price-violet {
  background: linear-gradient(208.65deg, #B49AFE 1.15%, #7152CB 49.88%, #B49AFE 98.92%);
}

.price-violet .price-title,
.price-violet .price-list,
.price-black .price-title,
.price-black .price-list {
  color: #BFD2FF;
}

.price-black {
  background: linear-gradient(210.82deg, rgba(20, 20, 31, 0.2) 0%, rgba(100, 100, 123, 0.2) 49.79%, rgba(20, 20, 31, 0.2) 98.59%);
}

section.form-block {
  width: 100%;
  height: fit-content;
  background: url('/local/templates/main/img/formback.png') center center no-repeat;
  background-size: cover;
  padding: 200px 0;
  display: flex;
  justify-content: center;
}

body.home section.form-block {
  padding-bottom: 120px;
}

.form-h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 100%;
  letter-spacing: 0%;
  color: #CBCCCD;
  text-align: center;
}

.form-subtitle {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  text-transform: uppercase;
  text-align: center;
  color: #CBCCCD;
  margin-top: 15px;
  margin-bottom: 60px;
}

#feedback_form {
  max-width: 600px;
}

.form-group {
  margin: 30px 0;
}

.form-input {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 56px;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;
  padding-left: 10px;
  border-bottom: 1px solid #505E84;
  width: 100%;
  color: #505E84;
}

.form-input::placeholder {
  color: #505E84;
}

.fg-title {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;
  color: #CBCCCD;
  text-align: center;
}

.custom-radio-wrap {
  margin: 30px 0;
  display: flex;
  justify-content: center;
}

.custom-radio input {
  display: none;
}

.custom-radio {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;
  color: #505E84;
  margin: 0 15px;
  display: flex;
  align-items: center;
}

.custom-radio .cr-indicator {
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background: #505E84;
  display: block;
  margin-right: 5px;
}

.custom-radio:has(input:checked) .cr-indicator {
  background: #CBCCCD;
}

.custom-radio:has(input:checked) {
  color: #CBCCCD;
}

.btn-form {
  background: #6D45DE;
  margin: 30px auto 0;
}

.btn-form:hover {
  background: #000;
}

.form-input:focus {
  border-color: #CBCCCD !important;
}

.form-input:focus::placeholder {
  color: #CBCCCD !important;
}


.footer-lowerblock {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  color: #6b7a99;
  padding: 20px 0 32px;
  border-top: 1px solid rgba(100, 144, 250, 0.08);
  margin-top: 8px;
}

footer .menu-item {
  font-size: 16px;
}

.prices-block .btn:hover {
  background: #000;
}

.page-title {
  margin: 88px 0 72px;
  padding-top: 12px;
}

.page-title .container,
.page-title .title-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  position: relative;
  padding-left: 32px;
}

.page-title .container::before,
.page-title .title-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, #6490fa 0%, #7e46ea 100%);
}

.page-title .breadcrumbs {
  order: 1;
  margin: 0;
  flex-shrink: 0;
  width: auto;
  min-width: 0;
  padding-left: 0;
}

.page-title .breadcrumbs::before {
  display: none;
}

.page-title .container > h1,
.page-title .title-wrap > h1 {
  order: 2;
  margin: 0;
  padding-left: 0;
}

/* На «Ценах» линия только у блока заголовка, не у всего container с табами */
.page-title--price .container {
  display: block;
}

.page-title--price .container::before {
  display: none;
}

h1 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 48px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  color: #6490FA;
}

h1 {
  font-size: 48px;
  line-height: 1.1em;
}

.breadcrumbs {
  display: block;
  color: #6b7a99;
}

.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.breadcrumbs__item {
  display: inline-flex;
  align-items: center;
}

.breadcrumbs__item + .breadcrumbs__item::before {
  content: "→";
  margin: 0 10px;
  font-size: 14px;
  line-height: 1;
  color: #a1bdff;
  font-weight: 400;
  pointer-events: none;
}

.breadcrumbs__link,
.breadcrumbs__current {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: #6b7a99;
}

.breadcrumbs__link {
  text-decoration: none;
  transition: color 0.2s ease;
}

.breadcrumbs__link:hover {
  color: #6490fa;
}

.breadcrumbs__current {
  color: #a1bdff;
}

.big-items-list {
  display: flex;
  flex-direction: row;
  gap: 45px;
  flex-wrap: wrap;
}

.big-item {
  width: calc((100% - 45px)/2);
  background: linear-gradient(125.22deg, #563898 0%, #251A45 99.29%);
  border-radius: 25px;
  padding: 45px;
  box-sizing: border-box;
}

.big-item:hover {
  background: linear-gradient(125.07deg, #2D869C 0.93%, #C770FF 100%);
  cursor: pointer;
}

.bi-header {
  display: flex;
  justify-content: space-between;
}

.bi-title {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 35px;
  line-height: 40px;
  letter-spacing: 0%;
  color: #FFFFFF;
  width: auto;
  padding-right: 60px;
}

.bi-tag {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;
  color: #fff;
  padding: 17px 35px;
  background: #14141F94;
  display: block;
  min-width: max-content;
  border-radius: 11px;
  height: fit-content;
}

.big-item-back .bi-more {
  display: none;
}

.bi-more {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  color: #fff;
  height: 44px;
  display: flex;
  align-items: center;
}

.bi-more-icon {
  height: 44px;
  width: 44px;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgN0MwLjQ0NzcxNSA3IDQuODI4MjNlLTA4IDcuNDQ3NzIgMCA4Qy00LjgyODIzZS0wOCA4LjU1MjI4IDAuNDQ3NzE1IDkgMSA5TDEgN1pNMTkuNzA3MSA4LjcwNzExQzIwLjA5NzYgOC4zMTY1OCAyMC4wOTc2IDcuNjgzNDIgMTkuNzA3MSA3LjI5Mjg5TDEzLjM0MzEgMC45Mjg5MzNDMTIuOTUyNiAwLjUzODQwOSAxMi4zMTk1IDAuNTM4NDA5IDExLjkyODkgMC45Mjg5MzNDMTEuNTM4NCAxLjMxOTQ2IDExLjUzODQgMS45NTI2MiAxMS45Mjg5IDIuMzQzMTVMMTcuNTg1OCA4TDExLjkyODkgMTMuNjU2OUMxMS41Mzg0IDE0LjA0NzQgMTEuNTM4NCAxNC42ODA1IDExLjkyODkgMTUuMDcxMUMxMi4zMTk1IDE1LjQ2MTYgMTIuOTUyNiAxNS40NjE2IDEzLjM0MzEgMTUuMDcxMUwxOS43MDcxIDguNzA3MTFaTTEgOEwxIDlMMTkgOUwxOSA4TDE5IDdMMSA3TDEgOFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo="), #7556CE;
  border-radius: 50%;
  margin-left: 20px;
  background-position: center;
  background-repeat: no-repeat;
}

.big-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 311px;
}

.bi-back {
  margin: 0 -45px -45px;
  border-radius: 25px;
  height: 329px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.big-item-back {
  height: 667px;
}

.prev-set {
  width: calc((100% - 45px)/2);
}

.prev-set .big-item {
  width: 100%;
  margin-bottom: 45px;
}

.prev-set .big-item:last-child {
  margin-bottom: 0;
}

.pagination {
  margin-bottom: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.big-items-list {
  margin-bottom: 100px;
}

.pagination .page-number {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0%;
  color: #fff;
  justify-content: center;
  border-radius: 50%;
  margin-left: 14px;
  padding-left: 2px;
}

.page-number:first-child {
  margin-left: 0;
}

.page-number:hover {
  background: #7556CE;
}

.page-number.active {
  background: #7556CE;
}

.pricing-blocks {
  flex-wrap: wrap;
}

.price-red {
  background: linear-gradient(96.59deg, #DE4545 0.25%, #D17777 50%, #DE4545 99.75%);
  width: 994px;
}

.price-red .btn {
  margin-right: unset;
}

.price-blue {
  background: linear-gradient(210.25deg, #7B9FF3 0%, #5C8AF5 50.42%, #7B9FF3 100%);
  width: 472px;
}

.price-violet {
  background: url('/local/templates/main/img/violet.svg'), linear-gradient(208.65deg, #B49AFE 1.15%, #7152CB 49.88%, #B49AFE 98.92%);
  background-repeat: no-repeat;
  background-position: 60% 74%;
}

.price-black {
  background: url('/local/templates/main/img/black.svg'), linear-gradient(210.82deg, rgba(20, 20, 31, 0.2) 0%, rgba(100, 100, 123, 0.2) 49.79%, rgba(20, 20, 31, 0.2) 98.59%);
  background-repeat: no-repeat;
  background-position: 60% 74%;
}

.price-red {
  background: url('/local/templates/main/img/red.svg'), linear-gradient(96.59deg, #DE4545 0.25%, #D17777 50%, #DE4545 99.75%);
  background-repeat: no-repeat;
  background-position: 60% 74%;
}

.price-blue {
  background: url('/local/templates/main/img/blue.svg'), linear-gradient(210.25deg, #7B9FF3 0%, #5C8AF5 50.42%, #7B9FF3 100%);
  background-repeat: no-repeat;
  background-position: 60% 74%;
}

.container-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tabs-selector {
  display: flex;
}

.tabs-sel {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;
  color: #6490FA;
  padding: 0 30px;
  line-height: 38px;
  height: 38px;
  display: block;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 9px;
}

.tabs-sel.active {
  border: 1px solid #6490FA;
  border-radius: 9px;
  cursor: unset;
}

.tabs-sel:hover {
  color: #fff;
}

.tabs-sel.active:hover {
  color: #fff;
}

.project-details {
  width: 100%;
  background: linear-gradient(111.86deg, #14141F 35.68%, #0D0D14 100%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
  padding: 66px 0;
  margin-top: 15px;
  margin-bottom: 15px;
}

.project-details .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pd-item {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;
  color: #6490FA7D;
}

.pd-item .icon {
  height: 48px;
  width: 48px;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: fit !important;
  display: block;
  margin-right: 16px;
  position: relative;
}

.pd-item {
  display: flex;
  align-items: center;
}

.icon-team {
  background: url('/local/templates/main/img/team.svg');
  background-size: 100% !important;
}

.icon-calendar {
  background: url('/local/templates/main/img/calend.svg');
  background-size: 100% !important;
}

.icon-counter {
  position: absolute;
  right: -13px;
  bottom: -13px;
  background: #14141F;
  width: 33px;
  height: 33px;
  text-align: center;
  line-height: 33px;
  border-radius: 50%;
}

.content .container * {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 30px;
  letter-spacing: 0%;
  color: rgba(255, 255, 255, .80);
}

.content .container br {
  display: none;
}

.content .container img {
  margin: 50px auto;
  display: block;
}

.content .container p {
  margin: 25px 0;
}

.content .container ol, .content .container ul {
  margin: 25px 0 25px 50px;
}

.content .container h2 {
  font-size: 30px;
  color: #6490FA;
  font-weight: 500;
  margin: 50px 0 25px;
}

.content .container li {
  padding-left: 15px;
}

.content {
  margin: 60px 0;
}

.small-tags {
  display: flex;
  margin-top: 50px;
}

.small-tags span {
  display: block;
  margin-right: 30px;
  background: #553797;
  padding: 18px 34px;
  border-radius: 11px;
}

.breadcrumbs__link {
  display: inline;
}

.modal-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.modal-content {
  background: rgba(126, 70, 234, 0.5);
  backdrop-filter: blur(24px);
  box-sizing: border-box;
  border-radius: 25px;
  width: 800px;
}
.modal-content .form_inside{
  padding:50px;
  box-sizing:border-box;
}

.modal-content .form-h2 {
  color: #fff;
}

.modal-content .form-input, .modal-content .form-input::placeholder {
  color: #fff;
  border-color: #fff;
}

.modal-content .custom-radio {
  color: #fff;
}

.modal-content .cr-indicator {
  background: #fff;
}

.modal-content .custom-radio:has(input:checked) .cr-indicator {
  background: #14141F;
}

.modal-content .custom-radio:has(input:checked) {
  color: #14141F;
}

.modal-content .form-subtitle {}

.modal-content .form-group:has(.product-type) {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 56px;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;
  padding-left: 10px;
  width: 100%;
  color: #fff;
}

.modal-content {
  position: relative;
}

.modal-content .close {
  width: 40px;
  position: absolute;
  height: 40px;
  background: url(/local/templates/main/img/closed.svg), rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(48px);
  border-radius: 50%;
  border: 1px solid #fff;
  top: -50px;
  left: calc(50% - 15px);
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  cursor: pointer;
}

.form-footer .custom-checkbox-icon {
  width: 20px;
  height: 20px;
  display: block;
  margin-right: 18px;
  border-radius: 5px;
  border: 1px solid #c8cdd3;
  background: #d9dce3;
}

.form-footer input:checked+.custom-checkbox-icon {
  background: url('/local/templates/main/img/check.svg'), #6D45DE;
  border-color: #6D45DE;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px;
}

.form-footer input {
  display: none;
}

.form-footer {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}

.form-footer span {
  width: calc(100% - 38px);
  max-width: 500px;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  color: #505E84;
}

.form-footer span a {
  color: #505E84;
  text-decoration: underline;
}

.modal-content .form-footer span {
  color: #fff;
}

.modal-content .form-footer span a {
  color: #fff;
}

.content .container li {
  list-style-type: uset;
  margin: 15px 0;
}

.mob-menu-toggle {
  display: none;
}

.reviews_list .slick-track {
  display: flex !important;
  align-items: stretch;
  gap: 50px;
}

.reviews_list .slick-track .reviews_item {
  height: auto;
  width: 25%;
  max-width: unset;
}

.cms-items-wrapper .slick-track {
  min-width: 100%;
}

.cms-items-wrapper .slick-list {
  width: 100%;
}

.cms-item {
  margin: 0 50px;
  display: flex !important;
  justify-content: center;
  align-items: center;
}

.breadcrumbs {
  overflow: visible;
  max-width: 100%;
}

.breadcrumbs__list {
  overflow: visible;
}

.breadcrumbs__link,
.breadcrumbs__current {
  white-space: nowrap;
}

.content .container * {
  font-size: 24px;
  line-height: 1.3em;
}

.small-tags span {
  padding: 18px 34px;
  font-size: 20px !important;
}

.modal-content{
 max-height:calc(var(--app-height) - 100px);
 height:fit-content;
}
.form_inside{
 max-height:inherit;
 height:inherit;
 overflow-y:auto;
}
.modal-content .form_inside{
  padding:50px;
  box-sizing:border-box;
}
.mobile-menu{
  display:none;
}
.mobile-menu{
 position:fixed;
 top:0;
 left:0;
 width:100%;
 height:100%;
 flex-direcition:column;
 align-items:center;
 justify-content:center;
   background: rgba(126, 70, 234, 0.3);
  backdrop-filter: blur(48px);
}
.mobile-menu.active{
  display:flex;
}
.mobile-menu .top-menu {
  width: 100%;
  justify-content: center;
}
.mobile-menu .close {
  width: 40px;
  position: absolute;
  height: 40px;
  background: url(/local/templates/main/img/closed.svg);
  border-radius: 50%;
  top: 10px;
  right: 15px;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  cursor: pointer;
}

@media screen and (max-width:1815px) {
  .price-red {
    width: 472px;
  }

  .price-red .btn {
    margin-right: auto;
  }
}

@media screen and (max-width:1750px) {
  .atext-block {
    padding: 60px 100px;
  }
}

@media screen and (max-width:1600px) {
  .container {
    padding: 0 75px;
  }

  .atext-block {
    padding: 50px 75px;
  }

  .atext-title {
    font-size: 33px;
    line-height: 36px;
  }

  .atext-desc {
    font-size: 16px;
    line-height: 24px;
  }

  .atext-block .btn {
    margin: 45px 0 0 0;
  }

  .menu-item {
    font-size: 17px;
    margin: 0 10px;
  }

  .logo-top img {
    width: 220px;
    height: auto;
  }

  .logo-botom img {
    width: 220px;
    height: auto;
  }

  h1.home-title {
    margin-top: 250px;
  }

  .banner-block {
    height: 860px;
  }

  .reviews_item {
    width: calc((100% - 90px) / 4);
  }

  .reviews_list .slick-track {
    gap: 30px;
  }
}

@media screen and (max-width:1500px) {
  .h2 {
    margin: 45px 0 45px;
    font-size: 32px;
    line-height: 36px;
  }

  h1 {
    font-size: 40px;
    line-height: 1.1em;
  }

  .content .container * {
    font-size: 20px;
    line-height: 1.3em;
  }

  .small-tags span {
    padding: 12px 25px;
    font-size: 16px !important;
  }

  .breadcrumbs__link,
  .breadcrumbs__current {
    font-size: 13px;
    line-height: 1.4;
  }

  .breadcrumbs__item + .breadcrumbs__item::before {
    font-size: 13px;
  }

  .form-h2 {
    font-size: 32px;
    line-height: 36px;
  }

  .form-subtitle {
    font-size: 20px;
    line-height: 24px;
  }

  .reviews-block {
    padding-bottom: 140px;
  }

  .bi-title {
    font-size: 30px;
    line-height: 1.3em;
  }

  .bi-tag {
    font-size: 15px;
    padding: 12px 25px;
  }

  .big-item {
    padding: 30px;
  }

  .bi-back {
    margin: 0 -30px -30px;
  }

  .bi-more {
    font-size: 15px;
  }

  .bi-more-icon {
    width: 35px;
    height: 35px;
    background-size: 18px;
    margin-left: 15px;
  }
}

@media screen and (max-width:1400px) {
  .container {
    padding: 0 50px;
  }

  h1.home-title {
    font-size: 42px;
    line-height: 50px;
  }

  .home-title-desc {
    font-size: 21px;
    line-height: 26px;
    margin-top: 45px;
  }

  .btn {
    font-size: 20px;
    padding: 13px 35px;
  }

  .menu-item {
    font-size: 16px;
    padding: 8px 13px;
  }
}

@media screen and (max-width:1300px) {
  .atext-block {
    padding: 50px 50px;
  }

  .atext-title {
    font-size: 28px;
    line-height: 33px;
  }

  .atext-desc {
    font-size: 15px;
    line-height: 19px;
  }

  .atext-block .btn {
    margin: 40px 0 0 0;
  }

  .aimg-block {
    min-height: unset;
  }
}

@media screen and (max-width:1200px) {
  .container {
    padding: 0 40px;
  }

  h1.home-title {
    font-size: 35px;
    line-height: 40px;
    margin-top: 230px;
  }

  .home-title-desc {
    font-size: 18px;
    line-height: 22px;
    margin-top: 30px;
  }

  .btn {
    font-size: 18px;
    padding: 12px 28px;
  }

  .banner-block {
    height: 680px;
  }

  .reviews_list .slick-track {
    gap: 20px;
  }

  .price {
    padding: 20px 30px;
    width: 400px;
  }

  .price-title {
    margin-top: 40px;
    margin-bottom: 35px;
    font-size: 35px;
  }

  .price-badge {
    font-size: 18px;
    padding: 10px 35px;
  }

  .price-list li {
    font-size: 17px;
  }

  .tabs-sel {
    font-size: 14px;
    padding: 0 20px;
    height: 30px;
    line-height: 30px;
  }

  .bi-title {
    font-size: 27px;
    line-height: 1.3em;
  }

  .bi-tag {
    font-size: 13px;
    padding: 9px 18px;
  }

  .big-item {
    padding: 20px;
  }

  .bi-back {
    margin: 0 -20px -20px;
  }

  .bi-more {
    font-size: 14px;
  }

  .bi-more-icon {
    width: 30px;
    height: 30px;
    background-size: 14px;
    margin-left: 12px;
  }
}

@media screen and (max-width:1100px) {
  .menu-item {
    font-size: 15px;
    margin: 0 7px;
  }

  .logo-top img {
    width: 200px;
    height: auto;
  }

  .logo-bottom img {
    width: 200px;
    height: auto;
  }

  .article-block {
    flex-direction: column;
  }

  .article-block:last-child {
    flex-direction: column-reverse;
  }

  .aimg-block {
    height: auto;
    width: 100%;
    aspect-ratio: 960/400;
  }

  .atext-block {
    width: 100%;
  }
}

@media screen and (max-width: 950px) {
  h1.home-title {
    font-size: 28px;
    line-height: 33px;
    margin-top: 180px;
  }

  .home-title-desc {
    font-size: 15px;
    line-height: 19px;
    margin-top: 25px;
  }

  .btn {
    font-size: 15px;
    padding: 10px 20px;
  }

  .banner-block {
    height: 530px;
  }

  .menu-item {
    font-size: 14px;
    padding: 5px 10px;
  }

  .h2 {
    margin: 30px 0 30px;
    font-size: 27px;
    line-height: 31px;
  }

  .small-tags span {
    padding: 10px 15px;
    font-size: 14px !important;
  }

  h1 {
    font-size: 35px;
    line-height: 1.1em;
  }

  .content .container * {
    font-size: 17px;
    line-height: 1.3em;
  }

  .breadcrumbs__link,
  .breadcrumbs__current {
    font-size: 12px;
    line-height: 1.4;
  }

  .form-h2 {
    font-size: 27px;
    line-height: 31px;
  }

  .form-subtitle {
    font-size: 18px;
    line-height: 20px;
  }

  .reviews-block {
    padding-bottom: 120px;
  }

  .footer-lowerblock {
    font-size: 12px;
  }

  .bi-title {
    font-size: 23px;
    line-height: 1.3em;
  }

  .bi-tag {
    font-size: 12px;
    padding: 10px 15px;
  }

  .pagination .page-number {
    width: 30px;
    height: 30px;
    font-size: 15px;
    margin-left: 10px;
    padding-left: 1px;
  }

  .big-items-list, .pagination {
    margin-bottom: 50px;
  }
}

@media screen and (max-width:850px) {
  .container {
    padding: 0 25px;
  }

  .big-item {
    width: 100%;
    height: fit-content;
  }

  .prev-set {
    width: 100%;
  }

  .bi-header {
    padding: 5px 0 75px 0;
  }
}

@media screen and (max-width:800px) {

  .modal-content .form-subtitle{
    margin: 15px 0 30px 0!important;
    font-size:14px;
  }

  .modal-content .form-group{
    margin:20px 0;
  }

  .modal-content{

  }

  .modal-content .form_inside{
    padding:30px 20px;
    box-sizing:border-box;
  }

  .modal-content .form-group:has(.product-type){
    font-size:16px;
    line-height:1.2em;
  }

  .modal-content .form-input{
    font-size:16px;
  }

}

@media screen and (max-width:700px) {
  header .top-menu {
    display: none;
  }

  .cms-items-wrapper {
    padding: 35px 0;
  }

  .footer-head {
    margin-bottom: 24px;
  }

  .footer-col--partner .footer-partner-badge {
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 360px;
  }

  .footer-col--partner .footer-partner-badge img {
    margin: 0;
    flex-shrink: 0;
  }

  .footer-brand .logo {
    height: 44px;
    max-width: 220px;
  }

  .mob-menu-toggle {
    display: block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjEiIGhlaWdodD0iNjEiIHZpZXdCb3g9IjAgMCA2MSA2MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUzLjM3NSAxOS42OTc5SDcuNjI1QzYuNTgyOTIgMTkuNjk3OSA1LjcxODc1IDE4LjgzMzcgNS43MTg3NSAxNy43OTE3QzUuNzE4NzUgMTYuNzQ5NiA2LjU4MjkyIDE1Ljg4NTQgNy42MjUgMTUuODg1NEg1My4zNzVDNTQuNDE3MSAxNS44ODU0IDU1LjI4MTMgMTYuNzQ5NiA1NS4yODEzIDE3Ljc5MTdDNTUuMjgxMyAxOC44MzM3IDU0LjQxNzEgMTkuNjk3OSA1My4zNzUgMTkuNjk3OVoiIGZpbGw9IiM1RDhCRjYiLz4KPHBhdGggZD0iTTUzLjM3NSAzMi40MDYzSDcuNjI1QzYuNTgyOTIgMzIuNDA2MyA1LjcxODc1IDMxLjU0MjEgNS43MTg3NSAzMC41QzUuNzE4NzUgMjkuNDU3OSA2LjU4MjkyIDI4LjU5MzggNy42MjUgMjguNTkzOEg1My4zNzVDNTQuNDE3MSAyOC41OTM4IDU1LjI4MTMgMjkuNDU3OSA1NS4yODEzIDMwLjVDNTUuMjgxMyAzMS41NDIxIDU0LjQxNzEgMzIuNDA2MyA1My4zNzUgMzIuNDA2M1oiIGZpbGw9IiM1RDhCRjYiLz4KPHBhdGggZD0iTTUzLjM3NSA0NS4xMTQ2SDcuNjI1QzYuNTgyOTIgNDUuMTE0NiA1LjcxODc1IDQ0LjI1MDQgNS43MTg3NSA0My4yMDgzQzUuNzE4NzUgNDIuMTY2MyA2LjU4MjkyIDQxLjMwMjEgNy42MjUgNDEuMzAyMUg1My4zNzVDNTQuNDE3MSA0MS4zMDIxIDU1LjI4MTMgNDIuMTY2MyA1NS4yODEzIDQzLjIwODNDNTUuMjgxMyA0NC4yNTA0IDU0LjQxNzEgNDUuMTE0NiA1My4zNzUgNDUuMTE0NloiIGZpbGw9IiM1RDhCRjYiLz4KPC9zdmc+Cg==");
    background-size: 45px;
    background-repeat: no-repeat;
    background-position: center;
  }

  h1.home-title {
    font-size: 25px;
    line-height: 28px;
    margin-top: 170px;
  }

  .home-title-desc {
    font-size: 15px;
    line-height: 19px;
    margin-top: 25px;
    padding: 0 30px 0 0;
  }

  .btn {
    font-size: 14px;
    padding: 9px 18px;
  }

  .banner-block {
    height: unset;
    padding-bottom: 80px;
  }

  #feedback_form {
    width: 100%;
    padding: 0 50px;
  }
}

@media screen and (max-width:600px) {
  .container {
    padding: 0 15px;
  }

  .aimg-block {
    aspect-ratio: 960/600;
  }

  .atext-block {
    padding: 50px 15px;
  }

  .atext-title {
    font-size: 20px;
    line-height: 25px;
  }

  .atext-desc {
    font-size: 13px;
    line-height: 16px;
  }

  .atext-block .btn {
    margin: 30px 0 0 0;
  }

  .price {
    padding: 15px 20px;
    max-width: 350px;
    width: 95%;
  }

  .price-title {
    margin-top: 25px;
    margin-bottom: 25px;
    font-size: 30px;
  }

  .price-badge {
    font-size: 14px;
    padding: 7px 20px;
  }

  .price-list li {
    font-size: 15px;
  }

  .all-uslugi {
    margin: 60px auto 30px;
    font-size: 20px;
  }

  .price .btn {
    padding: 7px 20px;
  }

  .form-input {
    font-size: 18px;
    line-height: 45px;
  }

  section.form-block {
    padding: 100px 0;
  }

  .page-title .container:has(.tabs-selector) {
    flex-direction: column;
    gap: 30px;
  }

  .page-title .container:has(.tabs-selector) h1 {
    text-align: center;
  }

  .bi-title {
    font-size: 20px;
  }

  .bi-back {
    height: auto;
    aspect-ratio: 16/9;
  }

  .big-item {
    margin-bottom: 0px;
  }

  .big-items-list {
    gap: 30px;
  }

  .prev-set .big-item {
    margin: 0;
  }

  .prev-set {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .bi-back img {
    max-width: 50%;
  }

    .modal-content .form-group{
      margin:20px 0;
    }



    .modal-content .form_inside{
      padding:30px 20px;
      box-sizing:border-box;
    }

    .modal-content .form-group:has(.product-type){
      font-size:16px;
      line-height: 1.2em;
    }

    .modal-content .form-input{
      font-size:16px;
    }

    .modal-content .fg-title{
      font-size:15px;
    }

    .modal-content .custom-radio{
      font-size:12px;
    }

    .modal-content .custom-checkbox-icon{
      width:16px;
      height:16px;
      margin-right:12px;
    }
}

@media screen and (max-width:475px) {
  .top-header {
    height: 50px;
  }

  .price {
    border-radius: 25px;
  }

  .logo-top img {
    height: 50px;
    width: auto;
  }

  .logo-bottom img {
    height: 50px;
    width: auto;
  }

  .mob-menu-toggle {
    height: 40px;
    width: 40px;
    background-size: 35px;
  }


  .bi-header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 15px;
  }

  .bi-title {
    padding: 0;
    font-size: 16px;
  }

  .bi-header {
    padding-bottom: 45px;
  }
}

@media screen and (max-width: 390px) {
  h1.home-title {
    font-size: 20px;
    line-height: 25px;
    margin-top: 140px;
  }

  .home-title-desc {
    font-size: 14px;
    line-height: 17px;
    margin-top: 20px;
    padding: 0 30px 0 0;
  }

  .btn {
    font-size: 14px;
    padding: 9px 18px;
    margin-top: 30px;
  }

  .banner-block {
    height: unset;
    padding-bottom: 70px;
  }

  .h2 {
    margin: 30px 0 30px;
    font-size: 24px;
    line-height: 28px;
  }

  .small-tags span {
    padding: 8px 13px;
    font-size: 12px !important;
  }

  h1 {
    font-size: 30px;
    line-height: 1.1em;
  }

  .breadcrumbs__link,
  .breadcrumbs__current {
    font-size: 12px;
    line-height: 1.4;
  }

  .content .container * {
    font-size: 16px;
    line-height: 1.3em;
  }

  .form-h2 {
    font-size: 24px;
    line-height: 28px;
  }

  .form-subtitle {
    font-size: 16px;
    line-height: 18px;
  }

  .form-footer span {
    font-size: 12px;
  }

  .reviews-block {
    padding-bottom: 80px;
  }

  #feedback_form {
    width: 100%;
    padding: 0 25px;
  }

  .form-input {
    font-size: 15px;
    line-height: 35px;
  }

  .tabs-sel {
    font-size: 14px;
    padding: 0 10px;
    height: 30px;
    line-height: 30px;
  }
}
.project-details .container .pd-item {
    display:flex;
    margin-right:50px;
     padding:66px 0;
}

.project-details{
    padding:0;
}

.small-tags{
    flex-wrap:wrap;
    gap:30px;
}

.small-tags span{
    margin:0;
}

@media screen and (max-width:1550px) {

    .project-details .container .pd-item{
        padding:35px 0;
    }

    .project-details .container{
        flex-wrap:wrap;
    }

    .pd-item{
        font-size:20px;
    }

    .pd-item .icon{
        width:35px;
        height:35px;
        background-size:cover!important;
    }

    .icon-counter{
        width:25px;
        height:25px;
        font-size:18px;
    }



}

@media screen and (max-width:1000px) {
        .project-details .container .pd-item{
        padding:25px 0;
    }

    .pd-item{
        font-size:17px;
    }

    .pd-item .icon{
        width:25px;
        height:25px;
        background-size:cover!important;
    }

    .icon-counter{
        width:18px;
        height:18px;
        font-size:15px;
        display:flex;
        align-items:center;
        justify-content: center;
        right:-7px;
        bottom:-7px;
    }

    .small-tags{
    flex-wrap:wrap;
    gap:10px;
}
}
/* ===== Policy modal (purple/dark style) ===== */

.pmodal{
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
}

.pmodal *{
  font-family: "Montserrat", sans-serif;
}

.pmodal.is-open{ display:block; }

.pmodal__overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 420px at 25% 20%, rgba(123, 97, 255, .25), transparent 60%),
    radial-gradient(700px 420px at 80% 35%, rgba(159, 110, 255, .18), transparent 62%),
    rgba(8, 8, 14, .78);
  backdrop-filter: blur(6px);
}

.pmodal__dialog{
  position: relative;
  margin: 6vh auto;
  width: min(920px, calc(100% - 32px));
  border-radius: 22px;

  background:
    radial-gradient(700px 380px at 30% 0%, rgba(123, 97, 255, .18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(18, 18, 30, .78);

  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 30px 80px rgba(0,0,0,.60);
  backdrop-filter: blur(14px);
  overflow: hidden;
}

.pmodal__head{
  padding: 26px 26px 16px;
}
.pmodal__title{
  margin: 0;
  font-size: 26px;
  line-height: 1.15;
  color: rgba(255,255,255,.92);
  letter-spacing: .2px;
}
.pmodal__subtitle{
  margin-top: 10px;
  color: rgba(255,255,255,.62);
  font-size: 13.5px;
  line-height: 1.5;
}

.pmodal__body{
  padding: 0 26px 18px;
  max-height: min(66vh, 560px);
  overflow: auto;

  color: rgba(255,255,255,.75);
  font-size: 14px;
  line-height: 1.65;
}

/* typography inside */
.pmodal__body h3{
  margin: 16px 0 8px;
  font-size: 16px;
  color: rgba(255,255,255,.90);
}
.pmodal__body p{ margin: 0 0 10px; }
.pmodal__body ul{
  margin: 0 0 10px 18px;
  padding: 0;
}
.pmodal__body li{ margin: 4px 0; }

.pmodal__meta{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.55);
  font-size: 12.5px;
}

/* scroll */
.pmodal__body::-webkit-scrollbar{ width: 10px; }
.pmodal__body::-webkit-scrollbar-track{
  background: rgba(255,255,255,.03);
  border-radius: 10px;
}
.pmodal__body::-webkit-scrollbar-thumb{
  background: rgba(123, 97, 255, .28);
  border-radius: 10px;
}
.pmodal__body::-webkit-scrollbar-thumb:hover{
  background: rgba(123, 97, 255, .42);
}

/* footer */
.pmodal__footer{
  padding: 16px 26px 22px;
  display:flex;
  justify-content:flex-end;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* button (фиолетовый как на скрине) */
.pmodal__btn{
  height: 46px;
  padding: 0 22px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  cursor: pointer;

  color: rgba(255,255,255,.92);
  background: linear-gradient(90deg, rgba(120, 76, 255, .95), rgba(151, 92, 255, .90));
  box-shadow: 0 14px 40px rgba(0,0,0,.45);

  transition: .18s ease;
}
.pmodal__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 50px rgba(0,0,0,.55);
}

/* close */
.pmodal__close{
  position:absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  border-radius: 12px;

  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.20);
  cursor: pointer;
  transition: .18s ease;
}
.pmodal__close::before,
.pmodal__close::after{
  content:"";
  position:absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.85);
  border-radius: 2px;
  transform-origin: center;
}
.pmodal__close::before{ transform: translate(-50%, -50%) rotate(45deg); }
.pmodal__close::after{ transform: translate(-50%, -50%) rotate(-45deg); }
.pmodal__close:hover{
  border-color: rgba(123, 97, 255, .35);
  box-shadow: 0 0 0 4px rgba(123, 97, 255, .12);
}

/* mobile */
@media (max-width: 560px){
  .pmodal__dialog{ margin: 4vh auto; }
  .pmodal__head{ padding: 22px 18px 14px; }
  .pmodal__body{ padding: 0 18px 14px; }
  .pmodal__footer{ padding: 14px 18px 18px; }
  .pmodal__title{ font-size: 20px; }
}

/* lock scroll when modal open */
body.pmodal-open{ overflow:hidden; }
.f-footer {
  background-color: #050816;    /* либо цвет подвала, который уже используется на сайте */
  color: #f5f5f5;
  padding: 40px 0 20px;
  font-size: 14px;
}

.f-footer a {
  color: #f5f5f5;
  text-decoration: none;
}

.f-footer a:hover {
  text-decoration: underline;
}

.f-footer-top {
  max-width: 1200px;
  margin: 0 auto 24px;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px;
}

.f-footer-col p {
  margin: 4px 0;
}

.f-footer-title {
  font-weight: 600;
  margin-bottom: 10px;
}

.f-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px 0;
  text-align: center;
  font-size: 13px;
  color: rgba(245, 245, 245, 0.8);
}

/* Адаптив: на планшетах и телефонах делаем 2 и 1 колонку */
@media (max-width: 992px) {
  .f-footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .f-footer-top {
    grid-template-columns: 1fr;
  }
  .f-footer {
    padding: 30px 0 16px;
  }
}
.site-footer {
  background: #101018;
  margin-top: 0;
  padding-top: 48px;
  font-family: "Montserrat", sans-serif;
}

.footer-head {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.footer-col__title--sub {
  margin-top: 24px;
}

.footer-col--contacts p:last-of-type {
  max-width: 320px;
}

.footer-col--partner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.footer-col--partner .footer-partner-badge {
  width: 100%;
  max-width: 168px;
  text-align: left;
}

.footer-col--partner .footer-partner-badge img {
  margin: 0 0 10px;
}

.footer-brand {
  margin-bottom: 0;
}

.footer-partner-badge {
  flex-shrink: 0;
  width: 140px;
  text-align: center;
}

.footer-partner-badge img {
  display: block;
  width: 120px;
  height: auto;
  margin: 0 auto 12px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.footer-partner-badge__text {
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  color: #9ba8c4;
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}

.footer-brand .logo-bottom {
  display: inline-block;
  line-height: 0;
}

.footer-brand .logo {
  display: block;
  height: clamp(44px, 5vw, 56px);
  width: auto;
  max-width: min(280px, 42vw);
  opacity: 0.95;
}

.footer-info {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(40px, 6vw, 88px);
  padding: 0 0 28px;
  box-sizing: border-box;
  width: 100%;
}

.footer-info__links {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(180px, 1.25fr) minmax(140px, 0.85fr);
  gap: clamp(28px, 4vw, 56px);
  flex: 1 1 420px;
  min-width: 0;
}

.footer-info__static {
  display: block;
  flex: 0 1 280px;
  min-width: 0;
  max-width: 320px;
  padding-left: clamp(32px, 5vw, 72px);
}

.footer-col--static p {
  color: #9ba8c4;
}

.footer-col--static .footer-col__title {
  color: #c5d0e8;
}

.footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.footer-nav__link {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #a1bdff;
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  transition: color 0.2s ease;
}

.footer-nav__link:hover {
  color: #fff;
  text-decoration: underline;
}

.footer-col__title {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
  color: #DEE8FF;
  margin-bottom: 14px;
}

.footer-col p {
  margin: 4px 0;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
}

.site-footer a {
  color: #A1BDFF;
  text-decoration: none;
}

.site-footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 14px 0 26px;
  text-align: center;
}

.footer-bottom__copy {
  font-weight: 300;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6490FA;
}

/* адаптив */
@media (max-width: 1100px) {
  .footer-info {
    flex-direction: column;
    gap: 36px;
  }

  .footer-info__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    flex: 1 1 auto;
    width: 100%;
  }

  .footer-info__static {
    flex: 1 1 auto;
    width: 100%;
    padding-left: 0;
    padding-top: 32px;
  }

  .footer-col--nav {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .footer-info__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 40px;
  }

  .footer-col--nav {
    grid-column: 1 / -1;
  }

  .footer-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px 28px;
  }

}

@media (max-width: 768px) {
  .page-title {
    margin: 56px 0 48px;
    padding-top: 8px;
  }

  .page-title .container,
  .page-title .title-wrap {
    gap: 14px;
    padding-left: 24px;
  }

  .page-title .container::before,
  .page-title .title-wrap::before {
    width: 3px;
  }
}

@media (max-width: 600px) {
  .site-footer {
    margin-top: 50px;
  }
  .footer-info {
    gap: 28px;
    padding: 35px 0 20px;
  }

  .footer-info__links {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .footer-info__static {
    max-width: none;
    padding-top: 28px;
  }

  .footer-col--contacts p:last-of-type {
    max-width: none;
  }
  .footer-col__title {
    font-size: 15px;
  }
  .footer-col p {
    font-size: 13px;
  }
  .footer-bottom__copy {
    font-size: 11px;
  }
}

.footer-col {
  padding: 0;
  box-sizing: border-box;
}
