 /*
 Theme Name: Monument Theme
 */

 @font-face {
   font-family: "Mariupol";
   src: url(../fonts/Mariupol-Regular.ttf);
 }

 html, body {
  width: 100%;
  min-height: 100%;
 }

 .page {
   overflow-x: hidden;
   scroll-behavior: smooth;
 }

 .page--hidden {
   overflow: hidden;
 }

 .page__body {
   margin: 0;
   font-family: "Inter", sans-serif;
   background-color: #161D26;
 }

 @media (max-width: 475px) {
   .page__body {
     min-width: 100%;
   }
 }

 .page__burger-menu {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   transform: translateX(100%);
   transition: transform 0.5s;
 }

 .page__burger-menu--open {
   transform: translateX(0);
 }

 .page__about-us {
   margin-bottom: 90px;
 }

 @media (min-width: 1470px) {
   .page__about-us {
     margin-bottom: 107px;
   }
 }

 .page__gallery {
   margin-bottom: 85px;
 }

 @media (min-width: 1470px) {
   .page__gallery {
     margin-bottom: 100px;
   }
 }

 .page__partners {
   margin-bottom: 85px;
 }

 @media (min-width: 1470px) {
   .page__partners {
     margin-bottom: 100px;
   }
 }

 .page__contacts {
   margin-bottom: 70px;
 }

 @media (min-width: 1470px) {
   .page__contacts {
     margin-bottom: 80px;
   }
 }

 .container {
   padding: 0 25px;
 }

 @media (min-width: 960px) {
   .container {
     padding: 0 55px;
   }
 }

 @media (min-width: 1470px) {
   .container {
     padding: 0 80px;
   }
 }

 .content {
   margin: 0 auto;
   max-width: 550px;
 }

 @media (min-width: 960px) {
   .content {
     max-width: 1150px;
   }
 }

 @media (min-width: 1470px) {
   .content {
     max-width: 1500px;
   }
 }

 .logo__image {
   height: 18px;
 }

 @media (min-width: 960px) {
   .logo__image {
     height: 20px;
   }
 }

 @media (min-width: 1470px) {
   .logo__image {
     height: 24px;
   }
 }

 .button {
   width: 100%;
   border: none;
   height: 50px;
   border-radius: 50px;
   color: #201F1F;
   font-family: "Mariupol", sans-serif;
   font-weight: 400;
   font-size: 16px;
   line-height: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   text-decoration: none;
   cursor: pointer;
 }

 @media (min-width: 1470px) {
   .button {
     height: 60px;
     font-size: 18px;
   }
 }

 .button--logo-menu-buttons-container {
   height: 40px;
   font-size: 14px;
 }

 @media (min-width: 1470px) {
   .button--logo-menu-buttons-container {
     height: 44px;
     font-size: 16px;
   }
 }

 .button--header-free-consultation {
   margin: 0 auto;
   width: 244px;
 }

 @media (min-width: 960px) {
   .button--about-us-learn-more {
     width: 150px;
   }
 }

 .button--orange-brown {
   background-image: linear-gradient(90deg, #C99056, #AF7F45, #6D451C);
   border: 1px solid #BA8750;
   box-sizing: border-box;
 }

 .button--black {
   background-color: #2B2722;
   border: 1px solid #D5A45A;
   color: #fff;
   box-sizing: border-box;
 }

 .icon {
   position: relative;
   display: block;
   background-position: center;
   background-size: contain;
   background-repeat: no-repeat;
 }

 .icon--burger-menu {
   background-image: url(../images/icons/menu-icon.svg);
   width: 30px;
   padding-bottom: 20px;
   background-color: transparent;
   border: none;
 }

 @media (min-width: 1470px) {
   .icon--burger-menu {
     width: 33px;
     padding-bottom: 22px;
   }
 }

 .icon--cross {
   background-image: url(../images/icons/cross-icon.svg);
   width: 25px;
   padding-bottom: 25px;
   background-color: transparent;
   border: none;
 }

 @media (min-width: 1470px) {
   .icon--cross {
     width: 28px;
     padding-bottom: 28px;
   }
 }

 .icon--phone {
   background-image: url(../images/icons/icon-phone.svg);
   width: 12px;
   padding-bottom: 12px;
 }

 .icon--request {
   background-image: url(../images/icons/icon-request.svg);
   width: 30px;
   padding-bottom: 30px;
 }

 .icon--team {
   background-image: url(../images/icons/icon-team.svg);
   width: 30px;
   padding-bottom: 30px;
 }

 .icon--image {
   background-image: url(../images/icons/icon-image.svg);
   width: 30px;
   padding-bottom: 30px;
 }

 .icon--carousel-left {
   background-image: url(../images/icons/left-carousel-arrow.svg);
   width: 16px;
   height: 8px;
   border: none;
   background-color: transparent;
 }

 .icon--carousel-right {
   background-image: url(../images/icons/right-carousel-arrow.svg);
   width: 16px;
   height: 8px;
   border: none;
   background-color: transparent;
 }

 .icon--brush {
   background-image: url(../images/icons/icon-brush.svg);
   width: 30px;
   padding-bottom: 30px;
 }

 .icon--flower {
   background-image: url(../images/icons/icon-flower.svg);
   width: 30px;
   padding-bottom: 30px;
 }

 .icon--grave {
   background-image: url(../images/icons/icon-grave.svg);
   width: 30px;
   padding-bottom: 30px;
 }

 .icon--completed {
   background-image: url(../images/icons/completed-icon.svg);
   width: 10px;
   padding-bottom: 7px;
 }

 .icon--arrow-up {
   background-image: url(../images/icons/footer-arrow-up.svg);
   width: 9px;
   padding-bottom: 17px;
 }

 .icon--contact-phone {
   background-image: url(../images/icons/icon-contacts-phone.svg);
   width: 17px;
   padding-bottom: 17px;
 }

 .icon--mail {
   background-image: url(../images/icons/icon-mail.svg);
   width: 17px;
   padding-bottom: 17px;
 }

 .icon--form-user {
   background: url(../images/icons/form-user-icon.svg);
   width: 11px;
   padding-bottom: 13px;
 }

 .icon--form-phone {
   background: url(../images/icons/form-phone-icon.svg);
   width: 14px;
   padding-bottom: 14px;
 }

 .icon--form-message {
   background: url(../images/icons/form-message-icon.svg);
   width: 14px;
   padding-bottom: 14px;
 }

 .icon--eye {
   background-image: url(../images/icons/eye-icon.svg);
   width: 23px;
   padding-bottom: 11px;
 }

 @media (min-width: 960px) {
   .icon--eye {
     width: 28px;
     padding-bottom: 16px;
   }
 }

 .icon--open-answer {
   background-image: url(../images/icons/icon-open-answer.svg);
   width: 12px;
   padding-bottom: 7px;
   background-color: transparent;
   border: none;
 }

 .icon--close-answer {
   background-image: url(../images/icons/icon-close-answer.svg);
   width: 12px;
   padding-bottom: 7px;
   background-color: transparent;
   border: none;
 }

 .icon--quotes {
   background-image: url(../images/icons/review-quote-icon.svg);
   width: 45px;
   padding-bottom: 32px;
 }

 .icon--star {
   background-image: url(../images/icons/icon-rating-star.svg);
   width: 20px;
   padding-bottom: 20px;
 }

 .icon--google {
   background-image: url(../images/icons/icon-google.svg);
   width: 36px;
   padding-bottom: 36px;
 }

 .image {
   width: 100%;
 }

 .logo-menu-buttons-container--top {
   padding-top: 18px;
   display: flex;
   justify-content: space-between;
   align-items: center;
 }

 @media (min-width: 1470px) {
   .logo-menu-buttons-container--top {
     padding-top: 20px;
   }
 }

 .logo-menu-buttons-container--bottom {
   border-bottom: 1px solid #363535;
   padding-bottom: 18px;
   display: flex;
   justify-content: space-between;
   align-items: center;
 }

 .logo-menu-buttons-container__left-side--top {
   display: flex;
 }

 .logo-menu-buttons-container__left-side--bottom {
   display: flex;
   gap: 35px;
   align-items: center;
 }

 @media (min-width: 1470px) {
   .logo-menu-buttons-container__left-side--bottom {
     gap: 40px;
   }
 }

 @media (min-width: 960px) {
   .logo-menu-buttons-container__right-side--top {
     display: flex;
     gap: 45px;
     align-items: center;
   }
 }

 @media (min-width: 1470px) {
   .logo-menu-buttons-container__right-side--top {
     gap: 88px;
   }
 }

 .logo-menu-buttons-container__right-side-phone-buttons-container {
   display: grid;
   grid-template-columns: 135px 120px 30px;
   column-gap: 10px;
   align-items: center;
 }

 @media (min-width: 960px) {
   .logo-menu-buttons-container__right-side-phone-buttons-container {
     column-gap: 15px;
   }
 }

 @media (min-width: 1470px) {
   .logo-menu-buttons-container__right-side-phone-buttons-container {
     display: grid;
     grid-template-columns: 155px 130px 35px;
     column-gap: 20px;
   }
 }

 .logo-menu-buttons-container__phone-number-container {
   display: flex;
   align-items: center;
   gap: 8px;
 }

 .logo-menu-buttons-container__icon-container {
   padding: 6px;
   background-color: #D5A45A;
   border-radius: 50px;
 }

 .logo-menu-buttons-container__number {
   display: block;
   text-decoration: none;
   color: #fff;
   font-weight: 600;
   font-size: 14px;
   line-height: 100%;
   padding-bottom: 4px;
   border-bottom: 1px dotted #fff;
 }

 @media (min-width: 1470px) {
   .logo-menu-buttons-container__number {
     font-size: 16px;
   }
 }

 .navigation {
   display: none;
 }

 .navigation--burger-menu {
   display: block;
 }

 @media (min-width: 960px) {
   .navigation {
     display: block;
   }
 }

 .navigation__menu-list {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   align-items: center;
 }

 @media (min-width: 960px) {
   .navigation__menu-list {
     gap: 17px;
   }
 }

 @media (min-width: 1470px) {
   .navigation__menu-list {
     gap: 25px;
   }
 }

 .navigation__menu-list--burger-menu {
   flex-direction: column;
   gap: 20px;
 }

 .navigation__menu-link {
   text-decoration: none;
   color: #fff;
   font-weight: 400;
   font-size: 12px;
   line-height: 100%;
 }

 @media (min-width: 1470px) {
   .navigation__menu-link {
     font-size: 14px;
   }
 }

 .navigation__menu-link--burger-menu {
   font-size: 17px;
 }

 .title-info-container {
   margin-bottom: 27px;
 }

 @media (min-width: 1470px) {
   .title-info-container {
     margin-bottom: 30px;
   }
 }

 .title-info-container__title {
   margin: 0 0 10px;
 }

 @media (min-width: 1470px) {
   .title-info-container__title {
     margin: 0 0 12px;
   }
 }

 .title-info-container__info {
   margin: 0;
   color: #B8B8B8;
   font-weight: 400;
   font-size: 16px;
   line-height: 150%;
   text-align: center;
 }

 .title {
   font-family: "Poppins", sans-serif;
   font-weight: 600;
   line-height: 100%;
   font-size: 27px;
   color: #fff;
 }

 @media (min-width: 960px) {
   .title {
     font-size: 35px;
   }
 }

 @media (min-width: 1470px) {
   .title {
     font-size: 42px;
   }
 }

 .title--h1 {
   margin: 0 0 45px;
   font-weight: 700;
   font-size: 45px;
   line-height: 100%;
 }

 @media (min-width: 960px) {
   .title--h1 {
     margin: 0 0 30px;
     font-size: 50px;
   }
 }

 @media (min-width: 1470px) {
   .title--h1 {
     margin: 0 0 20px;
     font-size: 62px;
   }
 }

 .title--h3 {
   font-size: 22px;
   line-height: 130%;
 }

 .title--h4 {
   font-family: "Inter", sans-serif;
   line-height: 130%;
   font-weight: 500;
   font-size: 16px;
 }

 .title--lightorange {
   color: #D5A45A;
 }

 .title--center {
   text-align: center;
 }

 .header {
   position: absolute;
   right: 0;
   left: 0;
   min-width: 467px;
 }

 .hero {
   background-image: url(../images/header/hero-background-image.jpg);
   background-position: 80% 0;
   background-size: cover;
   background-repeat: no-repeat;
   padding: 250px 0 170px;
 }

 @media (min-width: 960px) {
   .hero {
     padding: 300px 0 220px;
   }
 }

 @media (min-width: 1470px) {
   .hero {
     padding: 343px 0 293px;
   }
 }

 @media (min-width: 960px) {
   .hero {
     background-position: center;
   }
 }

 .hero__info {
   text-align: center;
   color: #fff;
   margin: 0 0 20px;
   font-weight: 500;
   font-size: 18px;
   line-height: 100%;
 }

 .burger-menu {
   height: 100vh;
   background-color: #161D26;
   z-index: 3;
 }

 .burger-menu__top {
   margin-bottom: 60px;
 }

 .how-it-works {
   background-image: url(../images/how-it-works/how-it-works-background.png);
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   padding: 25px 0 180px;
 }

 @media (min-width: 1470px) {
   .how-it-works {
     padding: 46px 0 371px;
   }
 }

 .how-it-works__scroll-down-container {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   margin-bottom: 80px;
 }

 @media (min-width: 960px) {
   .how-it-works__scroll-down-container {
     margin-bottom: 100px;
   }
 }

 @media (min-width: 1470px) {
   .how-it-works__scroll-down-container {
     margin-bottom: 131px;
   }
 }

 .how-it-works__scroll-down-container::after {
   content: "";
   display: block;
   background-image: url(../images/icons/mouse-icon.svg);
   background-size: contain;
   background-position: center;
   background-repeat: no-repeat;
   width: 22px;
   padding-bottom: 22px;
 }

 .how-it-works__scroll-down-link {
   text-decoration: none;
   color: #B8B8B8;
   font-family: "Poppins", sans-serif;
   font-weight: 500;
   font-size: 15px;
   line-height: 100%;
 }

 @media (min-width: 960px) {
   .how-it-works__works-info-container {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     column-gap: 18px;
   }
 }

 @media (min-width: 1470px) {
   .how-it-works__works-info-container {
     column-gap: 22px;
   }
 }

 .how-it-works__work-info-card {
   border: 1px solid #564636;
   background-color: #161D26;
   border-radius: 20px;
   padding: 25px 25px 39px;
   margin: 0 0 30px;
   position: relative;
 }

 @media (min-width: 960px) {
   .how-it-works__work-info-card {
     margin: 0;
   }
 }

 .how-it-works__image-number-container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 25px;
 }

 .how-it-works__number {
   margin: 0;
   color: transparent;
   -webkit-text-stroke: 1px #664E35;
   font-family: "Poppins", sans-serif;
   font-weight: 800;
   font-size: 71px;
   line-height: 100%;
 }

 .how-it-works__card-title-info-container {
   margin-bottom: 43px;
 }

 .how-it-works__card-title {
   margin: 0 0 12px;
 }

 .how-it-works__card-info {
   margin: 0;
   color: #b8b8b8;
   font-weight: 400;
   font-size: 16px;
   line-height: 130%;
 }

 .how-it-works__order-lines-container {
   display: flex;
   justify-content: flex-end;
   align-items: center;
   gap: 4px;
 }

 .how-it-works__order-line {
   background-color: #474747;
   border-radius: 5px;
   width: 33px;
   height: 4px;
 }

 .how-it-works__order-line--active {
   background-color: #C48D53;
 }

 .card-icon {
   border: 0.5px solid #D5A45A;
   border-radius: 15px;
   padding: 19px;
 }

 .about-us {
   background-image: linear-gradient(0deg, #161D26 -20%, rgba(22, 29, 38, 0) 100%), url(../images/about-us/about-us-background-image.svg);
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   padding: 20px 0 220px;
   margin-top: -100px;
 }

 @media (min-width: 960px) {
   .about-us {
     padding: 14px 0 200px;
   }
 }

 @media (min-width: 1470px) {
   .about-us {
     padding: 14px 0 211px;
     margin-top: -220px;
   }
 }

 @media (min-width: 960px) {
   .about-us__grid-title-info-images-container {
     display: grid;
     grid-template-columns: 1fr 415px;
     align-items: center;
     gap: 80px;
   }
 }

 @media (min-width: 1470px) {
   .about-us__grid-title-info-images-container {
     grid-template-columns: 1fr 605px;
     gap: 100px;
   }
 }

 .about-us__title-info-container {
   margin-bottom: 40px;
 }

 @media (min-width: 960px) {
   .about-us__title-info-container {
     margin: 0;
   }
 }

 .about-us__title {
   text-align: center;
   margin: 0 0 30px;
 }

 @media (min-width: 960px) {
   .about-us__title {
     text-align: left;
   }
 }

 @media (min-width: 1470px) {
   .about-us__title {
     margin: 0 0 25px;
   }
 }

 .about-us__info {
   margin: 0 0 25px;
   color: #B8B8B8;
   font-weight: 400;
   font-size: 18px;
   line-height: 130%;
 }

 .about-us__info--span {
   color: #D5A45A;
 }

 .about-us__images-container {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 12px;
 }

 @media (min-width: 960px) {
   .about-us__images-container {
     grid-template-columns: repeat(2, 200px);
   }
 }

 @media (min-width: 1470px) {
   .about-us__images-container {
     grid-template-columns: repeat(2, 295px);
   }
 }

 @media (min-width: 960px) {
   .about-us__image-container:nth-child(2n+2) {
     transform: translateY(80px);
   }
 }

 @media (min-width: 1470px) {
   .about-us__image-container:nth-child(2n+2) {
     transform: translateY(90px);
   }
 }

 .carousel-buttons {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
 }

 .carousel-buttons--hidden {
   display: none;
 }

 .carousel-buttons--reviews {
   margin-bottom: 38px;
 }

 .carousel-buttons__counter-container {
   display: flex;
   align-items: center;
   gap: 4px;
 }

 .carousel-buttons__counter-text {
   margin: 0;
   color: #B8B8B8;
   font-weight: 500;
   font-size: 15px;
   line-height: 22px;
 }

 .elipse {
   position: absolute;
   width: 186px;
   height: 186px;
   background-color: rgba(197, 141, 83, 0.3);
   filter: blur(100px);
   border-radius: 50%;
 }

 .elipse--how-it-works {
   bottom: -63px;
   right: 0;
 }

 @media (min-width: 960px) {
   .elipse--how-it-works {
     right: -55px;
   }
 }

 .elipse--servises-top-right {
   top: -62px;
   right: -65px;
 }

 .elipse--servises-bottom-left {
   bottom: -67px;
   left: -67px;
 }

 .elipse--faq {
   right: -40px;
   top: -31px;
 }

 .elipse--reviews {
   right: -60px;
   bottom: -50px;
 }

 .elipse--partners {
   right: -61px;
   bottom: -57px;
 }

 .elipse--contacts {
   width: 165px;
   height: 165px;
   filter: blur(90px);
 }

 .elipse--contacts-left {
   left: -31px;
   top: -26px;
 }

 .elipse--contacts-right {
   right: -13px;
   top: -21px;
 }

 .elipse--form-right-bottom {
   right: -20px;
   bottom: -20px;
 }

 .elipse--form-left-top {
   top: -20px;
   left: -20px;
 }

 .works__carousel-frame {
   margin: 0 auto;
   overflow: hidden;
   width: 332px;
   margin-bottom: 30px;
   touch-action: pan-y;
 }

 @media (min-width: 960px) {
   .works__carousel-frame {
     width: 664px;
   }
 }

 @media (min-width: 1470px) {
   .works__carousel-frame {
     width: 1328px;
   }
 }

 .works__carousel-list {
   margin: 0;
   padding: 0;
   margin: 0;
   list-style: none;
   display: flex;
   align-items: flex-start;
   transition: transform 0.3s ease;
 }

 .works__carousel-image-card {
   width: 316px;
   margin: 0 8px;
 }

 .services {
   background-image: url(../images/how-it-works/how-it-works-background.png);
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   padding: 80px 0 180px;
 }

 @media (min-width: 1470px) {
   .services {
     padding: 90px 0 220px;
   }
 }

 @media (min-width: 1470px) {
   .services {
     padding: 100px 0 242px;
   }
 }

 @media (min-width: 960px) {
   .services__services-container {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     column-gap: 18px;
     align-items: start;
   }
 }

 @media (min-width: 1470px) {
   .services__services-container {
     column-gap: 22px;
   }
 }

 .services__service-container {
   position: relative;
   overflow: hidden;
   margin-bottom: 20px;
   padding: 30px;
   background-color: #161D26;
   border: 1px solid #363535;
   border-radius: 20px;
 }

 .services__service-container:last-child {
   margin: 0;
 }

 @media (min-width: 960px) {
   .services__service-container {
     margin: 0;
   }
 }

 .services__flex-for-icon {
   display: flex;
   margin-bottom: 25px;
 }

 .services__service-title {
   margin: 0 0 12px;
 }

 .services__service-info-container {
   padding-bottom: 20px;
   margin-bottom: 25px;
   border-bottom: 1px solid #363535;
 }

 .services__service-info-container--before-last {
   padding-bottom: 25px;
 }

 .services__service-info-container:last-child {
   border: none;
   margin: 0;
 }

 .services__service-text {
   margin: 0 0 12px;
   color: #b8b8b8;
   font-weight: 400;
   font-size: 16px;
   line-height: 130%;
 }

 .services__service-text:last-child {
   margin: 0;
 }

 .services__service-text--bold {
   font-weight: 700;
 }

 .services__service-text--small {
   font-size: 14px;
 }

 .services__service-text--green {
   font-weight: 600;
   color: #1AA14E;
   text-align: right;
 }

 .services__service-icon-sub-clause-container {
   margin-bottom: 20px;
   display: flex;
   gap: 10px;
   align-items: flex-start;
 }

 .services__service-icon-sub-clause-container:last-child {
   margin: 0;
 }

 .services__green-active {
   padding: 7px 5px 6px;
   background-color: #1AA14E;
   opacity: 1.5;
   border-radius: 50px;
 }

 .services__service-sub-clause-title {
   margin: 0 0 6px;
 }

 .services__price-container {
   display: grid;
   grid-template-columns: 1fr 100px;
   column-gap: 10px;
   margin-bottom: 12px;
 }

 .services__price-container:last-child {
   margin: 0;
 }

 .gallery {
   margin-top: -80px;
 }

 @media (min-width: 1470px) {
   .gallery {
     margin-top: -150px;
   }
 }

 .gallery__carousel-frame {
   overflow: hidden;
   margin-bottom: 30px;
 }

 .gallery__carousel-center-window {
   position: relative;
   margin: 0 auto;
   width: 390px;
   touch-action: pan-y;
 }

 @media (min-width: 960px) {
   .gallery__carousel-center-window {
     width: 710px;
   }
 }

 @media (min-width: 1470px) {
   .gallery__carousel-center-window {
     width: 954px;
   }
 }

 .gallery__button {
   z-index: 1;
   position: absolute;
   background-color: transparent;
   border-radius: 50px;
   border: 1px solid #B8B8B8;
   padding: 15px 11px;
   top: 50%;
   transform: translateY(-50%);
 }

 @media (min-width: 960px) {
   .gallery__button {
     padding: 21px 17px;
   }
 }

 .gallery__button--hidden {
   display: none;
 }

 .gallery__button--left {
   left: -17px;
 }

 @media (min-width: 960px) {
   .gallery__button--left {
     left: -27px;
   }
 }

 .gallery__button--right {
   right: -17px;
 }

 @media (min-width: 960px) {
   .gallery__button--right {
     right: -27px;
   }
 }

 .gallery__carousel-list {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   align-items: flex-start;
   transition: transform 0.3s ease;
 }

 .gallery__card {
   position: relative;
   width: 330px;
   margin: 0 30px;
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   align-items: start;
   column-gap: 6px;
 }

 @media (min-width: 960px) {
   .gallery__card {
     margin: 0 50px;
     width: 610px;
     column-gap: 8px;
   }
 }

 @media (min-width: 1470px) {
   .gallery__card {
     width: 854px;
     column-gap: 10px;
   }
 }

 .gallery__before-image {
   border-radius: 15px 0 0 15px;
 }

 @media (min-width: 960px) {
   .gallery__before-image {
     border-radius: 20px 0 0 20px;
   }
 }

 .gallery__after-image {
   border-radius: 0 15px 15px 0;
 }

 @media (min-width: 960px) {
   .gallery__after-image {
     border-radius: 0 20px 20px 0;
   }
 }

 .gallery__card-eye-container {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   border: 1px solid #BA8750;
   border-radius: 50px;
   padding: 20px 14px;
   background-color: #2B2722;
 }

 @media (min-width: 960px) {
   .gallery__card-eye-container {
     padding: 32px 26px;
   }
 }

 .gallery__carousel-bottom-buttons {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 6px;
 }

 .gallery__carousel-bottom-buttons--hidden {
   display: none;
 }

 .gallery__carousel-bottom-button {
   border: none;
   background-color: #B8B8B8;
   padding: 4px;
   border-radius: 25px;
 }

 .gallery__carousel-bottom-button--active {
   background-color: #BA8750;
 }

 .faq__question-container {
   overflow: hidden;
   position: relative;
   padding: 23px 20px;
   border: 1px solid #363535;
   border-radius: 20px;
   margin-bottom: 12px;
 }

 .faq__question-container:last-child {
   margin: 0;
 }

 .faq__question-container--active {
   border: 1px solid #D5A45A;
 }

 .faq__question-title-button-container {
   display: grid;
   grid-template-columns: 1fr 12px;
   column-gap: 50px;
   align-items: center;
 }

 .faq__question {
   margin: 0;
   color: #fff;
   font-weight: 500;
   font-size: 16px;
   line-height: 150%;
   letter-spacing: 2%;
 }

 .faq__answer {
   margin: 0;
   height: 0;
   padding: 0;
   color: #B8B8B8;
   font-weight: 400;
   font-size: 14px;
   line-height: 150%;
   letter-spacing: 2%;
   overflow: hidden;
   transition: all 0.3s;
 }

 .reviews {
   background-image: linear-gradient(180deg, #161D26 -60%, rgba(22, 29, 38, 0.6) 340%), url(../images/reviews/reviews-background-image.png);
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   padding: 70px 0 100px;
 }

 @media (min-width: 960px) {
   .reviews {
     padding: 100px 0 171px;
   }
 }

 .reviews__carousel-frame {
   overflow: hidden;
   margin-bottom: 30px;
 }

 .reviews__carousel-center-window {
   margin: 0 auto;
   width: 454px;
   touch-action: pan-y;
 }

 @media (min-width: 960px) {
   .reviews__carousel-center-window {
     width: 606px;
   }
 }

 .reviews__carousel-list {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   align-items: flex-start;
   transition: transform 0.3s ease;
 }

 .reviews__review-card {
   position: relative;
   overflow: hidden;
   width: 430px;
   margin: 0 12px;
   border-radius: 24px;
   box-sizing: border-box;
   border: 1px solid #564636;
   padding: 35px 35px 28px;
 }

 @media (min-width: 960px) {
   .reviews__review-card {
     width: 582px;
     padding: 40px 40px 32px;
   }
 }

 .reviews__quotes-container {
   position: absolute;
   right: 30px;
   top: 30px;
 }

 .reviews__review {
   margin: 0 0 43px;
   color: #B8B8B8;
   font-weight: 500;
   font-size: 16px;
   line-height: 22px;
   padding-right: 60px;
 }

 .reviews__user-rating-google-container {
   border-top: 1px dashed #404040;
   padding-top: 33px;
   display: flex;
   justify-content: space-between;
   align-items: center;
 }

 .reviews__user-container {
   display: grid;
   grid-template-columns: 48px 1fr;
   column-gap: 10px;
   align-items: center;
 }

 .reviews__username-image {
   border-radius: 50px;
 }

 .reviews__username {
   margin: 0;
   color: #fff;
   font-family: "Poppins", sans-serif;
   font-weight: 700;
   font-size: 13px;
   line-height: 19px;
 }

 .reviews__rating-google-container {
   display: flex;
   gap: 15px;
   align-items: center;
 }

 .reviews__rating-container {
   display: flex;
   gap: 4px;
   align-items: center;
 }

 .run-line {
   padding: 12px 0;
   background-color: #C48D53;
   overflow: hidden;
 }

 .run-line__list {
   margin: 0;
   padding: 0;
   width: max-content;
   list-style: none;
   display: flex;
   animation-name: runlist;
   animation-duration: 2s;
   animation-timing-function: linear;
   animation-iteration-count: infinite;
   animation-fill-mode: forwards;
 }

 .run-line__item {
   padding: 0 10px;
   width: 108px;
   text-align: center;
   margin: 0;
   color: #171717;
   font-family: "Montserrat", sans-serif;
   font-weight: 500;
   font-size: 15px;
   line-height: 22px;
   display: flex;
   align-items: center;
   gap: 10px;
 }

 .run-line__item::before {
   content: "";
   width: 8px;
   height: 8px;
   background-color: #181818;
 }

 @media (min-width: 960px) {
   .partners {
     margin-top: -65px;
   }
 }

 @media (min-width: 1470px) {
   .partners {
     margin-top: -70px;
   }
 }

 .partners__partners-container {
   display: grid;
   grid-template-columns: 236px;
   gap: 14px;
   justify-content: center;
 }

 @media (min-width: 960px) {
   .partners__partners-container {
     grid-template-columns: repeat(3, 236px);
   }
 }

 .partners__partner-container {
   position: relative;
   overflow: hidden;
   height: 213px;
   border-radius: 20px;
   border: 1px solid #564636;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 .contacts__main-contacts-button-container {
   position: relative;
   overflow: hidden;
   border: 1px solid #564636;
   border-radius: 20px;
   padding: 20px 30px;
   margin-bottom: 35px;
 }

 @media (min-width: 960px) {
   .contacts__main-contacts-button-container {
     margin-bottom: 30px;
   }
 }

 @media (min-width: 1470px) {
   .contacts__main-contacts-button-container {
     padding: 22px 33px;
     margin-bottom: 24px;
   }
 }

 @media (min-width: 960px) {
   .contacts__main-contacts-button-container {
     display: grid;
     grid-template-columns: 1fr 130px;
     column-gap: 50px;
     align-items: center;
   }
 }

 @media (min-width: 1470px) {
   .contacts__main-contacts-button-container {
     grid-template-columns: 1fr 148px;
     column-gap: 111px;
   }
 }

 .contacts__main-contacts {
   margin-bottom: 40px;
 }

 @media (min-width: 960px) {
   .contacts__main-contacts {
     margin: 0;
     display: flex;
     gap: 40px;
     align-items: center;
   }
 }

 @media (min-width: 1470px) {
   .contacts__main-contacts {
     gap: 60px;
   }
 }

 .contacts__icon-contact-container {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 25px;
 }

 .contacts__icon-contact-container:last-child {
   margin: 0;
 }

 @media (min-width: 960px) {
   .contacts__icon-contact-container {
     margin: 0;
   }
 }

 .contacts__icon-container {
   padding: 9px;
   border-radius: 50px;
   background-color: #D5A45A;
 }

 .contacts__contact {
   margin: 0;
   text-decoration: none;
   color: #B8B8B8;
   font-weight: 400;
   font-size: 16px;
   line-height: 100%;
 }

 .contacts__contact--title {
   color: #fff;
   font-weight: 600;
   margin: 0 0 4px;
 }

 @media (min-width: 960px) {
   .contacts__form-map-container {
     display: grid;
     grid-template-columns: 1fr 1fr;
     column-gap: 14px;
   }
 }

 @media (min-width: 1470px) {
   .contacts__form-map-container {
     grid-template-columns: 1fr 700px;
   }
 }

 .contacts__form-container {
   position: relative;
   overflow: hidden;
   border: 1px solid #564636;
   border-radius: 20px;
   padding: 30px;
 }

 @media (min-width: 1470px) {
   .contacts__form-container {
     padding: 40px;
   }
 }

 .contacts__title-info-container {
   margin-bottom: 27px;
 }

 @media (min-width: 1470px) {
   .contacts__title-info-container {
     margin-bottom: 30px;
   }
 }

 .contacts__title {
   margin: 0 0 10px;
 }

 @media (min-width: 1470px) {
   .contacts__title {
     margin: 0 0 12px;
   }
 }

 .contacts__info {
   margin: 0;
   color: #B8B8B8;
   font-weight: 400;
   font-size: 14px;
   line-height: 150%;
   letter-spacing: 2%;
 }

 .contacts__form-container {
   margin-bottom: 40px;
 }

 @media (min-width: 960px) {
   .contacts__form-container {
     margin: 0;
   }
 }

 .contacts__form-field-container {
   border: 0.5px solid #564636;
   border-radius: 13px;
   width: 100%;
   display: flex;
   column-gap: 8px;
   align-items: center;
   padding: 19px 15px;
   margin-bottom: 10px;
 }

 .contacts__form-field-container--textarea {
   align-items: flex-start;
   margin-bottom: 18px;
 }

 .contacts__message-icon-container {
   padding-top: 3px;
 }

 .contacts__map-image-container {
   border-radius: 20px;
 }

 .footer {
   border-top: 1px solid #363535;
   padding: 18px 0 20px;
 }

 @media (min-width: 960px) {
   .footer {
     padding: 18px 0 43px;
   }
 }

 .footer__logo-menu-container {
   margin-bottom: 15px;
 }

 @media (min-width: 960px) {
   .footer__copyright-menu-container {
     display: flex;
     justify-content: space-between;
     align-items: center;
     flex-direction: row-reverse;
   }
 }

 @keyframes runlist {
   from {
     transform: translateX(0);
   }

   to {
     transform: translateX(-128px);
   }
 }

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




 /* 1 */


 /* ===== MOBILE WIDTH FIX ===== */
 html,
 body {
   width: 100%;
   max-width: 100%;
   overflow-x: hidden;
 }

 /* На маленьких экранах запрещаем жесткую min-width */
 @media (max-width: 475px) {
   .page__body {
     min-width: 0 !important;
     width: 100% !important;
   }

   .header {
     min-width: 0 !important;
   }
 }

 @media (max-width: 475px) {
   .logo-menu-buttons-container__right-side-phone-buttons-container {
     grid-template-columns: 150px 49px !important;
   }

   .page__body {
     min-width: 0 !important
   }

   .title--h1 {
     max-width: 300px;
     margin-top: 40px;

     font-size: 35px !important;
     line-height: 120% !important;
   }

   .engraving__subtitle {
     max-width: 300px !important;
   }

   .engraving__contact-box {
     max-width: 300px !important;
   }

   .engraving__input input,
   .engraving__textarea textarea {
     width: 100% !important;
     max-width: 210px !important;
   }

   .engraving__tag {
     margin: 0 20px;
   }

   .engraving__button {
     display: none;
   }

   .engraving__contact-box {
     padding: 20px !important;
   }

   .engraving__container {
     gap: 20px !important;
   }

   .logo__image {
     margin-top: 20px;
   }

   .logo-menu-buttons-container--top {
     padding-top: 0px !important;
   }

   .container {
     padding: 0px 20px !important;
   }

   .partners__partners-container {
     display: flex;
     justify-content: center;
     align-items: center;
     flex-wrap: wrap;
   }

   .partners__partner-container {
     width: 150px;
     height: 150px;
   }

   .partners__partner-container img {
     width: 80px;
   }

   .engraving__contact-title,
   .engraving__title,
   .engraving__subtitle,
   .engraving__input input,
   .engraving__textarea textarea {
     text-align: center;
   }

   .engraving__left {
     margin-left: 20px;
   }
 }


 .engraving {
   padding: 160px 0 120px;
   background-image: url('../main_2.png');
   background-position: left;
   background-size: cover;
   position: relative;
   z-index: 1;
 }

 .engraving::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.2);
   /* затемнение 0.3 */
   z-index: -1;
 }

 header {
   z-index: 30;
 }

 .engraving {
   padding: 160px 0 120px;
   background-image: url('../main.jpg');
   background-position: center;
   background-size: 110%;
   /* чуть увеличили */
   position: relative;
 }

 /* VIDEO BACKGROUND */
 .engraving {
   z-index: 1;
   position: relative;
   padding: 160px 0 120px;
   overflow: hidden;
 }

 .engraving__video {
   position: absolute;
   top: 50%;
   left: 50%;
   width: 120%;
   height: 120%;
   object-fit: cover;
   transform: translate(-50%, -50%);
   z-index: -2;
 }

 /* DARK OVERLAY */
 .engraving::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.3);
   /* затемнение */
   z-index: -1;
 }



 .engraving__container {
   display: grid;
   grid-template-columns: 1fr 420px;
   align-items: start;
   gap: 60px;
 }

 .engraving__title {
   margin-bottom: 20px;
 }

 .engraving__subtitle {
   font-size: 18px;
   color: #B8B8B8;
   max-width: 480px;
   line-height: 150%;
   margin-bottom: 35px;
 }

 .engraving__button {
   width: 250px;
   color: #fff;
 }

 .button--logo-menu-buttons-container {
   max-width: 180px;
   width: 100%;
   min-width: 170px;
 }

 .logo-menu-buttons-container__right-side-phone-buttons-container {
   grid-template-columns: 155px 180px 30px;
 }

 /* CONTACT CARD */
 .engraving__contact-box {
   background: rgba(19, 23, 28, 0.7);
   border: 1px solid #3A3A3A;
   border-radius: 22px;
   padding: 35px;
   box-shadow: 0 0 80px rgba(213, 164, 90, 0.07);
   backdrop-filter: blur(18px);
 }

 .engraving__contact-title {
   margin-bottom: 10px;
 }

 .engraving__contact-text {
   font-size: 16px;
   color: #B8B8B8;
   line-height: 150%;
   margin-bottom: 25px;
 }

 /* FORM INPUTS */
 .engraving__form {
   display: flex;
   flex-direction: column;
   gap: 18px;
 }

 .engraving__input,
 .engraving__textarea {
   position: relative;
 }

 .engraving__input input,
 .engraving__textarea textarea {
   width: 250px;
   background: transparent;
   border: 1px solid #3A3A3A;
   border-radius: 10px;
   padding: 16px 45px 16px 45px;
   font-size: 16px;
   color: #fff;
 }

 .engraving__textarea textarea {
   height: 110px;
   resize: none;
 }

 .engraving__input .icon,
 .engraving__textarea .icon {
   position: absolute;
   top: 50%;
   left: 15px;
   transform: translateY(-50%);
   opacity: 0.8;
 }

 /* TAGS */
 .engraving__tags {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 18px;
   margin-top: 80px;
 }

 .engraving__tag {
   padding: 18px 26px;
   border: 1px solid #2F2F2F;
   background: rgba(22, 29, 38, 0.5);
   border-radius: 20px;
   font-size: 16px;
   color: #E6E6E6;
   display: flex;
   align-items: center;
   gap: 10px;
 }

 .engraving__dot {
   width: 10px;
   height: 10px;
   background: #D5A45A;
   border-radius: 50%;
 }

 /* SCROLL HINT */
 .engraving__scroll-hint {
   text-align: center;
   margin-top: 45px;
   color: #C9C9C9;
   font-size: 15px;
   opacity: 0.75;
 }

 .engraving__scroll-icon {
   display: inline-block;
   width: 14px;
   height: 14px;
   background: url('./icons/scroll.svg') center/contain no-repeat;
   margin-left: 6px;
   opacity: 0.8;
 }

 .material-symbols-rounded.engraving__icon {
   position: absolute;
   top: 50%;
   left: 15px;
   transform: translateY(-50%);
   font-size: 22px;
   color: #B8B8B8;
   /* мягкий серый — как placeholder */
   opacity: 0.8;
 }

 .material-symbols-rounded.engraving__icon {
   color: #D5A45A;
 }

 .engraving__textarea .engraving__icon {
   position: absolute;
   top: 27px;
   left: 15px;
   font-size: 22px;
   opacity: 0.8;
 }



 /* ADAPTIVE */
 @media (max-width: 1024px) {
   .engraving__container {
     grid-template-columns: 1fr;
   }

   .engraving__contact-box {
     max-width: 420px;
     margin: 0 auto;
   }
 }

 @media (max-width: 540px) {
   .engraving {
     padding: 110px 0 90px;
   }

   .engraving__tag {
     width: 100%;
     text-align: left;
   }

   .engraving__scroll-hint {
     margin-top: 35px;
   }
 }

 /* Ошибка поля */
 .engraving__field--error {
   box-shadow: 0 0 0 1px #ff5c5c;
 }

 .engraving__field--error input,
 .engraving__field--error textarea {
   border-color: #ff5c5c;
 }

 /* Лёгкий "shake" при ошибке */
 @keyframes engraving-shake {
   0% {
     transform: translateX(0);
   }

   20% {
     transform: translateX(-4px);
   }

   40% {
     transform: translateX(4px);
   }

   60% {
     transform: translateX(-3px);
   }

   80% {
     transform: translateX(3px);
   }

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

 .engraving__contact-box--error-shake {
   animation: engraving-shake 0.35s ease;
 }

 /* Состояние "отправляем" */
 .engraving__send--loading {
   opacity: 0.8;
   cursor: wait;
 }

 .engraving__contact-box--sending {
   box-shadow: 0 0 30px rgba(213, 164, 90, 0.25);
   transition: box-shadow 0.4s ease;
 }

 /* Скрытие формы перед успехом */
 .engraving__form--hidden {
   opacity: 0;
   transform: translateY(5px);
   transition: opacity 0.25s ease, transform 0.25s ease;
 }

 /* ===========================================
   PREMIUM GOLD GRADIENT SCROLLBAR (MSG STYLE)
   =========================================== */

 /* Chrome, Edge, Safari */
 ::-webkit-scrollbar {
   width: 10px;
   background: #0E141B;
 }

 /* Дорожка */
 ::-webkit-scrollbar-track {
   background: linear-gradient(to bottom,
       #13171C 0%,
       #0E141B 100%);
   border-left: 1px solid rgba(255, 255, 255, 0.06);
 }

 /* Бегунок */
 ::-webkit-scrollbar-thumb {
   background: linear-gradient(180deg,
       #d5a45a 0%,
       #c08c45 50%,
       #a9753e 100%);
   border-radius: 999px;
   border: 2px solid rgba(10, 10, 10, 0.6);
   box-shadow:
     0 0 8px rgba(213, 164, 90, 0.45),
     inset 0 0 6px rgba(0, 0, 0, 0.55);
   transition: all 0.3s ease-in-out;
 }

 /* Hover эффект */
 ::-webkit-scrollbar-thumb:hover {
   background: linear-gradient(180deg,
       #e8bb76 0%,
       #d5a45a 40%,
       #c08c45 100%);
   box-shadow:
     0 0 12px rgba(213, 164, 90, 0.65),
     inset 0 0 8px rgba(0, 0, 0, 0.65);
 }

 /* Активный (клик) */
 ::-webkit-scrollbar-thumb:active {
   background: linear-gradient(180deg,
       #f1d09c 0%,
       #e2b879 50%,
       #d5a45a 100%);
   box-shadow:
     0 0 14px rgba(213, 164, 90, 0.75),
     inset 0 0 10px rgba(0, 0, 0, 0.7);
 }

 /* Firefox */
 * {
   scrollbar-width: thin;
   scrollbar-color: #d5a45a #0E141B;
 }

 @media (min-width: 960px) {
   .partners__partners-container {
     grid-template-columns: repeat(5, 236px);
   }
 }





 /* 2 */




 /* ===== CONTACTS MAP (NEW PREMIUM STYLE) ===== */

 .contacts__map-image-container {
   position: relative;
   border-radius: 28px;
   overflow: hidden;
   background: #0E141B;
   box-shadow:
     0 26px 80px rgba(0, 0, 0, 0.85),
     0 0 0 1px rgba(255, 255, 255, 0.04);
 }

 /* сама карта */
 .contacts__map {
   width: 100%;
   min-height: 560px;
 }

 /* стеклянный бейдж поверх карты */
 .contacts__map-overlay {
   position: absolute;
   left: 24px;
   top: 24px;
   padding: 10px 18px;
   border-radius: 999px;
   background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.08), transparent 60%),
     rgba(10, 14, 20, 0.88);
   border: 1px solid rgba(255, 255, 255, 0.12);
   box-shadow: 0 18px 50px rgba(0, 0, 0, 0.7);
   backdrop-filter: blur(16px);
   -webkit-backdrop-filter: blur(16px);
   display: inline-flex;
   flex-direction: column;
   gap: 2px;
 }

 .contacts__map-overlay-title {
   font-size: 13px;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: #F1E5D4;
   opacity: 0.96;
 }

 .contacts__map-overlay-subtitle {
   font-size: 12px;
   color: #d4d7dd;
   opacity: 0.85;
 }

 /* ----- Контент внутри infoWindow (наш HTML) ----- */

 .contacts-map__info {
   font-family: inherit;
   padding: 4px 0;
 }

 .contacts-map__title {
   font-size: 14px;
   font-weight: 600;
   color: #F1E5D4;
   margin-bottom: 4px;
 }

 .contacts-map__address {
   font-size: 12px;
   color: #cfd2da;
   margin-bottom: 4px;
 }

 .contacts-map__meta {
   font-size: 12px;
   color: #a6abbd;
   line-height: 1.4;
 }

 .contacts-map__meta span {
   display: block;
 }

 /* ----- КАСТОМИЗАЦИЯ СТАНДАРТНОГО GOOGLE INFO WINDOW ----- */
 /* делаем тёмное стекло вместо белого прямоугольника */

 .gm-style .gm-style-iw-c {
   background: rgba(10, 14, 20, 0.96) !important;
   box-shadow:
     0 18px 40px rgba(0, 0, 0, 0.85),
     0 0 0 1px rgba(213, 164, 90, 0.18);
   border-radius: 18px !important;
   padding: 12px 14px 14px 14px !important;
 }

 .gm-style .gm-style-iw-tc::after {
   /* убираем белый "хвостик" снизу */
   background: transparent !important;
   box-shadow: none !important;
 }

 .gm-style .gm-style-iw-d {
   overflow: visible !important;
 }

 /* крестик закрытия — делаем светлым и аккуратным */
 .gm-ui-hover-effect {
   filter: invert(1);
   opacity: 0.8;
 }

 .gm-ui-hover-effect:hover {
   opacity: 1;
 }

 /* ----- АДАПТИВ ----- */

 @media (max-width: 1024px) {
   .contacts__map {
     min-height: 360px;
   }

   .contacts__map-overlay {
     left: 18px;
     top: 18px;
     padding: 8px 14px;
   }

   .contacts__map-overlay-title {
     font-size: 12px;
     letter-spacing: 0.16em;
   }

   .contacts__map-overlay-subtitle {
     font-size: 11px;
   }
 }

 @media (max-width: 600px) {
   .contacts__map {
     min-height: 320px;
   }

   .contacts__map-overlay {
     left: 14px;
     right: 14px;
     top: auto;
     bottom: 14px;
     border-radius: 16px;
     align-items: flex-start;
   }

   .contacts__map-overlay-title {
     font-size: 11px;
     letter-spacing: 0.14em;
   }

   .contacts__map-overlay-subtitle {
     font-size: 11px;
   }
 }



 /* 3 */


 /* ===========================
   PREMIUM LOADER
   =========================== */

 .ms-loader {
   position: fixed;
   inset: 0;
   z-index: 9999;
   pointer-events: auto;
 }

 .ms-loader__backdrop {
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at top, #1b2330 0%, #0E141B 55%, #05080c 100%);
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
 }

 /* Мягкие светящиеся пятна на фоне */
 .ms-loader__glow {
   position: absolute;
   border-radius: 999px;
   filter: blur(40px);
   opacity: 0.35;
   mix-blend-mode: screen;
 }

 .ms-loader__glow--one {
   width: 320px;
   height: 320px;
   background: rgba(213, 164, 90, 0.35);
   top: -80px;
   left: -60px;
   animation: ms-glow-float 14s ease-in-out infinite alternate;
 }

 .ms-loader__glow--two {
   width: 260px;
   height: 260px;
   background: rgba(138, 108, 72, 0.4);
   bottom: -60px;
   right: -40px;
   animation: ms-glow-float 18s ease-in-out infinite alternate-reverse;
 }

 @keyframes ms-glow-float {
   0% {
     transform: translate3d(0, 0, 0);
   }

   50% {
     transform: translate3d(12px, -10px, 0);
   }

   100% {
     transform: translate3d(-8px, 10px, 0);
   }
 }

 /* Контент лоадера */
 .ms-loader__content {
   position: relative;
   z-index: 1;
   padding: 28px 36px;
   border-radius: 26px;
   background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.05), transparent 55%),
     rgba(14, 20, 27, 0.92);
   border: 1px solid rgba(255, 255, 255, 0.06);
   box-shadow:
     0 26px 80px rgba(0, 0, 0, 0.75),
     0 0 0 1px rgba(213, 164, 90, 0.08);
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 18px;
 }

 /* SVG линия гравировки */
 .ms-loader__svg {
   overflow: visible;
 }

 /* Движущаяся "гравировка" */
 .ms-loader__stroke {
   stroke-dasharray: 260;
   stroke-dashoffset: 260;
   animation: ms-etch-line 2.4s ease-in-out infinite;
 }

 /* "Искра" двигается вдоль линии */
 .ms-loader__spark {
   animation: ms-etch-spark 2.4s ease-in-out infinite;
   transform-origin: center;
 }

 /* Текстовый блок */
 .ms-loader__text-block {
   text-align: center;
 }

 .ms-loader__label {
   font-size: 14px;
   letter-spacing: 0.24em;
   text-transform: uppercase;
   color: #F1E5D4;
   opacity: 0.9;
 }

 .ms-loader__subtitle {
   margin-top: 6px;
   font-size: 14px;
   color: #d4d7dd;
   opacity: 0.8;
 }

 /* ANIMATIONS */

 @keyframes ms-etch-line {
   0% {
     stroke-dashoffset: 260;
   }

   35% {
     stroke-dashoffset: 0;
   }

   65% {
     stroke-dashoffset: 0;
   }

   100% {
     stroke-dashoffset: -260;
   }
 }

 @keyframes ms-etch-spark {
   0% {
     offset-distance: 0%;
     opacity: 0;
     transform: scale(0.2);
   }

   10% {
     opacity: 1;
   }

   40% {
     offset-distance: 50%;
     transform: scale(1);
   }

   60% {
     opacity: 1;
   }

   100% {
     offset-distance: 100%;
     opacity: 0;
     transform: scale(0.4);
   }
 }

 /* Используем motion-path, чтобы искра шла по той же линии, что и stroke */
 .ms-loader__spark {
   offset-path: path("M10 40 C 60 10, 160 10, 210 40");
 }

 /* СКРЫТИЕ ЛОАДЕРА */

 .ms-loader--hidden {
   opacity: 0;
   pointer-events: none;
   transition: opacity 0.6s ease-in-out;
 }

 /* RESPONSIVE */

 @media (max-width: 600px) {
   .ms-loader__content {
     padding: 22px 20px;
     border-radius: 20px;
   }

   .ms-loader__svg {
     width: 180px;
   }

   .ms-loader__label {
     font-size: 12px;
     letter-spacing: 0.2em;
   }

   .ms-loader__subtitle {
     font-size: 13px;
   }
 }

 @media screen and (max-width: 600px) {
   .button--logo-menu-buttons-container {
     display: none;
   }
 }

 .ms-loader--hidden {
   opacity: 0;
   pointer-events: none;
   transition: opacity 0.6s ease-in-out;
 }



 /* 4 */

 /* ===============================
   FLOATING CALL BAR
   =============================== */

 .call-bar {
   position: fixed;
   left: 0;
   right: 0;
   bottom: 18px;
   display: flex;
   justify-content: center;
   pointer-events: none;
   /* кликабельна только внутренняя часть */
   z-index: 999;
 }

 .call-bar__inner {
   position: relative;
   display: inline-flex;
   align-items: center;
   gap: 12px;
   padding: 10px 18px 10px 14px;
   border-radius: 999px;
   background:
     radial-gradient(circle at top left, rgba(255, 255, 255, 0.08), transparent 55%),
     rgba(14, 20, 27, 0.94);
   border: 1px solid rgba(255, 255, 255, 0.09);
   box-shadow:
     0 18px 60px rgba(0, 0, 0, 0.85),
     0 0 0 1px rgba(213, 164, 90, 0.22);
   backdrop-filter: blur(18px);
   -webkit-backdrop-filter: blur(18px);
   color: #f9f4ea;
   text-decoration: none;
   pointer-events: auto;
   transform: translateY(120%);
   opacity: 0;
   transition:
     transform 0.7s cubic-bezier(0.23, 1, 0.32, 1),
     opacity 0.7s ease-out,
     box-shadow 0.25s ease-out,
     background 0.25s ease-out;
 }

 /* появление, когда добавлен модификатор */
 .call-bar--visible .call-bar__inner {
   transform: translateY(0);
   opacity: 1;
 }

 /* Мягкое "дыхание" свечения */
 .call-bar__inner::before {
   content: "";
   position: absolute;
   inset: -6px;
   border-radius: inherit;
   background: radial-gradient(circle, rgba(213, 164, 90, 0.4), transparent 65%);
   opacity: 0.2;
   filter: blur(10px);
   z-index: -1;
   animation: call-bar-breath 3.2s ease-in-out infinite;
 }

 /* Волны за иконкой */
 .call-bar__wave {
   position: absolute;
   left: 14px;
   width: 34px;
   height: 34px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(213, 164, 90, 0.35), transparent 70%);
   opacity: 0.55;
   filter: blur(3px);
   transform: scale(1);
   animation: call-bar-wave 2.8s ease-out infinite;
   pointer-events: none;
 }

 /* Иконка */
 .call-bar__icon {
   position: relative;
   z-index: 1;
   width: 32px;
   height: 32px;
   border-radius: 999px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: radial-gradient(circle at 30% 0%, #f5e2c4, #d5a45a);
   box-shadow:
     0 0 0 1px rgba(38, 28, 14, 0.35),
     0 8px 20px rgba(0, 0, 0, 0.65);
   color: #1b1710;
 }

 .call-bar__icon .material-symbols-rounded {
   font-size: 20px;
 }

 /* Текст */
 .call-bar__content {
   display: flex;
   flex-direction: column;
   gap: 2px;
 }

 .call-bar__label {
   font-size: 11px;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: #e9dfcf;
   opacity: 0.9;
 }

 .call-bar__phone {
   font-size: 14px;
   font-weight: 500;
   color: #fff6e9;
 }

 /* Hover state (desktop) */
 @media (hover: hover) and (pointer: fine) {
   .call-bar__inner:hover {
     transform: translateY(-4px);
     box-shadow:
       0 22px 70px rgba(0, 0, 0, 0.9),
       0 0 0 1px rgba(213, 164, 90, 0.4);
   }

   .call-bar__inner:hover .call-bar__icon {
     transform: rotate(-8deg);
     transition: transform 0.18s ease-out;
   }

   .call-bar__inner:active .call-bar__icon {
     transform: rotate(0deg) scale(0.96);
   }
 }

 /* Pulse при тапе (класс из JS) */
 .call-bar--pulse .call-bar__icon::after {
   content: "";
   position: absolute;
   inset: -4px;
   border-radius: inherit;
   border: 2px solid rgba(213, 164, 90, 0.7);
   animation: call-bar-pulse 0.5s ease-out;
 }

 /* Кейфреймы */
 @keyframes call-bar-breath {
   0% {
     opacity: 0.2;
     transform: scale(1);
   }

   50% {
     opacity: 0.45;
     transform: scale(1.03);
   }

   100% {
     opacity: 0.2;
     transform: scale(1);
   }
 }

 @keyframes call-bar-wave {
   0% {
     opacity: 0.6;
     transform: scale(1);
   }

   70% {
     opacity: 0;
     transform: scale(1.35);
   }

   100% {
     opacity: 0;
     transform: scale(1.35);
   }
 }

 @keyframes call-bar-pulse {
   0% {
     opacity: 0.9;
     transform: scale(1);
   }

   100% {
     opacity: 0;
     transform: scale(1.3);
   }
 }

 /* Reduced motion — убираем постоянные анимации */
 @media (prefers-reduced-motion: reduce) {

   .call-bar__inner::before,
   .call-bar__wave {
     animation: none;
   }
 }

 /* Адаптив */
 @media (max-width: 600px) {
   .call-bar__inner {
     padding: 9px 16px 9px 12px;
     gap: 10px;
   }

   .call-bar__label {
     font-size: 10px;
     letter-spacing: 0.14em;
   }

   .call-bar__phone {
     font-size: 16px;
   }

   .call-bar__wave {
     left: 12px;
     width: 32px;
     height: 32px;
   }
 }

 /* Иконка изредка "подмигивает" лёгким наклоном */
 @keyframes call-bar-icon-wink {

   0%,
   70%,
   100% {
     transform: translateY(0) rotate(0deg);
   }

   74% {
     transform: translateY(-1px) rotate(-5deg);
   }

   78% {
     transform: translateY(0) rotate(3deg);
   }

   82% {
     transform: translateY(-1px) rotate(-3deg);
   }

   86% {
     transform: translateY(0) rotate(0deg);
   }
 }

 /* Золотой шиммер по номеру телефона */
 @keyframes call-bar-shimmer {
   0% {
     background-position: -30% 0;
   }

   5% {
     background-position: 130% 0;
   }

   100% {
     background-position: 130% 0;
   }
 }

 /* =============================
       MSG SERVICES OVERVIEW GRID
       ============================= */

 .msg-services {
   padding: 80px 0 50px;
 }

 .msg-services__grid {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 16px;
   margin-top: 32px;
 }

 .msg-services__card {
   position: relative;
   border-radius: 18px;
   padding: 16px 14px 16px;
   background: rgba(9, 13, 21, 0.95);
   border: 1px solid rgba(213, 164, 90, 0.16);
   box-shadow: 0 18px 54px rgba(0, 0, 0, 0.8);
   overflow: hidden;
   opacity: 0;
   transform: translateY(16px);
 }

 .msg-services__card::before {
   content: "";
   position: absolute;
   inset: -40%;
   background: radial-gradient(circle at 0% 0%, rgba(213, 164, 90, 0.15), transparent 60%);
   opacity: 0;
   transition: opacity 0.3s ease;
   pointer-events: none;
 }

 .msg-services__card-inner {
   position: relative;
   z-index: 1;
   display: flex;
   flex-direction: column;
   gap: 8px;
   height: 100%;
 }

 .msg-services__label {
   font-size: 11px;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: #C6CDDF;
   opacity: 0.88;
 }

 .msg-services__title {
   font-size: 15px;
   margin-bottom: 0;
 }

 .msg-services__text {
   font-size: 13px;
   line-height: 1.5;
   color: #C5CAD9;
   flex-grow: 1;
 }

 .msg-services__pill-row {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 10px;
   margin-top: 2px;
 }

 .msg-services__audience-pill {
   padding: 3px 8px;
   border-radius: 999px;
   font-size: 10px;
   text-transform: uppercase;
   letter-spacing: 0.06em;
   color: #F7E4C0;
   background: rgba(213, 164, 90, 0.22);
   border: 1px solid rgba(213, 164, 90, 0.7);
 }

 .msg-services__link {
   font-size: 12px;
   text-decoration: none;
   color: #F5DCA9;
   display: inline-flex;
   align-items: center;
   gap: 4px;
 }

 .msg-services__link-icon {
   font-size: 16px;
 }

 .msg-services__card:hover::before {
   opacity: 1;
 }

 .msg-services__card:hover {
   border-color: rgba(213, 164, 90, 0.55);
   transform: translateY(-3px);
   box-shadow: 0 24px 70px rgba(0, 0, 0, 0.95);
 }

 /* Visible animation class */

 .msg-services--visible .msg-services__card {
   animation: msgServicesIn 0.8s cubic-bezier(0.16, 0.8, 0.3, 1) forwards;
 }

 .msg-services--visible .msg-services__card:nth-child(1) {
   animation-delay: 0.04s;
 }

 .msg-services--visible .msg-services__card:nth-child(2) {
   animation-delay: 0.12s;
 }

 .msg-services--visible .msg-services__card:nth-child(3) {
   animation-delay: 0.2s;
 }

 .msg-services--visible .msg-services__card:nth-child(4) {
   animation-delay: 0.28s;
 }

 .msg-services--visible .msg-services__card:nth-child(5) {
   animation-delay: 0.36s;
 }

 @keyframes msgServicesIn {
   0% {
     opacity: 0;
     transform: translateY(20px) scale(0.98);
   }

   60% {
     opacity: 1;
     transform: translateY(-2px) scale(1.01);
   }

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

 /* =============================
       SPLIT: FAMILIES vs PARTNERS
       ============================= */

 .msg-audience {
   padding: 60px 0 70px;
   position: relative;
 }

 .msg-audience::before {
   content: "";
   position: absolute;
   inset: 0;
   background:
     radial-gradient(circle at 15% 0%, rgba(213, 164, 90, 0.14), transparent 55%),
     radial-gradient(circle at 90% 100%, rgba(76, 132, 255, 0.17), transparent 50%);
   opacity: 0.9;
   pointer-events: none;
 }

 .msg-audience__content {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
   gap: 26px;
 }

 .msg-audience__card {
   border-radius: 24px;
   padding: 24px 22px 22px;
   background: rgba(9, 13, 21, 0.96);
   border: 1px solid rgba(213, 164, 90, 0.26);
   box-shadow: 0 22px 70px rgba(0, 0, 0, 0.85);
 }

 .msg-audience__label {
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #F4D9A7;
   margin-bottom: 4px;
 }

 .msg-audience__title {
   font-size: 18px;
   margin-bottom: 10px;
 }

 .msg-audience__text {
   font-size: 14px;
   line-height: 1.7;
   color: #C8CEDD;
   margin-bottom: 14px;
 }

 .msg-audience__list {
   list-style: none;
   margin: 0 0 16px;
   padding: 0;
 }

 .msg-audience__item {
   display: flex;
   align-items: flex-start;
   gap: 8px;
   font-size: 13px;
   line-height: 1.6;
   color: #D2D9EB;
   margin-bottom: 6px;
 }

 .msg-audience__dot {
   flex-shrink: 0;
   width: 6px;
   height: 6px;
   margin-top: 7px;
   border-radius: 999px;
   background: radial-gradient(circle at center, #F7DFA7, #D5A45A);
   box-shadow: 0 0 0 3px rgba(213, 164, 90, 0.25);
 }

 .msg-audience__cta-row {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   align-items: center;
 }

 .msg-audience__secondary-link {
   font-size: 12px;
   text-decoration: none;
   color: #F2D8A4;
   border-bottom: 1px dashed rgba(242, 216, 164, 0.7);
   padding-bottom: 1px;
 }

 .msg-audience__secondary-link:hover {
   color: #fff;
   border-color: rgba(255, 255, 255, 0.85);
 }

 /* =============================
       LTV / SUBSCRIPTION STRIP
       ============================= */

 .msg-ltv {
   padding: 40px 0 80px;
 }

 .msg-ltv__strip {
   border-radius: 22px;
   padding: 18px 20px;
   background: linear-gradient(120deg, rgba(213, 164, 90, 0.2), rgba(9, 13, 21, 0.96));
   border: 1px solid rgba(213, 164, 90, 0.8);
   box-shadow: 0 24px 80px rgba(0, 0, 0, 0.95);
   display: grid;
   grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
   gap: 18px;
   align-items: center;
 }

 .msg-ltv__text {
   font-size: 14px;
   line-height: 1.7;
   color: #F4E6CE;
 }

 .msg-ltv__chips {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   justify-content: flex-end;
 }

 .msg-ltv__chip {
   padding: 6px 10px;
   border-radius: 999px;
   border: 1px solid rgba(15, 22, 35, 0.9);
   background: rgba(13, 19, 30, 0.96);
   font-size: 11px;
   color: #D7DEEC;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   box-shadow: 0 12px 35px rgba(0, 0, 0, 0.85);
 }

 .msg-ltv__chip-dot {
   width: 7px;
   height: 7px;
   border-radius: 999px;
   background: radial-gradient(circle at center, #F7DFA7, #D5A45A);
   flex-shrink: 0;
 }

 /* =============================
       RESPONSIVE
       ============================= */

 @media (max-width: 1180px) {
   .msg-services__grid {
     grid-template-columns: repeat(3, minmax(0, 1fr));
   }
 }

 @media (max-width: 900px) {
   .msg-services__grid {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .msg-ltv__strip {
     grid-template-columns: minmax(0, 1fr);
   }

   .msg-ltv__chips {
     justify-content: flex-start;
   }
 }

 @media (max-width: 640px) {
   .msg-services {
     padding: 70px 0 40px;
   }

   .msg-services__grid {
     grid-template-columns: minmax(0, 1fr);
   }

   .msg-audience {
     padding: 55px 0 60px;
   }

   .msg-audience__content {
     grid-template-columns: minmax(0, 1fr);
   }

   .msg-ltv {
     padding: 30px 0 70px;
   }

   .msg-ltv__strip {
     padding: 16px 16px;
   }
 }

 @media (prefers-reduced-motion: reduce) {

   .msg-services__card,
   .msg-services--visible .msg-services__card {
     animation: none !important;
     opacity: 1 !important;
     transform: none !important;
   }
 }




 /* ms */

 .engraving__button {
   text-align: center;
 }

 /* =============================
   FORM ENHANCEMENTS
   ============================= */

 /* TODO: Add email field to all forms */
 /* TODO: Increase textarea height (min-height: 120px) */
 /* TODO: Add service selection dropdown with max 5 services */
 /* TODO: Unify submit button label to "Get a Quote" */

 /* =============================
   PRICING IMPROVEMENTS
   ============================= */

 /* TODO: Display pricing with structure: "Installation pricing starts from $700" */
 /* TODO: Care plans: "from $19/month up to $99/month" */

 /* =============================
   COVERAGE MAP
   ============================= */

 /* TODO: Show only active service states (Washington, Texas, Florida) */
 /* TODO: Add disclaimer: "Service not available in your area? Contact support." */

 /* =============================
   TYPOGRAPHY OPTIMIZATION
   ============================= */

 .msg-audience__secondary-link {
   display: none;
   /* Remove secondary links to reduce clutter */
 }

 .engraving__services-pill {
   display: none;

 }




 @media (max-width: 480px) {
   .reviews__review-card {
     max-width: 100%;
     padding: 22px 18px 20px;
   }

   .reviews__review {
     font-size: 14px;
     line-height: 1.55;
   }

   /* ===== FIX REVIEWS WIDTH / MOBILE OVERFLOW ===== */

   /* Окно карусели не даём вылезать */
   .reviews__carousel-frame,
   .reviews__carousel-center-window {
     width: 100%;
     max-width: 100%;
     overflow: hidden;
   }

   /* Лента слайдов по ширине экрана */
   .reviews__carousel-list {
     display: flex;
     align-items: stretch;
     width: 100%;
   }

   /* Каждый слайд занимает 100% ширины окна */
   .reviews__carousel-item {
     flex: 0 0 100%;
     max-width: 100%;
     display: flex;
     justify-content: center;
   }

   /* Карточка не шире экрана, учитываем отступы */
   .reviews__review-card {
     box-sizing: border-box;
     width: 100%;
     max-width: 420px;
     /* на больших экранах — аккуратная карточка */
     margin: 0 auto;
   }
 }

 .ms-cursor {
   position: fixed;
   top: 0;
   left: 0;
   width: 36px;
   height: 36px;
   pointer-events: none;
   z-index: 9999;
   transform: translate3d(-50%, -50%, 0) scale(0.6);
   opacity: 0;
   transition:
     opacity 0.35s ease,
     transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
   mix-blend-mode: screen;
 }

 /* Меньше «шумов» при scroll */
 .page--hidden .ms-cursor {
   opacity: 0 !important;
 }

 /* Внутреннее ядро курсора */
 .ms-cursor__core {
   width: 100%;
   height: 100%;
   border-radius: 999px;
   background: radial-gradient(circle at 30% 20%, #f7e1b4 0%, #d5a45a 30%, #3b2b15 100%);
   box-shadow:
     0 0 12px rgba(213, 164, 90, 0.55),
     0 0 28px rgba(213, 164, 90, 0.25);
   opacity: 0.85;
   transform: scale(0.9);
   animation: msCursorBreath 2.8s ease-in-out infinite;
 }

 /* Внешнее мягкое кольцо/ореол */
 .ms-cursor__ring {
   position: absolute;
   inset: -12px;
   border-radius: 999px;
   border: 1px solid rgba(213, 164, 90, 0.45);
   box-shadow:
     0 0 40px rgba(213, 164, 90, 0.3),
     0 0 70px rgba(0, 0, 0, 0.6);
   opacity: 0.55;
   backdrop-filter: blur(6px);
   transform: scale(0.75);
   transition:
     transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
     opacity 0.35s ease;
 }

 /* «Органическое дыхание» */
 @keyframes msCursorBreath {
   0% {
     transform: scale(0.88);
     box-shadow:
       0 0 10px rgba(213, 164, 90, 0.45),
       0 0 24px rgba(213, 164, 90, 0.18);
   }

   50% {
     transform: scale(1);
     box-shadow:
       0 0 16px rgba(213, 164, 90, 0.7),
       0 0 40px rgba(213, 164, 90, 0.32);
   }

   100% {
     transform: scale(0.88);
     box-shadow:
       0 0 10px rgba(213, 164, 90, 0.45),
       0 0 24px rgba(213, 164, 90, 0.18);
   }
 }

 /* Состояние, когда курсор активен (после движения мыши) */
 .ms-cursor--visible {
   opacity: 1;
 }

 /* Когда курсор над важным блоком/кнопкой */
 .ms-cursor--accent {
   transform: translate3d(-50%, -50%, 0) scale(1.05);
 }

 .ms-cursor--accent .ms-cursor__core {
   animation: msCursorAccentBreath 1.6s ease-in-out infinite;
 }

 .ms-cursor--accent .ms-cursor__ring {
   transform: scale(1.1);
   opacity: 0.85;
 }

 /* Более энергичное «дыхание» при наведении на CTA */
 @keyframes msCursorAccentBreath {
   0% {
     transform: scale(0.96);
     box-shadow:
       0 0 14px rgba(213, 164, 90, 0.7),
       0 0 40px rgba(213, 164, 90, 0.35);
   }

   50% {
     transform: scale(1.09);
     box-shadow:
       0 0 26px rgba(247, 225, 180, 0.95),
       0 0 70px rgba(213, 164, 90, 0.6);
   }

   100% {
     transform: scale(0.96);
     box-shadow:
       0 0 14px rgba(213, 164, 90, 0.7),
       0 0 40px rgba(213, 164, 90, 0.35);
   }
 }

 /* На очень маленьких экранах и тач-устройствах — прячем кастомный курсор */
 @media (hover: none),
 (pointer: coarse) {
   .ms-cursor {
     display: none;
   }
 }

 /* Опция для людей с reduced motion */
 @media (prefers-reduced-motion: reduce) {
   .ms-cursor__core {
     animation: none;
   }
 }

 @media screen and (max-width: 600px) {
   .subscription-plans__grid {
     gap: 64px !important;
   }
 }

 /* Стили хедера */

 .logo__image {
   width: 120px !important;
   height: auto !important;
 }

 /* На планшетах / мобильных основная навигация всё равно прячется через общий CSS сайта,
    а мы оставляем только бургер + кнопку/телефон */
 /* @media (max-width: 960px) {
  .navigation {
    display: none;
  }
} */


 /* ============================
   INSTALLATION PRICING SECTION
   ============================ */

 .install-pricing {
   padding: 80px 0 60px;
 }

 .install-pricing__grid {
   display: grid;
   grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
   gap: 32px;
   margin-top: 40px;
 }

 .install-pricing__card {
   position: relative;
   border-radius: 24px;
   padding: 28px 26px 24px;
   background: radial-gradient(circle at top left, rgba(213, 164, 90, 0.1), transparent 55%),
     linear-gradient(145deg, #141b25, #0e141b);
   border: 1px solid rgba(213, 164, 90, 0.18);
   box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65);
   overflow: hidden;
 }

 .install-pricing__card::before {
   content: "";
   position: absolute;
   inset: -40%;
   background: radial-gradient(circle at top, rgba(213, 164, 90, 0.1), transparent 60%);
   opacity: 0.6;
   pointer-events: none;
 }

 .install-pricing__card>* {
   position: relative;
   z-index: 1;
 }

 .install-pricing__card--secondary {
   background: radial-gradient(circle at top right, rgba(213, 164, 90, 0.12), transparent 60%),
     linear-gradient(145deg, #0f151e, #090e15);
 }

 .install-pricing__card-header {
   margin-bottom: 18px;
 }

 .install-pricing__card-title {
   margin-bottom: 4px;
 }

 .install-pricing__card-subtitle {
   font-size: 14px;
   line-height: 1.5;
   color: #A8B0BF;
 }

 .install-pricing__rows {
   display: flex;
   flex-direction: column;
   gap: 8px;
 }

 .install-pricing__row {
   display: flex;
   justify-content: space-between;
   align-items: baseline;
   gap: 18px;
   padding: 10px 12px;
   border-radius: 14px;
   background: rgba(12, 17, 24, 0.85);
   border: 1px solid rgba(255, 255, 255, 0.03);
   transition: background 0.25s ease, border-color 0.25s ease, transform 0.22s ease;
 }

 .install-pricing__row:hover {
   background: radial-gradient(circle at top left, rgba(213, 164, 90, 0.18), rgba(9, 14, 23, 0.95));
   border-color: rgba(213, 164, 90, 0.55);
   transform: translateY(-1px);
 }

 .install-pricing__row--highlight {
   background: radial-gradient(circle at top left, rgba(213, 164, 90, 0.24), rgba(9, 14, 23, 0.96));
   border-color: rgba(213, 164, 90, 0.7);
   box-shadow: 0 0 0 1px rgba(213, 164, 90, 0.25), 0 16px 40px rgba(0, 0, 0, 0.75);
 }

 .install-pricing__label {
   font-size: 14px;
   line-height: 1.5;
   color: #E4E7EE;
 }

 .install-pricing__value {
   font-size: 15px;
   font-weight: 600;
   color: #D5A45A;
   white-space: nowrap;
 }

 .install-pricing__tag {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-left: 8px;
   padding: 2px 8px;
   border-radius: 999px;
   font-size: 11px;
   letter-spacing: 0.03em;
   text-transform: uppercase;
   background: rgba(213, 164, 90, 0.16);
   color: #F2D6A1;
 }

 .install-pricing__note {
   margin-top: 14px;
   font-size: 13px;
   line-height: 1.6;
   color: #9DA7BA;
 }

 .install-pricing__divider {
   height: 1px;
   margin: 8px 0 10px;
   background: linear-gradient(to right, transparent, rgba(213, 164, 90, 0.5), transparent);
   opacity: 0.4;
 }

 .install-pricing__cta {
   margin-top: 34px;
   text-align: center;
 }

 .install-pricing__cta-text {
   margin-bottom: 12px;
   font-size: 15px;
   color: #CFD5E4;
 }

 /* Pulse-анимация для "Most common" строки */
 .install-pricing__row--pulse {
   animation: installPricingGlow 1.4s ease-out;
 }

 @keyframes installPricingGlow {
   0% {
     box-shadow: 0 0 0 0 rgba(213, 164, 90, 0.0);
     transform: translateY(0);
   }

   40% {
     box-shadow: 0 0 0 10px rgba(213, 164, 90, 0.18);
     transform: translateY(-2px);
   }

   100% {
     box-shadow: 0 0 0 0 rgba(213, 164, 90, 0.0);
     transform: translateY(0);
   }
 }

 /* ==============================
   PARTNER INSTALLATION PROGRAM
   ============================== */

 .install-partners {
   padding: 70px 0 80px;
   position: relative;
 }

 .install-partners::before {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at top right, rgba(213, 164, 90, 0.13), transparent 58%);
   opacity: 0.9;
   pointer-events: none;
 }

 .install-partners__content {
   position: relative;
   z-index: 1;
 }

 .install-partners__badge {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 6px 12px;
   border-radius: 999px;
   background: rgba(15, 21, 31, 0.9);
   border: 1px solid rgba(213, 164, 90, 0.4);
   box-shadow: 0 12px 40px rgba(0, 0, 0, 0.65);
   margin-bottom: 26px;
 }

 .install-partners__badge-icon {
   font-size: 18px;
   color: #D5A45A;
 }

 .install-partners__badge-text {
   font-size: 12px;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: #F1D8A4;
 }

 .install-partners__grid {
   display: grid;
   grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
   gap: 30px;
   align-items: flex-start;
 }

 .install-partners__col {
   position: relative;
 }

 .install-partners__title {
   margin-bottom: 12px;
 }

 .install-partners__text {
   font-size: 15px;
   line-height: 1.7;
   color: #C4CAD8;
   margin-bottom: 18px;
 }

 .install-partners__list {
   list-style: none;
   padding: 0;
   margin: 0 0 20px;
 }

 .install-partners__list-item {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   font-size: 14px;
   line-height: 1.6;
   color: #D0D6E4;
   margin-bottom: 10px;
 }

 .install-partners__bullet {
   flex-shrink: 0;
   width: 8px;
   height: 8px;
   margin-top: 6px;
   border-radius: 999px;
   background: radial-gradient(circle at center, #F6D9A5, #D5A45A);
   box-shadow: 0 0 0 4px rgba(213, 164, 90, 0.22);
 }

 .install-partners__button {
   margin-top: 4px;
 }

 .install-partners__col--cards {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: 16px;
 }

 .install-partners__card {
   border-radius: 20px;
   padding: 18px 18px 16px;
   background: rgba(10, 15, 23, 0.96);
   border: 1px solid rgba(213, 164, 90, 0.14);
   box-shadow: 0 16px 48px rgba(0, 0, 0, 0.65);
   transform: translateY(0);
   transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
 }

 .install-partners__card:hover {
   transform: translateY(-3px);
   box-shadow: 0 24px 70px rgba(0, 0, 0, 0.85);
   border-color: rgba(213, 164, 90, 0.5);
 }

 .install-partners__card-title {
   margin: 10px 0 6px;
 }

 .install-partners__card-text {
   font-size: 14px;
   line-height: 1.6;
   color: #C8CEDD;
 }

 .install-partners__card--accent {
   background: radial-gradient(circle at top left, rgba(213, 164, 90, 0.22), rgba(9, 13, 21, 0.98));
   border-color: rgba(213, 164, 90, 0.7);
 }

 .install-partners__link {
   display: inline-block;
   margin-top: 8px;
   font-size: 13px;
   color: #F2D7A2;
   text-decoration: none;
   border-bottom: 1px dashed rgba(242, 215, 162, 0.6);
   padding-bottom: 1px;
   transition: color 0.2s ease, border-color 0.2s ease;
 }

 .install-partners__link:hover {
   color: #ffffff;
   border-color: rgba(255, 255, 255, 0.7);
 }

 /* Responsive */

 @media (max-width: 1024px) {

   .install-pricing__grid,
   .install-partners__grid {
     grid-template-columns: minmax(0, 1fr);
   }

   .install-pricing {
     padding-top: 70px;
   }
 }

 @media (max-width: 640px) {
   .install-pricing {
     padding: 60px 0 50px;
   }

   .install-pricing__card {
     padding: 22px 18px 20px;
   }

   .install-pricing__row {
     flex-direction: column;
     align-items: flex-start;
   }

   .install-pricing__value {
     font-size: 14px;
   }

   .install-partners {
     padding: 60px 0 70px;
   }

   .install-partners__badge {
     max-width: 100%;
     white-space: normal;
   }
 }



 /* b2b */

 .b2b-value__stat-number {
   font-size: 40px;
   margin-top: -20px;
 }

 .b2b-segments {
   padding: 80px 0 40px;
 }

 .b2b-segments__grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 22px;
   margin-top: 32px;
 }

 .b2b-segments__card {
   border-radius: 20px;
   padding: 18px 18px 20px;
   background: rgba(10, 15, 23, 0.96);
   border: 1px solid rgba(213, 164, 90, 0.2);
   box-shadow: 0 18px 52px rgba(0, 0, 0, 0.7);
 }

 .b2b-segments__title {
   margin-bottom: 6px;
 }

 .b2b-segments__text {
   font-size: 14px;
   line-height: 1.6;
   color: #C4CAD8;
 }

 .services--b2b {
   padding-top: 60px;
 }

 .how-it-works--b2b {
   padding-top: 70px;
 }

 .b2b-value {
   padding: 80px 0 70px;
   position: relative;
 }

 .b2b-value::before {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at 10% 0%, rgba(213, 164, 90, 0.16), transparent 60%),
     radial-gradient(circle at 90% 100%, rgba(63, 81, 181, 0.15), transparent 60%);
   opacity: 0.9;
   pointer-events: none;
 }

 .b2b-value__content {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
   gap: 32px;
   align-items: center;
 }

 .b2b-value__title {
   margin-bottom: 10px;
 }

 .b2b-value__text {
   font-size: 15px;
   line-height: 1.7;
   color: #C9D0E0;
   margin-bottom: 18px;
 }

 .b2b-value__list {
   list-style: none;
   padding: 0;
   margin: 0 0 18px;
 }

 .b2b-value__item {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   font-size: 14px;
   line-height: 1.6;
   color: #D2D8E6;
   margin-bottom: 8px;
 }

 .b2b-value__dot {
   flex-shrink: 0;
   width: 8px;
   height: 8px;
   margin-top: 6px;
   border-radius: 999px;
   background: radial-gradient(circle at center, #F6D9A5, #D5A45A);
   box-shadow: 0 0 0 4px rgba(213, 164, 90, 0.22);
 }

 .b2b-value__stats {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
 }

 .b2b-value__stat-card {
   border-radius: 18px;
   padding: 18px 16px;
   background: rgba(8, 12, 19, 0.96);
   border: 1px solid rgba(213, 164, 90, 0.35);
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
   text-align: left;
 }

 .b2b-value__stat-number {
   font-size: 28px;
   font-weight: 600;
   color: #F3D9A8;
   margin-bottom: 4px;
 }

 .b2b-value__stat-label {
   font-size: 12px;
   line-height: 1.5;
   color: #AEB6C8;
 }

 .b2b-value__stat-label span {
   color: #9199AA;
 }

 @media (max-width: 1024px) {
   .b2b-segments__grid {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .b2b-value__content {
     grid-template-columns: minmax(0, 1fr);
   }

   .b2b-value__stats {
     grid-template-columns: repeat(3, minmax(0, 1fr));
   }
 }

 @media (max-width: 768px) {
   .b2b-segments {
     padding: 60px 0 40px;
   }

   .b2b-segments__grid {
     grid-template-columns: minmax(0, 1fr);
   }

   .b2b-value {
     padding: 70px 0 60px;
   }

   .b2b-value__stats {
     grid-template-columns: minmax(0, 1fr);
   }
 }

 /* SUBSCRIPTION BENEFITS STYLES */

 .subscription-benefits {
   position: relative;
   padding: 110px 0 100px;
   background: radial-gradient(130% 150% at 10% 0%, rgba(213, 164, 90, 0.12) 0%, transparent 55%),
     radial-gradient(120% 150% at 90% 100%, rgba(63, 81, 181, 0.14) 0%, transparent 50%),
     #0E141B;
   overflow: hidden;
 }

 .subscription-benefits::before {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background: radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.05), transparent 60%);
   opacity: 0.5;
 }

 .subscription-benefits .content {
   position: relative;
   z-index: 2;
 }

 .subscription-benefits__header {
   max-width: 720px;
   margin: 0 auto 52px;
 }

 .subscription-benefits__grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 22px;
   margin-bottom: 34px;
 }

 .subscription-benefits__card {
   position: relative;
   padding: 22px 20px 24px;
   border-radius: 22px;
   border: 1px solid rgba(255, 255, 255, 0.06);
   background:
     radial-gradient(circle at 0% 0%, rgba(213, 164, 90, 0.06), transparent 55%),
     rgba(15, 20, 27, 0.93);
   box-shadow:
     0 22px 60px rgba(0, 0, 0, 0.6),
     0 0 0 1px rgba(255, 255, 255, 0.01);
   backdrop-filter: blur(18px);
   -webkit-backdrop-filter: blur(18px);
   overflow: hidden;
   transform: translateY(16px);
   opacity: 0;
 }

 .subscription-benefits__card::before {
   content: "";
   position: absolute;
   top: 0;
   left: -40%;
   width: 80%;
   height: 2px;
   background: linear-gradient(90deg, transparent, rgba(213, 164, 90, 0.9), transparent);
   opacity: 0;
 }

 .subscription-benefits__icon-circle {
   width: 40px;
   height: 40px;
   border-radius: 999px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 14px;
   background:
     radial-gradient(circle at 30% 0%, rgba(255, 255, 255, 0.18), transparent 65%),
     rgba(10, 15, 22, 0.95);
   border: 1px solid rgba(213, 164, 90, 0.35);
   box-shadow:
     0 0 18px rgba(213, 164, 90, 0.4),
     0 0 0 1px rgba(0, 0, 0, 0.85);
 }

 .subscription-benefits__icon {
   font-size: 22px;
   color: #D5A45A;
 }

 .subscription-benefits__title {
   color: #fff;
   font-size: 18px;
   margin-bottom: 8px;
 }

 .subscription-benefits__text {
   font-size: 15px;
   line-height: 1.5;
   color: #C8CDD5;
 }

 .subscription-benefits__cta {
   margin-top: 10px;
   padding: 18px 22px;
   border-radius: 18px;
   border: 1px solid rgba(213, 164, 90, 0.35);
   background: linear-gradient(120deg, rgba(213, 164, 90, 0.12), rgba(10, 15, 22, 0.95));
   display: flex;
   align-items: center;
   gap: 18px;
   flex-wrap: wrap;
 }

 .subscription-benefits__cta-text {
   flex: 1 1 260px;
   font-size: 15px;
   color: #E5E5E5;
 }

 .subscription-benefits__cta-button {
   flex-shrink: 0;
   white-space: nowrap;
 }

 @keyframes subscriptionBenefitIn {
   0% {
     opacity: 0;
     transform: translateY(24px) scale(0.98);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
   }

   60% {
     opacity: 1;
     transform: translateY(0) scale(1.01);
     box-shadow: 0 24px 70px rgba(0, 0, 0, 0.8);
   }

   100% {
     opacity: 1;
     transform: translateY(0) scale(1);
     box-shadow: 0 22px 60px rgba(0, 0, 0, 0.65);
   }
 }

 @keyframes subscriptionCardGlowSweep {
   0% {
     transform: translateX(-60%);
     opacity: 0;
   }

   30% {
     opacity: 1;
   }

   60% {
     transform: translateX(60%);
     opacity: 1;
   }

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

 .subscription-benefits--visible .subscription-benefits__card {
   animation: subscriptionBenefitIn 0.9s cubic-bezier(0.16, 0.8, 0.3, 1) forwards;
 }

 .subscription-benefits--visible .subscription-benefits__card:nth-child(1) {
   animation-delay: 0.05s;
 }

 .subscription-benefits--visible .subscription-benefits__card:nth-child(2) {
   animation-delay: 0.15s;
 }

 .subscription-benefits--visible .subscription-benefits__card:nth-child(3) {
   animation-delay: 0.25s;
 }

 .subscription-benefits--visible .subscription-benefits__card:nth-child(4) {
   animation-delay: 0.35s;
 }

 .subscription-benefits--visible .subscription-benefits__card::before {
   animation: subscriptionCardGlowSweep 1.6s ease-out forwards;
   animation-delay: 0.3s;
 }

 @media (hover: hover) and (pointer: fine) {
   .subscription-benefits__card:hover {
     transform: translateY(-4px) scale(1.01);
     box-shadow:
       0 26px 80px rgba(0, 0, 0, 0.8),
       0 0 0 1px rgba(213, 164, 90, 0.35);
   }

   .subscription-benefits__card:hover .subscription-benefits__icon-circle {
     box-shadow:
       0 0 26px rgba(213, 164, 90, 0.7),
       0 0 0 1px rgba(0, 0, 0, 0.9);
   }
 }

 @media (max-width: 1024px) {
   .subscription-benefits__grid {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }

 @media (max-width: 640px) {
   .subscription-benefits {
     padding: 90px 0 80px;
   }

   .subscription-benefits__grid {
     grid-template-columns: minmax(0, 1fr);
   }

   .subscription-benefits__card {
     padding: 20px 18px 22px;
   }

   .subscription-benefits__cta {
     flex-direction: column;
     align-items: flex-start;
   }

   .subscription-benefits__cta-button {
     width: 100%;
     text-align: center;
   }
 }

 @media (prefers-reduced-motion: reduce) {

   .subscription-benefits__card,
   .subscription-benefits--visible .subscription-benefits__card,
   .subscription-benefits--visible .subscription-benefits__card::before {
     animation: none !important;
     opacity: 1;
     transform: none;
   }
 }


 /* SUBSCRIPTION PLANS STYLES */

 .subscription-plans {
   padding: 70px 0 80px;
 }

 .subscription-plans__toggle {
   max-width: 420px;
   margin: 0 auto 30px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   font-size: 13px;
   color: #C8CFDE;
 }

 .subscription-plans__toggle-label {
   opacity: 0.6;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   transition: opacity 0.2s ease, color 0.2s ease;
 }

 .subscription-plans__toggle-label--active {
   opacity: 1;
   color: #F3D9A8;
 }

 .subscription-plans__toggle-save {
   padding: 2px 6px;
   border-radius: 999px;
   background: rgba(38, 166, 154, 0.14);
   color: #B2ECE0;
   font-size: 10px;
   letter-spacing: 0.06em;
   text-transform: uppercase;
 }

 .subscription-plans__toggle-switch {
   position: relative;
   width: 48px;
   height: 24px;
   border-radius: 999px;
   border: 1px solid rgba(213, 164, 90, 0.4);
   background: rgba(11, 16, 25, 0.96);
   display: inline-flex;
   align-items: center;
   padding: 0 3px;
   cursor: pointer;
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6);
 }

 .subscription-plans__toggle-thumb {
   width: 18px;
   height: 18px;
   border-radius: 999px;
   background: radial-gradient(circle at 30% 0%, #F6D9A5, #D5A45A);
   box-shadow:
     0 0 10px rgba(213, 164, 90, 0.8),
     0 0 0 1px rgba(0, 0, 0, 0.9);
   transform: translateX(0);
   transition: transform 0.2s ease-out;
 }

 .subscription-plans__toggle-switch--yearly .subscription-plans__toggle-thumb {
   transform: translateX(20px);
 }

 .subscription-plans__grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 24px;
 }

 .subscription-plans__card {
   position: relative;
   border-radius: 24px;
   padding: 24px 22px 22px;
   background: radial-gradient(circle at top left, rgba(213, 164, 90, 0.08), transparent 60%),
     linear-gradient(150deg, #141b25, #0e141b);
   border: 1px solid rgba(213, 164, 90, 0.2);
   box-shadow: 0 24px 80px rgba(0, 0, 0, 0.7);
   display: flex;
   flex-direction: column;
   min-height: 100%;
 }

 .subscription-plans__card--highlight {
   border-color: rgba(213, 164, 90, 0.7);
   box-shadow:
     0 0 0 1px rgba(213, 164, 90, 0.4),
     0 26px 80px rgba(0, 0, 0, 0.9);
   transform: translateY(-6px);
 }

 .subscription-plans__badge {
   position: absolute;
   top: 14px;
   right: 16px;
   padding: 3px 10px;
   border-radius: 999px;
   background: rgba(213, 164, 90, 0.2);
   color: #F6E0B9;
   font-size: 11px;
   letter-spacing: 0.06em;
   text-transform: uppercase;
 }

 .subscription-plans__card-header {
   margin-bottom: 16px;
 }

 .subscription-plans__name {
   font-size: 18px;
   margin-bottom: 2px;
 }

 .subscription-plans__tagline {
   font-size: 13px;
   color: #AEB6C8;
 }

 .subscription-plans__price {
   margin-bottom: 2px;
 }

 .subscription-plans__price-main {
   font-size: 26px;
   font-weight: 600;
   color: #F3D9A8;
   margin-right: 4px;
 }

 .subscription-plans__price-period {
   font-size: 13px;
   color: #C8CFDE;
 }

 .subscription-plans__price-note {
   font-size: 12px;
   color: #9DA6B8;
   margin-bottom: 12px;
 }

 .subscription-plans__features {
   list-style: none;
   padding: 0;
   margin: 0 0 18px;
   font-size: 13px;
   color: #D1D7E6;
 }

 .subscription-plans__features li {
   position: relative;
   padding-left: 16px;
   margin-bottom: 6px;
 }

 .subscription-plans__features li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 7px;
   width: 6px;
   height: 6px;
   border-radius: 999px;
   background: radial-gradient(circle at center, #F6D9A5, #D5A45A);
 }

 .subscription-plans__button {
   margin-top: auto;
   width: 100%;
   text-align: center;
 }

 .subscription-plans__disclaimer {
   margin-top: 20px;
   font-size: 13px;
   color: #9FA8BC;
   text-align: center;
 }

 @media (max-width: 1024px) {
   .subscription-plans__grid {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }

 @media (max-width: 768px) {
   .subscription-plans {
     padding: 70px 0 70px;
   }

   .subscription-plans__grid {
     grid-template-columns: minmax(0, 1fr);
   }

   .subscription-plans__card--highlight {
     transform: none;
   }
 }

 /* subscription partners */

 .subscription-partners {
   padding: 50px 0 70px;
   border-top: 1px solid rgba(255, 255, 255, 0.04);
   border-bottom: 1px solid rgba(255, 255, 255, 0.04);
   background: radial-gradient(circle at 5% 0%, rgba(213, 164, 90, 0.15), transparent 55%);
 }

 .subscription-partners__content {
   display: grid;
   grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
   gap: 22px;
   align-items: center;
 }

 .subscription-partners__title {
   margin-bottom: 8px;
 }

 .subscription-partners__text {
   font-size: 14px;
   line-height: 1.6;
   color: #C8CFDE;
 }

 .subscription-partners__points {
   display: flex;
   flex-direction: column;
   gap: 8px;
   font-size: 13px;
   color: #D5D9E8;
 }

 .subscription-partners__point {
   display: flex;
   align-items: center;
   gap: 8px;
 }

 .subscription-partners__dot {
   width: 7px;
   height: 7px;
   border-radius: 999px;
   background: radial-gradient(circle at center, #F6D9A5, #D5A45A);
   box-shadow: 0 0 0 3px rgba(213, 164, 90, 0.22);
   flex-shrink: 0;
 }

 .subscription-partners__link {
   margin-top: 10px;
   font-size: 13px;
   color: #F2D7A2;
   text-decoration: none;
   border-bottom: 1px dashed rgba(242, 215, 162, 0.6);
   padding-bottom: 1px;
   display: inline-block;
 }

 .subscription-partners__link:hover {
   color: #ffffff;
   border-color: rgba(255, 255, 255, 0.8);
 }

 @media (max-width: 768px) {
   .subscription-partners__content {
     grid-template-columns: minmax(0, 1fr);
   }
 }

 /* installations  */

 .installation-benefits__title {
   color: #fff;
 }

 /* ============================
    INSTALLATION BENEFITS BLOCK
    ============================ */

 .installation-benefits {
   position: relative;
   padding: 120px 0;
   background: radial-gradient(120% 140% at 10% 0%, rgba(213, 164, 90, 0.12) 0%, transparent 55%),
     radial-gradient(120% 140% at 90% 100%, rgba(33, 150, 243, 0.08) 0%, transparent 55%),
     #0E141B;
   overflow: hidden;
 }

 .installation-benefits::before {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background: radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.06), transparent 55%);
   opacity: 0.5;
 }

 /* Контент поверх фона */
 .installation-benefits .content {
   position: relative;
   z-index: 2;
 }

 /* Заголовок секции */
 .installation-benefits__header {
   max-width: 720px;
   margin: 0 auto 56px;
 }

 /* GRID */
 .installation-benefits__grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 22px;
   margin-bottom: 40px;
 }

 /* Карты преимуществ */
 .installation-benefits__card {
   position: relative;
   padding: 24px 22px 26px;
   border-radius: 22px;
   border: 1px solid rgba(255, 255, 255, 0.06);
   background: radial-gradient(circle at 0% 0%, rgba(213, 164, 90, 0.06), transparent 55%),
     rgba(15, 20, 27, 0.92);
   box-shadow:
     0 22px 60px rgba(0, 0, 0, 0.6),
     0 0 0 1px rgba(255, 255, 255, 0.01);
   backdrop-filter: blur(18px);
   -webkit-backdrop-filter: blur(18px);
   overflow: hidden;
   transform: translateY(16px);
   opacity: 0;
 }

 /* Светящийся штрих сверху карточки */
 .installation-benefits__card::before {
   content: "";
   position: absolute;
   top: 0;
   left: -40%;
   width: 80%;
   height: 2px;
   background: linear-gradient(90deg, transparent, rgba(213, 164, 90, 0.9), transparent);
   opacity: 0;
 }

 /* Иконки */
 .installation-benefits__icon-circle {
   width: 40px;
   height: 40px;
   border-radius: 999px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 14px;
   background: radial-gradient(circle at 30% 0%, rgba(255, 255, 255, 0.18), transparent 65%),
     rgba(10, 15, 22, 0.95);
   border: 1px solid rgba(213, 164, 90, 0.35);
   box-shadow:
     0 0 18px rgba(213, 164, 90, 0.4),
     0 0 0 1px rgba(0, 0, 0, 0.85);
 }

 .installation-benefits__icon {
   font-size: 22px;
   color: #D5A45A;
 }

 /* Тексты внутри карточки */
 .installation-benefits__title {
   font-size: 18px;
   margin-bottom: 8px;
 }

 .installation-benefits__text {
   font-size: 15px;
   line-height: 1.5;
   color: #C8CDD5;
 }

 /* CTA внизу секции */
 .installation-benefits__cta {
   margin-top: 18px;
   padding: 18px 22px;
   border-radius: 18px;
   border: 1px solid rgba(213, 164, 90, 0.35);
   background: linear-gradient(120deg, rgba(213, 164, 90, 0.12), rgba(10, 15, 22, 0.95));
   display: flex;
   align-items: center;
   gap: 18px;
   flex-wrap: wrap;
 }

 .installation-benefits__cta-text {
   flex: 1 1 260px;
   font-size: 15px;
   color: #E5E5E5;
 }

 .installation-benefits__cta-button {
   flex-shrink: 0;
   white-space: nowrap;
 }

 /* ============ АНИМАЦИИ ============ */

 @keyframes installationBenefitIn {
   0% {
     opacity: 0;
     transform: translateY(24px) scale(0.98);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
   }

   60% {
     opacity: 1;
     transform: translateY(0) scale(1.01);
     box-shadow: 0 24px 70px rgba(0, 0, 0, 0.8);
   }

   100% {
     opacity: 1;
     transform: translateY(0) scale(1);
     box-shadow: 0 22px 60px rgba(0, 0, 0, 0.65);
   }
 }

 @keyframes installationCardGlowSweep {
   0% {
     transform: translateX(-60%);
     opacity: 0;
   }

   30% {
     opacity: 1;
   }

   60% {
     transform: translateX(60%);
     opacity: 1;
   }

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

 /* Когда блок стал видимым (через JS) */
 .installation-benefits--visible .installation-benefits__card {
   animation: installationBenefitIn 0.9s cubic-bezier(0.16, 0.8, 0.3, 1) forwards;
 }

 /* Стагер по карточкам */
 .installation-benefits--visible .installation-benefits__card:nth-child(1) {
   animation-delay: 0.05s;
 }

 .installation-benefits--visible .installation-benefits__card:nth-child(2) {
   animation-delay: 0.15s;
 }

 .installation-benefits--visible .installation-benefits__card:nth-child(3) {
   animation-delay: 0.25s;
 }

 .installation-benefits--visible .installation-benefits__card:nth-child(4) {
   animation-delay: 0.35s;
 }

 /* Glow sweep по верхней полосе */
 .installation-benefits--visible .installation-benefits__card::before {
   animation: installationCardGlowSweep 1.6s ease-out forwards;
   animation-delay: 0.3s;
 }

 /* Лёгкий hover-эффект (desktop) */
 @media (hover: hover) and (pointer: fine) {
   .installation-benefits__card:hover {
     transform: translateY(-4px) scale(1.01);
     box-shadow:
       0 26px 80px rgba(0, 0, 0, 0.8),
       0 0 0 1px rgba(213, 164, 90, 0.35);
   }

   .installation-benefits__card:hover .installation-benefits__icon-circle {
     box-shadow:
       0 0 26px rgba(213, 164, 90, 0.7),
       0 0 0 1px rgba(0, 0, 0, 0.9);
   }
 }

 /* Адаптив */

 @media (max-width: 1024px) {
   .installation-benefits__grid {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }

 @media (max-width: 640px) {
   .installation-benefits {
     padding: 90px 0;
   }

   .installation-benefits__grid {
     grid-template-columns: minmax(0, 1fr);
   }

   .installation-benefits__card {
     padding: 20px 18px 22px;
   }

   .installation-benefits__cta {
     flex-direction: column;
     align-items: flex-start;
   }

   .installation-benefits__cta-button {
     width: 100%;
     text-align: center;
   }
 }

 /* Поддержка reduced-motion */

 @media (prefers-reduced-motion: reduce) {

   .installation-benefits__card,
   .installation-benefits--visible .installation-benefits__card,
   .installation-benefits--visible .installation-benefits__card::before {
     animation: none !important;
     opacity: 1;
     transform: none;
   }
 }

 /* === Installation background NEED TO BE FIXED === */

 .engraving {
   position: relative;
   padding: 160px 0 120px;
   background-image: url('../s_main_1.jpg');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
 }

 .engraving::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.7);
   z-index: 1;
 }

 .engraving>* {
   position: relative;
   z-index: 2;
 }

 .engraving--b2b {
   position: relative;
   padding: 160px 0 120px;
   background-image: url(../s_main_4.jpg);
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
 }

 .b2b-value__stat-number {
   padding-top: 20px;
 }

 .engraving--b2b::before {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at top left, rgba(0, 0, 0, 0.45), transparent 60%),
     rgba(0, 0, 0, 0.75);
   z-index: 1;
 }

 .engraving--b2b>* {
   position: relative;
   z-index: 2;
 }

 .engraving--b2b .engraving__title span {
   display: inline-block;
 }

 .engraving--b2b .engraving__subtitle {
   max-width: 520px;
 }

 .engraving--b2b .engraving__badge-b2b {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 4px 10px;
   border-radius: 999px;
   margin-bottom: 16px;
   background: rgba(11, 16, 24, 0.95);
   border: 1px solid rgba(213, 164, 90, 0.55);
   box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7);
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #F3D8A3;
 }

 .engraving--b2b .engraving__badge-icon {
   font-size: 16px;
   color: #D5A45A;
 }

 .engraving--b2b .engraving__contact-title {
   font-size: 18px;
 }

 .engraving--b2b .engraving__contact-subtitle {
   font-size: 13px;
   color: #AEB7C8;
   margin-top: -6px;
   margin-bottom: 10px;
   line-height: 1.5;
 }

 .engraving--b2b .engraving__tags {
   max-width: 960px;
 }

 .engraving--b2b .engraving__tag--accent {
   border-color: rgba(213, 164, 90, 0.6);
   background: radial-gradient(circle at top left, rgba(213, 164, 90, 0.24), rgba(11, 16, 24, 0.95));
   color: #F6E1B4;
 }

 @media (max-width: 960px) {
   .engraving--b2b {
     padding: 130px 0 90px;
   }
 }


 .engraving--deep {
   position: relative;
   padding: 160px 0 120px;
   background-image: url(../s_main_5.jpg);
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
 }

 .engraving--deep::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.7);
   z-index: 1;
 }

 .engraving--deep>* {
   position: relative;
   z-index: 2;
 }

 .engraving--subscription {
   position: relative;
   padding: 160px 0 120px;
   background-image: url(../s_main_6.jpg);
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
 }

 .engraving--subscription::before {
   content: "";
   position: absolute;
   inset: 0;
   background:
     radial-gradient(circle at top left, rgba(0, 0, 0, 0.45), transparent 60%),
     rgba(0, 0, 0, 0.78);
   z-index: 1;
 }

 .engraving--subscription>* {
   position: relative;
   z-index: 2;
 }

 .engraving--subscription .engraving__badge {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 4px 12px;
   border-radius: 999px;
   margin-bottom: 16px;
   background: rgba(11, 16, 24, 0.94);
   border: 1px solid rgba(213, 164, 90, 0.55);
   box-shadow: 0 12px 40px rgba(0, 0, 0, 0.75);
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #F3D8A3;
 }

 .engraving--subscription .engraving__badge-icon {
   font-size: 16px;
   color: #D5A45A;
 }

 .engraving--subscription .engraving__title span {
   display: inline-block;
 }

 .engraving--subscription .engraving__subtitle {
   max-width: 560px;
 }

 .engraving--subscription .engraving__contact-title {
   font-size: 18px;
 }

 .engraving--subscription .engraving__contact-subtitle {
   font-size: 13px;
   color: #AEB7C8;
   margin-top: -6px;
   margin-bottom: 10px;
   line-height: 1.5;
 }

 .engraving--subscription .engraving__tags {
   max-width: 980px;
 }

 .subscription-plans__name {
   color: #fff;
 }

 .subscription-plans__disclaimer {
   display: none;
 }

 .engraving--subscription .engraving__tag--accent {
   border-color: rgba(213, 164, 90, 0.6);
   background: radial-gradient(circle at top left, rgba(213, 164, 90, 0.24), rgba(11, 16, 24, 0.95));
   color: #F6E1B4;
 }

 @media (max-width: 960px) {
   .engraving--subscription {
     padding: 130px 0 90px;
   }
 }

 .engraving--home {
   position: relative;
   padding: 160px 0 130px;
   background-image: url('../s_main_3.jpg');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   overflow: hidden;
 }

 .engraving--home::before {
   content: "";
   position: absolute;
   inset: 0;
   background:
     radial-gradient(circle at 10% 0%, rgba(213, 164, 90, 0.45), transparent 60%),
     radial-gradient(circle at 100% 80%, rgba(22, 32, 54, 0.7), rgba(0, 0, 0, 0.9) 65%);
   mix-blend-mode: soft-light;
   z-index: 1;
 }

 .engraving--home::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(150deg, rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.95));
   z-index: 1;
 }

 .engraving--home>* {
   position: relative;
   z-index: 2;
 }

 .engraving--home .engraving__container {
   display: grid;
   grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
   gap: 40px;
   align-items: center;
 }

 .engraving--home .engraving__badge-home {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 4px 11px;
   border-radius: 999px;
   margin-bottom: 18px;
   background: rgba(11, 16, 24, 0.92);
   border: 1px solid rgba(213, 164, 90, 0.7);
   box-shadow: 0 14px 45px rgba(0, 0, 0, 0.8);
   font-size: 11px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #F3D8A3;
 }

 .engraving--home .engraving__badge-icon {
   font-size: 16px;
   color: #D5A45A;
 }

 .engraving--home .engraving__title {
   max-width: 650px;
   margin-bottom: 18px;
 }

 .engraving--home .engraving__title span {
   display: inline-block;
 }

 .engraving--home .engraving__subtitle {
   max-width: 520px;
   margin-bottom: 24px;
   font-size: 15px;
   line-height: 1.7;
 }

 .engraving--home .engraving__hero-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   margin-bottom: 18px;
 }

 .engraving--home .engraving__secondary-cta {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 10px 16px;
   border-radius: 999px;
   border: 1px solid rgba(255, 255, 255, 0.24);
   background: rgba(10, 14, 22, 0.9);
   font-size: 13px;
   text-decoration: none;
   color: #E2E7F2;
   transition: background 0.2s ease, border-color 0.2s ease, transform 0.18s ease;
 }

 .engraving--home .engraving__secondary-cta-icon {
   font-size: 18px;
   color: #D5A45A;
 }

 .engraving--home .engraving__secondary-cta:hover {
   background: rgba(19, 26, 40, 0.98);
   border-color: rgba(213, 164, 90, 0.7);
   transform: translateY(-1px);
 }

 .engraving--home .engraving__meta {
   max-width: 520px;
   margin-top: 8px;
 }

 .engraving--home .engraving__meta-text {
   font-size: 13px;
   line-height: 1.6;
   color: #AEB7C8;
 }

 /* Right column – service mini navigator */

 .engraving--home .engraving__services-panel {
   border-radius: 24px;
   padding: 18px 18px 20px;
   background: radial-gradient(circle at 0% 0%, rgba(213, 164, 90, 0.23), rgba(8, 11, 19, 0.98));
   border: 1px solid rgba(213, 164, 90, 0.7);
   box-shadow:
     0 26px 80px rgba(0, 0, 0, 0.9),
     0 0 0 1px rgba(0, 0, 0, 0.7);
   position: relative;
   overflow: hidden;
 }

 .engraving--home .engraving__services-panel::before {
   content: "";
   position: absolute;
   width: 260px;
   height: 260px;
   border-radius: 999px;
   border: 1px solid rgba(247, 222, 179, 0.8);
   opacity: 0.28;
   top: -120px;
   right: -120px;
   box-shadow: 0 0 120px rgba(247, 222, 179, 0.6);
   pointer-events: none;
 }

 .engraving--home .engraving__services-panel-header {
   margin-bottom: 10px;
 }

 .engraving--home .engraving__services-panel-title {
   font-size: 15px;
   font-weight: 600;
   color: #F7E5C5;
   margin-bottom: 2px;
 }

 .engraving--home .engraving__services-panel-sub {
   font-size: 12px;
   color: #D1D7E4;
 }

 .engraving--home .engraving__services-list {
   list-style: none;
   margin: 12px 0 10px;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
 }

 .engraving--home .engraving__services-item {
   position: relative;
 }

 .engraving--home .engraving__services-link {
   display: flex;
   align-items: center;
   gap: 10px;
   width: 100%;
   padding: 9px 10px;
   border-radius: 13px;
   text-decoration: none;
   border: 1px solid rgba(255, 255, 255, 0.08);
   background: rgba(7, 11, 18, 0.96);
   box-shadow: 0 10px 28px rgba(0, 0, 0, 0.8);
   transition:
     background 0.2s ease,
     border-color 0.2s ease,
     transform 0.18s ease,
     box-shadow 0.2s ease;
 }

 .engraving--home .engraving__services-link:hover {
   background: radial-gradient(circle at 0 0, rgba(213, 164, 90, 0.3), rgba(5, 8, 14, 0.98));
   border-color: rgba(213, 164, 90, 0.8);
   transform: translateY(-1px);
   box-shadow: 0 16px 42px rgba(0, 0, 0, 0.95);
 }

 .engraving--home .engraving__services-icon-dot {
   width: 8px;
   height: 8px;
   border-radius: 999px;
   background: radial-gradient(circle at center, #F7DFA7, #D5A45A);
   box-shadow: 0 0 0 4px rgba(213, 164, 90, 0.32);
   flex-shrink: 0;
 }

 .engraving--home .engraving__services-main {
   font-size: 13px;
   color: #F7F5F0;
 }

 .engraving--home .engraving__services-tag {
   font-size: 11px;
   color: #C6CBD8;
   opacity: 0.9;
 }

 .engraving--home .engraving__services-pill {
   margin-left: auto;
   padding: 2px 8px;
   border-radius: 999px;
   font-size: 10px;
   letter-spacing: 0.07em;
   text-transform: uppercase;
   background: rgba(9, 14, 23, 0.9);
   border: 1px solid rgba(213, 164, 90, 0.7);
   color: #F3D8A3;
   flex-shrink: 0;
 }

 .engraving--home .engraving__services-footer {
   margin-top: 10px;
   font-size: 11px;
   color: #C0C9D8;
 }

 .engraving--home .engraving__services-footer a {
   color: #F5DCA9;
   text-decoration: none;
   border-bottom: 1px dashed rgba(245, 220, 169, 0.6);
   padding-bottom: 1px;
 }

 .engraving--home .engraving__services-footer a:hover {
   color: #fff;
   border-color: rgba(255, 255, 255, 0.85);
 }

 @media (max-width: 1024px) {
   .engraving--home {
     padding: 140px 0 110px;
   }

   .engraving--home .engraving__container {
     grid-template-columns: minmax(0, 1fr);
   }

   .engraving--home .engraving__services-panel {
     max-width: 420px;
     margin-top: 14px;
   }
 }

 @media (max-width: 640px) {
   .engraving--home {
     padding: 120px 0 90px;
   }
 }


 /* Форма  */
.wpcf7 p {
  margin: 0;
  padding: 0;
  width: 100%;
 }

.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  flex: 1 1 auto;
  min-width: 0;
}

.form-field,
.wpcf7-select {
  width: 100%;
  flex: 1;
}

.form-field {
  border: none;
  background: transparent;
  width: 100%;
  color: #B8B8B8;
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
}

.form-field::placeholder {
  color: #B2AEAE;
}

.form-field:focus {
  outline: none;
}

.form-field:focus::placeholder {
  color: transparent;
}

.form-field--textarea {
  resize: none;
  font-family: inherit;
}

.wpcf7-form-control-wrap option {
  background: transparent;
  box-shadow: none;
}

.contacts__form-field-container select {
  width: 100%;
  box-sizing: border-box;
  background: #161D26;
}

.contacts__form-field-container .icon {
  flex: 0 0 auto;
}

/* Меню */

.navigation {
  display: none;
  align-items: center;
 }

@media (min-width: 960px) {
  .navigation {
    display: flex;
  }
}

/* .navigation {
  align-items: center;
} */

.navigation__menu-list {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: nowrap;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
  width: max-content;
}

.navigation__menu-item {
  position: relative;
}

.navigation__menu-link,
.navigation__menu-link:visited,
.navigation__menu-link:active {
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
}

 /* дропдаун */
 .sub-menu {
   position: absolute;
   top: calc(100% + 8px);
   left: 0;
   min-width: 220px;
   padding: 10px 10px 8px;
   border-radius: 14px;
   background: rgba(9, 13, 21, 0.98);
   border: 1px solid rgba(213, 164, 90, 0.35);
   box-shadow: 0 18px 60px rgba(0, 0, 0, 0.8);
   opacity: 0;
   visibility: hidden;
   transform: translateY(6px);
   transition: 0.18s ease;
   z-index: 40;
   margin: 0;
   padding-left: 10px;
   list-style: none;
 }

 .sub-menu li+li {
   margin-top: 4px;
 }

 .sub-menu a {
   display: flex;
   align-items: center;
   gap: 6px;
   padding: 6px 8px;
   border-radius: 10px;
   font-size: 13px;
   color: #fff;
   text-decoration: none;
   transition: 0.18s ease;
 }

 .sub-menu a span {
   font-size: 11px;
   opacity: 0.7;
 }

 .sub-menu a:hover {
   background: radial-gradient(circle at left, rgba(213, 164, 90, 0.2), rgba(8, 12, 19, 0.98));
   color: #fff;
   transform: translateY(-1px);
 }

 .sub-menu a:hover span {
   opacity: 1;
 }
/* Анимация дпордауна */
 @media (hover: hover) and (pointer: fine) {
   .menu-item-has-children:hover>.sub-menu {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
   }
 }

 /* стрелка */
 .navigation__menu-item--has-children>a {
   display: inline-flex;
   align-items: center;
   gap: 6px;
 }

 .menu-item-has-children>.navigation__menu-link::after {
   content: "";
   display: inline-block;
   width: 7px;
   height: 7px;
   border-left: 1px solid currentColor;
   border-bottom: 1px solid currentColor;
   transform: rotate(-45deg);
   margin-left: 6px;
   margin-top: -2px;
   opacity: 0.7;
   transition: transform 0.18s ease, opacity 0.18s ease;
 }

 @media (hover: hover) and (pointer: fine) {
   .menu-item-has-children:hover>.navigation__menu-link::after {
     transform: rotate(-225deg);
     opacity: 1;
   }
 }

 @media (max-width: 1200px) {
   .navigation__menu-list {
     gap: 14px;
   }

   .navigation__menu-link {
     font-size: 13px;
   }
 }

 @media (max-width: 1040px) {
   .navigation__menu-list {
     flex-wrap: wrap;
     justify-content: flex-end;
   }
 }

 .navigation__dropdown-subtitle {
   display: block;
   font-size: 11px;
   opacity: 0.7;
   margin-top: 2px;
 }

 .sub-menu a {
   transform: translateZ(0);
   will-change: auto;
   line-height: 1.4;
   -webkit-tap-highlight-color: transparent;
 }

 .sub-menu a:active,
 .sub-menu a:focus,
 .sub-menu a:focus-visible {
   font-size: 13px;
   transform: none !important;
 }

 .burger-menu .navigation {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.navigation--burger-menu .navigation__menu-list, .navigation--burger-menu .navigation__menu-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;

  margin: 0;
  padding: 0;
  list-style: none;
}

.navigation--burger-menu .sub-menu {
  position: static;

  color: #fff;
  font-size: 14px;

  opacity: 0.9;
  visibility: visible;
  transform: none;

  background: none;
  border: none;
  box-shadow: none;

  padding: 0px;
  margin-top: 0px;
}

.navigation--burger-menu .navigation__menu-link {
  display: block;
  font-weight: 400;
  line-height: 100%;
}

.navigation__menu-link a {
  font-size: 14px;
  padding: 0px;
}

.burger-menu__section-title {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #9fa8ba;
  text-transform: uppercase;
  margin: 12px 0 0px;
  
}

.navigation--burger-menu .sub-menu a:hover {
  background: none;
  color: #fff;
}

.navigation--burger-menu .sub-menu a:hover span {
  opacity: 0.9;
}

.reviews__user-image-container img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

.footer__menu-list {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   gap: 20px;
   align-items: center;
 }

 .footer__menu-link {
   color: #B8B8B8;
   font-weight: 400;
   font-size: 14px;
   line-height: 24px;
   transition: 0.3s color;
 }

 .footer__menu-link:hover {
   color: #D5A45A;
 }

 .footer__button-to-up {
   background-image: linear-gradient(90deg, #C99056, #AF7F45, #6D451C);
   display: block;
   padding: 8px 12px;
   border-radius: 50px;
 }

 .footer__copyright {
   margin: 0;
   color: #b8b8b8;
   font-weight: 400;
   font-size: 14px;
   line-height: 24px;
   text-align: center;
 }

 .footer__menu-container {
   display: flex;
   gap: 20px;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 30px;
 }

 @media (min-width: 960px) {
   .footer__menu-container {
     justify-content: flex-start;
     gap: 49px;
     margin: 0;
   }
 }

 @media (min-width: 960px) {
   .footer__copyright {
     text-align: left;
   }
 }

 .card-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-icon .icon {
  width: 100%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.install-partners__col--cards .install-partners__card {
  text-align: left;
  overflow: visible; 
  display: flex;
  flex-direction: column;
}

.install-partners__col--cards .card-icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;

  width: 100%;
  height: 70px;
  max-width: 100%;
  box-sizing: border-box;

  flex-shrink: 0;
}

.install-partners__col--cards .card-icon .icon {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  margin-right: 12px;

  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.error-404 {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  box-sizing: border-box;
  color: #fff;
}

.error-404__container {
  text-align: center;
  max-width: 500px;
}

.error-404__button {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 24px;
  text-decoration: none;
  background: #2B2722;
  color: #fff;
  border-radius: 30px;
  border: 1px solid #D5A45A;
}

.wpcf7-not-valid-tip {
  font-size: 12px;
  color: #ff5c5c;
  margin-top: 4px;
}


.wpcf7-form.invalid {
  animation: engraving-shake 0.35s ease;
}


@keyframes engraving-shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(-4px); }
  40% { transform: translateX(4px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

.wpcf7-form.submitting {
  opacity: 0.8;
  cursor: wait;
}
.is-loading {
  opacity: 0.8;
  cursor: wait;
}

.wpcf7-form.sent {
  box-shadow: 0 0 40px rgba(213, 164, 90, 0.35);
  transition: box-shadow 0.5s ease;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none;
}

.engraving__success,
.contacts__success {
  opacity: 0;
  transform: translateY(10px) scale(0.98);
  text-align: center;
  padding-top: 10px;
}

.engraving__success--visible,
.contacts__success--visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.engraving__success-icon,
.contacts__success-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

.engraving__success-icon .material-symbols-rounded,
.contacts__success-icon .material-symbols-rounded {
  font-size: 40px;
  color: #D5A45A;
}

.engraving__success-title,
.contacts__success-title {
  margin-bottom: 8px;
  font-size: 20px;
  color: #CFCFCF;
}

.engraving__success-text,
.contacts__success-text {
  font-size: 15px;
  color: #CFCFCF;
  line-height: 1.5;
}

.wpcf7-response-output {
  color: #CFCFCF;
  border: none;
}