@charset "UTF-8";
@import url(./fonts.css);
:root {
  --font-montserrat: "Montserrat", sans-serif;
  --font-opensans: "Open Sans", sans-serif;

  --black-color: #020407;
  --main-accent: #77b248;
  --background-color: #fafafa;
  --blue-color: #0d2436;
  --text-color: #212121;
  --light-accent: #99cf63;
  --green-color: #368428;
  --grey-color: #6d7073;
  --white-color: white;
  --border-color: #bae289;
}

/* Общие элементы */
h1, h2, h3, h4, h5, h6, ul, li, p {
  margin: 0px;
  padding: 0px;
}

a {
  text-decoration: none;
}

.to-the-top-btn {
  position: fixed;
  right: 40px;
  bottom: 40px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  cursor: pointer;
  z-index: 1000;
  user-select: none;
}

.to-the-top-btn.visible {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

/* hover эффект */
.to-the-top-btn:hover {
  transform: translateY(-5px) scale(1.05);
}

/* нажатие */
.to-the-top-btn:active {
  transform: translateY(0) scale(0.95);
}

/* можно добавить тень */
.to-the-top-btn img {
  display: block;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,0.2));
  transition: transform 0.2s ease;
}

.to-the-top-btn:hover img {
  transform: rotate(-10deg);
}

@media(max-width: 600px){
  .to-the-top-btn{
    right: 20px;
    bottom: 20px;
  }
  .to-the-top-btn img{
    width: 60px;
    height: 60px;;
  }
}

.breadcrumbs{
  display: flex;
  column-gap: 28px;
  flex-wrap: wrap;
}
.breadcrumbs__wrapper{
  margin-top: 40px;
}
.breadcrumbs,
.breadcrumbs a{
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 13px;
  color: var(--black-color);
  position: relative;
}
.breadcrumbs a::after{
    content: "";
    position: absolute;
    border-bottom: 1px solid var(--main-accent);
    width: 12px;
    height: 1px;
    transform: rotate(129deg);
    top: 0px;
    bottom: 0px;
    margin: auto;
    margin-left: 9px;
}

@media(max-width: 600px){
  .breadcrumbs__wrapper{
    margin-top: 20px;
  }
}
main{
  padding-top: 80px;
  position: relative;
}
.page-decor{
  position: absolute;
  z-index: -1;
  top: 0px;
  width: 100%;
  height: 100vh;
  background: linear-gradient(180deg, #EEF3FE 0%, #FFFFFF 93.04%);
}
body {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  color: var(--text-color);
  background-color: var(--white-color);
}
body.no-scroll {
  overflow: hidden;
}
body.error404 {
  background: var(--background-color);
}
body.error404 .header {
  background-color: var(--background-color);
}
body.error404 .not-found {
  margin: 150px 0px;
}
body.error404 .not-found__title {
  font-family: var(--font-opensans);
  font-weight: 700;
  font-size: 48px;
  line-height: 110%;
  text-align: center;
  color: var(--main-accent);
  margin-bottom: 60px;
}
body.error404 .not-found__text {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  line-height: 183%;
  text-align: center;
  color: var(--blue-color);
  margin-bottom: 100px;
}
body.error404 .not-found__subtext {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--blue-color);
}
body.error404 .not-found a {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: var(--main-accent);
  color: var(--main-accent);
  transition: all 0.2s linear;
  text-wrap: nowrap;
}

body * {
  box-sizing: border-box;
}

@media (max-width: 1200px) {
  body.error404 .not-found {
    margin: 60px 0px 100px;
  }
  body.error404 .not-found__title {
    font-size: 42px;
    margin-bottom: 40px;
  }
  body.error404 .not-found__text {
    line-height: 158%;
    font-size: 22px;
  }
}
@media (max-width: 800px) {
  body.error404 .not-found__title {
    font-size: 34px;
    margin-bottom: 30px;
  }
  body.error404 .not-found__text {
    font-size: 18px;
    margin-bottom: 60px;
  }
}
@media (max-width: 600px) {
  body.error404 .not-found__title {
    font-size: 26px;
    margin-bottom: 30px;
  }
  body.error404 .not-found__text {
    font-size: 14px;
    margin-bottom: 60px;
  }
  body.error404 .not-found__subtext {
    font-size: 14px;
  }
}
.container {
  width: 1357px;
  margin: auto;
  padding: 0px 30px;
  max-width: 100%;
}

@media (max-width: 600px) {
  .container {
    padding: 0px 20px;
  }
  body {
    font-size: 14px;
  }
}
@media (max-width: 500px) {
  .container {
    padding: 0px 10px;
  }
}
.btn {
  border: 1px solid var(--blue-color);
  border-radius: 15px;
  padding: 5px 32px;
  cursor: pointer;
  height: 56px;
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: -0.02em;
  color: var(--blue-color);
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 42px;
       column-gap: 42px;
  transition: all 0.3s ease;
  width: -moz-fit-content;
  width: fit-content;
}

.btn:hover {
  background: var(--light-accent);
  border: 1px solid var(--light-accent);
}

.btn_blue {
  background: var(--blue-color);
  color: var(--white-color) !important;
}

.btn_blue:hover {
  background: var(--main-accent);
  border: 1px solid var(--main-accent);
}

.btn_transparent {
  background: transparent;
  border: none;
  color: var(--main-accent);
  text-decoration: underline;
  padding: 13px 20px;
}

.btn_transparent:hover {
  background: transparent;
  color: var(--green-color);
}

@media (max-width: 800px) {
  .btn {
    font-size: 16px;
    height: 48px;
  }
}
@media (max-width: 600px) {
  .btn {
    height: 48px;
    padding: 6px 15px;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .btn svg {
    transform: scale(0.8);
  }
}
.nav {
  display: flex;
  gap: 30px;
}
.nav a {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 14px;
  color: var(--black-color);
  display: flex;
  -moz-column-gap: 7px;
       column-gap: 7px;
  align-items: center;
  transition: all 0.2s ease;
}
.nav a svg path{
  transition: all 0.1s linear;
}
.nav a:hover {
  color: var(--green-color);
}
.nav a:hover svg path{
  stroke: var(--green-color);
}
.nav .nav__logo {
  display: none;
}
.nav__logo img{
  object-fit: contain;
  width: 100%;
}
.nav-close {
  position: absolute;
}
.nav ul {
  list-style-type: none;
  display: flex;
  -moz-column-gap: 33px;
       column-gap: 33px;
}
.nav ul li {
  position: relative;
  cursor: pointer;
  height: 48px;
  align-content: center;
}
.nav ul li .nav__submenu {
  position: absolute;
  left: 0;
  background-color: #eff5ea;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  padding: 20px 10px;
  opacity: 0;
  top: 50%;
  transition: all 0.3s ease;
  pointer-events: none;
  flex-direction: column;
  row-gap: 20px;
  border-radius: 12px;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 250px;
  max-height: 500px;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 2;
  scrollbar-width: thin;
  scrollbar-color: var(--main-accent) var(--white-color);
}
.nav ul li .nav__submenu li {
  height: -moz-fit-content;
  height: fit-content;
}
.nav ul li .nav__submenu.visible {
  right: 0px;
  opacity: 1;
  pointer-events: all;
}
.nav ul li .nav__submenu::-webkit-scrollbar {
  width: 10px;
}
.nav ul li .nav__submenu::-webkit-scrollbar-track {
  background: var(--white-color);
}
.nav ul li .nav__submenu::-webkit-scrollbar-thumb {
  background-color: var(--main-accent);
  border-radius: 20px;
  border: 3px solid var(--main-accent);
}
.nav ul li .nav__submenu a {
  transition: all 0.2s ease;
}
.nav ul li .nav__submenu a:hover {
  color: var(--green-color);
}
.nav ul li:hover .nav__submenu {
  opacity: 1;
  top: 100%;
  pointer-events: all;
}

@media (max-width: 1400px) {
  .nav ul {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
  .nav a {
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
  .nav a > svg {
    width: 15px;
  }
}
@media (max-width: 1200px) {
  .nav {
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--main-accent) var(--white-color);
    right: -100%;
    transition: all 0.5s ease;
    opacity: 0;
    pointer-events: none;
  }
  .nav.visible {
    right: 0px;
    opacity: 1;
    pointer-events: all;
  }
  .nav.visible .nav {
    opacity: 1;
    pointer-events: all;
  }
  .nav::-webkit-scrollbar {
    width: 10px;
  }
  .nav::-webkit-scrollbar-track {
    background: var(--white-color);
  }
  .nav::-webkit-scrollbar-thumb {
    background-color: var(--main-accent);
    border-radius: 20px;
    border: 3px solid var(--main-accent);
  }
  .nav .nav__logo {
    display: block;
    width: 160px;
  }
  .nav-close {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 20px;
    margin-top: 10px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    transition: all 0.1s ease;
  }
  .nav-close:hover {
    transform: scale(0.95);
  }
  .nav-close.clicked {
    transform: scale(0.9);
  }
  .nav-close .line {
    width: 100%;
    height: 2px;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    margin: auto;
    background-color: var(--blue-color);
  }
  .nav-close .line.line_left {
    transform: rotate(45deg);
  }
  .nav-close .line.line_right {
    transform: rotate(-45deg);
  }
  .nav ul li .nav__submenu {
    position: relative;
    opacity: 1;
    top: 0px;
    width: 100%;
    max-width: unset;
    margin-top: 15px;
    row-gap: 15px;
    padding: 10px 15px;
  }
  .nav ul li:hover .nav__submenu {
    opacity: 1;
    top: 0px;
  }
  .nav ul li svg {
    display: none;
  }
}
@media (max-height: 600px) {
  .nav ul li .nav__submenu {
    max-height: 100%;
  }
}
.section {
  padding: 50px 0px;
  clear: both;
}
.section_grey {
  backdrop-filter: blur(64px);
  background: var(--background-color);
}
.section_grey::before {
  content: "";
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: -1;
  position: fixed;
  background-image: url(../img/bg_noise_final.png);
  opacity: 0.05;
  pointer-events: none;
  animation: noise 1s steps(2) infinite;
}
.section__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 48px;
  line-height: 130%;
  letter-spacing: -0.03em;
  color: var(--blue-color);
  margin-bottom: 40px;
}
.section__subtitle {
  font-family: var(--font-montserrat);
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  color: var(--grey-color);
  width: 100%;
  margin-bottom: 60px;
  max-width: 600px;
}
.section__full {
  text-align: right;
  width: 100%;
  display: block;
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 16px;
  line-height: 180%;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: var(--main-accent);
  margin-top: 40px;
  transition: all 0.2s ease;
}
.section__full:hover {
  color: var(--green-color);
}

@media (max-width: 1400px) {
  .section__title {
    font-size: 42px;
  }
}
@media (max-width: 1200px) {
  .section__title {
    font-size: 38px;
    margin-bottom: 20px;
  }
}
@media (max-width: 800px) {
  .section {
    padding: 30px 0px;
  }
  .section__title {
    font-size: 32px;
  }
  .section__subtitle {
    margin-bottom: 50px;
    line-height: normal;
  }
}
@media (max-width: 600px) {
  .section__title {
    font-size: 26px;
    line-height: normal;
    margin-bottom: 20px;
  }
  .section__subtitle {
    font-size: 14px;
    margin-bottom: 35px;
  }
  .section__full {
    font-size: 14px;
    margin-top: 20px;
  }
}
@media (max-width: 500px) {
  .section__title {
    font-size: 24px;
  }
}
.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9;
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
  cursor: pointer;
}
.overlay.visible {
  pointer-events: all;
  opacity: 1;
}

.modal {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  width: 1012px;
  max-width: 90%;
  height: -moz-fit-content;
  height: fit-content;
  padding: 40px 110px 0px 110px;
  max-height: 90%;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: var(--white-color);
  border-radius: 12px;
  z-index: 10;
  opacity: 0;
  transition: all 0.3s ease;
  transform: scale(0.5);
  pointer-events: none;
}
.modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 20px;
  height: 20px;
  cursor: pointer;
  transition: all 0.1s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.modal__close:hover {
  transform: scale(0.95);
}
.modal form{
  padding-bottom: 10px;
}
.modal__close .line {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: var(--blue-color);
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  margin: auto;
}
.modal__close .line.left {
  transform: rotate(45deg);
}
.modal__close .line.right {
  transform: rotate(-45deg);
}
.modal__row {
  display: flex;
  -moz-column-gap: 56px;
       column-gap: 56px;
  flex-wrap: wrap;
}
.modal__col {
  width: calc((100% - 56px) / 2);
}
.modal__image {
  height: auto;
  aspect-ratio: 345/364;
  display: flex;
}
.modal__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.modal__title {
  margin-bottom: 30px;
}
.modal__subtitle {
  margin-bottom: 20px;
}
.modal .btn {
  max-width: 100%;
  width: 100%;
  text-align: left;
  padding-left: 32px;
}
.modal .form__checkboxes {
  margin-bottom: 24px;
}
.modal .form__inputs {
  height: auto;
  flex-direction: column;
  row-gap: 24px;
  margin-top: 47px;
}
.modal .form__inputs .form__phone, .modal .form__inputs .form__text_field {
  max-width: 100%;
  width: 100%;
}
.modal .form__inputs .form__phone input, .modal .form__inputs .form__text_field input {
  max-width: 100%;
}
.modal .form__submit {
  position: relative;
}
.modal .form__submit .wpcf7-spinner {
  display: none;
}
.modal .form__submit svg {
  position: absolute;
  right: 32px;
  top: 0px;
  bottom: 0px;
  margin: auto;
}
.modal.visible {
  opacity: 1;
  transform: scale(1);
  pointer-events: all;
}

@media (max-width: 1200px) {
  .modal {
    padding: 30px 50px 0px 50px;
  }
}
@media (max-width: 1000px) {
  .modal {
    padding: 30px 50px 30px 50px;
  }
  .modal__title {
    margin-bottom: 20px;
  }
  .modal__image {
    display: none;
  }
  .modal__row {
    justify-content: center;
  }
  .modal__col {
    width: 100%;
    max-width: 400px;
  }
  .modal .form__inputs {
    margin-top: 10px;
  }
}
@media (max-width: 800px) {
  .modal .form__inputs {
    row-gap: 12px;
  }
  .modal .form__inputs .form__text_field input {
    height: 48px;
    font-size: 16px;
  }
}
@media (max-width: 500px) {
  .modal {
    padding: 30px 20px;
  }
  .modal .form__submit input {
    text-align: center;
  }
  .modal .form__submit svg {
    display: none;
  }
  .modal__close {
    transform: scale(0.8);
    right: 10px;
    top: 10px;
  }
  .modal__close:hover {
    transform: scale(0.7);
  }
}
/* Хедер */
.header {
  display: flex;
  clear: both;
  align-items: start;
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0; /* Рекомендуется явно указать top: 0 для fixed */
  z-index: 10;
  /* Убираем transition отсюда, чтобы JS работал плавно */
  background-color: #EEF3FE; 
}
/* фиксированное состояние */

.header__wrapper{
  width: 100%;
}
.header.fixed .header__container{
    padding: 20px 30px;
    pointer-events: all;
}
.header-spacer {
  height: 0;
}
.header.fixed + .header-spacer {
  height: 80px; /* высота хедера */
}
.header__logo img{
  object-fit: contain;
}

/* когда показан */
.header.visible {
  transform: translateY(0);
  opacity: 1;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 26px;
  padding-bottom: 0px;
  margin: 0px auto;
  padding-bottom: 26px;
}
.header__content {
  display: flex;
  align-items: center;
}
.header__nav {
  margin-right: 56px;
}
.header__phone {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: center;
  margin-right: 12px;
}
.header__phone_mobile {
  display: none;
}
.header__phone a {
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: #2f2f2f;
  transition: all 0.2s linear;
  position: relative;
  text-wrap: nowrap;
}
.header__phone a::after {
  position: absolute;
  content: "";
  width: 0%;
  left: 0px;
  right: 0px;
  bottom: -2px;
  margin: auto;
  transition: all 0.2s linear;
  background-color: rgb(119, 178, 72);
  height: 1px;
}
.header__phone a:hover {
  color: rgb(119, 178, 72);
  transform: translateY(-3px);
}
.header__phone a:hover::after {
  width: 100%;
}
.header__socials {
  display: flex;
  -moz-column-gap: 12px;
       column-gap: 12px;
  align-items: center;
  margin-right: 27px;
}
.header__socials a {
  transition: all 0.2s linear;
  display: block;
}
.header__socials a:hover {
  transform: scale(1.05);
}
.header__socials img {
  width: 20px;
  height: 20px;
}
.header__contacts {
  display: flex;
}
.header__contacts > * {
  flex-shrink: 0;
}
.header__btn {
  height: 48px;
  font-family: var(--font-opensans);
  font-weight: 700;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: -0.02em;
  color: var(--blue-color);
}
.header__btn_mobile {
  display: none;
}

.header-toggler{
  display: none;
}

@media (max-width: 1400px) {
  .header__nav {
    margin-right: 26px;
  }
  .header__socials {
    margin-right: 16px;
  }
}
@media (max-width: 1200px) {
  .header__nav {
    position: fixed;
    right: -100%;
    height: 100%;
    background-color: var(--white-color);
    color: var(--blue-color);
    z-index: 10;
    top: 0px;
    padding: 20px 30px 30px;
    margin-right: 0px;
    display: flex;
    flex-direction: column;
    min-width: 350px;
  }
  .header__nav ul {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .header__nav ul li {
    height: -moz-fit-content;
    height: fit-content;
  }
  .header__nav .header-close {
    position: absolute;
    top: 30px;
    right: 0px;
  }
  .header-toggler {
    display: flex;
    flex-direction: column;
    row-gap: 2px;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    margin-left: 12px;
    position: absolute;
    right: 30px;
    transition: all 0.1s linear;
  }
  .header-toggler img{
    width: 100%;
    height: auto;
  }
  .header-toggler.clicked {
    transform: scale(0.9);
  }
  .header-toggler:hover {
    transform: scale(0.98);
  }
  .header-toggler span {
    height: 2px;
    width: 18px;
    background-color: var(--blue-color);
    border-radius: 10px;
  }
  .header__container {
    justify-content: start;
    -moz-column-gap: 24px;
         column-gap: 24px;
    padding-right: 80px;
  }
}
@media (max-width: 800px) {
  .header__container {
    justify-content: space-between;
  }
  .header__content {
    flex-direction: column;
    row-gap: 10px;
  }
  .header__btn {
    height: 34px;
    font-size: 14px;
  }
  .header.fixed .header__container{
    padding: 20px 60px 20px 30px;
  }
}
@media (max-width: 600px) {
  .header.fixed .header__container {
    padding: 10px 40px 10px 10px;
  }
  .header_container {
    padding: 12px 0px 26px;
  }
  .header__nav {
    min-width: unset;
    width: 100%;
  }
  .header-toggler {
    right: 10px;
  }
  .header__container {
    padding: 10px 40px 10px 10px;
  }
  .header__logo img {
    width: 150px;
    object-fit: contain;
  }
  .header__phone {
    display: none;
  }
  .header__phone_mobile {
    border: 2px solid var(--main-accent);
    width: 30px;
    height: 30px;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    display: flex;
  }
  .header__btn {
    display: none;
  }
  .header__btn_mobile {
    display: flex;
  }
  .header__socials {
    margin-right: 10px;
  }
  .header__socials img {
    width: 30px;
    height: 30px;
  }
}
@media(max-width: 350px){
  .header__logo img{
    width: 140px;
  }
  .header__socials img,
  .header__phone_mobile,
  .header-toggler{
    width: 25px;
    height: 25px;
  }
  .header__phone_mobile svg{
    width: 14px;
    height: 14px;
  }
}

/* Главная страница */
.main {
  padding-top: 80px;
  padding-bottom: 50px;
}
.main__container {
  display: flex;
  -moz-column-gap: 4px;
       column-gap: 4px;
}
.main__info {
  flex: 1;
}
.main__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 45px;
  color: var(--blue-color);
  margin-bottom: 40px;
  line-height: 53px;
}
.main__content {
  font-family: var(--font-montserrat);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: var(--grey-color);
  margin-bottom: 40px;
}
.main__content ul {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  margin-top: 20px;
}
.main__content ul li {
  padding-left: 30px;
  position: relative;
}
.main__content ul li::after {
  position: absolute;
  content: "";
  bottom: 0px;
  margin: auto;
  width: 17px;
  height: 17px;
  left: 4px;
  top: 3px;
  border-radius: 100%;
  background: var(--main-accent);
}
.main__btns {
  display: flex;
}
.main__cards {
  width: 46%;
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
.main__cards .main-card {
  width: calc((100% - 24px) / 2);
  padding: 10px 25px;
  backdrop-filter: blur(84px);
  background: #f0f0f0;
  border-radius: 20px;
  overflow: hidden;
}
.main__cards .main-card__title {
  font-family: var(--font-opensans);
  font-weight: 700;
  font-size: 64px;
  line-height: 150%;
  letter-spacing: -0.03em;
  color: var(--main-accent);
}
.main__cards .main-card__text {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #5c5d5f;
}
.main__cards .main-card_photo {
  border-radius: 1000px 20px 20px 20px;
  overflow: hidden;
  position: relative;
  padding: 0px;
  height: auto;
  min-height: 175px;
}
.main__cards .main-card_photo img {
  width: 100%;
  height: 100%;
  min-height: 275px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom right;
     object-position: bottom right;
  transition: all 0.5s ease;
}
.main__cards .main-card_photo::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}
.main__cards .main-card_full-length {
  width: 100%;
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 32px;
  letter-spacing: -0.03em;
  padding: 43px 27px;
  background: var(--blue-color);
  background-size: cover;
}
.main__cards .main-card_full-length .main-card__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 32px;
  letter-spacing: -0.03em;
  color: var(--white-color);
}
.main-image_mobile{
  display: none;
}
.main__image{
  width: 479px;
  height: auto;
  aspect-ratio: 479 / 390;
  border-radius: 15px;
  overflow: hidden;
}
.main__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.main-advantages{
  display: flex;
  column-gap: 24px;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 53px;
  row-gap: 24px;
}
.main-advantage{
  width: fit-content;
  display: flex;
  column-gap: 15px;
  align-items: center;
  padding: 17px 30px;
  border-radius: 16px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 8px 8px 0 rgba(0, 0, 0, 0.09), 0 17px 10px 0 rgba(0, 0, 0, 0.05), 0 30px 12px 0 rgba(0, 0, 0, 0.01), 0 47px 13px 0 rgba(0, 0, 0, 0);
  background: linear-gradient(321deg, #eef3fe 0%, #fff 97.99%); 
  font-family: var(--font-montserrat);
  font-weight: 400;
  font-size: 16px;
  color: var(--blue-color);
}

@media (max-width: 1400px) {
  .main {
    padding-top: 70px;
  }
  .main__title {
    font-size: 60px;
  }
  .main__info {
    width: 100%;
  }
  .main__cards {
    width: 100%;
  }
  .main__cards .main-card_photo img{
    min-height: unset;
  }
  .main .main-card {
    text-align: center;
    width: calc((100% - 48px) / 3);
  }
  .main .main-card_photo {
    border-radius: 20px;
  }
  .main .main-card_full-length {
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .main .main-card_full-length .main-card__title {
    font-size: 26px;
  }
  .main__btns {
    justify-content: center;
  }
}
@media (max-width: 1200px) {
  .main__container {
    flex-direction: column;
    row-gap: 20px;
  }
  .main__title {
    font-size: 54px;
    margin-bottom: 30px;
  }
  .main__content {
    line-height: 160%;
  }
  .main-card {
    font-size: 12px;
  }
  .main-card_full-length__title {
    font-size: 24px;
  }
  .main-advantages{
    flex-direction: column;
    align-items: center;
  }
  .main-advantage{
    width: 400px;
  }
  .main__image{
    display: none;
  }
  .main-image_mobile{
    display: flex;
  }
  .main-image_mobile img{
    width: 100%;
    height: auto;
    border-radius: 30px;
    margin-bottom: 20px;
    max-width: 600px;
  }
}
@media (max-width: 1100px) {
  .main .main-card_full-length {
    padding: 20px;
  }
  .main .main-card_full-length .main-card__title {
    font-size: 22px;
  }
}
@media (max-width: 1000px) {
  .main {
    padding-top: 60px;
  }
  .main .main-card {
    width: calc((100% - 24px) / 2);
  }
  .main .main-card_full-length {
    width: 100%;
    min-height: 200px;
  }
  .main .main-card_full-length .main-card__title {
    font-size: 22px;
  }
}
@media (max-width: 800px) {
  .main-card.main-card_photo{
    display: none;
  }
  .main__title {
    font-size: 42px;
    margin-bottom: 30px;
    line-height: normal;
  }
  .main__title br{
    display: none;
  }
  .main__content {
    margin-bottom: 0px;
    margin-top: 30px;
  }
  .main__info{
    display: flex;
    flex-direction: column;
  }
  .main__content{
    order: 3;
  }
}
@media (max-width: 600px) {
  .main {
    padding-top: 40px;
  }
  .main__title {
    font-size: 34px;
    margin-bottom: 20px;
  }
  .main__content {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .main__cards {
    margin-top: 16px;
    -moz-column-gap: 16px;
         column-gap: 16px;
    row-gap: 16px;
  }
  .main__cards .main-card__title {
    font-size: 50px;
  }
  .main__cards .main-card__text {
    font-size: 14px;
  }
  .main__cards .main-card_photo {
    height: 225px;
  }
  .main__content ul li{
    padding-left: 20px;
    line-height: normal;
  }
  .main__content ul li::after{
    width: 10px;
    height: 10px;
    left: 3px;
  }
  .main-advantages{
    margin-top: 24px;
  }
  .main-advantage{
    padding: 12px 20px;
    max-width: 100%;
    font-size: 14px;
  }
}
@media (max-width: 500px) {
  .main {
    padding-top: 0px;
    padding-bottom: 30px;
  }
  .main__cards .main-card {
    width: 100%;
    height: 180px;
    align-content: center;
  }
  .main .main-card_full-length{
    min-height: unset;
  }
  .main__cards .main-card_full-length .main-card__title {
    font-size: 20px;
  }
  .main__cards .main-card_photo img
  .main__btns {
    flex-direction: column;
    row-gap: 6px;
  }
}
@media (max-width: 400px) {
  .main__title{
    font-size: 28px;
  }
}
/* Форма */
.form-block__row {
  display: flex;
  max-width: 738px;
  margin: auto;
  -moz-column-gap: 73px;
       column-gap: 73px;
}
.form-block__col {
  width: calc((100% - 73px) / 2);
  flex-shrink: 0;
}
.form-block__image {
  aspect-ratio: 336/339;
  height: auto;
}
.form-block__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.form-block .form__inputs {
  flex-direction: column;
  row-gap: 24px;
  height: auto;
}
.form-block .form__inputs .form__submit, .form-block .form__inputs .form__phone, .form-block .form__inputs .form__text_field {
  width: 100%;
  max-width: 329px;
  height: 56px;
}
.form-block .form__inputs .form__submit input, .form-block .form__inputs .form__phone input, .form-block .form__inputs .form__text_field input {
  max-width: 329px;
  width: 100%;
  height: 56px;
  background-color: var(--main-accent);
}
.form-block .form__submit {
  margin-top: 24px;
  position: relative;
  width: 100%;
}
.form-block .form__submit input {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: -0.02em;
  color: var(--white-color);
  position: relative;
  max-width: 329px;
  width: 100%;
  height: 56px;
  text-align: left;
  justify-content: start;
  padding: 10px 64px 10px 32px;
}
.form-block .form__submit svg {
  position: absolute;
  right: 32px;
  top: 0px;
  bottom: 0px;
  margin: auto;
}
.form-block .form__submit .wpcf7-spinner {
  display: none;
}
.form__inputs {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  height: 56px;
  margin-bottom: 22px;
}
.form__inputs br {
  display: none;
}
.form__inputs .form__submit, .form__inputs .form__phone {
  width: calc((100% - 20px) / 2);
  max-width: 301px;
  height: 100%;
}
.form__inputs .form__submit input, .form__inputs .form__phone input {
  max-width: 301px;
  width: 100%;
  height: 56px;
}
.form__inputs .form__submit {
  position: relative;
}
.form__inputs .form__submit input {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: -0.02em;
  color: var(--white-color);
  position: relative;
  max-width: 301px;
  width: 100%;
  height: 56px;
  text-align: left;
  justify-content: start;
  padding: 10px 64px 10px 32px;
  background: var(--main-accent);
  border-color: var(--main-accent);
}
.form__inputs .form__submit input:hover{
  background-color: var(--green-color);
  border-color: var(--green-color);
}
.form__inputs .form__submit svg {
  position: absolute;
  right: 32px;
  top: 0px;
  bottom: 0px;
  margin: auto;
}
.form__inputs .form__phone input, .form__inputs .form__text_field input {
  border: 1px solid #bdbcbc;
  border-radius: 15px;
  padding: 13px 16px;
  height: 56px;
  max-width: 301px;
  width: 100%;
  text-align: center;
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: var(--grey-color);
  background: transparent;
}

.form__checkboxes{
      display: flex;
    flex-direction: column;
    row-gap: 6px;
}

@media (max-width: 800px) {
  .form-block__row {
    flex-direction: column;
    row-gap: 20px;
    align-items: center;
  }
  .form-block__col {
    width: 100%;
    max-width: 400px;
  }
  .form-block__image {
    order: -1;
  }
  .form-block .form__inputs {
    row-gap: 10px;
  }
  .form-block .form__inputs .form__text_field, .form-block .form__inputs .form__phone {
    height: auto;
    max-width: 100%;
  }
  .form-block .form__inputs .form__text_field input, .form-block .form__inputs .form__phone input {
    height: 48px;
    font-size: 16px;
    max-width: 100%;
  }
  .form-block .form__submit {
    max-width: 100%;
    height: 48px;
  }
  .form-block .form__submit input {
    max-width: 100%;
    height: 48px;
    font-size: 16px;
  }
  .form-block .form__submit svg {
    transform: scale(0.8);
  }
  .form__inputs {
    flex-direction: column;
    row-gap: 10px;
    height: auto;
  }
  .form__inputs .form__phone, .form__inputs .form__submit {
    height: auto;
    width: 100%;
  }
  .form__inputs .form__phone input, .form__inputs .form__submit input {
    height: 48px;
    font-size: 16px;
  }
  .form__inputs .form__phone svg, .form__inputs .form__submit svg {
    transform: scale(0.8);
  }
  .form__inputs .form__submit {
    height: 48px;
  }
}
@media (max-width: 500px) {
  .form__inputs .form__phone, .form__inputs .form__submit,
  .form-block .form__inputs .form__phone,
  .form-block .form__inputs .form__submit {
    width: 100%;
    max-width: 100%;
  }
  .form__inputs .form__phone input, .form__inputs .form__submit input,
  .form-block .form__inputs .form__phone input,
  .form-block .form__inputs .form__submit input {
    max-width: 100%;
  }
}
/* Чекбоксы */
.wpcf7-not-valid-tip {
  font-size: 14px;
}

.checkbox {
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 11px;
  color: var(--grey-color);
}
.checkbox__input {
  opacity: 0;
  position: absolute;
  pointer-events: none;
}
.checkbox-icon {
  border: 0.38px solid var(--grey-color);
  width: 13px;
  height: 13px;
  position: relative;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all 0.1s linear;
  flex-shrink: 0;
  top: 3px;
}
.checkbox-icon::after {
  position: absolute;
  content: "";
  border: 0.38px solid var(--grey-color);
  transform: rotate(45deg);
  width: 3px;
  height: 5px;
  left: 3px;
  top: 1px;
  border-top: none;
  border-left: none;
  opacity: 0;
  transform: skew(38deg, -47deg) rotate(79deg) scale(0.5);
  transition: all 0.1s linear;
}


.checkbox:hover .checkbox__icon {
  transform: scale(0.9);
}
.checkbox label {
  display: flex;
  -moz-column-gap: 5px;
       column-gap: 5px;
  cursor: pointer;
  user-select: none;
}
.checkbox label a{
  color: var(--grey-color);
  text-decoration: underline;
}
.checkbox.checked .checkbox-icon::after {
  opacity: 1;
  transform: skew(38deg, -47deg) rotate(79deg) scale(1);
}

/* Блок Услуг */
.services__cards {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.services__cards .service {
  width: calc((100% - 64px) / 3);
  position: relative;
  border-radius: 30px;
  min-height: 462px;
  height: auto;
  overflow: hidden;
  padding: 20px;
  font-weight: 600;
  font-size: 24px;
  line-height: 140%;
  color: var(--white-color);
  border: 1px solid var(--main-accent);
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.3s ease;
}
.services__cards .service.project{
  padding: 20px;
}
.services__cards .service.service_special{
  background: linear-gradient(329.04deg, #EEF3FE 15.31%, #FFFFFF 116.56%);
  box-shadow: 0px 8px 8px 0px #00000037;
  border: none;
}
.services__cards .service.service_special .service__btn{
  color: var(--blue-color);
}
.services__cards .service .service__icon{
  width: 45px;
  height: 83px;
  flex-shrink: 0;
}
.services__cards .service .service__icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.services__cards .service.project .service__image{
  width: 100%;
  height: auto;
  aspect-ratio: 372 / 223;
  border-radius: 10px;
  margin-bottom: 20px;
}
.services__cards .service.project ul{
  padding-left: 25px;
  list-style: none;
}
.services__cards .service.project ul li{
  position: relative;
}
.services__cards .service.project ul li::before{
  content: "";
  position: absolute;
  display: block;
  left: -17px;
  top: 13px;
  background-color: var(--grey-color);
  width: 3px;
  height: 3px;
  border-radius: 50%;
}
.services__cards .service__title {
  position: relative;
  z-index: 1;
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 20px;
  line-height: normal;
  color: var(--blue-color);
  height: 88px;
  margin-bottom: 25px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -moz-box;
  -moz-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  box-orient: vertical;
  transition: all 0.3s ease;
}
.services__cards .project .service__title{
  color: var(--blue-color);
  -webkit-line-clamp: 2;
  line-clamp: 2;
  height: 56px;
}
.services__cards .project.service:not(.service_special):hover .service__title{
  color: var(--blue-color);
}
.services__cards .service__title_iconed{
  align-items: center;
    display: flex;
  column-gap: 24px;
}
.services__cards .service__text{
  font-weight: 400;
  font-size: 16px;
  line-height: 160%;
  color: var(--grey-color);
  margin-bottom: 25px;
}
.services__cards .service__subtext{
  font-weight: 400;
  font-style: Italic;
  font-size: 14px;
  line-height: normal;
  margin-bottom: 25px;
  color: var(--blue-color);
}
.services__container {
  display: flex;
  flex-direction: column;
}
.service__btn{
  color: var(--main-accent);
  font-weight: 700;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: -2%;
  font-family: var(--font-opensans);
  cursor: pointer;
  transition: all 0.2s ease;
}
.services__cards .service:not(.service_special):hover .service__btn,
.services__cards .service:not(.service_special):hover .service__title{
  color: var(--green-color);
}
.services__cards .service:not(.service_special):hover{
  transform: translateY(-6px);
  border-color: var(--green-color);
}

.project__result{
  background: linear-gradient(321deg, #eef3fe 0%, #fff 97.99%);
  border-radius: 15px;
  padding: 20px;
  width: 100%;
  font-family: var(--font-montserrat);
  font-style: italic;
  font-weight: 400;
  font-size: 14px;
  color: var(--blue-color);
  line-height: normal;
}
.projects__btn{
  margin: auto;
  margin-top: 40px;
  background-color: var(--main-accent);
  color: white;
  border-color: var(--main-accent);
  padding: 5px 32px;
  font-family: var(--font-opensans);
}


@media (max-width: 1400px) {
  .services__cards .service {
    font-size: 20px;
  }
}
@media (max-width: 1200px) {
  .services__cards{
    gap: 24px;
  }
  .services__cards .service {
    width: calc((100% - 24px) / 2);
  }
}
@media (max-width: 800px) {
  .services__cards .service {
    padding: 20px;
    font-size: 18px;
        width: 100%;
    max-width: unset;
    min-height: unset;
    height: auto;
  }
  .services__cards .service .service__title{
    height: auto;
  }
}
@media (max-width: 600px) {
  .services__cards {
    gap: 16px;
  }
  .services__cards .service {
    padding: 20px;
    font-size: 16px;
  }
  .services__cards .service__text{
    font-size: 14px;
    line-height: normal;
  }
  .services__cards .service__title{
    font-size: 18px;
    margin-bottom: 18px;
  }
}
@media (max-width: 500px) {
  .services__cards {
    justify-content: center;
  }
  .projects__btn{
    height: auto;
    padding: 10px;
    font-size: 15px;
  }
}
/* Блок Отзывов */
.reviews__row {
  display: flex;
  height: 450px;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
.reviews__row > div:last-child {
  flex: 1;
}
.reviews__row > div:last-child iframe {
  border: none;
  width: 100%;
  height: 100%;
  border-radius: 30px;
}

@media (max-width: 800px) {
  .reviews__row {
    flex-direction: column;
    row-gap: 16px;
    align-items: center;
    height: -moz-fit-content;
    height: fit-content;
  }
  .reviews__row > div {
    height: 550px !important;
    flex: none !important;
    width: 600px !important;
    max-width: 100%;
  }
  .reviews__row > div:last-child {
    height: 350px !important;
  }
  .reviews__row > div iframe {
    width: 600px !important;
    max-width: 100%;
  }
}
@media(max-width: 500px){
  .reviews__row > div:last-child {
    display: none !important;
  }
}
/* Блок с текстом */

.page-custom{
  padding: 30px 0px 50px; 
}

.page-custom a,
.description a{
    color: #2f2f2f;
    transition: all 0.2s linear;
    font-weight: 600;
    text-decoration: underline;
    color: var(--green-color);
}
.description img{
  float: right;
  border-radius: 30px;
  object-fit: cover;
  object-position: center;
  margin: 10px;
  margin-right: 0px;
  width: 300px;
  height: 200px;
  max-width: 100%;
}
.page-custom a:hover,
.description a:hover{
  color: var(--main-accent);
}

.description h2:not(.section__title),
.page-custom h2:not(.section__title) {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 36px;
  line-height: 160%;
  color: var(--blue-color);
  margin-bottom: 16px;
}
.page-custom img{
  max-width: 100%;
  height: auto;
}
.description > *:not(.section)
.page-custom > *:not(.section),
.page-custom__content > *:not(.section){
  margin-bottom: 16px;
}
.description h3,
.page-custom h3 {
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 24px;
  color: var(--green-color);
  margin-bottom: 16px;
}
.description ul,
.page-custom ul {
  padding-left: 20px;
  list-style-type: none;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  margin-bottom: 16px;
}
.description ol,
.page-custom ol{
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  margin-bottom: 16px;
}
.description ul li,
.page-custom ul li {
  position: relative;
}
.description ul li::before,
.page-custom ul li::before {
  position: absolute;
  left: -14px;
  top: 9px;
  margin: auto;
  width: 6px;
  height: 6px;
  background-color: var(--green-color);
  content: "";
  border-radius: 100%;
}
.description blockquote,
.page-custom blockquote {
  border-left: 3px solid var(--green-color);
  color: var(--green-color);
  font-style: italic;
  margin: 0px;
  padding-left: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 10px;
  margin-bottom: 16px;
}
.description p,
.page-custom p {
  margin-bottom: 16px;
  letter-spacing: 0.3px;
  line-height: 150%;
}
.description p{
  display: block;
  width: 100%;
}

@media (max-width: 1400px) {
  .description h2:not(.section__title),
  .page-custom h2:not(.section__title) {
    font-size: 32px;
    line-height: normal;
  }
}
@media (max-width: 800px) {
  .description h2:not(.section__title),
  .page-custom h2:not(.section__title) {
    font-size: 30px;
  }
  .description h3,
  .page-custom h3 {
    font-size: 22px;
  }
}
@media (max-width: 600px) {
  .description h2:not(.section__title),
  .page-custom h2:not(.section__title) {
    font-size: 24px;
    margin-bottom: 12px;
  }
  .description h3,
  .page-custom h3 {
    font-size: 20px;
  }
  .description__content,
  .page-custom__content {
    row-gap: 12px;
  }
  .description img{
    float: none;
    display: block;
    margin: auto  ;
    margin-bottom: 16px;
  }
}
/* Отдельная страница услуг */
.page-custom__title {
  margin-bottom: 60px;
}
.page-custom__content {
  width: 100%;
}
.page-custom__content .container {
  padding: 0px;
  max-width: 100%;
  width: 100%;
}
.page-custom__content .section_grey {
  background: var(--white-color);
}
.page-custom__content .section_grey::before {
  content: none;
}
.page-custom__intro {
  flex: 1;
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  color: var(--text-color);
}
.page-custom__intro p {
  margin-bottom: 16px;
}
.page-custom__image {
  width: 500px;
  height: 333px;
  flex: none;
  float: right;
  border-radius: 20px;
  aspect-ratio: 500/333;
  overflow: hidden;
  margin-left: 16px;
  margin-bottom: 16px;
}
.page-custom__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media (max-width: 1400px) {
  .page-custom__image {
    width: 400px;
    height: 300px;
  }
}
@media (max-width: 1200px) {
  .page-custom__image {
    width: 300px;
    height: 250px;
  }
  .page-custom__title {
    margin-bottom: 40px;
  }
}
@media (max-width: 600px) {
  .page-custom__image {
    width: 100%;
    float: none;
    height: auto;
    margin: 0px;
    margin-bottom: 20px;
  }
  .page-custom__intro {
    font-size: 14px;
  }
  .page-custom__title {
    margin-bottom: 30px;
  }
}
/* Страница архивов услуг */
.uslugi {
  padding-bottom: 50px;
}
.uslugi__list {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.uslugi__list .usluga-anounce {
  width: calc((100% - 72px) / 4);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
}
.uslugi__list .usluga-anounce__image {
  width: 100%;
  height: auto;
  aspect-ratio: 267/174;
  border-radius: 10px;
  margin-bottom: 20px;
  overflow: hidden;
}
.uslugi__list .usluga-anounce__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: all 0.3s linear;
}
.uslugi__list .usluga-anounce__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 20px;
  color: var(--blue-color);
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 3;   /* количество строк */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.uslugi__list .usluga-anounce__btn {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 16px;
  line-height: 180%;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: var(--main-accent);
  transition: all 0.2s linear;
}
.uslugi__list .usluga-anounce:hover .usluga-anounce__image img {
  transform: scale(1.02);
}
.uslugi__list .usluga-anounce:hover .usluga-anounce__btn {
  color: var(--green-color);
}
.uslugi .pagination .screen-reader-text {
  display: none;
}
.uslugi .pagination .nav-links {
  margin-top: 40px;
  display: flex;
  width: 100%;
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.uslugi .pagination .nav-links .page-numbers {
  border-radius: 12px;
  padding: 5px 10px;
  border: 1px solid var(--main-accent);
  background: var(--white-color);
  color: var(--main-accent);
  font-size: 14px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all 0.2s linear;
}
.uslugi .pagination .nav-links .page-numbers:hover {
  transform: scale(0.99);
}
.uslugi .pagination .nav-links .page-numbers.current {
  background: var(--main-accent);
  color: var(--white-color);
}
.uslugi .pagination .nav-links .page-numbers.current:hover {
  transform: scale(1);
}
.uslugi .pagination .nav-links .page-numbers.dots {
  border: none;
  padding: 5px 0px;
}

@media (max-width: 1400px) {
  .uslugi__list {
    gap: 12px;
  }
  .uslugi__list .usluga-anounce {
    width: calc((100% - 36px) / 4);
  }
}
@media (max-width: 1200px) {
  .uslugi__list .usluga-anounce {
    width: calc((100% - 24px) / 3);
  }
}
@media (max-width: 1000px) {
  .uslugi__list .usluga-anounce {
    width: calc((100% - 12px) / 2);
  }
}
@media (max-width: 800px) {
  .uslugi__list .usluga-anounce__title {
    font-size: 18px;
  }
  .uslugi__list .usluga-anounce__btn {
    font-size: 14px;
  }
  .uslugi .pagination .nav-links {
    -moz-column-gap: 6px;
         column-gap: 6px;
  }
  .uslugi .pagination .nav-links .page-numbers {
    padding: 3px 8px;
  }
}
@media (max-width: 600px) {
  .uslugi__list .usluga-anounce__title {
    font-size: 16px;
    margin-bottom: 10px;
  }
}
@media (max-width: 500px) {
  .uslugi {
    padding-bottom: 30px;
  }
  .uslugi__list .usluga-anounce {
    width: 100%;
  }
  .uslugi .pagination .nav-links {
    margin-top: 20px;
  }
  .uslugi .pagination .nav-links .page-numbers.prev, .uslugi .pagination .nav-links .page-numbers.next {
    display: none;
  }
}
/* Блок FAQ */
.faq__container {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  flex-wrap: wrap;
}
.faq__col {
  width: calc((100% - 24px) / 2);
  height: fit-content;
  position: sticky;
  top: 100px;
}
.faq__title {
  text-align: left;
  margin-bottom: 40px;
}
.faq__subtitle {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  line-height: 180%;
  color: var(--grey-color);
  margin-bottom: 40px;
}
.faq__btns {
  display: flex;
}
.faq__list {
  display: flex;
  flex-direction: column;
}
.faq .question {
  border-bottom: 1px solid var(--blue-color);
  padding: 26px 50px 24px 26px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.faq .question:first-child {
  border-top: 1px solid var(--blue-color);
}
.faq .question__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 24px;
  line-height: 150%;
  letter-spacing: -0.03em;
  color: var(--blue-color);
  position: relative;
  transition: all 0.3s ease;
}
.faq .question__content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
  padding-top: 0;
  padding-bottom: 0;
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  color: var(--grey-color);
}
.faq .question.open .question__content {
  opacity: 1;
  padding-top: 48px;
}
.faq .question.open .question__icon .line.vertical {
  height: 0px;
}
.faq .question__icon {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: -25px;
  margin: auto;
}
.faq .question__icon .line {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  background: var(--blue-color);
  border-radius: 5px;
  transition: all 0.1s linear;
}
.faq .question__icon .line.horizontal {
  width: 100%;
  height: 2px;
}
.faq .question__icon .line.vertical {
  width: 2px;
  height: 100%;
  transition: all 0.2s ease;
}
.faq .question:hover .question__title {
  color: var(--green-color);
}
.faq .question:hover .question__icon .line {
  background: var(--green-color);
}

@media (max-width: 1400px) {
  .faq .question__title {
    font-size: 22px;
  }
  .faq .question.open .question__content {
    padding-top: 12px;
  }
}
@media (max-width: 1200px) {
  .faq__container {
    flex-direction: column;
    row-gap: 40px;
  }
  .faq__col {
    width: 100%;
    position: relative;
    top: 0px;
  }
  .faq .question {
    padding: 20px 40px 20px 26px;
  }
  .faq .question__icon {
    right: -28px;
  }
  .faq__subtitle {
    margin-bottom: 30px;
  }
}
@media (max-width: 800px) {
  .faq .question {
    padding: 20px 40px 20px 20px;
  }
  .faq .question__icon {
    right: -27px;
  }
}
@media (max-width: 600px) {
  .faq__title {
    margin-bottom: 20px;
  }
  .faq__subtitle {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .faq .question {
    padding: 20px 20px 20px 10px;
  }
  .faq .question__icon {
    right: -18px;
  }
  .faq .question__title {
    font-size: 18px;
  }
  .faq .question__content {
    font-size: 14px;
  }
}
@media (max-width: 500px) {
  .faq__btns {
    flex-direction: column;
    row-gap: 6px;
  }
}
/* Подготовка к обработке */
.preparing__title {
  margin-bottom: 30px;
}
.preparing__text {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  text-align: center;
  color: var(--grey-color);
  max-width: 889px;
  margin: auto;
  margin-bottom: 60px;
}
.preparing__cards {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 60px;
       column-gap: 60px;
  row-gap: 24px;
}
.preparing-card {
  width: calc((100% - 60px) / 2);
  padding: 32px;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: var(--text-color);
}
.preparing-card__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  line-height: 150%;
  color: var(--blue-color);
  margin-bottom: 50px;
}
.preparing-card ol, .preparing-card ul {
  padding-left: 22px;
}

@media (max-width: 1000px) {
  .preparing__cards {
    flex-direction: column;
  }
  .preparing-card {
    width: 100%;
  }
}
@media (max-width: 800px) {
  .preparing__text {
    margin-bottom: 40px;
  }
  .preparing-card {
    padding: 24px;
  }
  .preparing-card__title {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
@media (max-width: 600px) {
  .preparing__title {
    margin-bottom: 20px;
  }
  .preparing__text {
    line-height: normal;
    margin-bottom: 20px;
  }
  .preparing-card__title {
    font-size: 22px;
  }
}
/* Этапы обработки */
.steps__container {
  display: flex;
  flex-direction: column;
}
.steps__title {
  width: 100%;
}
.steps__btn {
  margin-top: 40px;
}
.steps__list {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}
.steps__list .step-card {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 20px 32px;
  background: var(--white-color);
  min-height: 154px;
  display: flex;
  -moz-column-gap: 116px;
       column-gap: 116px;
}
.steps__list .step-card__info {
  flex: 1;
}
.steps__list .step-card__title {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  align-items: center;
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  line-height: 150%;
  color: var(--blue-color);
  margin-bottom: 20px;
}
.steps__list .step-card__number {
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 16px;
  line-height: 160%;
  color: var(--blue-color);
  width: 33px;
  height: 33px;
  border-radius: 100%;
  background-color: #EEF3FE;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
.steps__list .step-card__text {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: var(--grey-color);
}
.steps__list .step-card__image {
  width: 314px;
  max-width: 100%;
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
  aspect-ratio: 314/146;
}
.steps__list .step-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.steps-final{
  background: linear-gradient(321deg, #eef3fe 0%, #fff 97.99%);
  border-radius: 15px;
  padding: 51px 133px 0px;
  margin-top: 60px;
}
.steps-final__title{
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 45px;
  line-height: 130%;
  color: var(--green-color);
  text-align: center;
  margin-bottom: 20px;
}
.steps-final__text{
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  line-height: 150%;
  color: var(--blue-color);
  flex: 1;
}
.steps-final__content{
  display: flex;
  column-gap: 12px;align-items: center;
}
.steps-final__image{
  width: 308px;
  height: auto;
  aspect-ratio: 308/402;
  flex-shrink: 0;
  max-width: 100%;
}
.steps-final__image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
}

@media(max-width: 1400px){
  .steps-final{
    padding: 40px 60px 0px;
  }
  .steps-final__title{
    font-size: 40px;
  }
  .steps-final__text{
    font-size: 24px;
  }
}
@media(max-width: 1200px){
  .steps-final__title{
    font-size: 38px;
  }
  .steps-final__text{
    font-size: 22px;
  }
}
@media (max-width: 1000px) {
  .steps__list .step-card {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}
@media (max-width: 800px) {
  .steps-final__title{
    font-size: 36px;
    margin-bottom: 30px;
  }
  .steps-final__content{
    flex-direction: column;
    row-gap: 10px;
  }
  .steps-final__text{
    font-size: 20px;
    text-align: center;
  }
  .steps__list .step-card {
    flex-direction: column;
    row-gap: 40px;
    align-items: center;
  }
  .steps__list .step-card__title {
    font-size: 24px;
    -moz-column-gap: 12px;
         column-gap: 12px;
    line-height: normal;
  }
  .steps__list .step-card__image {
    order: -1;
    width: 100%;
  }
  .steps__btn {
    margin-top: 20px;
  }
}
@media (max-width: 600px) {
  .steps__container{
    align-items: center;
  }
  .steps__list .step-card {
    row-gap: 20px;
    padding: 24px;
  }
  .steps__list .step-card__number {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }
  .steps__list .step-card__title {
    font-size: 20px;
    -moz-column-gap: 10px;
         column-gap: 10px;
    margin-bottom: 10px;
  }
  .steps__list .step-card__image {
    order: -1;
  }

  .steps-final{
    padding: 30px 20px 0px;
    max-width: calc(100% - 40px);
  }
  .steps-final__title{
    font-size: 28px;
    margin-bottom: 20px;
  }
  .steps-final__text{
    font-size: 18px;
  }
}

@media(max-width: 400px){
  .steps-final{
    padding: 20px 10px 0px;
  }
  .steps-final__title{
    font-size: 24px;
    margin-bottom: 20px;
  }
  .steps-final__text{
    font-size: 14px;
  }
}
/* Объекты */
.objects {
  background: var(--background-color);
}
.objects__list {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.objects__list .object {
  width: calc((100% - 72px) / 4);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 20px;
  background: var(--white-color);
}
.objects__list .object__image {
  border-radius: 10px;
  aspect-ratio: 267/174;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
  overflow: hidden;
}
.objects__list .object__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: all 0.5s ease;
}
.objects__list .object__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 20px;
  color: var(--blue-color);
  margin-bottom: 20px;
}
.objects__list .object ul {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: var(--grey-color);
  list-style-type: none;
  padding-left: 20px;
}
.objects__list .object ul li {
  position: relative;
}
.objects__list .object ul li::after {
  content: "";
  position: absolute;
  width: 3px;
  height: 3px;
  background-color: var(--grey-color);
  border-radius: 50%;
  top: 0px;
  bottom: 0px;
  margin: auto;
  left: -12px;
}
.objects__list .object:hover img {
  transform: scale(1.02);
}

@media (max-width: 1400px) {
  .objects__list {
    gap: 12px;
  }
  .objects__list .object {
    width: calc((100% - 36px) / 4);
  }
}
@media (max-width: 1200px) {
  .objects__list .object {
    width: calc((100% - 24px) / 3);
  }
}
@media (max-width: 1000px) {
  .objects__list .object {
    width: calc((100% - 12px) / 2);
  }
}
@media (max-width: 800px) {
  .objects__list .object__image {
    margin-bottom: 12px;
  }
  .objects__list .object__title {
    font-size: 18px;
    margin-bottom: 12px;
  }
  .objects__list .object ul {
    display: flex;
    flex-direction: column;
    row-gap: 6px;
  }
  .objects__list .object ul li {
    line-height: 120%;
  }
}
@media (max-width: 600px) {
  .objects__list .object {
    padding: 20px 15px;
  }
  .objects__list .object__title {
    font-size: 16px;
  }
}
@media (max-width: 500px) {
  .objects__list {
    justify-content: center;
  }
  .objects__list .object {
    width: 100%;
    max-width: unset;
  }
}
/* Баннер с обратной связью */
.oc-section {
  padding: 16px 0px;
  clear: both;
}
.oc-section__inner {
  border-radius: 30px;
  background: var(--green-color);
  overflow: hidden;
  background-size: cover;
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  justify-content: space-between;
  padding: 56px 60px;
  align-items: center;
}
.oc-section__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 32px;
  letter-spacing: -0.03em;
  color: var(--white-color);
}
.oc-section__btn {
  background-color: var(--white-color);
  flex-shrink: 0;
  border-color: white;
}

@media (max-width: 1200px) {
  .oc-section__title {
    font-size: 30px;
  }
}
@media (max-width: 1000px) {
  .oc-section__title {
    font-size: 26px;
  }
  .oc-section__inner {
    padding: 48px 40px;
  }
  .oc-section__btn {
    font-size: 16px;
    min-width: 235px;
  }
}
@media (max-width: 800px) {
  .oc-section__inner {
    padding: 30px 40px;
    flex-direction: column;
    row-gap: 20px;
    text-align: center;
  }
}
@media (max-width: 500px) {
  .oc-section__title {
    font-size: 22px;
  }
}

/* Баннер "Ищете подрядчика для коммерческого объекта?" */

.commerce__content{
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  color: var(--white-color);
}
.commerce__title{
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  color: var(--white-color);
  margin-bottom: 40px;
}
.commerce .oc-section__btn{
  width: 268px;
  max-width: 100%;
  flex-shrink: 0;
}
.commerce .oc-section__inner{
  align-items: end;
}

@media(max-width: 800px){
  .commerce__title{
    font-size: 24px;
    margin-bottom: 20px;
  }
  .commerce .oc-section__inner{
    align-items: center;
    row-gap: 30px;
  }
}
@media(max-width: 600px){
  .commerce__content{
    font-size: 14px;
  }
  .commerce__title{
    font-size: 22px;
  }
}

/* СЭС */
.ses .oc-section__inner{
  background-color: var(--main-accent);
}
.ses__text {
  margin-top: 40px;
  margin-bottom: 60px;
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  line-height: 160%;
  color: var(--text-color);
}
.ses__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.ses-card {
  width: calc((100% - 48px) / 3);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 30px;
  background: var(--white-color);
}
.ses-card__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  color: var(--blue-color);
  max-height: 81px;
  height: 81px;
  margin-bottom: 20px;
  overflow: hidden;
}
.ses-card__text {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: var(--grey-color);
}

@media (max-width: 1400px) {
  .ses__cards {
    gap: 12px;
  }
  .ses-card {
    width: calc((100% - 24px) / 3);
  }
  .ses-card__title {
    font-size: 20px;
    max-height: 54px;
    height: 54px;
  }
}
@media (max-width: 1200px) {
  .ses__cards {
    justify-content: space-evenly;
  }
  .ses-card {
    width: calc((100% - 12px) / 2);
  }
}
@media (max-width: 800px) {
  .ses__text {
    margin-bottom: 50px;
  }
  .ses-card {
    width: 100%;
  }
  .ses-card__title {
    font-size: 18px;
    min-height: unset;
    height: auto;
    max-height: unset;
  }
}
@media (max-width: 600px) {
  .ses__text {
    font-size: 14px;
    margin-top: 30px;
    margin-bottom: 40px;
  }
  .ses-card {
    padding: 15px 20px;
  }
}
/* Блок с ценами */
.prices__row {
  display: flex;
  -moz-column-gap: 50px;
       column-gap: 50px;
  flex-wrap: wrap;
  position: relative;
}
.prices__col {
  width: calc(100% - 550px);
}
.prices__col.prices__form {
  width: 500px;
}
.prices__list {
  display: flex;
  flex-direction: column;
  row-gap: 50px;
}
.prices-card {
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 20px 32px;
  background: var(--white-color);
}
.prices-card__top {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 30px;
  font-family: var(--font-opensans);
  font-weight: 600;
}
.prices-card__top span {
  font-size: 26px;
  color: var(--blue-color);
  flex: 1;
  align-content: center;
}
.prices-card__top span.prices-card__minimum {
  flex: none;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 16px;
  line-height: 140%;
  color: var(--white-color);
  border-radius: 10px;
  padding: 5px 22px;
  height: 45px;
  background: var(--main-accent);
}
.prices-card ul {
  padding-left: 34px;
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  line-height: 281%;
  color: #000;
  list-style-type: none;
}
.prices-card ul li {
  position: relative;
}
.prices-card ul li::before {
  content: "";
  position: absolute;
  width: 17px;
  height: 17px;
  left: -34px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  border-radius: 100%;
  background: var(--main-accent);
}
.prices__form {
  border-radius: 30px;
  background: var(--blue-color);
  padding: 30px;
  background-size: cover;
  height: -moz-fit-content;
  height: fit-content;
      position: sticky;
    top: 10px;
}
.prices__form .checkbox a{
  color: var(--white-color);
}
.prices__form-title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  text-align: center;
  color: var(--white-color);
  margin-bottom: 30px;
}
.prices__form-subtitle {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 16px;
  text-align: center;
  color: var(--white-color);
  margin-bottom: 31px;
}
.prices__form form {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}
.prices__form form .wpcf7-response-output {
  color: var(--white-color);
}
.prices__form form .checkbox {
  font-size: 13px;
  font-family: var(--font-opensans);
  font-weight: 250;
  color: var(--white-color);
}
.prices__form form .checkbox-icon {
  border-color: var(--white-color);
  border-width: 0.49px;
  width: 13px;
  height: 13px;
  opacity: 0.6;
  top: 4px;
}
.prices__form form .checkbox-icon::after {
  border-color: var(--white-color);
  width: 3px;
  height: 5px;
  left: 4px;
}
.prices__form .form-object {
  position: relative;
}
.prices__form .form-object__options {
  position: absolute;
  top: 0px;
  right: 0px;
  left: 0px;
  margin: auto;
  background: var(--white-color);
  border-radius: 20px;
  color: var(--blue-color);
  padding: 15px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  z-index: 1;
  top: -60px;
  min-width: 250px;
  opacity: 0;
  transition: all 0.1s ease;
  top: -60px;
  transform: scale(0.6);
  pointer-events: none;
  max-height: 200px;
  overflow: auto;
  scrollbar-width: 5px;
  scrollbar-color: var(--blue-color) var(--white-color);
}
.prices__form .form-object__options::-webkit-scrollbar {
  width: 5px;
}
.prices__form .form-object__options::-webkit-scrollbar-track {
  background: var(--white-color);
}
.prices__form .form-object__options::-webkit-scrollbar-thumb {
  background-color: var(--blue-color);
  border-radius: 20px;
  border: 3px solid var(--blue-color);
}
.prices__form .form-object__options.active {
  opacity: 1;
  transform: scale(1);
  pointer-events: all;
}
.prices__form .form-object__option {
  transition: all ease 0.4s;
  cursor: pointer;
}
.prices__form .form-object__option:hover {
  padding-left: 5px;
}
.prices__form .form-object input {
  position: absolute;
  pointer-events: none;
  opacity: 0;
}
.prices__form .form__inputs {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
  height: auto;
  margin-bottom: 0px;
}
.prices__form .form__phone {
  max-width: 100%;
  width: 100%;
}
.prices__form .form__phone input {
  max-width: 100%;
  width: 100%;
}
.prices__form .form__checkboxes {
  margin-bottom: 40px;
}
.prices__form .form__submit {
  position: relative;
  width: 100%;
  margin: auto;
}
.prices__form .form__submit input {
  width: 100%;
  text-align: start;
  padding: 5px 32px;
  font-family: var(--font-opensans);
  max-width: 100%;
}
.prices__form .form__submit svg {
  position: absolute;
  right: 32px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  pointer-events: none;
}
.prices__form .form__submit .wpcf7-spinner {
  display: none;
}
.prices__form .form__input {
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: var(--white-color);
}
.prices__form .form__input > p {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}
.prices__form .form__input input,
.prices__form .form__input .form-object__toggler {
  border: 1px solid #bdbcbc;
  border-radius: 15px;
  padding: 13px 16px;
  width: 100%;
  height: 56px;
  background-color: transparent;
  max-width: 100%;
  text-align: center;
  align-content: center;
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: var(--white-color);
}
.prices__form .form__input input ::-moz-placeholder, .prices__form .form__input .form-object__toggler ::-moz-placeholder {
  color: var(--grey-color);
}
.prices__form .form__input input ::placeholder,
.prices__form .form__input .form-object__toggler ::placeholder {
  color: var(--grey-color);
}
.prices__form .form__input input ::-webkit-input-placeholder,
.prices__form .form__input .form-object__toggler ::-webkit-input-placeholder {
  color: var(--grey-color);
}
.prices__form .form__input input ::-moz-placeholder,
.prices__form .form__input .form-object__toggler ::-moz-placeholder {
  color: var(--grey-color);
  opacity: 1;
}
.prices__form .form__input input :-ms-input-placeholder,
.prices__form .form__input .form-object__toggler :-ms-input-placeholder {
  color: var(--grey-color);
}
.prices__form .form__input .form-object__toggler {
  margin-top: 6px;
  cursor: pointer;
}
.prices__form .form__textarea textarea {
  border: 1px solid #bdbcbc;
  border-radius: 15px;
  padding: 20px 30px;
  width: 100%;
  min-height: 127px;
  background: transparent;
  font-family: var(--font-opensans);
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: var(--white-color);
  max-width: 100%;
  resize: none;
}

@media (max-width: 1400px) {
  .prices-card__top {
    margin-bottom: 20px;
  }
  .prices-card__top span {
    font-size: 24px;
  }
  .prices-card__top span.prices-card__minimum {
    height: 40px;
  }
  .prices-card ul {
    padding-left: 24px;
    line-height: 201%;
  }
  .prices-card ul li::after {
    width: 8px;
    height: 8px;
    left: -19px;
    top: 3px;
  }
  .prices__row {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
  .prices__col {
    width: calc(100% - 524px);
  }
  .prices__list {
    row-gap: 24px;
  }
}
@media (max-width: 1200px) {
  .prices__row {
    flex-direction: column;
    row-gap: 24px;
    align-items: center;
  }
  .prices__col {
    max-width: 600px;
    width: 100%;
  }
  .prices__col.prices__form {
    max-width: 600px;
    width: 100%;
  }
  .prices-card__top span {
    font-size: 20px;
  }
  .prices-card__top span.prices-card__minimum {
    font-size: 14px;
  }
  .prices-card ul {
    font-size: 15px;
    line-height: 180%;
  }
  .prices__form-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
@media (max-width: 800px) {
  .prices-card {
    padding: 20px;
  }
  .prices-card__top {
    margin-bottom: 10px;
  }
  .prices-card ul {
    font-size: 14px;
  }
  .prices__form-title {
    font-size: 22px;
  }
  .prices__form-subtitle {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .prices__form .form__inputs .form__phone, .prices__form .form__inputs .form__submit {
    height: auto;
  }
  .prices__form .form__input {
    font-size: 14px;
  }
  .prices__form .form__input input {
    height: 48px;
    font-size: 16px;
  }
  .prices__form .form__input .form-object__toggler {
    height: 48px;
    font-size: 16px;
  }
  .prices__form .form__textarea textarea {
    font-size: 16px;
  }
  .prices__form .form__checkboxes {
    margin-bottom: 20px;
  }
}
@media (max-width: 600px) {
  .prices__form .form__submit input {
    height: 48px;
  }
  .prices-card__top {
    flex-direction: column;
    row-gap: 6px;
  }
  .prices-card__top span.prices-card__minimum {
    font-size: 14px;
    order: -1;
    margin-bottom: 10px;
  }
}
@media (max-width: 500px) {
  .prices__form {
    padding: 20px 15px;
  }
}
/* Преимущества */

.advantages__list{
  display: flex;
  gap: 37px;
  flex-wrap: wrap;
}
.advantage{
  width: calc((100% - 37px) / 2);
  padding: 25px;
  background: linear-gradient(321deg, #eef3fe 0%, #fff 97.99%);
  border-radius: 15px;

  font-family: var(--font-montserrat);
  font-weight: 400;
  font-size: 16px;
  line-height: 160%;
  color: var(--grey-color);
}
.advantage__title{
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 20px;
  color: var(--blue-color);
  margin-bottom: 25px;
}

@media(max-width: 800px){
  .advantages__list{
    flex-direction: column;
    gap: 24px;
  }
  .advantage{
    width: 100%;
  }
}
@media(max-width: 600px){
  .advantages__list{
    gap: 12px;
  }
  .advantage{
    padding: 12px 24px;
    font-size: 14px;
  }
  .advantage__title{
    font-size: 18px;
    margin-bottom: 12px;
  }
}
@media(max-width: 400px){
  .advantage{
    padding: 12px;
  }
}

/* Фото с выездов */

.gallery-controls,
.thanks-controls {
  width: 100%;
  display: flex;
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
  margin-bottom: 18px;
}
.gallery-controls > div,
.thanks-controls > div {
  cursor: pointer;
  transition: all 0.1s linear;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.gallery-controls > div:hover,
.thanks-controls > div:hover {
  transform: scale(0.9);
}
.gallery-controls > div.clicked,
.thanks-controls > div.clicked {
  transform: scale(0.8);
}
.gallery__list{
  max-width: 1250px;
}
.thanks__list{
  max-width: 1120px;
}
.gallery__list .swiper-wrapper{
  height: 307px !important;
}
.thanks__list .swiper-wrapper{
  height: 468px !important;
}
.swiper-wrapper.clicked-next{
  margin-left: 22px;
}
.thanks__list .swiper-wrapper.clicked-next{
  margin-left: 65px;
}
.gallery__list .swiper-slide,
.thanks__list .swiper-slide {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all 0.7s ease;
  margin: auto 0px;
  height: auto;
}
.gallery__list .swiper-slide img,
.thanks__list .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.7s linear;
  -o-object-position: center;
     object-position: center;
     transform: translateZ(0);
  backface-visibility: hidden;
  border-radius: 30px;
}
.thanks__list .swiper-slide img{
  cursor: pointer;
}
.gallery .section__title {
  margin-bottom: 30px;
}
.gallery .section__subtitle {
  margin-bottom: 40px;
}

@media (max-width: 1400px) {
  .gallery__list .swiper-wrapper,
  .thanks__list .swiper-wrapper {
    height: auto !important;
  }
  .thanks__list .swiper-slide,
  .gallery__list .swiper-slide{
    margin: auto 0px;
  }
}
@media (max-width: 800px) {
  .gallery .section__title {
    margin-bottom: 20px;
  }
  .gallery .section__subtitle {
    margin-bottom: 15px;
  }
}
@media (max-width: 600px) {
  .gallery .section__title {
    margin-bottom: 15px;
  }
}
/* Блок "Почему нельзя откладывать..." */
.why__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.why__title {
  margin-bottom: 50px;
}
.why-card {
  width: calc((100% - 48px) / 3);
  border-radius: 20px;
  padding: 32px;
  min-height: 216px;
  overflow: hidden;
  height: auto;
  position: relative;
}
.why-card img {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
  transition: all 0.5s linear;
}
.why-card:hover img {
  transform: scale(1.01);
}
.why-card::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: rgba(0, 0, 0, 0.7);
}
.why-card__title {
  position: relative;
  z-index: 1;
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 26px;
  line-height: 150%;
  color: var(--white-color);
  margin-bottom: 30px;
}
.why-card__text {
  z-index: 1;
  position: relative;
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: var(--white-color);
}

@media (max-width: 1400px) {
  .why-card__title {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
@media (max-width: 1200px) {
  .why__list {
    gap: 12px;
  }
  .why-card {
    width: calc((100% - 24px) / 3);
    padding: 24px;
  }
  .why-card__title {
    font-size: 20px;
  }
}
@media (max-width: 1000px) {
  .why__list {
    justify-content: space-evenly;
  }
  .why-card {
    width: calc((100% - 12px) / 2);
  }
}
@media (max-width: 800px) {
  .why-card {
    max-width: 500px;
    width: 100%;
  }
  .why__title {
    margin-bottom: 40px;
  }
}
/* Footer */
.footer {
  padding-top: 84px;
  padding-bottom: 52px;
  clear: both;
}
.footer a,
.footer span {
  font-family: var(--font-opensans);
  font-weight: 400;
  font-size: 14px;
  line-height: normal;
  color: var(--grey-color);
  transition: all 0.2s ease;
}
.footer a:hover {
  color: var(--green-color);
}
.footer__container {
  display: flex;
  -moz-column-gap: 26px;
       column-gap: 26px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer__map {
  height: 250px;
  width: 400px;
  max-width: 100%;
}
.footer__map > div {
  height: 100%;
  width: 100%;
}
.footer__map > div iframe {
  height: 100% !important;
  width: 100% !important;
  border-radius: 30px;
  border: none;
}
.footer__info {
  display: flex;
  flex-direction: column;
}
.footer__info a {
  display: block;
}
.footer__logo {
  aspect-ratio: 304/68;
  width: 200px;
  height: auto;
  margin-bottom: 24px;
}
.footer__logo img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer__pol {
  margin-bottom: 28px;
}
.footer__socs {
  display: flex;
  margin-top: 20px;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
.footer__socs img {
  width: 25px;
  height: 25px;
  border-radius: 5px;
  transition: all 0.2s ease;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer__socs img:hover {
  transform: scale(0.95);
}
.footer__menu {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  flex: 1;
  max-width: 781px;
}
.footer__menu .footer-menu__col {
  width: calc((100% - 48px) / 3);
}
.footer__menu .footer-menu__title {
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 18px;
  color: var(--blue-color);
  margin-bottom: 24px;
  display: block;
}
.footer__menu ul {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  row-gap: 14px;
}
.footer__email, .footer__location {
  display: flex;
  -moz-column-gap: 9px;
       column-gap: 9px;
  align-items: center;
  margin-top: 20px;
}
.footer__email svg,
.footer__email img, .footer__location svg,
.footer__location img {
  width: 24px;
  height: 24px;
  -o-object-fit: none;
     object-fit: none;
  -o-object-position: center;
     object-position: center;
  flex-shrink: 0;
}

@media (max-width: 1200px) {
  .footer__info {
    max-width: 250px;
  }
  .footer__logo {
    margin-bottom: 24px;
  }
  .footer__pol {
    margin-bottom: 16px;
  }
  .footer__menu .footer-menu__col{
    width: auto;
    flex: 1;
  }
  .footer__menu .footer-menu__col:first-child{
    flex: none;
    width: fit-content;
    min-width: 150px;
  }
}
@media(max-width: 1000px){
  .footer__menu .footer-menu__col:first-child{
    flex: none;
    width: fit-content;
    min-width: 100px;
  }
}
@media (max-width: 800px) {
  .footer__container {
    flex-direction: column;
    row-gap: 40px;
  }
  .footer__info{
    max-width: 100%;
  }
  .footer__map{
    width: 100%;
  }
}
@media (max-width: 600px) {
  .footer {
    padding-top: 60px;
    padding-bottom: 40px;
  }
  .footer__logo {
    margin-bottom: 16px;
  }
  .footer__pol {
    margin-bottom: 10px;
  }
  .footer__info {
    max-width: 100%;
  }
  .footer__container {
    row-gap: 20px;
  }
  .footer__menu {
    flex-direction: column;
    row-gap: 20px;
  }
  .footer__menu ul {
    row-gap: 10px;
  }
  .footer__menu .footer-menu__col {
    width: 100%;
  }
  .footer__menu .footer-menu__title {
    margin-bottom: 14px;
  }
  .footer__menu .footer-menu ul {
    row-gap: 10px;
  }
  .footer__email, .footer__location {
    margin-top: 10px;
  }
}

/* Анимации */

.animate-on-scroll {
  opacity: 0;
  transform: translateY(-60px);    
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); 
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0); 
}

/* Lightbox */

.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  cursor: zoom-out;
}

.lightbox img {
  max-width: 90%;
  max-height: 90%;
  transform: scale(0.8);
  opacity: 0;
  transition: all 0.3s;
}

.lightbox {
  opacity: 0;
  transition: opacity 0.3s;
}

.lightbox.show {
  opacity: 1;
}

.lightbox.show img{
  transform: scale(1);
  opacity: 1;
}





  #ai-text.service-page {
    --bg: var(--white-color);
    --text: #0f1a14;
    --muted: #4b5b52;
    --border: #dfe7e2;
    --accent: var(--main-accent);
    --accent-soft: #c2dda7;
    --accent-ink: var(--blue-color);
    --focus: var(--main-accent);
    --max: 1170px;

    background: var(--bg);
    color: var(--text);
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans",
      sans-serif;
    line-height: 1.55;
    font-size: 16px;
  }

  #ai-text.service-page * {
    box-sizing: border-box;
  }
  /* Media placeholder */
#ai-text .media-placeholder {
    width: 100%;
    aspect-ratio: 2 / 1;
       border: 1px solid var(--accent);
}
#ai-text .media-placeholder img{
  width: 100%;
  object-fit: contain;
}

  #ai-text.service-page :focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 2px;
  }

  #ai-text.service-page a {
    color: var(--accent);
    text-decoration: none;
  }

  #ai-text.service-page a:hover {
    text-decoration: underline;
  }

  #ai-text.service-page .hero,
  #ai-text.service-page .section,
  #ai-text.service-page .micro-footer {
    padding: 28px 16px;
  }

  #ai-text.service-page .hero,
  #ai-text.service-page .section,
  #ai-text.service-page .micro-footer {
    max-width: var(--max);
    margin: 0 auto;
    background: var(--bg);
  }

  #ai-text.service-page .section {
    border-bottom: 1px solid var(--border);
  }

  /* TYPO */
  #ai-text.service-page .hero__title,
  #ai-text.service-page .section__title {
    margin: 0 0 10px 0;
    letter-spacing: -0.02em;
    line-height: 1.15;
  }

  #ai-text.service-page .hero__title {
    font-size: clamp(28px, 3vw, 44px);
  }

  #ai-text.service-page .section__title {
    font-size: clamp(22px, 2.2vw, 30px);
  }

  #ai-text.service-page .hero__lead {
    margin: 0 0 16px 0;
    color: var(--muted);
    max-width: 80ch;
  }

  #ai-text.service-page .section__subtitle {
    margin: 0 0 18px 0;
    color: var(--muted);
    /* max-width: 70ch; */
  }

  #ai-text.service-page .section__text {
    margin: 0 0 12px 0;
    color: var(--text);
    /* max-width: 78ch; */
  }

  /* HERO */
  #ai-text.service-page .hero {
    border-bottom: 1px solid var(--border);
    /* display: grid; */
    /* grid-template-columns: 1fr 1fr; */
    /* gap: 18px; */
    /* align-items: center; */
  }

  @media (max-width: 900px) {
    #ai-text.service-page .hero {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
  }

  /* BUTTONS */
  #ai-text.service-page a {
    color: var(--accent-ink);
}
  #ai-text.service-page a.btn_blue {
    color: var(--white-color);
}
#ai-text.service-page a:hover{
    text-decoration: none;
}
#ai-text.service-page a:hover{
    color: var(--white-color);
}
  /* #ai-text.service-page .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--accent);
    font-weight: 600;
    cursor: pointer;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
  }

  #ai-text.service-page .btn:hover {
    text-decoration: none;
    border-color: var(--accent);
    background: #f3faf2;
  }

  #ai-text.service-page .btn--primary {
    background: var(--accent);
    color: var(--white-color);
    border-color: var(--accent);
  }

  #ai-text.service-page .btn--primary:hover {
    background: #2f7623;
    border-color: #2f7623;
  }

  #ai-text.service-page .btn--ghost {
    background: var(--bg);
    color: var(--accent);
    border-color: var(--accent);
  }

  #ai-text.service-page .btn--ghost:hover {
    background: var(--accent-soft);
  }

  @media (prefers-reduced-motion: reduce) {
    #ai-text.service-page .btn {
      transition: none;
    }
  } */

  /* RISK GRID */
  #ai-text.service-page .risk-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  @media (max-width: 900px) {
    #ai-text.service-page .risk-grid {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .risk-card {
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--bg);
    padding: 14px;
    border-left: 4px solid var(--accent);
    border-radius: 0;
    box-shadow: none;
  }

  #ai-text.service-page .risk-card__title {
    margin: 0 0 6px 0;
    font-size: 16px;
  }

  #ai-text.service-page .risk-card__text {
    margin: 0;
    color: var(--muted);
  }

  #ai-text.service-page .tabs {
    border: 1px solid var(--border);
    background: var(--bg);
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
  }

  /* tabs header */
  #ai-text.service-page .tabs__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--border);
  }

  #ai-text.service-page .tabs__tab {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 700;
    color: var(--muted);
    border-right: 1px solid var(--border);
  }

  #ai-text.service-page .tabs__tab[aria-selected="true"] {
    color: var(--accent-ink);
    background: var(--accent-soft);
  }

  #ai-text.service-page .tabs__panels {
    padding: 14px;
  }

  /* IMPORTANT: override hidden panels behaviour (no JS) */
  #ai-text.service-page .tabs__panel[hidden] {
    display: none;
  }

  /* Default: show first panel (since it's not hidden) */
  #ai-text.service-page .tabs__panel {
    display: block;
  }

  #ai-text.service-page .tabs__panel p {
    margin: 0;
  }

  /* CSS-only switching:
   - when a tab button gets focus (keyboard) or hover (mouse),
     show its target panel, hide others.
   - also visually mark active tab (via focus/hover)
*/
  #ai-text.service-page .tabs:has(#tab-system-btn:focus-visible),
  #ai-text.service-page .tabs:has(#tab-system-btn:hover) {
    /* hide first and third, show second */
  }

  #ai-text.service-page .tabs:has(#tab-system-btn:focus-visible) #tab-def,
  #ai-text.service-page .tabs:has(#tab-system-btn:hover) #tab-def,
  #ai-text.service-page .tabs:has(#tab-system-btn:focus-visible) #tab-global,
  #ai-text.service-page .tabs:has(#tab-system-btn:hover) #tab-global {
    display: none;
  }

  #ai-text.service-page .tabs:has(#tab-system-btn:focus-visible) #tab-system,
  #ai-text.service-page .tabs:has(#tab-system-btn:hover) #tab-system {
    display: block;
  }

  #ai-text.service-page .tabs:has(#tab-global-btn:focus-visible),
  #ai-text.service-page .tabs:has(#tab-global-btn:hover) {
    /* hide first and second, show third */
  }

  #ai-text.service-page .tabs:has(#tab-global-btn:focus-visible) #tab-def,
  #ai-text.service-page .tabs:has(#tab-global-btn:hover) #tab-def,
  #ai-text.service-page .tabs:has(#tab-global-btn:focus-visible) #tab-system,
  #ai-text.service-page .tabs:has(#tab-global-btn:hover) #tab-system {
    display: none;
  }

  #ai-text.service-page .tabs:has(#tab-global-btn:focus-visible) #tab-global,
  #ai-text.service-page .tabs:has(#tab-global-btn:hover) #tab-global {
    display: block;
  }

  /* Active tab styling on hover/focus (without changing aria-selected) */
  #ai-text.service-page .tabs:has(#tab-system-btn:focus-visible) #tab-system-btn,
  #ai-text.service-page .tabs:has(#tab-system-btn:hover) #tab-system-btn,
  #ai-text.service-page .tabs:has(#tab-global-btn:focus-visible) #tab-global-btn,
  #ai-text.service-page .tabs:has(#tab-global-btn:hover) #tab-global-btn {
    background: var(--accent-soft);
    color: var(--accent-ink);
  }

  /* WHERE LIST */
  #ai-text.service-page .where-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    margin-top: 12px;
  }

  @media (max-width: 900px) {
    #ai-text.service-page .where-list {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .where-item {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    background: var(--bg);
    border-radius: 0;
    border-radius: 10px;
    box-shadow: none;
  }

  #ai-text.service-page .where-item__icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #b8d3b3;
    background: var(--accent-soft);
    color: var(--accent-ink);
    font-size: 18px;
    border-radius: 10px;
  }

  #ai-text.service-page .where-item__title {
    margin: 0 0 4px 0;
    font-size: 16px;
  }

  #ai-text.service-page .where-item__text {
    margin: 0;
    color: var(--muted);
  }

  /* PROVIDER */
  #ai-text.service-page .provider {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 18px;
    align-items: start;
  }

  @media (max-width: 900px) {
    #ai-text.service-page .provider {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .quote {
    margin: 14px 0 0 0;
    padding: 14px;
    border-left: 4px solid var(--accent);
    border-top: 1px solid var(--border);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: #f7fbf7;
    border-radius: 0;
    box-shadow: none;
    border-radius: 10px;
  }

  #ai-text.service-page .quote__text {
    margin: 0 0 8px 0;
    font-weight: 600;
  }

  #ai-text.service-page .quote__footer {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
  }

  #ai-text.service-page .card.card--cta {
    border: 1px solid var(--border);
    background: var(--bg);
    padding: 14px;
    border-left: 4px solid var(--accent);
    border-radius: 0;
    border-radius: 10px;
    box-shadow: none;
  }

  #ai-text.service-page .card__title {
    margin: 0 0 8px 0;
    font-size: 18px;
  }

  #ai-text.service-page .card__text {
    margin: 0 0 12px 0;
    color: var(--muted);
  }

  #ai-text.service-page .card__meta {
    margin: 10px 0 0 0;
    color: var(--muted);
    font-size: 13px;
  }

  /* METHODS */
  #ai-text.service-page .methods-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
  }

  @media (max-width: 1000px) {
    #ai-text.service-page .methods-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 520px) {
    #ai-text.service-page .methods-grid {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .method-card {
    border: 1px solid var(--border);
    background: var(--bg);
    padding: 14px;
    border-top: 4px solid var(--accent);
    border-radius: 0;
    box-shadow: none;
    border-radius: 10px;
  }

  #ai-text.service-page .method-card__title {
    margin: 0 0 6px 0;
    font-size: 16px;
  }

  #ai-text.service-page .method-card__text {
    margin: 0;
    color: var(--muted);
  }

  /* STEPPER */
  #ai-text.service-page .stepper {
    list-style: none;
    margin: 14px 0 0 0;
    padding: 0;
    display: grid;
    gap: 10px;
  }

  #ai-text.service-page .stepper__step {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    background: var(--bg);
    border-radius: 0;
    border-radius: 10px;
    box-shadow: none;
  }

  #ai-text.service-page .stepper__marker {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    font-weight: 800;
    border: 1px solid var(--accent);
    background: var(--accent-soft);
    border-radius: 10px;
    color: var(--accent-ink);
  }

  #ai-text.service-page .stepper__title {
    margin: 0 0 4px 0;
    font-size: 16px;
  }

  #ai-text.service-page .stepper__text {
    margin: 0;
    color: var(--muted);
  }

  /* CTA (used in section 6) */
  #ai-text.service-page .cta {
    border: 1px solid #cfe2cc;
    background: #f7fbf7;
    padding: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-radius: 0;
    box-shadow: none;
  }

  #ai-text.service-page .cta__title {
    margin: 0 0 2px 0;
    font-weight: 800;
  }

  #ai-text.service-page .cta__text {
    margin: 0;
    color: var(--muted);
  }

  #ai-text.service-page .cta--wide {
    margin-top: 16px;
    border-radius: 10px;
  }

  @media (max-width: 700px) {
    #ai-text.service-page .cta {
      flex-direction: column;
      align-items: stretch;
    }
  }

  /* CHECKLIST */
  #ai-text.service-page .check-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 10px;
  }

  @media (max-width: 900px) {
    #ai-text.service-page .check-split {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .checklist {
    list-style: none;
    padding: 14px;
    margin: 0;
    border: 1px solid var(--border);
    background: var(--bg);
    border-radius: 0;
    box-shadow: none;
    border-radius: 10px;
  }

  #ai-text.service-page .checklist__item {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
  }

  #ai-text.service-page .checklist__item:last-child {
    border-bottom: 0;
  }

  #ai-text.service-page .checklist__icon {
    color: var(--accent);
    font-weight: 900;
  }

  #ai-text.service-page .checklist__text strong {
    color: var(--accent-ink);
  }

  /* COMPLIANCE */
  #ai-text.service-page .compliance {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 18px;
    align-items: start;
  }

  @media (max-width: 900px) {
    #ai-text.service-page .compliance {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .legal-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
  }

  #ai-text.service-page .pill {
    display: inline-flex;
    padding: 6px 10px;
    border: 1px solid #b8d3b3;
    border-radius: 10px;
    background: var(--accent-soft);
    color: var(--accent-ink);
    font-size: 13px;
    line-height: 1.2;
  }

  /* LICENSE CARD */
  #ai-text.service-page .license-card {
    border: 1px solid var(--border);
    background: var(--bg);
    padding: 14px;
    border-radius: 0;
    border-radius: 10px;
    box-shadow: none;
  }

  #ai-text.service-page .license-card__title {
    margin: 0 0 8px 0;
    font-size: 18px;
  }

  #ai-text.service-page .license-card__text {
    margin: 0 0 10px 0;
    font-weight: 800;
    color: var(--accent-ink);
    line-height: 1.35;
  }

  #ai-text.service-page .license-card__muted {
    font-weight: 600;
    color: var(--muted);
  }

  #ai-text.service-page .license-card__note {
    margin: 0;
    color: var(--muted);
  }

  /* DOCS */
  #ai-text.service-page .docs-layout {
    margin-top: 10px;
  }

  #ai-text.service-page .accordion {
    /* border: 1px solid var(--border); */
    background: var(--bg);
    padding: 0;
    border-radius: 0;
    border-radius: 10px;
    box-shadow: none;
  }
#ai-text.service-page .micro-footer__list li:before,
#ai-text.service-page .checklist li:before{
    display: none;
}
#ai-text.service-page .btn{
    padding: 5px 10px;   
}
  #ai-text.service-page .accordion__summary {
    cursor: pointer;
    list-style: none;
    padding: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: var(--accent-soft);
    border-bottom: 1px solid var(--border);
    border-radius: 10px;
  }

  #ai-text.service-page .accordion__summary::-webkit-details-marker {
    display: none;
  }

  #ai-text.service-page .accordion__title {
    font-weight: 800;
    color: var(--accent-ink);
  }

  #ai-text.service-page .accordion__hint {
    font-size: 13px;
    color: var(--muted);
    border: 1px solid #b8d3b3;
    padding: 4px 8px;
    background: var(--bg);
  }

  #ai-text.service-page .accordion__content {
    padding: 14px;
  }

  #ai-text.service-page .docs-list {
    margin: 0;
    padding-left: 18px;
    color: var(--text);
  }

  #ai-text.service-page .docs-list li {
    padding: 6px 0;
    border-bottom: 1px solid var(--border);
  }

  #ai-text.service-page .docs-list li:last-child {
    border-bottom: 0;
  }

  #ai-text.service-page .hint-box {
    margin-top: 12px;
    border: 1px solid var(--border);
    background: #f7fbf7;
    padding: 14px;
    border-left: 4px solid var(--accent);
    border-radius: 0;
    box-shadow: none;
    border-radius: 10px;
  }

  #ai-text.service-page .hint-box__title {
    margin: 0 0 6px 0;
    font-weight: 800;
  }

  #ai-text.service-page .hint-box__text {
    margin: 0;
    color: var(--muted);
  }

  /* FINAL */
  #ai-text.service-page .final {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 18px;
    align-items: start;
  }

  @media (max-width: 900px) {
    #ai-text.service-page .final {
      grid-template-columns: 1fr;
    }
  }

  #ai-text.service-page .slogan {
    margin: 14px 0 0 0;
    padding: 12px 14px;
    border: 1px solid #b8d3b3;
    background: var(--accent-soft);
    color: var(--accent-ink);
    border-radius: 0;
    box-shadow: none;
    border-radius: 10px;
  }

  /* MICRO FOOTER (moved into final__form in your markup) */
  #ai-text.service-page .micro-footer {
    padding: 0;
  }

  /* avoid double padding inside final */
  #ai-text.service-page .micro-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
  }

  #ai-text.service-page .micro-footer__item {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--muted);
     box-shadow: none;
  }
  @media (max-width: 768px) {

  #ai-text  .media-placeholder {
        aspect-ratio: 16 / 10;
    }
}


/*# sourceMappingURL=style.css.map */

/* Лицензии */

.licenses__list{
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}
.license{
  width: calc((100% - 60px) / 4);
  aspect-ratio: 320/450;
  height: auto;
  cursor: pointer;
  position: relative;
}
.license__preview{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 30px;
}
.license__action{
  position: absolute;
  left: 0px;
  top: 0px;
  bottom: 0px;
  right: 0px;
  margin: auto;
  width: 60px;
  height: 60px;
  border-radius: 12px;
  background-color: rgba(119, 178, 72,0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.2s ease;
}
.license:hover .license__action{
  transform:scale(0.9);
}
.license.clicked .license__action{
  transform: scale(0.85);
}

.modal-pdf{
  position: fixed;
  background-color: var(--white-color);
  left: 0px;
  top: 0px;
  right: 0px;
  bottom: 0px;
  margin: auto;
  height: 75%;
  width: 80%;
  padding: 10px 40px;
  border-radius: 12px;
  opacity: 0;
  transform: scale(0.9);
  transition:  all 0.4s ease;
  z-index: 10;
  pointer-events: none;
  display: flex;
  flex-direction: column;
}
.modal-pdf__content{
  height: 100%;
}
.modal-pdf.visible{
  opacity: 1;
  transform: scale(1);
  pointer-events: all;
}
.modal-pdf__top{
  color: var(--blue-color);
  position: relative;
  width: 100%;
  font-size: 18px;
  margin-bottom: 15px;
  font-weight: 600;
}
.modal-pdf__close{
  font-size: 40px;
  transform: rotate(45deg);
  color: var(--blue-color);
  position: absolute;
  right: -35px;
    top: -6px;
    font-weight: 500;
  height: fit-content;
  line-height: 29px;
  cursor: pointer;
}
.modal-pdf__iframe{
  height: 100%;
}

@media(max-width: 1200px){
  .modal-pdf{
    width: 100%;
    height: 100%;
    border-radius: 0px;
    padding: 20px;
  }
  .modal-pdf__name{
    padding-right: 20px;
  }
  .modal-pdf__close{
    right: -9px;
  }
}
@media(max-width: 1000px){
  .license{
    width: calc((100% - 40px) / 3);
  }
}

@media(max-width: 800px){
  .modal-pdf__iframe #center{
    display: none;
  }
}

@media(max-width: 640px){
  .licenses__list{
    gap: 12px;
  }
  .license{
    width: calc((100% - 12px) / 2);
  }
}

@media(max-width: 400px){
  .license{
    width: 100%;
  }
}


/* Cookie */

.cookie-notice {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  display: none;

  color: #111;
  background-color: var(--white-color);

  border-radius: 16px;
  padding: 20px;

  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.cookie-notice.show {
  display: block;
  animation: cookieFade .3s ease;
}

.cookie-notice__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.cookie-notice p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.cookie-notice__actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.cookie-notice__btn {
  border: none;
  padding: 12px 18px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: .2s;
  height: 44px;
}

.cookie-notice__btn--accept {
  color: var(--white-color);
  background-color: var(--main-accent);
}
.cookie-notice__btn--decline{
  background-color: var(--white-color);
  border: 2px solid var(--main-accent);
      color: var(--main-accent);
    opacity: 0.9;
}
.cookie-notice a{
  color: var(--main-accent);
  transition: all 0.2s linear;
}
.cookie-notice a:hover{
  filter: brightness(0.5);
}

.cookie-notice__btn--accept:hover {
  opacity: .85;
}

@keyframes cookieFade {
  from {
    opacity: 0;
    transform: translateY(15px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .cookie-notice__content {
    flex-direction: column;
    align-items: flex-start;
  }
  .cookie-notice__actions {
    width: 100%;
  }
}
@media(max-width: 400px){
  .cookie-notice__actions{
    flex-direction: column;
  }
}

/* Блок "Самостоятельно" */

.comparison__cards{
  display: flex;
  column-gap: 50px;
}
.comparison-card{
  width: calc((100% - 50px) / 2);
  border: 1px solid #d9d9d9;
  border-radius: 15px;
  padding: 15px;
}
.comparison-card__header{
  display: flex;
  column-gap: 24px;
  align-items: center;
  padding: 10px;
  width: 100%;
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 20px;
  color: var(--blue-color);
  margin-bottom: 25px;
  height: 70px;
}
.comparison-card__icon{
  flex-shrink: 0;
}
.comparison-card ul{
  padding-left: 36px;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  font-family: var(--font-montserrat);
  font-weight: 400;
  font-size: 16px;
  line-height: 160%;
  color: var(--grey-color);
}
.comparison-card ul li{
  position: relative;
}
.comparison-card ul li::before{
  position: absolute;
  content: "";
  background-image: url(/wp-content/themes/cachestvo/assets/icon/samostoyatelno_icon.svg);
  display: block;
  width: 20px;
  height: 20px;
  left: -36px;
  top: 4px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.comparison-card_positive ul li::before{
  background-image: url(/wp-content/themes/cachestvo/assets/icon/pointer_icon.svg);
}

@media(max-width: 1200px){
  .comparison__cards{
    column-gap: 24px;
  }
}
@media(max-width: 1000px){
  .comparison__cards{
    flex-direction: column;
    row-gap: 24px;
    align-items: center;
  }
  .comparison-card{
    width: 100%;
    max-width: 600px;
  }
  .comparison-card__header{
    text-align: center;
  }
}
@media(max-width:600px){
  .comparison-card__header{
    margin-bottom: 24px;
    height: auto;
    row-gap: 6px;
    flex-direction: column;
    font-size: 18px;
    padding: 0px;
  }
  .comparison-card ul{
    font-size: 14px;
  }
  .comparison-card ul li::before{
    width: 16px;
    height: 16px;
  }
}

/* Блок "Проблемы" */

.problems__row{
  display: flex;
  column-gap: 48px;
}
.problems__list{
  display: flex;
  flex-direction: column;
  row-gap: 42px;
  width: 450px;
}
.problems__image{
  flex: 1;
  border-radius: 15px;
  height: auto;
  aspect-ratio: 795 / 412;
  overflow: hidden;
  position: sticky;
  top: 110px;
  height: fit-content;
}
.problems__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.problem{
  position: relative;
}
.problem__info{
  background: linear-gradient(321deg, #eef3fe 0%, #fff 97.99%);
  font-family: var(--font-montserrat);
  font-weight: 400;
  font-size: 18px;
  line-height: 160%;
  text-align: center;
  color: #220e0e;
  padding: 30px 40px;
  border-radius: 15px;
  margin-left: 75px;
  transition: all 0.2s ease;
  position: relative;
}
.problem__title{
  font-family: var(--font-opensans);
  font-weight: 600;
  font-size: 20px;
  text-align: center;
  color: #220e0e;
  margin-bottom: 30px;
}
.problem:hover .problem__info{
  transform: translateX(5px);
}
.problem__number{
  position: absolute;
  z-index: -1;
  align-content: center;
  height: 100%;
}
.problem__number img{
  max-height: 100%;
  height: auto;
  max-height: 145px;
}

@media(max-width: 1200px){
  .problems__row{
    column-gap: 24px;
  }
  .problem__info{
    font-size: 16px;
  }
  .problem__title{
    margin-bottom: 12px;
  }
}
@media(max-width: 1000px){
  .problems__list{
    width: 350px;
    row-gap: 24px;
  }
  .problem__info{
    padding: 20px 15px;
    margin-left: 40px;
  }
  .problem__number img{
    width: 60px;
  }
  .problem__number:first-child img{
    width: 45px;
  }
}
@media(max-width: 800px){
  .problems__row{
    flex-direction: column;
    row-gap: 24px;
  }
  .problems__image{
    order: -1;
    position: relative;
    top: 0px;
  }
  .problems__list{
    width: 100%;
    align-items: center;
  }
  .problem{
    width: 100%;
    max-width: 400px;
  }
}
@media(max-width: 600px){
  .problem__info{
    font-size: 14px;
    padding: 30px 15px;
  }
  .problem__title{
    font-size: 18px;
    margin-bottom: 10px;
  }
}